Optimize finalized surface artwork
This commit is contained in:
parent
82938d3d57
commit
f2239d248a
14 changed files with 1254 additions and 305 deletions
|
|
@ -284,6 +284,35 @@ godot --headless --path . --script scripts/normalize_texture_imports.gd \
|
|||
godot --headless --path . --script tests/texture_sampling_validation.gd
|
||||
```
|
||||
|
||||
### Surface artwork runtime
|
||||
|
||||
Art Kit cells are authoritative palette and author planes, not per-cell nodes
|
||||
or dictionaries. Keep `SurfaceDrawingCellBuffer` as the live representation;
|
||||
materialize the legacy cell-array view only for inspection and tests. Finished
|
||||
artwork uses a full-resolution nearest-neighbor texture on a coarse,
|
||||
surface-conforming mesh. It discards guide and brush transforms, receives a
|
||||
distance visibility range, and unloads its render node when far from the local
|
||||
player while retaining compact session state.
|
||||
|
||||
`surface_drawing_v3` snapshots carry packed palette and participant-index
|
||||
planes. The host sends late-join snapshots over multiple frames, prioritizing
|
||||
active and nearby canvases, so adding finished work must not restore a
|
||||
single-frame snapshot burst. Active editing and finalized artwork have
|
||||
separate bounded budgets; finalizing a canvas frees active-grid capacity.
|
||||
|
||||
The finalized budget holds 512 maximum-size (128 x 128) canvases. At the
|
||||
current 0.075-meter cell size, 441 canvases can tile the full 200 x 200-meter
|
||||
generated-world footprint. If the generated world grows, update the finalized
|
||||
canvas and cell budgets together and rerun the artwork performance validation.
|
||||
|
||||
Run both focused validations after changing this path:
|
||||
|
||||
```sh
|
||||
godot --headless --path . --script tests/surface_drawing_validation.gd
|
||||
godot --headless --path . \
|
||||
--script tests/surface_drawing_performance_validation.gd
|
||||
```
|
||||
|
||||
### Importing animalese voice sets
|
||||
|
||||
Animalese clips use one deterministic runtime level and format: -18 dBFS RMS
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue