Commit Graph

8 Commits

Author SHA1 Message Date
Glint Dev
b6fa841d11 Phase 9: Keyed widgets (9.1 + 9.2)
9.1: Add content_hash field to Element, computed during VDOM evaluation
  from type_name + properties + children content_hashes via DefaultHasher.

9.2: Assign stable iced::widget::Id to text_input and scrollable widgets
  so Iced preserves widget state (cursor position, scroll offset) across
  frames. Ids are cached in a thread_local HashMap to avoid leaks.

9.3 skipped: iced::Element is not Clone and contains Box<dyn Widget>,
  making element-level caching impractical without unsafe lifetime hacks.
2026-07-24 19:53:02 +03:00
Glint Dev
32beb81ac4 demo: layout fixes, sticky removal, style overrides, css-like rendering improvements 2026-07-24 16:46:00 +03:00
Glint Dev
f51b32ecc3 fix: pass cs.height to Window column so height:100vh constrains layout 2026-07-22 14:38:54 +03:00
Glint Dev
bdb5df2bf2 fix: only wrap hover/active elements in button when __on:click exists (no more phantom pointer cursor) 2026-07-22 14:31:36 +03:00
Glint Dev
26ed1f900e Revert "Phase 4.1-4.2: StyleIndex with by_tag/by_class/by_id indexes, replace matching_rules with query_index, build_index after parsing"
This reverts commit 87feba394d.
2026-07-22 13:01:33 +03:00
Glint Dev
bc45e85adf Phase 4.3-4.4: Style match cache with epoch invalidation (RefCell), remove redundant re-sort in query(), merge-scan complex rules in order 2026-07-22 12:59:40 +03:00
faynot
75af23930f feat: new styles 2026-07-08 23:45:37 +03:00
Faynot
f956b750e3 feat: reactivityl; vdom; rhei; styles; fs; image element 2026-06-02 12:12:20 +03:00