Part of #303 (umbrella); tracked by the #312 shared-UI omnibus (the web::render-eliminated half).
Context
web/src/render/mod.rs is a horizontal grab-bag of ~11 pure server-projector helpers
consumed across ~7 verticals (posts, home, audiences, media, taglist, topbar, avatar, icon).
#312 closes only when web::render is eliminated — its contents redistributed to
co-located feature homes, a shared leaf-primitive home, and the shell home. No open issue
currently owns this; it is the unowned tail of #312.
Scope — redistribute each helper to its co-located home, then delete web::render
Move each helper to live beside its reactive twin / primary consumer (ADR-0070 / #312's
unit-migration rule), a strangler re-export shim per increment:
Exact destination homes are maintainer-directed (as with the vertical issues); the mapping
above is the starting map.
Acceptance floor
Notes
Coordinates with #312 and #330 (shell).
Part of #303 (umbrella); tracked by the #312 shared-UI omnibus (the
web::render-eliminated half).Context
web/src/render/mod.rsis a horizontal grab-bag of ~11 pure server-projector helpersconsumed across ~7 verticals (posts, home, audiences, media, taglist, topbar, avatar, icon).
#312 closes only when
web::renderis eliminated — its contents redistributed toco-located feature homes, a shared leaf-primitive home, and the shell home. No open issue
currently owns this; it is the unowned tail of #312.
Scope — redistribute each helper to its co-located home, then delete
web::renderMove each helper to live beside its reactive twin / primary consumer (ADR-0070 / #312's
unit-migration rule), a strangler re-export shim per increment:
escape_html,Icons,TagCtx→ a shared leaf home(consumed by avatar/topbar/taglist/posts/audiences markup).
render_hero,render_home_masthead→ thehomevertical.render_load_more→ the timeline/posts render slice.format_bytes→ themediavertical.render_shell,render_head,DEFAULT_THEMEare the pure twin ofApp/AppShell; per web: dissolve pages/ui.rs + web::render onto co-located vertical slices (shared-UI omnibus) #312's "shell decided last / migrates as one unit," these movewith the shell under web: delete pages/ module + target_arch gate; move App/Router to app entry; simplify wasm-clippy #330 (
move App/Router to app entry). This issue coordinates withweb: delete pages/ module + target_arch gate; move App/Router to app entry; simplify wasm-clippy #330 rather than owning the shell.
web/src/render/.Exact destination homes are maintainer-directed (as with the vertical issues); the mapping
above is the starting map.
Acceptance floor
web::rendereliminated; each helper co-located with its twin/consumers (or in the shellhome via web: delete pages/ module + target_arch gate; move App/Router to app entry; simplify wasm-clippy #330); no fake host stub (ADR-0055).
cargo xtask validategreen at each increment and at close.Notes
web::renderis pure host projectorcode and does not affect the wasm
target_archgate that web: endgame ratchet — drop js-sys/wasm-bindgen; target_arch only at mod declarations (new xtask check); retire client_only + the #[component] exemption #520 enforces; web: delete pages/ module + target_arch gate; move App/Router to app entry; simplify wasm-clippy #330'spages/deletion also does not require
web::rendergone (they are separate trees). This closesweb: dissolve pages/ui.rs + web::render onto co-located vertical slices (shared-UI omnibus) #312's second half but is independent of the web: delete pages/ module + target_arch gate; move App/Router to app entry; simplify wasm-clippy #330 → web: endgame ratchet — drop js-sys/wasm-bindgen; target_arch only at mod declarations (new xtask check); retire client_only + the #[component] exemption #520 chain.
Coordinates with #312 and #330 (shell).