content: render boundary (asHTML/asSx polymorphic) + 29 tests
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 48s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 48s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -19,7 +19,7 @@ injected adapter, not core.
|
||||
|
||||
## Status (rolling)
|
||||
|
||||
`bash lib/content/conformance.sh` → **78/78** (Phase 1: blocks + doc)
|
||||
`bash lib/content/conformance.sh` → **107/107** (Phase 1: blocks + doc + render)
|
||||
|
||||
## Ground rules
|
||||
|
||||
@@ -59,7 +59,7 @@ lib/content/api.sx ── (content/edit) (content/render) (content/history) ─
|
||||
## Phase 1 — Block document model
|
||||
- [x] `block.sx` — typed block objects
|
||||
- [x] `doc.sx` — ordered tree, apply edit op, structural moves
|
||||
- [ ] `render.sx` — block tree → HTML/SX
|
||||
- [x] `render.sx` — block tree → HTML/SX
|
||||
- [ ] `api.sx` + tests + scoreboard + conformance.sh
|
||||
|
||||
## Phase 2 — Op log + versioning
|
||||
@@ -77,6 +77,13 @@ lib/content/api.sx ── (content/edit) (content/render) (content/history) ─
|
||||
|
||||
## Progress log
|
||||
|
||||
- 2026-06-07 — Phase 1 `render.sx`: render boundary as polymorphic message
|
||||
dispatch. Every block and `CtDoc` answers `asHTML` / `asSx`; the document
|
||||
folds children via Smalltalk `inject:into:` (works on raw SX lists), so
|
||||
`(asHTML doc)` / `(asSx doc)` are pure sends with zero type-switching in SX.
|
||||
Lists/headings render in Smalltalk source. No HTML escaping yet (noted in
|
||||
render.sx — boundary concern before untrusted content). 29 tests; suite
|
||||
107/107.
|
||||
- 2026-06-06 — Phase 1 `doc.sx`: ordered block document (`CtDoc`) as a
|
||||
Smalltalk object holding an ordered block sequence. Edit ops are data dicts
|
||||
(`insert`/`update`/`move`/`delete`) with `op-*` constructors; `doc-apply` /
|
||||
|
||||
Reference in New Issue
Block a user