Diffing what the lightweight packet ACTUALLY prints on each path against its card (map, triangle, profiles, wheel, points) found the wall path missing two pages and half of a third -- while the legend path matched. Same class as the sets page: the renderer could draw every page, and only one of the two hosts supplied the arguments. Three gaps, three suppliers: The map. printPacketAs passed no mapSvg and there was no default, so a wall-printed packet opened on a title-only cover. printPacket now lifts the bundle's own poster (posters/<id>.html, the same file printPoster already reads) when the host passes nothing -- via a liftPosterSvg helper shaped for unit-testing against a real generated poster, no fetch. Verified on laos: the svg is found and lifted. And PosterWall now actually passes assetsBase into its print opts; without that one line the lift's guard would skip silently and the wall would STILL print a mapless packet -- the seam-without-supplier failure one layer down, caught in the same pass. The triangle. No funnel was supplied and none defaulted. The default states ONLY the steps: listCount and unassigned stay absent, so funnelPage omits the share line and the tip rather than printing a denominator that is wrong under a non-default list. Proved two-sided: steps-only renders the triangle with no share claims; adding listCount renders both. The profiles. The wall's fetch carried primary_language but not imb_gsec, so every wall-printed description ran at half length -- the third fetch site with the same missing-field defect, found the same way. |
||
|---|---|---|
| .. | ||
| slots | ||
| PosterDialog.vue | ||
| PosterPreview.vue | ||
| PosterWall.vue | ||
| README.md | ||
library/components/poster/ — poster export UI
The dialog and preview surfaces that turn a live map into a printable poster. Used by
research-map.vue.
PosterDialog.vue ← pick size, orientation, title → export
PosterPreview.vue ← live preview, updates as you change settings
PosterWall.vue ← grid of poster previews
slots/ ← the composable regions of a poster (own README)
fed by useMapPoster() · sizes from constants/posterSizes.js
- Open/close state comes from
inject('uiStore'); the preview is fed byuseMapPoster(). - Page sizes:
library/constants/posterSizes.js. Defaults:library/constants/posterDefaults.js.
Full wiring + slot contract: ../../../documentation/architecture/components.md.