ludic.ui, runtime, compiler: an expression's Value comes from the screen's pool while it is built (never a state's start or an action's), true and false shared, calc() terms pooled and read in place, a model's list fields filled in place (value_set_ints/strs/floats/bools); reseeded
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
25f4d49e43
commit
fa119d234b
18 changed files with 44838 additions and 44532 deletions
|
|
@ -10,7 +10,10 @@ function st_for(ui_st: mut UiState, key: string, t: UiTpl, e: UiEnv) -> Val {
|
|||
if ui_st.st_keys[i] == key { return ui_st.st_vals[i] }
|
||||
}
|
||||
let o = Value.object()
|
||||
let was = ui_st.uv_on # a state's start is kept for good: its values are never pooled
|
||||
ui_st.uv_on = false
|
||||
for i in 0 .. len(decl.keys) { Value.put(o, decl.keys[i], ui_eval(ui_st, decl.vals[i], e)) }
|
||||
ui_st.uv_on = was
|
||||
push(ui_st.st_keys, key)
|
||||
push(ui_st.st_vals, o)
|
||||
return o
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue