pub fn assemble(
ir: &mut LayoutIR,
plan: &PagePlan,
fragments: &FragmentTable,
parser: &dyn SourceParser,
entry_markup: &str,
) -> Result<Vec<PathBuf>, String>Expand description
Graft every page in plan into ir (parsed from the entry file) as
sibling <if signal="route.path" eq="<key>"> gates, parsing each page
against the app-wide fragments table and merging every page’s scripts.
Returns the extra page-file paths to add to the hot-reload watch set (all
non-entry pages).
Must run BEFORE asset-path resolution / the CSS cascade so the assembled tree flows through the existing pipeline uniformly.