r3d/runtime: allocs, keeps and births at 0 on this side
render3d: shadow_fit, water_reflection_pass, layer_partition_lods and the GPU cull's scratch are made with the state; v3_dist is scalar; the pushes into lists sized at start-up, the caps probe, the table growth, the loads and the constructors declared with their bounds (one statement a line); the renderer's name made once with the device; the two error messages given back; the dead lupine models removed. runtime: a component's text is held interned in its value cell (one copy per distinct text), so the getter's own text goes with its frame instead of being kept by ludic.ui's model - 80 of the 83 keeps. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
5be2422c84
commit
f993c4a36a
18 changed files with 105 additions and 177 deletions
|
|
@ -119,6 +119,7 @@ function actor_remove(render3d_st: mut Render3dState, a: Actor) -> void {
|
|||
function actor_keep(render3d_st: mut Render3dState, a: Actor) -> void {
|
||||
if a == null { return }
|
||||
a.row = len(render3d_st.ac_actors)
|
||||
@alloc_ok("within the stage's room made at start-up (@max 2048)")
|
||||
push(render3d_st.ac_actors, a)
|
||||
}
|
||||
# colour one named part of the model (a material name from the file)
|
||||
|
|
@ -470,6 +471,7 @@ function actor_release(render3d_st: mut Render3dState, a: Actor) -> void {
|
|||
a.model = null; a.skin = null; a.ocol = null
|
||||
a.id = 0
|
||||
if render3d_st.ac_spare == null { return } # made in actor_init, with its room
|
||||
@alloc_ok("within the spares' room made at start-up (@max 2048)")
|
||||
push(render3d_st.ac_spare, a)
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue