Commit graph

19 commits

Author SHA1 Message Date
Claude
18d2933315
perf: optimise WASM binary size reporting
The 2.8MB raw binary exceeds the original 2MB target, but Go WASM has
a ~2MB runtime floor that cannot be reduced without tinygo. The gzip'd
transfer size is 823KB — well under 1MB.

Update the Makefile size check to measure both raw and gzip'd sizes:
- Gzip transfer limit: 1MB (hard fail — what users download)
- Raw binary limit: 3MB (warning — accounts for Go runtime floor)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 00:17:39 +00:00
Claude
e34c5c96c3
test: add WASM browser test harness
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 00:15:26 +00:00
Claude
456adce73b
build: add Makefile with WASM build target and size check
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 00:15:08 +00:00
Claude
ef777936d2
feat: add CompareVariants for responsive imprint analysis
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 00:14:45 +00:00
Claude
2fab89ea46
refactor: integration tests use Imprint pipeline
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 00:14:04 +00:00
Claude
5acf63cb4b
feat: add WASM entry point with renderToString
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 00:12:04 +00:00
Claude
76cef5a8d0
feat: add Imprint() full render-reverse-imprint pipeline
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 00:11:36 +00:00
Claude
a06e9716c5
test: verify responsive variant path isolation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 00:10:33 +00:00
Claude
8ac512362a
feat: add StripTags for render-reverse pipeline
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 00:08:44 +00:00
Claude
f49ddbf374
feat: add Attr() helper for setting element attributes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 00:08:17 +00:00
Claude
e041f7681f
feat: add Responsive multi-variant layout compositor
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 00:07:38 +00:00
Claude
40da0d8b1d
fix: deterministic attributes and thread-safe nested layouts
Sort attribute keys for deterministic HTML output (I-1).
Clone nested layouts before mutating path in Render (I-3),
preventing data races when the same tree is rendered concurrently.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 23:53:31 +00:00
Claude
7e484aba8b
test: add go-html → go-i18n reversal integration test
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 23:43:26 +00:00
Claude
19cad82945
feat: add render pipeline and validation tests
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 23:43:05 +00:00
Claude
d75988a99e feat: add nested layout path chains
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 23:40:40 +00:00
Claude
946ea8d0aa feat: add HLCRF Layout type with semantic elements
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 23:39:43 +00:00
Claude
c7240943d7
feat: add conditional, entitlement, switch, and each nodes
Implements If, Unless, Entitled, Switch, and Each (generic) control flow
nodes. Entitled uses deny-by-default when no entitlement function is set,
rendering absent content rather than hidden content. Each uses Go generics
for type-safe iteration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 23:36:54 +00:00
Claude
3e76e72cb7
feat: add Text node with go-i18n grammar pipeline
Introduces textNode that renders through go-i18n's T() function with
automatic HTML escaping for safe-by-default output. Adds escapeHTML
utility, NewContextWithService for explicit service binding, and
Entitlements field on Context for upcoming conditional rendering.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 23:35:50 +00:00
Claude
d7bb0b2b2c
feat: scaffold go-html module with Node interface
Introduces the go-html module with a Node rendering interface, Raw and El
constructors, void element handling, and attribute escaping. Includes a
minimal Context stub and tests for all node types.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 23:34:27 +00:00