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
|
|
@ -96,9 +96,11 @@ function value_set_float(o: Val, key: pointer, x: float) -> void {
|
|||
let v = value_slot(o, key, 7)
|
||||
value_num_set(v, float_bits(x))
|
||||
}
|
||||
# a component's text held interned: one copy per distinct text, so the caller's own (a template built
|
||||
# every frame) is given back with its frame rather than kept by the model
|
||||
function value_set_str(o: Val, key: pointer, s: pointer) -> void {
|
||||
let v = value_slot(o, key, 4)
|
||||
v.txt = s
|
||||
v.txt = intern(s)
|
||||
}
|
||||
function value_set_bool(o: Val, key: pointer, b: bool) -> void {
|
||||
let v = value_slot(o, key, 3)
|
||||
|
|
@ -142,7 +144,7 @@ function value_set_strs(o: Val, key: pointer, xs: []string) -> void {
|
|||
let l = value_list_fit(o, key, len(xs))
|
||||
for i in 0 .. len(xs) {
|
||||
let v = value_item(l, i, 4)
|
||||
v.txt = xs[i]
|
||||
v.txt = intern(xs[i])
|
||||
}
|
||||
}
|
||||
function value_set_bools(o: Val, key: pointer, xs: []bool) -> void {
|
||||
|
|
@ -197,7 +199,7 @@ function value_into_float(into: Val, x: float) -> Val {
|
|||
}
|
||||
function value_into_str(into: Val, s: pointer) -> Val {
|
||||
let v = value_into(into, 4)
|
||||
v.txt = s
|
||||
v.txt = intern(s)
|
||||
return v
|
||||
}
|
||||
function value_into_bool(into: Val, b: bool) -> Val {
|
||||
|
|
@ -235,7 +237,7 @@ function value_into_strs(into: Val, xs: []string) -> Val {
|
|||
let l = value_into_list(into, len(xs))
|
||||
for i in 0 .. len(xs) {
|
||||
let v = value_item(l, i, 4)
|
||||
v.txt = xs[i]
|
||||
v.txt = intern(xs[i])
|
||||
}
|
||||
return l
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue