ludic.ui: var() values found by their pieces, tpl_words/url/border-image by their text, nine-slices, picking, lifecycle, focus, hover, the event queue and input without a list or record made a frame

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Orkun ÇAKILKAYA 2026-09-28 00:10:56 +03:00
parent edaec666d1
commit 08ac2f1125
21 changed files with 281 additions and 98 deletions

View file

@ -39,6 +39,12 @@ 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
cv_texts: []string = new []string # units_pieces.ludic: a value's var() pieces, kept
r3n_cut: []float = new []float # render3d_nine.ludic: a nine-slice's edges, kept
r3n_xs: []float = new []float
r3n_ys: []float = new []float
r3n_us: []float = new []float
r3n_vs: []float = new []float
ly_depth: int = 0 # layout_run.ludic: the lists a line lays out with, one a depth
ly_sizes: [][]float = new [][]float
ly_frozen: [][]bool = new [][]bool
@ -90,6 +96,8 @@ export state UiState {
in_now: UiInput = new UiInput
in_was_down: bool = false
in_last: UiInput = new UiInput
in_rec_a: UiInput = new UiInput
in_rec_b: UiInput = new UiInput
in_given: bool = false
rp_next: []float = [-1.0, -1.0, -1.0, -1.0]
rp_a: bool = false
@ -109,14 +117,21 @@ export state UiState {
lc_mounts: []UiAct = new []UiAct
lc_unmounts: []UiAct = new []UiAct
lc_envs: []UiEnv = new []UiEnv
lc_sp_keys: []string = new []string # life.ludic: the spare set lc_run fills and swaps in
lc_sp_unmounts: []UiAct = new []UiAct
lc_sp_envs: []UiEnv = new []UiEnv
lc_prev_keys: []string = new []string
lc_prev_unmounts: []UiAct = new []UiAct
lc_prev_envs: []UiEnv = new []UiEnv
nt_list: []UiNative = new []UiNative
nt_sp_nodes: []UiNode = new []UiNode # native.ludic: the queue's spare, swapped while it runs
nt_sp_names: []string = new []string
nt_sp_vals: []Val = new []Val
nt_q_nodes: []UiNode = new []UiNode
nt_q_names: []string = new []string
nt_q_vals: []Val = new []Val
fr_hover: []string = new []string
fr_hover_sp: []string = new []string
fr_press_key: string = ""
fr_down_now: bool = false
fr_key_press: string = "" # the control Enter or the pad's A is holding down