v9.16.0 — Taxonomy-driven product attributes
Wire the common-taxonomies catalog (v9.15.0) into products end-to-end — enabling a generic taxonomy (Materials, Colors, Seasons, …) now lets you assign its terms to products and shop by them.
Editor — the product editor's hardcoded Color palette is replaced by a dynamic Attributes section: one term multi-select per enabled generic taxonomy (except Sizes, which keeps the comma field + per-size stock grid), each with inline "create term". Legacy color is preserved and shown as a migration hint.
Data — Product.taxonomies?: Record<string, string[]> (taxonomy id → taxonomyTerms doc ids).
Storefront — the shop filter sidebar + mobile drawer render a facet per enabled taxonomy (only terms present in the current results), filtered client-side; the PDP lists a product's attributes as chips. New module-level useTaxonomyTermsByType cache.
Import/Export — one CSV column per generic taxonomy (term names, ;-joined), round-tripping via a new auto-creating makeTaxonomyTermResolver.
No consumer action required
Additive. Product.taxonomies is optional; the Attributes section and facets appear only once you enable a generic taxonomy and add terms. Reuses the existing public-read taxonomyTerms collection (client-side filtering) — no new Firestore collection, rules, or indexes.
Install: npm install github:CaspianTools/script-caspian-store#v9.16.0