Commit Graph

16 Commits

Author SHA1 Message Date
Kinneyzhang
79f5bc23d1 feat: add CSS sizing and native text interaction capabilities
Normalize size units and intrinsic sizing across Elisp and native layout. Add help, pointer, hover-style and keymap support with reusable interaction adapters.

Keep content updates local, preserve scroll caches and hover borders, and avoid rebuilding retained plans and ownership metadata for stable geometry.

Validation: make check and native-rust-tests passed; targeted native interaction and scroll publication regressions passed.
2026-09-09 22:25:18 +08:00
Kinneyzhang
3bd75f90c8 fix: preserve standalone layout and source ownership across updates
Expose detached committed snapshots and explicit canonical construction ownership. Preserve scoped publication and rollback, share Box decoration, and reuse completed Flex/Grid work only under proven constraints.
2026-09-06 10:45:47 +08:00
Kinneyzhang
722791a01e refactor: unify canonical style and font projection 2026-08-28 22:06:30 +08:00
Kinneyzhang
cb0e1823d3 refactor: own author facts behind opaque source handles 2026-08-28 16:48:09 +08:00
Kinneyzhang
0c7e7b974a refactor: enforce canonical Text and Box runtime boundaries 2026-08-27 12:14:51 +08:00
Kinneyzhang
6d9f2a4d82 refactor: make Grid placement a direct Box role 2026-08-26 20:49:07 +08:00
Kinneyzhang
5b55c00015 feat: validate canonical GridConfig track grammar 2026-08-26 19:56:20 +08:00
Kinneyzhang
175ae2ed4e fix: preserve intrinsic row sizing across containing blocks 2026-08-25 20:55:43 +08:00
Kinneyzhang
33c625ad82 Make minmax grid tracks responsive 2026-08-22 10:19:12 +08:00
Kinneyzhang
3fd63989e8 Complete retained Ebox publication and scrolling 2026-08-22 06:18:56 +08:00
Kinneyzhang
3dc0706af9 chore(ebox): checkpoint current implementation and docs 2026-08-11 20:43:40 +08:00
Kinneyzhang
cdf841232a refactor(ebox): publish roots through TP surfaces
Move ephemeral rendering, initial buffer mounts, declarative commits, and opaque handle updates onto retained TP surfaces while keeping Ebox layout planning and runtime indexes transactionally synchronized.

Verified with: make check EMACS=/Applications/Emacs.app/Contents/MacOS/Emacs
2026-08-06 05:49:22 +08:00
Kinneyzhang
bfef45f765 fix: size grid auto rows after item width resolution
Render auto-width grid children at their resolved track widths before resolving row heights. This keeps wrapped content visible and prevents stale intrinsic heights from clipping the final line.

Verification: make grid-tests EMACS=/Applications/Emacs.app/Contents/MacOS/Emacs; make compile EMACS=/Applications/Emacs.app/Contents/MacOS/Emacs; make check EMACS=/Applications/Emacs.app/Contents/MacOS/Emacs.
2026-08-05 20:42:58 +08:00
Kinneyzhang
d4dc572c2d fix: keep grid borders aligned across multiline items
Measure auto-width children intrinsically, constrain them to resolved tracks, account for border-box wrapper content, and align every rendered line before painting the wrapper border.
2026-08-05 20:36:29 +08:00
Kinneyzhang
de6f56637b fix: measure full stack leaf width
Measure every rendered line when a column determines its natural width so a narrower first Grid line cannot cause later lines to overflow after stack padding.\n\nVerified with make check; core 545/545 and Grid 11/11 passed.
2026-08-05 12:01:36 +08:00
Kinneyzhang
8a8e862098 feat(ebox): publish standalone low-level package
Split the verified renderer, layout engine, Grid support, native boundary, tests, examples, and paired documentation into the independent Ebox repository. Keep ETAF and application concerns outside this package.
2026-08-05 09:15:35 +08:00