| .. |
|
act.ludic
|
fix(lang): 0.R4 - ludic.ui's UiAct is its own, and a name that meets a package's export says whose it is
|
2026-09-26 06:57:35 +03:00 |
|
anim.ludic
|
ludic.ui: no number made text to be read back - a style handler returns before any text for a key not its own, grow/alpha/animations/scroll read numbers as numbers, el_secs split once per text, a tooltip translated when its title changes
|
2026-09-28 10:43:44 +03:00 |
|
attr.ludic
|
ludic.ui: no number made text to be read back - a style handler returns before any text for a key not its own, grow/alpha/animations/scroll read numbers as numbers, el_secs split once per text, a tooltip translated when its title changes
|
2026-09-28 10:43:44 +03:00 |
|
attr_border.ludic
|
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
|
2026-09-25 15:31:34 +03:00 |
|
attr_box.ludic
|
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
|
2026-09-28 01:05:35 +03:00 |
|
attr_edge.ludic
|
ludic.ui: no number made text to be read back - a style handler returns before any text for a key not its own, grow/alpha/animations/scroll read numbers as numbers, el_secs split once per text, a tooltip translated when its title changes
|
2026-09-28 10:43:44 +03:00 |
|
attr_fit.ludic
|
ludic.ui: splits, words, gradients and keys are made once per text (a bounded memo), sides without a list - benchmark 110 -> 63 KB a frame
|
2026-09-27 23:38:57 +03:00 |
|
attr_inset.ludic
|
runtime, ludic.ui: a scalar Value is one allocation, not three (lists only for a list or an object); layout and cascade lists kept a depth; small numbers' text made once - benchmark 63 -> 36 KB a frame
|
2026-09-27 23:43:25 +03:00 |
|
attr_more.ludic
|
ludic.ui: no number made text to be read back - a style handler returns before any text for a key not its own, grow/alpha/animations/scroll read numbers as numbers, el_secs split once per text, a tooltip translated when its title changes
|
2026-09-28 10:43:44 +03:00 |
|
attr_place.ludic
|
ludic.ui: no number made text to be read back - a style handler returns before any text for a key not its own, grow/alpha/animations/scroll read numbers as numbers, el_secs split once per text, a tooltip translated when its title changes
|
2026-09-28 10:43:44 +03:00 |
|
backend.ludic
|
ludic.ui, runtime: the last per-frame allocations in the interface - the top popover found without a list, the popover draw list and the clip stack kept, a select's options in a list the node keeps (and matched to its value without writing the index), a number's text kept on its Value until it changes (value_num_set / Value.num_text), a key's label kept per key code until the layout changes it
|
2026-09-28 11:11:48 +03:00 |
|
build.ludic
|
ludic.ui: props kept an instance, a call's arguments a depth, a loop's index shared, an absent attribute's text without a Value; runtime Value.clear - benchmark 36 -> 20 KB a frame
|
2026-09-27 23:46:18 +03:00 |
|
build_class.ludic
|
ludic.ui, runtime, compiler: a component call's answer is written into a pooled record while the screen is built (call(p, name, args, into); value_into_*), a component root's passes pooled, an icon's atlas and name read in place; reseeded
|
2026-09-28 01:51:56 +03:00 |
|
build_more.ludic
|
ludic.ui: a screen's nodes and envs are pooled and used again - two generations a screen, reset in place, their own lists emptied not replaced; a tree is good until its screen is built twice more (benchmark 256 -> 110 KB a frame)
|
2026-09-27 23:33:48 +03:00 |
|
calc.ludic
|
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
|
2026-09-28 01:05:35 +03:00 |
|
calc_fns.ludic
|
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
|
2026-09-28 01:05:35 +03:00 |
|
calc_terms.ludic
|
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
|
2026-09-28 01:05:35 +03:00 |
|
cascade.ludic
|
ludic.ui: a screen's nodes and envs are pooled and used again - two generations a screen, reset in place, their own lists emptied not replaced; a tree is good until its screen is built twice more (benchmark 256 -> 110 KB a frame)
|
2026-09-27 23:33:48 +03:00 |
|
cascade_merge.ludic
|
runtime, ludic.ui: a scalar Value is one allocation, not three (lists only for a list or an object); layout and cascade lists kept a depth; small numbers' text made once - benchmark 63 -> 36 KB a frame
|
2026-09-27 23:43:25 +03:00 |
|
class.ludic
|
ludic.ui, runtime, compiler: a component call's answer is written into a pooled record while the screen is built (call(p, name, args, into); value_into_*), a component root's passes pooled, an icon's atlas and name read in place; reseeded
|
2026-09-28 01:51:56 +03:00 |
|
color.ludic
|
ludic.ui, compiler: a component's model is filled in place into an object its instance keeps (value_set_*); colours, border-images and a class screen's stub made once; object-fit into a kept list - benchmark 20 -> 10 KB a frame
|
2026-09-28 00:17:47 +03:00 |
|
consts.ludic
|
feat(lang): UI components as files - component Name { ... } beside Name.xml and Name.lss
|
2026-09-24 16:50:12 +03:00 |
|
controls.ludic
|
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
|
2026-09-28 01:05:35 +03:00 |
|
controls_build.ludic
|
ludic.ui, runtime: the last per-frame allocations in the interface - the top popover found without a list, the popover draw list and the clip stack kept, a select's options in a list the node keeps (and matched to its value without writing the index), a number's text kept on its Value until it changes (value_num_set / Value.num_text), a key's label kept per key code until the layout changes it
|
2026-09-28 11:11:48 +03:00 |
|
controls_key.ludic
|
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
|
2026-09-25 15:31:34 +03:00 |
|
controls_key_mouse.ludic
|
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
|
2026-09-25 15:31:34 +03:00 |
|
controls_number.ludic
|
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
|
2026-09-25 15:31:34 +03:00 |
|
controls_parts.ludic
|
ludic.ui, runtime: the last per-frame allocations in the interface - the top popover found without a list, the popover draw list and the clip stack kept, a select's options in a list the node keeps (and matched to its value without writing the index), a number's text kept on its Value until it changes (value_num_set / Value.num_text), a key's label kept per key code until the layout changes it
|
2026-09-28 11:11:48 +03:00 |
|
dev.ludic
|
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
|
2026-09-25 15:31:34 +03:00 |
|
draw.ludic
|
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
|
2026-09-25 15:31:34 +03:00 |
|
draw_content.ludic
|
ludic.ui, compiler: a component's model is filled in place into an object its instance keeps (value_set_*); colours, border-images and a class screen's stub made once; object-fit into a kept list - benchmark 20 -> 10 KB a frame
|
2026-09-28 00:17:47 +03:00 |
|
draw_gradient.ludic
|
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
|
2026-09-28 00:10:56 +03:00 |
|
draw_nine.ludic
|
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
|
2026-09-28 00:10:56 +03:00 |
|
draw_order.ludic
|
ludic.ui, runtime: the last per-frame allocations in the interface - the top popover found without a list, the popover draw list and the clip stack kept, a select's options in a list the node keeps (and matched to its value without writing the index), a number's text kept on its Value until it changes (value_num_set / Value.num_text), a key's label kept per key code until the layout changes it
|
2026-09-28 11:11:48 +03:00 |
|
dump.ludic
|
feat(ui): number and key fields, notes, anchored popovers, text-shadow, and pictures as painted
|
2026-09-24 19:55:20 +03:00 |
|
elem.ludic
|
ludic.ui: a hole's text found by its pieces in the memo (built only when it first reads that way), avals left for the attributes read as text, a class's [root] made once, and a dev build's reload lets go of every file it read only to compare
|
2026-09-28 01:29:02 +03:00 |
|
env.ludic
|
ludic.ui, runtime, compiler: a component call's answer is written into a pooled record while the screen is built (call(p, name, args, into); value_into_*), a component root's passes pooled, an icon's atlas and name read in place; reseeded
|
2026-09-28 01:51:56 +03:00 |
|
eval.ludic
|
ludic.ui, runtime, compiler: a component call's answer is written into a pooled record while the screen is built (call(p, name, args, into); value_into_*), a component root's passes pooled, an icon's atlas and name read in place; reseeded
|
2026-09-28 01:51:56 +03:00 |
|
eval_text.ludic
|
ludic.ui: a hole's text found by its pieces in the memo (built only when it first reads that way), avals left for the attributes read as text, a class's [root] made once, and a dev build's reload lets go of every file it read only to compare
|
2026-09-28 01:29:02 +03:00 |
|
expr.ludic
|
ludic.ui: string matching compares in place - at_alias, lk_in, colours and every s[a..b] == p made a string per position tried, per rule, per element, per frame (a benchmark page: ~3 MB -> 256 KB a frame)
|
2026-09-27 23:27:02 +03:00 |
|
expr_parse.ludic
|
feat(lang): L11 views and templates - the UI is markup, not code
|
2026-09-24 15:58:47 +03:00 |
|
expr_prim.ludic
|
feat(lang): L11 views and templates - the UI is markup, not code
|
2026-09-24 15:58:47 +03:00 |
|
focus.ludic
|
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
|
2026-09-28 00:10:56 +03:00 |
|
frame.ludic
|
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
|
2026-09-28 01:05:35 +03:00 |
|
frame_box.ludic
|
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
|
2026-09-25 15:31:34 +03:00 |
|
hold.ludic
|
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
|
2026-09-25 15:31:34 +03:00 |
|
index.ludic
|
ludic.ui: a hole's text found by its pieces in the memo (built only when it first reads that way), avals left for the attributes read as text, a class's [root] made once, and a dev build's reload lets go of every file it read only to compare
|
2026-09-28 01:29:02 +03:00 |
|
input.ludic
|
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
|
2026-09-28 00:10:56 +03:00 |
|
input_pad.ludic
|
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
|
2026-09-25 15:31:34 +03:00 |
|
instance.ludic
|
ludic.ui, compiler: a component's model is filled in place into an object its instance keeps (value_set_*); colours, border-images and a class screen's stub made once; object-fit into a kept list - benchmark 20 -> 10 KB a frame
|
2026-09-28 00:17:47 +03:00 |
|
layout.ludic
|
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
|
2026-09-25 15:31:34 +03:00 |
|
layout_box.ludic
|
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
|
2026-09-25 15:31:34 +03:00 |
|
layout_fit.ludic
|
ludic.ui, compiler: a component's model is filled in place into an object its instance keeps (value_set_*); colours, border-images and a class screen's stub made once; object-fit into a kept list - benchmark 20 -> 10 KB a frame
|
2026-09-28 00:17:47 +03:00 |
|
layout_run.ludic
|
runtime, ludic.ui: a scalar Value is one allocation, not three (lists only for a list or an object); layout and cascade lists kept a depth; small numbers' text made once - benchmark 63 -> 36 KB a frame
|
2026-09-27 23:43:25 +03:00 |
|
layout_shrink.ludic
|
runtime, ludic.ui: a scalar Value is one allocation, not three (lists only for a list or an object); layout and cascade lists kept a depth; small numbers' text made once - benchmark 63 -> 36 KB a frame
|
2026-09-27 23:43:25 +03:00 |
|
layout_text.ludic
|
ludic.ui: splits, words, gradients and keys are made once per text (a bounded memo), sides without a list - benchmark 110 -> 63 KB a frame
|
2026-09-27 23:38:57 +03:00 |
|
layout_wrap.ludic
|
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
|
2026-09-25 15:31:34 +03:00 |
|
lib.ludic
|
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
|
2026-09-25 15:31:34 +03:00 |
|
lib_util.ludic
|
ludic.ui: string matching compares in place - at_alias, lk_in, colours and every s[a..b] == p made a string per position tried, per rule, per element, per frame (a benchmark page: ~3 MB -> 256 KB a frame)
|
2026-09-27 23:27:02 +03:00 |
|
life.ludic
|
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
|
2026-09-28 00:10:56 +03:00 |
|
link.ludic
|
ludic.ui: string matching compares in place - at_alias, lk_in, colours and every s[a..b] == p made a string per position tried, per rule, per element, per frame (a benchmark page: ~3 MB -> 256 KB a frame)
|
2026-09-27 23:27:02 +03:00 |
|
media.ludic
|
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
|
2026-09-25 15:31:34 +03:00 |
|
memo.ludic
|
ludic.ui: a hole's text found by its pieces in the memo (built only when it first reads that way), avals left for the attributes read as text, a class's [root] made once, and a dev build's reload lets go of every file it read only to compare
|
2026-09-28 01:29:02 +03:00 |
|
memo_join.ludic
|
ludic.ui, compiler: a component's model is filled in place into an object its instance keeps (value_set_*); colours, border-images and a class screen's stub made once; object-fit into a kept list - benchmark 20 -> 10 KB a frame
|
2026-09-28 00:17:47 +03:00 |
|
native.ludic
|
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
|
2026-09-28 00:10:56 +03:00 |
|
node.ludic
|
feat(ui): flex-shrink, text that wraps beside its siblings, calc(), order, and 0 as a size
|
2026-09-24 19:54:14 +03:00 |
|
node_more.ludic
|
feat(ui): ui_scale and ui_box, on-submit, zoom (and a length over a length in calc), on-hold
|
2026-09-25 03:31:38 +03:00 |
|
package.ludic
|
feat(lang): L11 views and templates - the UI is markup, not code
|
2026-09-24 15:58:47 +03:00 |
|
pointer.ludic
|
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
|
2026-09-28 00:10:56 +03:00 |
|
pointer_events.ludic
|
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
|
2026-09-25 15:31:34 +03:00 |
|
pointer_pick.ludic
|
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
|
2026-09-28 00:10:56 +03:00 |
|
pool.ludic
|
ludic.ui, runtime, compiler: a component call's answer is written into a pooled record while the screen is built (call(p, name, args, into); value_into_*), a component root's passes pooled, an icon's atlas and name read in place; reseeded
|
2026-09-28 01:51:56 +03:00 |
|
pool_reset.ludic
|
ludic.ui: a screen's nodes and envs are pooled and used again - two generations a screen, reset in place, their own lists emptied not replaced; a tree is good until its screen is built twice more (benchmark 256 -> 110 KB a frame)
|
2026-09-27 23:33:48 +03:00 |
|
pool_reset_more.ludic
|
ludic.ui, runtime: the last per-frame allocations in the interface - the top popover found without a list, the popover draw list and the clip stack kept, a select's options in a list the node keeps (and matched to its value without writing the index), a number's text kept on its Value until it changes (value_num_set / Value.num_text), a key's label kept per key code until the layout changes it
|
2026-09-28 11:11:48 +03:00 |
|
popover.ludic
|
ludic.ui, runtime: the last per-frame allocations in the interface - the top popover found without a list, the popover draw list and the clip stack kept, a select's options in a list the node keeps (and matched to its value without writing the index), a number's text kept on its Value until it changes (value_num_set / Value.num_text), a key's label kept per key code until the layout changes it
|
2026-09-28 11:11:48 +03:00 |
|
popover_anchor.ludic
|
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
|
2026-09-25 15:31:34 +03:00 |
|
popover_within.ludic
|
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
|
2026-09-25 15:31:34 +03:00 |
|
reload.ludic
|
ludic.ui: a hole's text found by its pieces in the memo (built only when it first reads that way), avals left for the attributes read as text, a class's [root] made once, and a dev build's reload lets go of every file it read only to compare
|
2026-09-28 01:29:02 +03:00 |
|
render3d.ludic
|
fix(ui): the pointer in the renderer's pixels - macOS reports it in window points, so on Retina every hit landed at half the cursor's position
|
2026-09-26 23:31:47 +03:00 |
|
render3d_image.ludic
|
ludic.ui, runtime, compiler: a component call's answer is written into a pooled record while the screen is built (call(p, name, args, into); value_into_*), a component root's passes pooled, an icon's atlas and name read in place; reseeded
|
2026-09-28 01:51:56 +03:00 |
|
render3d_nine.ludic
|
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
|
2026-09-28 00:10:56 +03:00 |
|
screen.ludic
|
feat(lang): L11 views and templates - the UI is markup, not code
|
2026-09-24 15:58:47 +03:00 |
|
screen_class.ludic
|
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
|
2026-09-28 01:05:35 +03:00 |
|
scroll.ludic
|
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
|
2026-09-25 15:31:34 +03:00 |
|
scroll_bar.ludic
|
ludic.ui: a screen's nodes and envs are pooled and used again - two generations a screen, reset in place, their own lists emptied not replaced; a tree is good until its screen is built twice more (benchmark 256 -> 110 KB a frame)
|
2026-09-27 23:33:48 +03:00 |
|
scroll_held.ludic
|
ludic.ui: no number made text to be read back - a style handler returns before any text for a key not its own, grow/alpha/animations/scroll read numbers as numbers, el_secs split once per text, a tooltip translated when its title changes
|
2026-09-28 10:43:44 +03:00 |
|
select.ludic
|
feat(ui): ludic.ui grows toward HTML, CSS and React (Phase 0.U1-U4)
|
2026-09-24 16:17:25 +03:00 |
|
select_match.ludic
|
ludic.ui: a hole's text found by its pieces in the memo (built only when it first reads that way), avals left for the attributes read as text, a class's [root] made once, and a dev build's reload lets go of every file it read only to compare
|
2026-09-28 01:29:02 +03:00 |
|
select_nth.ludic
|
feat(ui): pointer events for natives and elements, with capture; on-down and on-up; hits in painting order
|
2026-09-24 21:48:02 +03:00 |
|
select_parts.ludic
|
feat(lang): L11 views and templates - the UI is markup, not code
|
2026-09-24 15:58:47 +03:00 |
|
state.ludic
|
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
|
2026-09-28 01:05:35 +03:00 |
|
style.ludic
|
ludic.ui: string matching compares in place - at_alias, lk_in, colours and every s[a..b] == p made a string per position tried, per rule, per element, per frame (a benchmark page: ~3 MB -> 256 KB a frame)
|
2026-09-27 23:27:02 +03:00 |
|
style_rule.ludic
|
feat(lang): L11 views and templates - the UI is markup, not code
|
2026-09-24 15:58:47 +03:00 |
|
text_fit.ludic
|
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
|
2026-09-28 00:10:56 +03:00 |
|
tooltip.ludic
|
ludic.ui: no number made text to be read back - a style handler returns before any text for a key not its own, grow/alpha/animations/scroll read numbers as numbers, el_secs split once per text, a tooltip translated when its title changes
|
2026-09-28 10:43:44 +03:00 |
|
tooltip_text.ludic
|
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
|
2026-09-25 15:31:34 +03:00 |
|
tpl.ludic
|
ludic.ui: string matching compares in place - at_alias, lk_in, colours and every s[a..b] == p made a string per position tried, per rule, per element, per frame (a benchmark page: ~3 MB -> 256 KB a frame)
|
2026-09-27 23:27:02 +03:00 |
|
tpl_lines.ludic
|
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
|
2026-09-25 15:31:34 +03:00 |
|
transition.ludic
|
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
|
2026-09-25 15:31:34 +03:00 |
|
ua.ludic
|
feat(ui): a scrollbar held where it was taken, a popover that keeps the mouse, easing that lands
|
2026-09-24 21:39:28 +03:00 |
|
units.ludic
|
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
|
2026-09-28 01:05:35 +03:00 |
|
units_pieces.ludic
|
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
|
2026-09-28 00:10:56 +03:00 |
|
values.ludic
|
ludic.ui, runtime: the last per-frame allocations in the interface - the top popover found without a list, the popover draw list and the clip stack kept, a select's options in a list the node keeps (and matched to its value without writing the index), a number's text kept on its Value until it changes (value_num_set / Value.num_text), a key's label kept per key code until the layout changes it
|
2026-09-28 11:11:48 +03:00 |
|
view.ludic
|
feat(lang): UI components as files - component Name { ... } beside Name.xml and Name.lss
|
2026-09-24 16:50:12 +03:00 |
|
zoom.ludic
|
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
|
2026-09-25 15:31:34 +03:00 |