Add lower-aware generated append/prepend/replace helpers for keyed slots, move the v0 keyed todo example off the facade extension trait, and keep beginner examples from importing lower-level render shortcuts.
req: dx/006
req: codegen/002
req: public_api/003
req: examples/003
Generate ui::put(slot, view) for lower-aware slot HTML updates and move examples/docs/contracts to that ergonomic path instead of hand-composing slot.html(render(...)).
req: dx/006
req: component/003
req: runtime/001
req: examples/003
Keep the north-star walkthrough selector-free by describing the rejected path as positional DOM lookup instead of naming selector APIs.
req: examples/003
req: runtime/001
Replace the last querySelector mention in the north-star walkthrough with selector-free prose and extend example docs contracts to forbid selector APIs.
req: examples/003
req: runtime/001
Move canonical example test helpers and docs off direct slot render shortcuts so even test-only slot updates use generated lower-aware HTML paths.
req: component/003
req: runtime/001
req: examples/003
Replace the north-star walkthrough's listener snippet with prose and guard example docs against teaching addEventListener glue.
req: examples/003
req: runtime/001
Move canonical examples and docs off direct RenderSlotExt render shortcuts so slot updates use generated render/lowering before HTML replacement, preserving runtime metadata for follow-up interactions.
req: component/003
req: runtime/001
req: dx/006
req: examples/003
Use generated lower-aware render paths before slot HTML updates so example fragments carry runtime ids for follow-up interactions such as browser drag/drop.
req: component/003
req: runtime/001
req: examples/003
Complete the InteractionForm::parse migration for techdemo work updates so typed ids stay typed instead of being reparsed inside the helper.
req: form/004
req: dx/003
req: examples/003
Keep the north-star walkthrough aligned with example contract checks by describing runtime/bootstrap loading in prose instead of showing inline script tags.
req: examples/005
req: runtime/001
Add InteractionForm::parse for common typed field extraction and use it in example interaction handlers to avoid repeated string parsing plumbing.
req: form/004
req: dx/003
req: examples/003
Wrap extracted interaction forms in an InteractionRequest with a concise dispatch path, add a handlers() helper, and move canonical examples off direct HandlerRegistry/InteractionForm plumbing.
req: axum_integration/003
req: ceremony/001
req: dx/003
req: examples/003
Pass WebDriver-found elements into browser E2E helper scripts and build the probe island with DOM APIs, keeping test-only JavaScript from reintroducing querySelector or unchecked HTML insertion.
req: runtime/001
req: examples/005
Move the kanban full-page shell into a checked .heml unit so page assembly uses slhx render/SafeHtml composition instead of hand-built trusted HTML strings.
req: html_safety/001
req: html_safety/002
req: component/003
Keep valid techdemo E2E interactions on generated Handle values plus the axum handle-field constant, leaving only the unknown-id negative case as raw wire input.
req: dx/003
req: examples/003
Refresh the kanban north-star walkthrough so rendered metadata and listener attachment match the current data-key/data-slhx-root root-scoped runtime contract.
req: runtime/001
req: target_policy/001
Remove the last handwritten __h input from techdemo markup, switch E2E posts to generated handles, and extend example contracts to catch literal handle fields in templates.
req: dx/003
req: ceremony/002
req: examples/003
Add a generated static_fragment helper for include_str!-style prototype fragments and use it in the v0 page assembly path so static lowered .heml no longer needs repeated SafeHtml::trusted plumbing.
req: dx/006
req: html_safety/001
req: html_safety/002
req: component/003
Let already-safe fragments compose without downgrading to String, and use it in the v0 page assembly example to keep rendered and lowered fragments typed at the boundary.
req: html_safety/001
req: html_safety/002
req: component/003
Use the slhx RenderSlotExt path for board updates so examples no longer manually compose SafeHtml before slot replacement.
req: dx/006
req: component/003
Add a SafeHtml PageRequest path for shell/partial composition and migrate examples so rendered hemplate fragments stay typed through the transport boundary instead of round-tripping through unchecked strings.
req: axum_integration/001
req: html_safety/001
req: html_safety/002
Remove one-line render_board wrappers now that generated render(view) is the concise composition helper, keeping board updates explicit without extra local bridge functions.
req: component/003
req: dx/006
Refresh the north-star kanban walkthrough to use current hemplate syntax plus lean generated render/slot/form helpers instead of stale sketch syntax and manual ids.
req: dx/006
req: component/003
Generate lower(html) as the short static/prototype fragment lowering helper while keeping lower_html(html) as the compatibility alias, then move the v0 page assembly to the leaner path.
req: dx/006
req: component/003
Generate render(view) as the short page/fragment composition helper while keeping render_html(view) as an explicit compatibility alias, then move examples to the leaner happy path.
req: component/003
req: dx/006
req: view/001
Import scoped generated handles and slots in techdemo tests so assertions read as local resources instead of fully-qualified generated paths.
req: component/003
req: dx/006
Import scoped generated board modules at the kanban boundary so tests and page helpers read as local board resources without fully qualified generated-resource ceremony.
req: component/003
req: dx/006
Route shell, architecture, inspector, hero, activity, and live-feed rendering through generated render_html helpers, removing the last local render_template bridge from the techdemo page composition path.
req: component/003
req: view/001
req: html_safety/002
Import component-scoped generated modules at the example boundary so handlers and tests read as local slots/forms/handles without hiding ownership or adding framework machinery.
req: component/003
req: dx/006
Import scoped generated modules at the page boundary so handlers and tests read as local slots/forms/handles/classes without hiding ownership or adding framework machinery.
req: component/003
req: dx/006
Switch v0 page and payload composition to generated render_html helpers, removing the local render_template bridge while keeping the explicit full-page SafeHtml shell boundary.
req: component/003
req: view/001
req: html_safety/002
Generate root and component render_html helpers that render hemplate views through the same lowering table, letting callers update composed views without manual render_template/lower_html/SafeHtml plumbing.
req: component/003
req: view/001
req: html_safety/002
Move board card and lane actions onto their reusable partial templates, register the scoped generated handles directly, and remove hidden shell-level handle anchors and manual handle fields from the rendered view data.
req: component/003
req: view/001
req: examples/001
Keep opaque island widgets live when slhx swaps or later DOM insertion adds a new island, and tear down the listener when an island leaves the document.
req: interop/001
req: examples/001
Add a canvas leaf-widget island to the techdemo that receives server snapshots through Effect::event/CustomEvent while keeping slhx core and runtime semantics unchanged.
req: interop/001
req: examples/001
req: examples/005
Drop the v0 example's global export opt-in and update tests to use component-scoped slots and forms, matching the checked public API path.
req: component/003
req: build/001
Document that remaining SafeHtml use in examples is limited to full-page shell composition of already-rendered hemplate fragments, while effect payloads use render helpers.
req: html_safety/002
req: view/001
Remove remaining example-local render_html wrappers in favor of slhx::render_html so public examples share the hemplate render_into effect boundary.
req: view/001
req: html_safety/002
Use RenderSlotExt in the kanban library smoke test so even the small public example test path avoids explicit SafeHtml/html plumbing.
req: view/001
req: html_safety/002
Migrate v0 handlers and tests from explicit SafeHtml/html payload plumbing to RenderSlotExt and RenderKeyedSlotExt view helpers.
req: view/001
req: html_safety/002
Add render_html plus slot render_view helpers that call hemplate render_into, and migrate a kanban effect path from explicit SafeHtml/html handling to the renderable-view helper.
req: view/001
req: html_safety/002
Use hemplate render_into in public examples and example tests instead of the string-returning render helper, preserving SafeHtml wrapping only at the explicit effect boundary.
req: view/001
req: html_safety/002