Commit Graph

433 Commits

Author SHA1 Message Date
slhx agent b7055f225a test(derive): cover handler compile failures
Add a fixture-backed compile-fail test for generated slhx handler contracts: unknown handles and invalid handler shape fail during cargo check with actionable diagnostics.

req: derive_handler/001

req: test/003
2026-05-25 21:14:16 +02:00
slhx agent 6f93c7d935 refactor(techdemo): compose page with hemplate views
Move the techdemo page shell and remaining board/inspector/hero boundaries to hemplate-owned views instead of Rust raw HTML or placeholder replacement. Keep rendered HTML assertions DOM-aware with scraper.

req: html_safety/002

req: view/001

req: test/005
2026-05-25 21:09:39 +02:00
slhx agent fee9762069 feat(style): generate checked class tokens
Add a boring CSS/SCSS class-token surface: slhx-build discovers static class tokens from hemplate/templates/stylesheets and emits generated CssClass constants. Add CssClasses for hemplate +class/view data and migrate techdemo dynamic/effect fragments toward hemplate-owned views with DOM-aware assertions.

req: style/001

req: style/002

req: style/003

req: html_safety/002

req: view/001

req: test/005
2026-05-25 20:48:31 +02:00
slhx agent 9ceea7de94 build(test): benchmark safe concurrency ramps
req: test/004
2026-05-11 10:31:19 +02:00
slhx agent 7a2c5ecae0 build(test): cap verification concurrency
req: test/004
2026-05-11 10:27:09 +02:00
slhx agent ebe7f58905 test(examples): guard browser e2e product path
req: examples/005

req: convention/002
2026-05-11 10:27:09 +02:00
slhx agent 63b559edb8 fix(runtime): make form defaults post declaratively
req: form/002

req: examples/005

req: convention/004
2026-05-11 08:55:08 +02:00
slhx agent 5c1dc853d8 fix(runtime): support native user interactions
req: examples/005

req: form/002

req: convention/004

req: dx/008
2026-05-11 08:26:13 +02:00
slhx agent 2db7ed7a3c feat(runtime): make techdemo interactions declarative
req: examples/005

req: htmx_equivalents/002

req: dx/008

req: form/002
2026-05-11 08:11:06 +02:00
slhx agent 0de4c82a16 test(examples): forbid authored browser javascript
req: examples/005
2026-05-11 08:11:06 +02:00
slhx agent 816552e735 feat(runtime): support slhx drag drops
req: htmx_equivalents/002

req: dx/008

req: list/003

req: examples/001
2026-05-11 07:59:32 +02:00
slhx agent ad8806c187 feat(techdemo): render issues with hemplate partials
req: examples/001

req: dx/008

req: list/003

req: form/002
2026-05-11 07:53:51 +02:00
slhx agent 5a29161148 polish(techdemo): make demo customer-ready
req: examples/001

req: dx/008

req: form/002
2026-05-11 07:38:29 +02:00
slhx agent e840802721 test(techdemo): add typed browser e2e
req: examples/001

req: dx/008

req: form/002

req: page_swap/002

req: push/003
2026-05-11 07:28:34 +02:00
slhx agent e1265e37f1 fix(runtime): handle clicked form submitters
req: convention/004
2026-05-11 07:28:34 +02:00
slhx agent bdd50d7595 test(techdemo): add full product e2e coverage
req: examples/001

req: dx/008

req: form/002

req: page_swap/002

req: push/003
2026-05-11 07:13:17 +02:00
slhx agent e788c31688 feat(examples): add flagship techdemo
req: examples/001

req: dx/008

req: form/002

req: page_swap/002

req: push/003
2026-05-11 00:06:42 +02:00
slhx agent 713c6bb087 feat(examples): add browser kanban demo
req: examples/001

req: form/002

req: list/003

req: push/003
2026-05-10 23:58:09 +02:00
slhx agent 13f948cc7a feat(examples): serve v0 browser demo
req: examples/001

req: v0_scope/003

req: push/001

req: page_swap/002
2026-05-10 23:53:33 +02:00
slhx agent 61da7a7b24 feat(derive): reject empty handlers
req: derive_handler/001
2026-05-10 23:38:29 +02:00
slhx agent 4e971d9597 test(examples): add SSE notification proof
req: examples/001

req: push/001

req: push/003
2026-05-10 23:37:55 +02:00
slhx agent 0a50487a3a feat(build): type generated form handles
req: codegen/003
2026-05-10 23:37:11 +02:00
slhx agent af813edd52 feat(build): inject lowered form handles
req: form/002

req: wire/001
2026-05-10 23:35:46 +02:00
slhx agent 79414fbb39 feat(runtime): lower generated runtime ids
req: wire/001

req: ts/001
2026-05-10 23:04:45 +02:00
slhx agent 9e0342951c Improve page swap fallback 2026-05-10 22:36:51 +02:00
slhx agent 3e0ed95490 Build v0 example and SSE slices 2026-05-10 22:26:54 +02:00
slhx agent f33b306ec0 Add multipart interaction form extraction 2026-05-10 21:25:10 +02:00
slhx agent b53a7ba449 Add runtime SSE effect stream support 2026-05-10 21:05:14 +02:00
slhx agent c4e02db5f8 chore(checkpoint): save current v0 build state 2026-05-10 20:51:22 +02:00
slhx agent e0484f8eb6 refactor(REQUIREMENTS): integrate DX ergonomics, component scoping, and build-pipeline fixes
- add golden_path, progressive_disclosure, ceremony, diagnostics,
  view_model, interop, client_local, component, codegen, derive sections
- introduce ResourceRef/ResourceId split, ScopeKey, atom mutability
  and pub/sub distinction, form control ids, 5KB target runtime
- fix build typo, macro policy, htmx boundary, version singleton,
  runtime delegation scope
- strengthen Surface with hemplate-real directives (h-for, h-key, +attr)
- preserve no-!-macros policy, north_star feel: Svelte at call site,
  Rust at boundary

Eval: architecture 9/10, dx 9/10, orthogonality 9/10, suckless 8.5/10
2026-05-10 12:16:02 +02:00
slhx agent 57dc22b8cc feat: integrate 15-point feedback into requirements
- Replace hypothetical @for/@if with real hemplate h-for/h-key/h-if
- Split authoring attrs (data-slhx-*) from runtime attrs (data-hid/data-sid)
- Split ResourceId (compile-time) from ResourceRef (runtime+scope)
- Fix state wording: Effect::set is publish, not subscribe
- Form errors via control ids, not slot ids
- Macro policy: #[slhx::handler] required, optional ergonomic helpers
- Add component/003 (namespaced APIs) and surface/008-010
- Add opt-in content_ids for raw/pre-rendered HTML tracking
- Runtime delegation on root, not document; 5KB target
- Sync/Query effects as external types (SyncEffect/QueryEffect)
- derive_app: no singleton, multiple roots/widgets per process
- hemplate htmx as raw attrs only; migration tool separate
- nav/003: preserve real href links for progressive enhancement
- check/002: honest Rust build model for missing handler checks
2026-05-10 11:54:32 +02:00
tmk241 705ca3c72b feat: codegen section, surface/component macros, proc-macro boundary rules
- build: harden build.rs vs proc-macro responsibilities
- codegen: specify generated slots/handles/forms/atoms APIs
- component: add #[slhx::surface] bridge + optional #[slhx::component]
- enforce: proc-macros are local, side-effect free, never parse .heml
2026-05-10 11:42:56 +02:00
tmk241 bd13d0fa0d feat: slhx requirements, project structure, and core primitives 2026-05-10 11:33:26 +02:00