Commit Graph

38 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
7c21185215 merge: integrate retained native input with current main fixes
Reconcile duplicated native ancestry against the verified equivalent base. Preserve current source ownership, scroll partition, allocated owner rendering, and later retained-state repairs while adapting their consumers and existing fixtures to persistent runtime indexes.

Validation: strict byte compilation of 28 source files, static syntax across 56 Lisp files, cargo check, and native release build passed. Regression suites and benchmarks were not run at the user's direction.
2026-09-08 21:42:21 +08:00
Kinneyzhang
1204746e41 fix: render allocated owners in their retained slots 2026-09-08 19:33:00 +08:00
Kinneyzhang
e1f4821e6d fix: rebuild ordinary projection state after local output declines 2026-09-07 06:56:43 +08:00
Kinneyzhang
6ac8ff6e04 fix: consume transient paint markers before retaining fragments 2026-09-07 05:55:42 +08:00
Kinneyzhang
f89b47b77d perf: retain mount state for proven single-owner updates 2026-09-07 05:30:42 +08:00
Kinneyzhang
71154f5f78 perf: retain mount state across mixed geometry and paint updates 2026-09-07 05:03:36 +08:00
Kinneyzhang
789e0b2f17 fix: preserve mixed updates after retained node replacement 2026-09-07 03:26:55 +08:00
Kinneyzhang
b624f46499 perf: retain published properties for local owner text edits 2026-09-07 02:36:22 +08:00
Kinneyzhang
dae9db7a74 fix: retain enclosing effects during ordinary content updates 2026-09-06 23:58:24 +08:00
Kinneyzhang
e7066b27f4 fix: preserve mixed updates beside independent scroll regions 2026-09-06 22:11:05 +08:00
Kinneyzhang
21cf79cdfa perf: retain local text updates beside independent scroll regions 2026-09-06 20:50:01 +08:00
Kinneyzhang
5143d17a56 fix: scope node memos to copied runtime generations 2026-09-06 15:30: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
727aba2ec7 Preserve native scroll continuity with explicit retained producers
Some checks are pending
CI / test (push) Waiting to run
CI / native-build (macos-latest) (push) Waiting to run
CI / native-build (ubuntu-latest) (push) Waiting to run
CI / native-build (windows-latest) (push) Waiting to run
CI / native-msrv (macos-latest) (push) Waiting to run
CI / native-msrv (ubuntu-latest) (push) Waiting to run
CI / native-msrv (windows-latest) (push) Waiting to run
2026-09-05 17:26:13 +08:00
Kinneyzhang
826f195236 Use compressed persistent runtime indexes and retained node-id postorder 2026-09-05 12:05:08 +08:00
Kinneyzhang
32b4834322 refactor: publish framework changes through structured TP participants
Some checks are pending
CI / test (push) Waiting to run
CI / native-build (macos-latest) (push) Waiting to run
CI / native-build (ubuntu-latest) (push) Waiting to run
CI / native-build (windows-latest) (push) Waiting to run
CI / native-msrv (macos-latest) (push) Waiting to run
CI / native-msrv (ubuntu-latest) (push) Waiting to run
CI / native-msrv (windows-latest) (push) Waiting to run
2026-09-05 05:25:29 +08:00
Kinneyzhang
f1f91468aa chore: freeze verified ebox baseline before C1b
Some checks are pending
CI / test (push) Waiting to run
CI / native-build (macos-latest) (push) Waiting to run
CI / native-build (ubuntu-latest) (push) Waiting to run
CI / native-build (windows-latest) (push) Waiting to run
CI / native-msrv (macos-latest) (push) Waiting to run
CI / native-msrv (ubuntu-latest) (push) Waiting to run
CI / native-msrv (windows-latest) (push) Waiting to run
2026-09-05 05:07:37 +08:00
Kinneyzhang
12ce14d43a refactor: inject surface-free layout context for M2a E2
Some checks are pending
CI / test (push) Waiting to run
CI / native-build (macos-latest) (push) Waiting to run
CI / native-build (ubuntu-latest) (push) Waiting to run
CI / native-build (windows-latest) (push) Waiting to run
CI / native-msrv (macos-latest) (push) Waiting to run
CI / native-msrv (ubuntu-latest) (push) Waiting to run
CI / native-msrv (windows-latest) (push) Waiting to run
2026-08-31 20:37:08 +08:00
Kinneyzhang
54b3514668 fix: publish inherited native paint updates 2026-08-29 01:01:58 +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
8b28f278bd perf: expose correlated Ebox publication observation 2026-08-27 23:33:23 +08:00
Kinneyzhang
9f48b2f283 perf: eliminate cold-scroll flicker and GC stalls 2026-08-27 16:42:59 +08:00
Kinneyzhang
0c7e7b974a refactor: enforce canonical Text and Box runtime boundaries 2026-08-27 12:14:51 +08:00
Kinneyzhang
f9050cee72 fix: declare Emacs 31 native compiler dependencies 2026-08-26 23:06:37 +08:00
Kinneyzhang
4b409f16f4 feat: validate Box participation against final parent layout 2026-08-26 20:42:36 +08:00
Kinneyzhang
53001719c4 feat: retain Row and Column within canonical Box identity 2026-08-26 19:03:35 +08:00
Kinneyzhang
fcfbeb0368 fix: restore immediate retained viewport updates 2026-08-26 00:09:53 +08:00
Kinneyzhang
c591a9fcf4 perf: add native retained frame commits 2026-08-25 17:16:56 +08:00
Kinneyzhang
dd731cfbbf Optimize incremental mixed-owner rendering 2026-08-24 02:08:53 +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