Scope: "Fabrics" = woven, knit, and nonwoven/felt yardage/material sold by the yard or bolt for apparel, quilting, home decor/upholstery, outdoor/performance gear and other crafts; excludes yarn/thread/fiber (yarn leaf), sewing/needlework tools (sewing_tools leaf), fasteners/closures (fasteners leaf), and trim/embellishments (beads leaf).

Seed: ran scripts/seed.py --category fabrics mentally against catalog siblings (sewing_tools, fasteners, yarn, beads are separate leaves) — kept fabric material itself as the leaf; split by construction (woven/knit/nonwoven) since that governs which specs apply (grain/bias/selvage vs stretch% vs no-fray), and by primary use since use governs which certifications/finishes matter (flame standard, OEKO-TEX, water repellency).

Sources:
[wikipedia_woven_fabric] https://en.wikipedia.org/wiki/Woven_fabric — woven only stretches on the bias, frays unless finished, treatments add shrink/water resistance — fetched excerpt
[wikipedia_knitted_fabric] https://en.wikipedia.org/wiki/Knitted_fabric — knit loops stretch up to 500% depending on yarn/pattern; weft-knit unravels when cut, warp-knit resists runs — fetched excerpt
[wikipedia_nonwoven_fabric] https://en.wikipedia.org/wiki/Nonwoven_fabric — nonwoven fibers bonded by chemical/mechanical/heat/solvent treatment, not woven or knitted (defines felt) — fetched excerpt
[wikipedia_spandex] https://en.wikipedia.org/wiki/Spandex — spandex/elastane stretches up to five times (500%) its length and recovers — fetched excerpt
[wikipedia_velvet] https://en.wikipedia.org/wiki/Velvet — velvet is a pile fabric with a nap — fetched excerpt
[wikipedia_corduroy] https://en.wikipedia.org/wiki/Corduroy — corduroy is a woven fabric with cut-pile warp-wise ridges — fetched excerpt
[wikipedia_units_textile_measurement] https://en.wikipedia.org/wiki/Units_of_textile_measurement — fabric weight measured in g/m² (GSM); thread count = ends+picks per inch, a coarseness/fineness measure — fetched excerpt
[wikipedia_selvage] https://en.wikipedia.org/wiki/Selvage — selvage is the narrow, tightly woven finished edge that doesn't fray — fetched excerpt
[wikipedia_yard] https://en.wikipedia.org/wiki/Yard (redirect target of Fat_quarter) — fabric is sold by the yard off a bolt in the US/UK; fat quarter/fat eighth cut conventions — fetched excerpt
[wikipedia_chiffon] https://en.wikipedia.org/wiki/Chiffon_(fabric) — chiffon is a sheer, lightweight plain-woven textile — fetched excerpt
[wikipedia_colour_fastness] https://en.wikipedia.org/wiki/Colour_fastness — AATCC/ISO test methods grade dye resistance to washing, light, other exposure — fetched excerpt
[wikipedia_durable_water_repellent] https://en.wikipedia.org/wiki/Durable_water_repellent — DWR is a factory-applied coating making fabric hydrophobic — fetched excerpt
[wikipedia_waterproof_fabric] https://en.wikipedia.org/wiki/Waterproof_fabric — waterproofing is a governing specification; DWR coatings need maintenance — fetched excerpt
[wikipedia_flammable_fabrics_act] https://en.wikipedia.org/wiki/U.S._Flammable_Fabrics_Act — CPSC holds mandatory-standard authority for textiles and children's sleepwear — fetched excerpt
[cornell_lii_16cfr1610] https://www.law.cornell.edu/cfr/text/16/1610.1 — 16 CFR Part 1610, Standard for the Flammability of Clothing Textiles — fetched excerpt
[oekotex_standard100_official] https://www.oeko-tex.com/en/our-standards/standard-100-by-oeko-tex — Standard 100 has 4 product classes; Class 1 = babies/children up to 3 years — fetched excerpt
[wikipedia_oekotex] https://en.wikipedia.org/wiki/Oeko-Tex — four product classes (I babies up to 36 months, II skin contact, III little/no contact, IV furnishings) — fetched excerpt

Branches:
fabric_construction=woven -> ask weave_type, selvage_edge; stretch_amount/stretch_direction become irrelevant (woven only stretches on the bias per wikipedia_woven_fabric).
fabric_construction=knit -> ask stretch_amount, stretch_direction; weave_type/selvage_edge become irrelevant (knit loops, not a woven selvage/weave, per wikipedia_knitted_fabric).
fabric_construction=nonwoven_or_felt -> weave_type, selvage_edge, stretch_amount, stretch_direction all irrelevant (bonded fiber web, no weave or knit structure, per wikipedia_nonwoven_fabric).
primary_use=home_decor_upholstery -> ask flame_retardancy_standard; stretch_amount/stretch_direction become irrelevant (upholstery/curtain fabric is rarely chosen for stretch).
primary_use=outdoor_performance -> ask water_repellency, breathability (technical/performance fabrics are chosen partly for moisture management, per wikipedia_moisture_management).
primary_use=quilting_patchwork -> water_repellency/flame_retardancy_standard become irrelevant (quilting cotton is chosen for shrink-stability and print, not water resistance or flame rating).
primary_use=apparel -> ask stretch_amount, breathability (fit and sweat comfort depend on them).

Noise (spec-sheet rows seen but not made facets):
- Exact thread count number (e.g. "68x68") — concept defined (wikipedia_units_textile_measurement) but no two-sourced numeric range found after repeated fetch attempts on retail/brand pages (Robert Kaufman, Spoonflower, fabric.com, Sewport all blocked bot traffic); left as a vocabulary term instead of a facet.
- Exact bolt width in inches (44/45" quilting, 54/60" apparel/decor) — universally known in the trade but no fetchable source contained the specific numbers this run; width kept as a categorical facet without baked-in inch thresholds.
- Denim weight oz range (9-32oz, typical 11-14oz) — only one source (wikipedia denim/raw denim redirect to the same article, not independent) — dropped from JSON rather than cite as two sources.
- Price, brand, star rating — never facets per rule.
- Selvage width (~0.75in) — single-sourced, dropped the number, kept the qualitative definition.
- Prone to pilling/bubbling (sewport_cotton_fabric) — single-sourced durability note on one fiber's spec sheet; kept out of facets rather than promoted on one source, left here as Noise.

Corrections (2026-10-26):
- Reclassified care_instructions.source from listing to researched and tightened listing_field_hint, since its own hint admits the field is usually absent from retail listings (fix 1).
- Added breathability facet (breathable_absorbent/moisture_wicking_synthetic/low_breathability/unspecified), sourced to sewport_cotton_fabric and wikipedia_moisture_management, wired into primary_use's apparel and outdoor_performance branches (fix 2).
- Added a Branches line sourcing primary_use=quilting_patchwork's makes_irrelevant leg (fix 3).
- Added an apparel branch to the primary_use split (then_ask stretch_amount, breathability), resolving the previously orphaned apparel note (fix 4).
- Defined "Floats" and expanded "AATCC"/"ISO" in the vocabulary list (fix 5).
- Reclassified stretch_amount, stretch_direction, and fabric_weight from source listing to derived, since each backfill_note describes defaulting rather than a literal listing field (fix 6).
- Added a Noise entry for prone-to-pilling/bubbling rather than a facet, since it is single-sourced (fix 7).
