9dd8e4a944
Add a northstar and ready vertical slices for making html_examples start at an index, splitting implemented examples into focused pages, proving infinite-scroll by scrolling, and keeping smoke/docs/requirements aligned.
3.2 KiB
3.2 KiB
id, type, status, parent, title, refs
| id | type | status | parent | title | refs | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| SLICE-0015 | slice | ready | NS-0004 | Make infinite-scroll a real scroll-triggered standalone page |
|
Objective
Move infinite-scroll out of the crowded root gallery context and prove it as a standalone page where scrolling to a sentinel triggers loading more rows, instead of relying on a click-oriented Reveal more rows interaction.
Authority
examples/html_examples/README.mdlabelsinfinite-scrollimplemented and currently describes a revealed sentinel form that posts to the server-owned loading model.templates/gallery.hemlcurrently rendersinfinite-scrollas one section in the root gallery withdata-hemx-revealed="true"and a visibleReveal more rowsbutton.AGENTS.mdandREQUIREMENTS.mdkeep examples HTML-shaped, server-owned, progressive, and covered by focused browser smoke. req: htmx_equivalents/001 req: examples/012 req: test/006
Close when
/infinite-scrollor the chosen same-origin slug route opens a focused page headedinfinite-scroll.- The page starts with enough vertical space/rows or sentinel placement that the user/browser can scroll to trigger the next batch.
- Loading more rows is primarily driven by the existing revealed/intersection behavior when the sentinel enters view; the smoke proves rows increase after scrolling, not after clicking a visible load-more button.
- A fallback submit control may exist only as progressive enhancement/recovery, but it must not be the primary proof path or make the example look like
click-to-load. - The server remains the owner of row count/state and returns generated keyed
infinite_roweffects; no selector-targeted rerendering or user-authored browser JavaScript is introduced.
Allowed files
examples/html_examples/src/main.rsexamples/html_examples/templates/app_shell.hemlexamples/html_examples/templates/gallery.hemlor a new focused infinite-scroll.hemltemplate underexamples/html_examples/templates/examples/html_examples/templates/partials/loaded_row.hemlonly if a shared row partial remains the local generated-resource boundaryexamples/html_examples/README.mdonly to keep the matrix proof anchor honesthemx-xtask/src/main.rsfor the scroll-based smoke proofREQUIREMENTS.mdonly if the behavior changes durable obligations
Verification
cargo test -p hemx-html-examplescargo test -p hemx-xtaskcargo run -p hemx-xtask -- html-examples-smokeredgate health --strict && redgate lintifREQUIREMENTS.mdchanges- Manual check if needed: open the infinite-scroll page directly, scroll until the sentinel enters view, and confirm additional rows appear without clicking
Reveal more rows.
Non-goals
- Do not implement virtual scrolling, pagination framework, client cache, or stored DOM patches.
- Do not make
click-to-loadscroll-triggered; it should remain the separate click example. - Do not add bespoke browser JavaScript for this example when the runtime's revealed behavior can carry the proof.
Evidence
Ready; no implementation evidence yet.