@max on the bounded lists: TextRing's slots, the pack's counts and change ring, the net's fact ring, the compass pools, ludic.ui's memo (its 3/4 of MM_CAP), screen pools, answer and pointer rings; ludic.base's intern test holds the table to its cap now that past it is Mem.over

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Orkun ÇAKILKAYA 2026-09-28 16:48:53 +03:00
parent 54c0feafc2
commit 7d85ea3432
8 changed files with 23 additions and 23 deletions

View file

@ -32,7 +32,7 @@ function ui_default_backend() -> UiBackend {
return UiRenderers[0].make()
}
export state UiState {
pl_pools: []UiPool = new []UiPool # pool.ludic: each screen's nodes and envs, used again
@max(512) pl_pools: []UiPool = new []UiPool # pool.ludic: each screen's nodes and envs, used again
pl_cur: UiPool = null
uv_on: bool = false # pool.ludic: a build is under way, so expressions' Values are pooled
uv_true: Val = null
@ -43,7 +43,7 @@ export state UiState {
mm_ivals: []Val = null
ev_depth: int = 0 # eval.ludic: a call's arguments, in lists kept one a depth
ev_args: []Val = new []Val
ev_ring: []Val = new []Val # eval.ludic: calls' answers while an action runs, EV_RING of them
@max(64) ev_ring: []Val = new []Val # eval.ludic: calls' answers while an action runs, EV_RING of them
ev_ring_at: int = 0
cv_texts: []string = new []string # units_pieces.ludic: a value's var() pieces, kept
tx_pieces: [][]string = new [][]string # eval_text.ludic: a text's pieces, a list a depth
@ -52,8 +52,8 @@ export state UiState {
ca_used: int = 0
ca_args: [][]CaVal = new [][]CaVal
ca_depth: int = 0
pe_evs: []UiPointer = pe_evs__new() # pointer_events.ludic: an event's record and its Value, a ring
pe_vals: []Val = pe_vals__new()
@max(16) pe_evs: []UiPointer = pe_evs__new() # pointer_events.ludic: an event's record and its Value, a ring
@max(16) pe_vals: []Val = pe_vals__new()
pe_at: int = 0
nth_a: int = 0 # select_nth.ludic: the a and b just read
nth_b: int = 0

View file

@ -5,15 +5,15 @@
const MM_CAP: int = 32768 # slots; at most three quarters are used
export property UiMemo {
slots: words = null # index + 1 into keys, 0 empty
keys: []string = null # the text a result was made from (or the joined text itself)
tags: []int = null # what kind of result: a separator, or a kind below
lists: [][]string = null
grads: []UiGradient = null
texts: []string = null # a text worked out from the key: tw, el_url
vals: []Val = null # a Value made from it: cs_vars_in's
vtpls: []UiVarTpl = null
n1: []float = null # numbers worked out from the key: a colour and its alpha
n2: []float = null
@max(24576) keys: []string = null # the text a result was made from (or the joined text itself)
@max(24576) tags: []int = null # what kind of result: a separator, or a kind below
@max(24576) lists: [][]string = null
@max(24576) grads: []UiGradient = null
@max(24576) texts: []string = null # a text worked out from the key: tw, el_url
@max(24576) vals: []Val = null # a Value made from it: cs_vars_in's
@max(24576) vtpls: []UiVarTpl = null
@max(24576) n1: []float = null # numbers worked out from the key: a colour and its alpha
@max(24576) n2: []float = null
}
const MM_WORDS: int = -1 # el_words: spaces, a bracket's own kept
const MM_GRAD: int = -2