Commit Graph

25 Commits

Author SHA1 Message Date
Kinneyzhang
4a25d573c2 Add retained layer layout: position/left/top/z-index/layer/anchor properties, new ebox-layer.el and ebox-composite.el, update docs and Makefile
Some checks are pending
CI / test (29.1) (push) Waiting to run
CI / test (30.2) (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-10 01:58:23 +08:00
Kinneyzhang
a8417d56c6 Prepare standalone distribution and harden clipping and interaction 2026-09-10 00:22:34 +08:00
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
5143d17a56 fix: scope node memos to copied runtime generations 2026-09-06 15:30:18 +08:00
Kinneyzhang
3fadb19121 refactor: preserve line data through box decoration 2026-09-06 14:00:59 +08:00
Kinneyzhang
acb5afce82 perf: avoid unused vertical padding materialization 2026-09-06 13:25:47 +08:00
Kinneyzhang
9e581aea2e refactor: separate viewport topology and scroll reuse proofs 2026-09-06 12:57:20 +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
b5e8b6d863 feat: publish Ebox SPI v2 provider for M2a E5
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 21:52:51 +08:00
Kinneyzhang
918a88d95d refactor: unify style schema truth for M2a E4
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 21:25:19 +08:00
Kinneyzhang
a19672a25e refactor: add pure patch planner for M2a E3
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:57:54 +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
e55798e0e9 refactor: classify Ebox retained state for M2a E1
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:11:16 +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
c591a9fcf4 perf: add native retained frame commits 2026-08-25 17:16:56 +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
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
Kinneyzhang
ab9efe62a7 refactor: move playground fixtures to sibling package
Keep the standalone Ebox package focused on its public layout and DSL primitives while the generic ebox-playground package owns executable .ebox references.
2026-08-05 20:36:24 +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