Commit Graph

14 Commits

Author SHA1 Message Date
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
fcfbeb0368 fix: restore immediate retained viewport updates 2026-08-26 00:09:53 +08:00
Kinneyzhang
d58ec51650 perf: coalesce viewport resize delivery 2026-08-25 22:45:13 +08:00
Kinneyzhang
b25328198c perf: defer GC across interactive viewport rerenders 2026-08-25 17:42:01 +08:00
Kinneyzhang
c591a9fcf4 perf: add native retained frame commits 2026-08-25 17:16:56 +08:00
Kinneyzhang
b65b5937cc Fix retained Flex ownership and responsive viewport updates 2026-08-22 17:37:03 +08:00
Kinneyzhang
1edc6d5bb6 Fix interactive Ebox publication and viewport bounds 2026-08-22 08:21:08 +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
654c824630 refactor(ebox): route retained updates through TP
Make TP the sole owner of live-buffer text-property publication, mount spans, scoped diff execution, and transaction rollback. Ebox now computes layout owners and retained surface plans, publishes handle/viewport/theme/scroll changes through TP, and keeps its mirrored runtime state transactionally consistent. Remove the former Ebox marker/index/patch executor instead of preserving a second mutation path.\n\nVerification:\n- make ci EMACS=/Applications/Emacs.app/Contents/MacOS/Emacs\n- make package-lint-install EMACS=/Applications/Emacs.app/Contents/MacOS/Emacs\n- strict byte compilation passed for 16 files\n- Ebox production has no tp-- private calls or marker writers\n- TP production has no Ebox dependency
2026-08-06 13:46:53 +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
fad54d7fb1 feat(ebox): project layouts into TP surface plans
Assign retained TP identity before layout and emit pure, runtime-free surface plans with exact character and text-property equivalence. Keep live publication unchanged for the staged cutover and add focused surface, package, docs, and CI contracts.\n\nVerified: make check EMACS=/Applications/Emacs.app/Contents/MacOS/Emacs\nVerified: WERROR byte compilation for all 16 active Lisp files\nVerified: focused ebox-surface checkdoc has zero warnings
2026-08-06 04:13:13 +08:00