diff --git a/apps/site/app/components/registerCatalogBlocks.ts b/apps/site/app/components/registerCatalogBlocks.ts index 7cd388428..97d3ae303 100644 --- a/apps/site/app/components/registerCatalogBlocks.ts +++ b/apps/site/app/components/registerCatalogBlocks.ts @@ -19,34 +19,110 @@ * nothing else. `PluginLoader` covers the individual docs pages that embed a * demo, but the gallery embeds EVERY example and never wraps them in one. * - * Measured on `origin/main` before this file: all 9 `plugin-dashboard` entries - * rendered the registry's red "Unknown component type: dashboard (OBJUI-001)" - * panel in the gallery — not the dashboard, and not the retired-widget - * placeholder that the entries produce once the plugin IS loaded. This is the - * objectui#3787 defect one layer up: there it was `page-header` resolving to - * nothing, here it is the whole `dashboard` block. + * ## Why the list is the WHOLE bucket census, not two packages (objectui#4616) * - * `@object-ui/plugin-charts` comes with it because it owns `chart` — what a - * dashboard's widgets (static, provider-backed and dataset-bound alike) draw - * with, and the root type of the `plugin-charts/*` catalog entries. + * #4600 registered only the two packages its own category needed. Measured on + * `origin/main` @ `e028dfcd8` — every one of the 423 catalog entries rendered + * the way `SchemaThumbnail` renders it — that left **33 entries** still + * painting the registry's red "Unknown component type … (OBJUI-001)" panel, in + * 14 categories: + * + * components-form-calendar 6 (calendar) plugin-chatbot 3 (chatbot) + * plugin-editor 3 (code-editor) plugin-gantt 3 (object-gantt) + * plugin-map 3 (object-map) plugin-markdown 3 (markdown) + * plugin-timeline 3 (timeline) plugin-calendar 2 (calendar-view) + * plugin-kanban 2 (kanban) components-complex-filter-ui 1 + * components-complex-sort-ui 1 components-complex-view-switcher 1 + * components-disclosure-toggle-group 1 core-schema-renderer 1 + * + * The gallery page's PURPOSE is to render the whole catalog, so its baseline is + * that every type an entry names is registered before the render. The nine + * imports below are exactly the packages that census resolves to — not a + * precautionary sweep of the workspace. + * + * ## The cost, measured before deciding (objectui#4616 ruling 1) + * + * Eager registration pulls each package's graph into the `/docs/[[...slug]]` + * route — and that route is shared by all 181 docs pages, not just the gallery + * (measured: `/docs/guide/schema-catalog` and `/docs/guide/architecture` load + * an identical chunk set, and `SchemaThumbnail`'s own code sits in one of + * them). So the cost had to be measured, not assumed. Next 16.3 + Turbopack + * prints no "Size / First Load JS" columns, so the figure was reconstructed + * from the build on disk — the `