@instruments/taxonomy 1.14.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -4
- package/dist/assessment-policy.d.ts +47 -0
- package/dist/authoring.d.ts +1 -1
- package/dist/axes/axis.d.ts +2 -2
- package/dist/axes/finish.d.ts +1 -1
- package/dist/axes/space.d.ts +1 -1
- package/dist/axes/tier.d.ts +1 -1
- package/dist/canonicalisation.d.ts +1 -1
- package/dist/crossover-sources.d.ts +1 -1
- package/dist/crosswalks/mapping.d.ts +1 -1
- package/dist/estate/concepts.d.ts +4 -4
- package/dist/estate/decomposition.d.ts +1 -1
- package/dist/estate/residue-report.d.ts +1 -1
- package/dist/estate/sources.d.ts +4 -4
- package/dist/index.d.ts +2 -1
- package/dist/index.js +492 -292
- package/dist/match.d.ts +1 -1
- package/dist/term.d.ts +6 -5
- package/dist/v1.d.ts +21 -19
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// src/assessment-policy.ts
|
|
2
|
+
import { createHash as createHash2 } from "crypto";
|
|
3
|
+
|
|
1
4
|
// src/v1.ts
|
|
2
5
|
import { createHash } from "crypto";
|
|
3
6
|
|
|
@@ -535,7 +538,7 @@ var CONSTRUCTION_TERMS = [
|
|
|
535
538
|
term(
|
|
536
539
|
"encaustic",
|
|
537
540
|
"Encaustic",
|
|
538
|
-
"Made with
|
|
541
|
+
"Made with color or decoration integral to the body or inlaid beneath the wearing surface."
|
|
539
542
|
),
|
|
540
543
|
// Beneath `encaustic`: a hydraulically pressed cement tile carries its pigment layer beneath the
|
|
541
544
|
// wearing surface, which is what `encaustic` means here, so it is a narrower construction and
|
|
@@ -543,7 +546,7 @@ var CONSTRUCTION_TERMS = [
|
|
|
543
546
|
reviewed(
|
|
544
547
|
"cement-tile",
|
|
545
548
|
"Cement tile",
|
|
546
|
-
"A tile of pigmented cement pressed hydraulically and cured without firing, its
|
|
549
|
+
"A tile of pigmented cement pressed hydraulically and cured without firing, its color layer integral beneath the wearing surface.",
|
|
547
550
|
wikidata("Q3700458", "cement tile"),
|
|
548
551
|
{
|
|
549
552
|
altLabels: ["hydraulic tile"],
|
|
@@ -661,12 +664,12 @@ var CONSTRUCTION_TERMS = [
|
|
|
661
664
|
term(
|
|
662
665
|
"through-body",
|
|
663
666
|
"Through body",
|
|
664
|
-
"
|
|
667
|
+
"Color and composition continue through the full thickness rather than sitting only on the face."
|
|
665
668
|
),
|
|
666
669
|
reviewed(
|
|
667
670
|
"zellige",
|
|
668
671
|
"Zellige",
|
|
669
|
-
"Hand-cut and hand-glazed clay tile in the Moroccan tradition, with the irregular surface and edge that method leaves; it does not name a
|
|
672
|
+
"Hand-cut and hand-glazed clay tile in the Moroccan tradition, with the irregular surface and edge that method leaves; it does not name a color, size or layout.",
|
|
670
673
|
wikidata("Q189046", "zellij"),
|
|
671
674
|
{ altLabels: ["zellij", "zillij"] }
|
|
672
675
|
),
|
|
@@ -682,7 +685,7 @@ var CONSTRUCTION_TERMS = [
|
|
|
682
685
|
wikidata("Q243519", "velvet")
|
|
683
686
|
),
|
|
684
687
|
// Lowercase ASCII slug so the phrase resolves without the diacritic; the accented spelling is a
|
|
685
|
-
// wild form rather than the label, so both
|
|
688
|
+
// wild form rather than the label, so both meanings reach one term.
|
|
686
689
|
reviewed(
|
|
687
690
|
"boucle",
|
|
688
691
|
"Boucle",
|
|
@@ -730,7 +733,7 @@ var CONSTRUCTION_TERMS = [
|
|
|
730
733
|
reviewedTax57(
|
|
731
734
|
"tweed",
|
|
732
735
|
"Tweed",
|
|
733
|
-
"A rough-surfaced woven fabric made from mixed-
|
|
736
|
+
"A rough-surfaced woven fabric made from mixed-color yarns, traditionally wool.",
|
|
734
737
|
wikidata("Q40601", "tweed"),
|
|
735
738
|
{ broaderSlug: "woven" }
|
|
736
739
|
),
|
|
@@ -1436,7 +1439,7 @@ var ELEMENT_TERMS = [
|
|
|
1436
1439
|
];
|
|
1437
1440
|
|
|
1438
1441
|
// src/crossover-sources.ts
|
|
1439
|
-
var RETRIEVAL_LEXICON_SOURCE = "
|
|
1442
|
+
var RETRIEVAL_LEXICON_SOURCE = "color-material lexicon in a materials-retrieval system (src-05)";
|
|
1440
1443
|
var COLORSCOPE_CROSSOVER_SOURCE = "materialinstruments/colorscope@5feb29b267a7954c135976ede8039f37121afd27:packages/core/data/reference/v1/taxonomy.json";
|
|
1441
1444
|
var BRASS_MATERIAL_SOURCE = "https://archive.copper.org/applications/industrial/DesignGuide/terms.php";
|
|
1442
1445
|
var BRASS_FINISH_SOURCE = "https://nickelinstitute.org/media/lxxh1zwr/2023-nickelplatinghandbooka5_printablepdf.pdf section 5";
|
|
@@ -1509,6 +1512,8 @@ var TAX57_DATE2 = "2026-09-26";
|
|
|
1509
1512
|
var TAX57_SOURCE = "Linear TAX-57 visual-vocabulary review";
|
|
1510
1513
|
var MG2435_DATE = "2026-10-02";
|
|
1511
1514
|
var MG2435_SOURCE = "Linear MG-2435 feed-loss review";
|
|
1515
|
+
var GLOSSY = "glossy";
|
|
1516
|
+
var GLOSSY_DATE = "2026-10-10";
|
|
1512
1517
|
var wikidata2 = (id, label) => `Wikidata ${id} ${label}, https://www.wikidata.org/wiki/${id}`;
|
|
1513
1518
|
var reviewed2 = (slug, label, definition, source, extra = {}) => ({
|
|
1514
1519
|
definition,
|
|
@@ -1718,7 +1723,7 @@ var FINISH_TREATMENT_TERMS = [
|
|
|
1718
1723
|
mg2435(
|
|
1719
1724
|
"antiqued",
|
|
1720
1725
|
"Antiqued",
|
|
1721
|
-
"Deliberately finished to give a new surface the look of age, by wear,
|
|
1726
|
+
"Deliberately finished to give a new surface the look of age, by wear, color change or patination; the term names the result, not one process.",
|
|
1722
1727
|
{
|
|
1723
1728
|
note: "Widened 2026-10-02: the definition no longer lists the processes, and covers any means of giving the look of age."
|
|
1724
1729
|
}
|
|
@@ -1769,20 +1774,40 @@ var FINISH_SHEEN_TERMS = [
|
|
|
1769
1774
|
"An even mid sheen, softer than semi-gloss and clearly not matte.",
|
|
1770
1775
|
5
|
|
1771
1776
|
),
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1777
|
+
{
|
|
1778
|
+
...vendored(
|
|
1779
|
+
RETRIEVAL_SHEEN,
|
|
1780
|
+
"semi-gloss",
|
|
1781
|
+
"Semi-gloss",
|
|
1782
|
+
"Strongly reflective while still scattering the highlight.",
|
|
1783
|
+
6
|
|
1784
|
+
),
|
|
1785
|
+
broaderSlug: GLOSSY
|
|
1786
|
+
},
|
|
1787
|
+
{
|
|
1788
|
+
...vendored(
|
|
1789
|
+
RETRIEVAL_SHEEN,
|
|
1790
|
+
"high-gloss",
|
|
1791
|
+
"High gloss",
|
|
1792
|
+
"Returns a sharp, mirror-like specular reflection.",
|
|
1793
|
+
7
|
|
1794
|
+
),
|
|
1795
|
+
broaderSlug: GLOSSY
|
|
1796
|
+
},
|
|
1797
|
+
{
|
|
1798
|
+
altLabels: ["gloss"],
|
|
1799
|
+
definition: "A visibly shiny surface with pronounced specular reflection. This broad description does not specify a gloss grade or measured gloss value.",
|
|
1800
|
+
introducedAt: GLOSSY_DATE,
|
|
1801
|
+
label: "Glossy",
|
|
1802
|
+
note: "Use a narrower sheen grade when the source supplies one. Semi-gloss and High gloss are narrower meanings; Satin has no universal broader relation here because suppliers both describe it as a glossy look and contrast it with glossy finishes. This term is not a rung on the ordered sheen scale and does not establish a polishing process.",
|
|
1803
|
+
provenance: {
|
|
1804
|
+
basis: "referenced",
|
|
1805
|
+
snapshot: GLOSSY_DATE,
|
|
1806
|
+
source: "MG-2620 Glossy review; Sherwin-Williams gloss and sheen guide, https://www.sherwin-williams.com/architects-specifiers-designers/inspiration/styles-and-techniques/sw-art-gloss-sheen-differences; Formica glossy versus matte finishes, https://formica.com/en-ca/articles/home-design/2025/glossy-vs-matte-kitchen-cabinets; Tikkurila satin counterexamples, https://tikkurila.com/how-choose-right-paint-your-interior-walls-and-ceilings and https://tikkurila.com/7-tips-painting-fence-old-or-new"
|
|
1807
|
+
},
|
|
1808
|
+
reviewedAt: GLOSSY_DATE,
|
|
1809
|
+
slug: GLOSSY
|
|
1810
|
+
}
|
|
1786
1811
|
];
|
|
1787
1812
|
var FINISH_TEXTURE_TERMS = [
|
|
1788
1813
|
vendored(
|
|
@@ -1889,7 +1914,7 @@ var FINISH_TEXTURE_TERMS = [
|
|
|
1889
1914
|
repaired(
|
|
1890
1915
|
"velvety",
|
|
1891
1916
|
"Velvety",
|
|
1892
|
-
"A dense short pile
|
|
1917
|
+
"A dense short pile meaning soft and light-absorbing.",
|
|
1893
1918
|
"occasional",
|
|
1894
1919
|
DROPPED
|
|
1895
1920
|
),
|
|
@@ -2087,7 +2112,7 @@ var FORMAT_TERMS = [
|
|
|
2087
2112
|
term4(
|
|
2088
2113
|
"subway-tile",
|
|
2089
2114
|
"Subway tile",
|
|
2090
|
-
"A rectangular field tile supplied in roughly the 1:2 proportion of early-twentieth-century station tiling, independent of material,
|
|
2115
|
+
"A rectangular field tile supplied in roughly the 1:2 proportion of early-twentieth-century station tiling, independent of material, color and the bond it is laid in.",
|
|
2091
2116
|
{
|
|
2092
2117
|
altLabels: ["metro tile"],
|
|
2093
2118
|
broaderSlug: "tile",
|
|
@@ -2650,12 +2675,12 @@ var MATERIAL_EVERYDAY_TERMS = [
|
|
|
2650
2675
|
{ broaderSlug: STONE_SLUG }
|
|
2651
2676
|
),
|
|
2652
2677
|
// Beneath `ceramic` on the same footing as `terracotta`: brick material is a fired clay body,
|
|
2653
|
-
// and MATERIAL names the substance. The masonry UNIT is a format
|
|
2678
|
+
// and MATERIAL names the substance. The masonry UNIT is a format meaning this package does not
|
|
2654
2679
|
// mint; brick slips and thin brick compose `material.brick` with a FORMAT term.
|
|
2655
2680
|
reviewed3(
|
|
2656
2681
|
"brick",
|
|
2657
2682
|
"Brick",
|
|
2658
|
-
"Fired clay masonry material, named as the substance rather than as the masonry unit, its bond or its
|
|
2683
|
+
"Fired clay masonry material, named as the substance rather than as the masonry unit, its bond or its color.",
|
|
2659
2684
|
wikidata3("Q40089", "brick"),
|
|
2660
2685
|
{ broaderSlug: "ceramic" }
|
|
2661
2686
|
),
|
|
@@ -2699,7 +2724,7 @@ var MATERIAL_EVERYDAY_TERMS = [
|
|
|
2699
2724
|
reviewed3(
|
|
2700
2725
|
"weathering-steel",
|
|
2701
2726
|
"Weathering steel",
|
|
2702
|
-
"A steel alloy family that forms a stable rust-
|
|
2727
|
+
"A steel alloy family that forms a stable rust-colored oxide layer on exposure; the trade names are not the material.",
|
|
2703
2728
|
wikidata3("Q1024124", "weathering steel"),
|
|
2704
2729
|
{ broaderSlug: "steel", seenAs: ["corten", "Cor-Ten"] }
|
|
2705
2730
|
),
|
|
@@ -2847,7 +2872,7 @@ var MATERIAL_EVERYDAY_TERMS = [
|
|
|
2847
2872
|
},
|
|
2848
2873
|
// AUTHORED. Cane in furniture is the peeled outer skin of rattan woven as webbing, so it is
|
|
2849
2874
|
// related to rattan and not an instance of it; bare `cane` also names bamboo and sugar cane,
|
|
2850
|
-
// which is why the definition pins the interiors
|
|
2875
|
+
// which is why the definition pins the interiors meaning and the relation is `related-to`.
|
|
2851
2876
|
{
|
|
2852
2877
|
...authored3(
|
|
2853
2878
|
"cane",
|
|
@@ -3217,10 +3242,10 @@ var MATERIAL_MINERAL_ADDITIVES_TERMS = [
|
|
|
3217
3242
|
compositionTerm(
|
|
3218
3243
|
PIGMENT_SLUG,
|
|
3219
3244
|
"Pigment",
|
|
3220
|
-
"An inorganic insoluble particulate substance added to
|
|
3245
|
+
"An inorganic insoluble particulate substance added to color a material, named in a composition when the specific pigment is not.",
|
|
3221
3246
|
ISO_18451_1,
|
|
3222
3247
|
{
|
|
3223
|
-
altLabels: ["
|
|
3248
|
+
altLabels: ["color pigment", "color pigment"],
|
|
3224
3249
|
broaderSlug: MINERAL_SLUG
|
|
3225
3250
|
}
|
|
3226
3251
|
),
|
|
@@ -5517,7 +5542,7 @@ var MATERIAL_TERMS = [
|
|
|
5517
5542
|
...searchCorpusMaterial(
|
|
5518
5543
|
"stainless-steel",
|
|
5519
5544
|
"Stainless steel",
|
|
5520
|
-
"A corrosion-resistant steel alloy family containing sufficient chromium to form a protective passive layer, named as a bulk material rather than a surface finish or
|
|
5545
|
+
"A corrosion-resistant steel alloy family containing sufficient chromium to form a protective passive layer, named as a bulk material rather than a surface finish or color.",
|
|
5521
5546
|
"steel",
|
|
5522
5547
|
CROSSOVER_DEFINITION_SOURCES.steel
|
|
5523
5548
|
),
|
|
@@ -5541,7 +5566,7 @@ var MATERIAL_TERMS = [
|
|
|
5541
5566
|
searchCorpusMaterial(
|
|
5542
5567
|
"white-oak",
|
|
5543
5568
|
"White oak",
|
|
5544
|
-
"Timber from the white-oak species group within the genus Quercus, named as a wood material rather than a
|
|
5569
|
+
"Timber from the white-oak species group within the genus Quercus, named as a wood material rather than a color or surface finish.",
|
|
5545
5570
|
"oak",
|
|
5546
5571
|
CROSSOVER_DEFINITION_SOURCES.oak
|
|
5547
5572
|
),
|
|
@@ -5549,7 +5574,7 @@ var MATERIAL_TERMS = [
|
|
|
5549
5574
|
crossoverTerm(
|
|
5550
5575
|
"teak",
|
|
5551
5576
|
"Teak",
|
|
5552
|
-
"Wood from Tectona grandis, named as timber rather than as a
|
|
5577
|
+
"Wood from Tectona grandis, named as timber rather than as a color or surface treatment.",
|
|
5553
5578
|
CROSSOVER_DEFINITION_SOURCES.teak,
|
|
5554
5579
|
HARDWOOD_SLUG2
|
|
5555
5580
|
)
|
|
@@ -5558,7 +5583,7 @@ var MATERIAL_TERMS = [
|
|
|
5558
5583
|
...crossoverTerm(
|
|
5559
5584
|
"walnut",
|
|
5560
5585
|
"Walnut",
|
|
5561
|
-
"Wood obtained from a tree in the genus Juglans, named as a material rather than as a
|
|
5586
|
+
"Wood obtained from a tree in the genus Juglans, named as a material rather than as a color.",
|
|
5562
5587
|
CROSSOVER_DEFINITION_SOURCES.walnut
|
|
5563
5588
|
),
|
|
5564
5589
|
broaderSlug: HARDWOOD_SLUG2,
|
|
@@ -5869,7 +5894,7 @@ var MOOD_TERMS = [
|
|
|
5869
5894
|
slug: "soft"
|
|
5870
5895
|
},
|
|
5871
5896
|
{
|
|
5872
|
-
definition: "Sharp edges and clean contrast; the opposite
|
|
5897
|
+
definition: "Sharp edges and clean contrast; the opposite meaning to soft.",
|
|
5873
5898
|
label: "Crisp",
|
|
5874
5899
|
provenance: { basis: "vendored", snapshot: SNAPSHOT4, source: MS_MOOD },
|
|
5875
5900
|
slug: "crisp"
|
|
@@ -6061,12 +6086,12 @@ var PALETTE_HUE_TERMS = [
|
|
|
6061
6086
|
}));
|
|
6062
6087
|
var PALETTE_TEMPERATURE_TERMS = [
|
|
6063
6088
|
{
|
|
6064
|
-
definition: "Dominant
|
|
6089
|
+
definition: "Dominant color casts to the warm side of the OKLab warmth axis.",
|
|
6065
6090
|
label: "Warm",
|
|
6066
6091
|
slug: "warm"
|
|
6067
6092
|
},
|
|
6068
6093
|
{
|
|
6069
|
-
definition: "Dominant
|
|
6094
|
+
definition: "Dominant color casts to the cool side of the OKLab warmth axis.",
|
|
6070
6095
|
label: "Cool",
|
|
6071
6096
|
slug: "cool"
|
|
6072
6097
|
},
|
|
@@ -6087,14 +6112,14 @@ var PALETTE_TEMPERATURE_TERMS = [
|
|
|
6087
6112
|
var PALETTE_CHARACTER_TERMS = [
|
|
6088
6113
|
{
|
|
6089
6114
|
canonicalAuthority: colorScopeAuthority("vibrant", PALETTE_MOOD),
|
|
6090
|
-
definition: "High chroma;
|
|
6115
|
+
definition: "High chroma; color is the loudest thing in the scheme.",
|
|
6091
6116
|
label: "Vibrant",
|
|
6092
6117
|
provenance: { basis: "vendored", snapshot: SNAPSHOT5, source: COLOUR_MOOD },
|
|
6093
6118
|
slug: "vibrant"
|
|
6094
6119
|
},
|
|
6095
6120
|
{
|
|
6096
6121
|
canonicalAuthority: colorScopeAuthority("muted", PALETTE_MOOD),
|
|
6097
|
-
definition: "Chroma held low by design, with the
|
|
6122
|
+
definition: "Chroma held low by design, with the colors still fully present.",
|
|
6098
6123
|
label: "Muted",
|
|
6099
6124
|
provenance: { basis: "vendored", snapshot: SNAPSHOT5, source: COLOUR_MOOD },
|
|
6100
6125
|
slug: "muted"
|
|
@@ -6136,7 +6161,7 @@ var PALETTE_CHARACTER_TERMS = [
|
|
|
6136
6161
|
},
|
|
6137
6162
|
{
|
|
6138
6163
|
canonicalAuthority: colorScopeAuthority("monochrome", PALETTE_MOOD),
|
|
6139
|
-
definition: "One hue, or none; the scheme varies by lightness rather than by
|
|
6164
|
+
definition: "One hue, or none; the scheme varies by lightness rather than by color.",
|
|
6140
6165
|
label: "Monochrome",
|
|
6141
6166
|
provenance: { basis: "vendored", snapshot: SNAPSHOT5, source: COLOUR_MOOD },
|
|
6142
6167
|
slug: "monochrome"
|
|
@@ -6147,13 +6172,13 @@ var PALETTE_CHARACTER_TERMS = [
|
|
|
6147
6172
|
definition: "Many hues held together deliberately.",
|
|
6148
6173
|
label: "Polychrome",
|
|
6149
6174
|
provenance: { basis: "vendored", snapshot: SNAPSHOT5, source: COLOUR_MOOD },
|
|
6150
|
-
seenAs: ["
|
|
6175
|
+
seenAs: ["colorful"],
|
|
6151
6176
|
slug: "colorful"
|
|
6152
6177
|
},
|
|
6153
6178
|
{
|
|
6154
6179
|
altLabels: ["jewel-toned"],
|
|
6155
6180
|
canonicalAuthority: colorScopeAuthority("saturated", "chroma-level"),
|
|
6156
|
-
definition: "Deep and fully-loaded
|
|
6181
|
+
definition: "Deep and fully-loaded color, jewel-toned rather than bright. Vibrant is loud; saturated is rich, and a dark saturated scheme is ordinary while a dark vibrant one is not.",
|
|
6157
6182
|
label: "Saturated",
|
|
6158
6183
|
note: "NOT authored here, and the second time this file made that claim. It was written as authored because colorscope's PaletteMood was checked and its COLOR_CHROMA_LEVELS was not - and the chroma scale is muted, soft, vivid, SATURATED. The same failure as `mid`, in the same file, found by an adversarial pass rather than by the check that should have caught it.",
|
|
6159
6184
|
provenance: {
|
|
@@ -6229,7 +6254,7 @@ var PATTERN_FIGURE_TERMS = [
|
|
|
6229
6254
|
pimTerm(
|
|
6230
6255
|
"cloudy",
|
|
6231
6256
|
"Cloudy",
|
|
6232
|
-
"Soft, diffuse variation in tone with no distinct veins or edges,
|
|
6257
|
+
"Soft, diffuse variation in tone with no distinct veins or edges, meaning as drifting cloud.",
|
|
6233
6258
|
PIM_FIGURE_SOURCE
|
|
6234
6259
|
),
|
|
6235
6260
|
pimTerm(
|
|
@@ -6441,11 +6466,11 @@ var PATTERN_TYPE_TERMS = [
|
|
|
6441
6466
|
// concept rather than a second correct name for it, so it is `seenAs`, not an alt label.
|
|
6442
6467
|
{ seenAs: ["floral"] }
|
|
6443
6468
|
),
|
|
6444
|
-
// Heather in the trade names the same mixed-
|
|
6469
|
+
// Heather in the trade names the same mixed-color-yarn effect Wikidata records; melange, marled
|
|
6445
6470
|
// and heathered are its correct names, none more canonical than another.
|
|
6446
6471
|
{
|
|
6447
6472
|
altLabels: ["heathered", "marled"],
|
|
6448
|
-
definition: "A mixed-
|
|
6473
|
+
definition: "A mixed-color yarn effect that gives the surface a flecked, uneven tone rather than one solid color.",
|
|
6449
6474
|
introducedAt: TAX57_DATE3,
|
|
6450
6475
|
label: "Melange",
|
|
6451
6476
|
provenance: {
|
|
@@ -6485,7 +6510,7 @@ var PATTERN_TYPE_TERMS = [
|
|
|
6485
6510
|
term7(
|
|
6486
6511
|
"herringbone-chevron",
|
|
6487
6512
|
"Herringbone or chevron",
|
|
6488
|
-
"A legacy combined
|
|
6513
|
+
"A legacy combined meaning for directional zigzags formed by angled units or marks.",
|
|
6489
6514
|
{
|
|
6490
6515
|
introducedAt: "2026-08-30",
|
|
6491
6516
|
note: "Deprecated by the Linear TAX-45 reviewed implementation contract because one combined identity could not distinguish broken herringbone from continuous chevron motifs. Zigzag preserves the non-specific historical meaning; use the narrower herringbone or chevron concept when evidence supports it.",
|
|
@@ -6571,7 +6596,7 @@ var PATTERN_TYPE_TERMS = [
|
|
|
6571
6596
|
),
|
|
6572
6597
|
// AUTHORED. Wikidata's `checkerboard` (Q460711) is the game board the motif is named after,
|
|
6573
6598
|
// not a definition of the motif. Type only: a checkerboard of tiles is
|
|
6574
|
-
// installation-layout.stack-bond plus this motif, so no layout
|
|
6599
|
+
// installation-layout.stack-bond plus this motif, so no layout meaning is added.
|
|
6575
6600
|
{
|
|
6576
6601
|
altLabels: ["chequerboard", "checkerboard pattern"],
|
|
6577
6602
|
definition: "A grid repeat of alternating squares in two contrasting tones, whether printed, woven or formed by the units themselves.",
|
|
@@ -6595,17 +6620,17 @@ var PATTERN_TYPE_TERMS = [
|
|
|
6595
6620
|
term7(
|
|
6596
6621
|
"gradient",
|
|
6597
6622
|
"Gradient",
|
|
6598
|
-
"A continuous or stepped transition in tone,
|
|
6623
|
+
"A continuous or stepped transition in tone, color or mark density."
|
|
6599
6624
|
),
|
|
6600
6625
|
term7(
|
|
6601
6626
|
"texture",
|
|
6602
6627
|
"Texture",
|
|
6603
|
-
"A non-representational repeat whose principal
|
|
6628
|
+
"A non-representational repeat whose principal meaning is tactile or relief-like."
|
|
6604
6629
|
),
|
|
6605
6630
|
term7(
|
|
6606
6631
|
"toile",
|
|
6607
6632
|
"Toile",
|
|
6608
|
-
"A fine-line pastoral or narrative pictorial repeat, usually in one
|
|
6633
|
+
"A fine-line pastoral or narrative pictorial repeat, usually in one color."
|
|
6609
6634
|
),
|
|
6610
6635
|
term7(
|
|
6611
6636
|
"character",
|
|
@@ -6700,7 +6725,7 @@ var PATTERN_DENSITY_TERMS = [
|
|
|
6700
6725
|
RETRIEVAL_DENSITY,
|
|
6701
6726
|
"dense",
|
|
6702
6727
|
"Dense",
|
|
6703
|
-
"Motif covering the field, with no ground
|
|
6728
|
+
"Motif covering the field, with no ground meaning as ground.",
|
|
6704
6729
|
6
|
|
6705
6730
|
)
|
|
6706
6731
|
];
|
|
@@ -6737,7 +6762,7 @@ var PATTERN_REGULARITY_TERMS = [
|
|
|
6737
6762
|
RETRIEVAL_REGULARITY,
|
|
6738
6763
|
"organic",
|
|
6739
6764
|
"Organic",
|
|
6740
|
-
"Variation
|
|
6765
|
+
"Variation meaning as grown or formed rather than composed.",
|
|
6741
6766
|
5
|
|
6742
6767
|
)
|
|
6743
6768
|
];
|
|
@@ -6996,7 +7021,7 @@ var PLACE_REGION_TERMS = [
|
|
|
6996
7021
|
},
|
|
6997
7022
|
{
|
|
6998
7023
|
broaderSlug: "mediterranean",
|
|
6999
|
-
definition: "The central-Italian
|
|
7024
|
+
definition: "The central-Italian meaning of the Mediterranean idiom: stone, ochre render, cypress.",
|
|
7000
7025
|
label: "Tuscan",
|
|
7001
7026
|
provenance: { basis: "authored", source: ADR2 },
|
|
7002
7027
|
slug: "tuscan"
|
|
@@ -7044,7 +7069,7 @@ var PLACE_REGION_TERMS = [
|
|
|
7044
7069
|
},
|
|
7045
7070
|
{
|
|
7046
7071
|
broaderSlug: "english-country",
|
|
7047
|
-
definition: "The oolitic-limestone
|
|
7072
|
+
definition: "The oolitic-limestone meaning of the English country idiom: honey stone, steep stone-slate roofs, mullioned windows, low ceilings.",
|
|
7048
7073
|
label: "Cotswolds",
|
|
7049
7074
|
provenance: { basis: "authored", source: ADR2 },
|
|
7050
7075
|
slug: "cotswolds"
|
|
@@ -7057,7 +7082,7 @@ var PLACE_REGION_TERMS = [
|
|
|
7057
7082
|
slug: "french-provincial"
|
|
7058
7083
|
},
|
|
7059
7084
|
{
|
|
7060
|
-
definition: "Saturated pigment on mass walls, volcanic stone, deep shade, and
|
|
7085
|
+
definition: "Saturated pigment on mass walls, volcanic stone, deep shade, and color used architecturally rather than decoratively.",
|
|
7061
7086
|
label: "Mexican",
|
|
7062
7087
|
provenance: { basis: "authored", source: ADR2 },
|
|
7063
7088
|
slug: "mexican"
|
|
@@ -8538,7 +8563,7 @@ var GATHERING_SPACES = [
|
|
|
8538
8563
|
},
|
|
8539
8564
|
{
|
|
8540
8565
|
broaderSlug: "lounge",
|
|
8541
|
-
definition: "The soft-seated end of a library or learning space, where
|
|
8566
|
+
definition: "The soft-seated end of a library or learning space, where meaning happens off a chair rather than at a table; the tabled part of the same room is `reading_room`.",
|
|
8542
8567
|
label: "Library Lounge",
|
|
8543
8568
|
provenance: PROGRAM_SPACES,
|
|
8544
8569
|
slug: "library-lounge"
|
|
@@ -9117,7 +9142,7 @@ var SANITARY_SPACES = [
|
|
|
9117
9142
|
definition: "A small volume holding a lavatory and a basin and nothing else; add a bath or a shower and it becomes `bathroom`.",
|
|
9118
9143
|
external: [aat2("300081124", "lavatories (rooms)", "exact")],
|
|
9119
9144
|
label: "Cloakroom / WC",
|
|
9120
|
-
note: "Deliberately not a kind of `bathroom`. In American usage a WC is a bathroom and the edge would be clean; in British usage it is not, and the whole point of the term is the absence of bathing provision. Since the difference is exactly what a specifier needs to see, the two terms sit side by side rather than one inside the other. `cloakroom` was an carried as another name here in the 0.2 draft and is now a term of its own for the coat room, on Getty's
|
|
9145
|
+
note: "Deliberately not a kind of `bathroom`. In American usage a WC is a bathroom and the edge would be clean; in British usage it is not, and the whole point of the term is the absence of bathing provision. Since the difference is exactly what a specifier needs to see, the two terms sit side by side rather than one inside the other. `cloakroom` was an carried as another name here in the 0.2 draft and is now a term of its own for the coat room, on Getty's meaning; the British domestic sense meaning this room moves to Seen in the wild, where observed but non-canonical labels belong. The label is left alone so the published id keeps its name.",
|
|
9121
9146
|
provenance: MS_ROOM_PROGRAM,
|
|
9122
9147
|
seenAs: ["downstairs loo", "half bath", "cloakroom", "powder_room"],
|
|
9123
9148
|
slug: "wc"
|
|
@@ -9360,7 +9385,7 @@ var SLEEPING_SPACES = [
|
|
|
9360
9385
|
definition: "A let sleeping volume in a hotel, taken together with its ensuite: the guest's whole private territory rather than the bed alone.",
|
|
9361
9386
|
external: [aat2("300248355", "guest rooms", "related")],
|
|
9362
9387
|
label: "Hotel Room",
|
|
9363
|
-
// DOWNGRADED from `close` on 2026-08-21 after
|
|
9388
|
+
// DOWNGRADED from `close` on 2026-08-21 after meaning AAT's scope note, which reads: "Rooms in
|
|
9364
9389
|
// DWELLINGS set aside or otherwise intended for temporary use by guests and usually not
|
|
9365
9390
|
// regularly used by household members." That is a domestic spare room, not a let hotel bedroom,
|
|
9366
9391
|
// and `close` would have asserted they substitute for one another in retrieval. AAT has no term
|
|
@@ -9512,7 +9537,7 @@ var WORKING_SPACES = [
|
|
|
9512
9537
|
{
|
|
9513
9538
|
altLabels: ["home office"],
|
|
9514
9539
|
broaderSlug: "workspace",
|
|
9515
|
-
definition: "A domestic volume given over to desk work,
|
|
9540
|
+
definition: "A domestic volume given over to desk work, meaning or household administration.",
|
|
9516
9541
|
external: [
|
|
9517
9542
|
aat2("300081781", "studies (rooms)", "exact"),
|
|
9518
9543
|
aat2("300180734", "home offices (workspaces)", "close")
|
|
@@ -9673,7 +9698,7 @@ var STYLE_TERMS = [
|
|
|
9673
9698
|
{
|
|
9674
9699
|
altLabels: ["mcm"],
|
|
9675
9700
|
broaderSlug: "modernism",
|
|
9676
|
-
definition: "The postwar domestic
|
|
9701
|
+
definition: "The postwar domestic meaning of modernism: organic curves, teak and walnut, tapered legs, warm rather than austere.",
|
|
9677
9702
|
external: [aat3("300343610", "Mid-Century Modernist", "exact")],
|
|
9678
9703
|
label: "Mid-Century Modern",
|
|
9679
9704
|
note: "Style, not period. A reproduction built in 2024 is `style.mid-century-modern` in the `period.contemporary` period, which is why the two axes cannot be one.",
|
|
@@ -9799,7 +9824,7 @@ var STYLE_TERMS = [
|
|
|
9799
9824
|
},
|
|
9800
9825
|
// Zero hits on all three. AAT has no maximalism concept in any domain.
|
|
9801
9826
|
{
|
|
9802
|
-
definition: "Deliberate accumulation: pattern on pattern,
|
|
9827
|
+
definition: "Deliberate accumulation: pattern on pattern, color on color, more held together on purpose rather than by accident.",
|
|
9803
9828
|
label: "Maximalism",
|
|
9804
9829
|
provenance: {
|
|
9805
9830
|
basis: "evidenced",
|
|
@@ -10019,7 +10044,7 @@ var STYLE_TERMS = [
|
|
|
10019
10044
|
styleKind: MOVEMENT
|
|
10020
10045
|
},
|
|
10021
10046
|
{
|
|
10022
|
-
definition: "Geometric order and typological clarity taken as first principles, especially the Italian interwar and Tendenza
|
|
10047
|
+
definition: "Geometric order and typological clarity taken as first principles, especially the Italian interwar and Tendenza meanings.",
|
|
10023
10048
|
external: [aat3("300457776", "Rationalist (style and movement)", "exact")],
|
|
10024
10049
|
label: "Rationalism",
|
|
10025
10050
|
provenance: {
|
|
@@ -10424,7 +10449,7 @@ var TYPOLOGY_TERMS = [
|
|
|
10424
10449
|
slug: "museum"
|
|
10425
10450
|
},
|
|
10426
10451
|
{
|
|
10427
|
-
definition: "Premises holding a collection for
|
|
10452
|
+
definition: "Premises holding a collection for meaning and lending, planned around both dense storage and long uninterrupted occupation of the meaning floor.",
|
|
10428
10453
|
label: "Library",
|
|
10429
10454
|
provenance: PROJECTS_PLATFORM,
|
|
10430
10455
|
slug: "library"
|
|
@@ -10659,10 +10684,10 @@ var MOOD_ANCHORS = {
|
|
|
10659
10684
|
"Interior stripped to a bare floor and unadorned walls, a single hard seat, no textile anywhere, fixings and joints left visible, and every horizontal surface empty"
|
|
10660
10685
|
],
|
|
10661
10686
|
calm: [
|
|
10662
|
-
"Interior holding very few objects, widely spaced, one continuous wall
|
|
10687
|
+
"Interior holding very few objects, widely spaced, one continuous wall color running uninterrupted, storage closed and flush, and light arriving evenly with no bright spot anywhere in the frame"
|
|
10663
10688
|
],
|
|
10664
10689
|
crisp: [
|
|
10665
|
-
"Interior where every junction is held on a shadow line, arrises square and unsoftened, flat matt
|
|
10690
|
+
"Interior where every junction is held on a shadow line, arrises square and unsoftened, flat matt color meeting flat matt color without a transition, and shadows falling with a hard boundary from a single source"
|
|
10666
10691
|
],
|
|
10667
10692
|
domestic: [
|
|
10668
10693
|
"Interior with a book left face-down, a mug and a plate still on the table, shoes by the door, a cable running across the floor to a socket, and cushions pushed out of shape by use"
|
|
@@ -10686,7 +10711,7 @@ var MOOD_ANCHORS = {
|
|
|
10686
10711
|
"Interior at low overall light level with deeply saturated dark walls absorbing what light there is, small pools thrown by table lamps, and the ceiling lost in shadow above"
|
|
10687
10712
|
],
|
|
10688
10713
|
playful: [
|
|
10689
|
-
"Interior with strong
|
|
10714
|
+
"Interior with strong color applied to a structural element, a form that serves no function, seats that deliberately do not match, and objects arranged to make a visual joke"
|
|
10690
10715
|
],
|
|
10691
10716
|
"quiet-luxury": [
|
|
10692
10717
|
// A MAGNET IN ITS FIRST DRAFT, and worth recording why. It listed figured stone, grain-matched
|
|
@@ -10735,7 +10760,7 @@ var PERIOD_ANCHORS = {
|
|
|
10735
10760
|
"Interior with a curved metal casement set into rendered wall, a tiled fireplace surround, a picture rail in a semi-detached plan, and parquet laid in block"
|
|
10736
10761
|
],
|
|
10737
10762
|
"late-century": [
|
|
10738
|
-
"Interior in a converted industrial shell with services run exposed overhead, structural steel left visible and painted, and applied classical quotation set against it in strong flat
|
|
10763
|
+
"Interior in a converted industrial shell with services run exposed overhead, structural steel left visible and painted, and applied classical quotation set against it in strong flat color"
|
|
10739
10764
|
],
|
|
10740
10765
|
medieval: [
|
|
10741
10766
|
"Interior carried on load-bearing masonry and an irregular timber frame, openings small against the mass of wall, a stone floor worn hollow, and the roof structure open to view"
|
|
@@ -10773,7 +10798,7 @@ var PLACE_ANCHORS = {
|
|
|
10773
10798
|
"Bleached and salt-worn timber, blue worked against white, rattan and rope, and light arriving upward off water"
|
|
10774
10799
|
],
|
|
10775
10800
|
cotswolds: [
|
|
10776
|
-
"Honey-
|
|
10801
|
+
"Honey-colored oolitic limestone laid in courses, mullioned windows with leaded lights, a steep roof in graded stone slate, and beamed ceilings low enough to duck under"
|
|
10777
10802
|
],
|
|
10778
10803
|
desert: [
|
|
10779
10804
|
"Thermal mass with few and small openings placed away from the sun, earth-toned ground running to the building with no planted break, and shadow used as the only relief"
|
|
@@ -10825,7 +10850,7 @@ var PLACE_ANCHORS = {
|
|
|
10825
10850
|
"Ochre render over rubble stone, cypress standing against the skyline, large-format terracotta tile underfoot, and chestnut beams carrying the floor above"
|
|
10826
10851
|
],
|
|
10827
10852
|
urban: [
|
|
10828
|
-
"Continuous street frontage with a party wall to each side, the building
|
|
10853
|
+
"Continuous street frontage with a party wall to each side, the building meaning as one of an unbroken run, and the pavement immediately at the door"
|
|
10829
10854
|
],
|
|
10830
10855
|
waterfront: [
|
|
10831
10856
|
// WRITTEN TIGHT ON PURPOSE. The first draft said only "water at the window", and a bare query
|
|
@@ -11114,7 +11139,7 @@ var GATHERING_ANCHORS = {
|
|
|
11114
11139
|
"A pool or table-tennis table taking the centre with clearance walked around it, cues racked on the wall, a scoreboard, and low bench seating pushed back to the edges"
|
|
11115
11140
|
],
|
|
11116
11141
|
"library-lounge": [
|
|
11117
|
-
"The soft end of a public library: strangers
|
|
11142
|
+
"The soft end of a public library: strangers meaning in facing armchairs, a periodicals rack, a returns trolley parked at the edge of the carpet, and shelving running away behind the seating"
|
|
11118
11143
|
],
|
|
11119
11144
|
"living-room": [
|
|
11120
11145
|
"A sofa and armchairs turned toward a fireplace or a window, a coffee table between them with books and a remote on it, a large rug anchoring the group and lamps at the corners"
|
|
@@ -11428,7 +11453,7 @@ var SLEEPING_ANCHORS = {
|
|
|
11428
11453
|
"A bed made up flat and unslept-in, empty hanging space in the wardrobe, a folded towel set out at the foot, a bedside carafe, and nothing personal on any surface"
|
|
11429
11454
|
],
|
|
11430
11455
|
"hotel-room": [
|
|
11431
|
-
"A made bed with a runner across the foot, matched side tables and
|
|
11456
|
+
"A made bed with a runner across the foot, matched side tables and meaning lights either side, a luggage bench, a folder and a card key on the desk, blackout curtains drawn back"
|
|
11432
11457
|
],
|
|
11433
11458
|
nursery: [
|
|
11434
11459
|
"A cot with a mobile turning above it, a changing surface with a stack of folded muslins, soft flooring, low open baskets of toys, and a blackout blind at the window"
|
|
@@ -11545,7 +11570,7 @@ var STYLE_ANCHORS = {
|
|
|
11545
11570
|
"Brutalist interior with board-marked in-situ concrete left as struck, heavy monolithic massing, deep window reveals, exposed services, raw unfinished surfaces treated as the finish"
|
|
11546
11571
|
],
|
|
11547
11572
|
constructivism: [
|
|
11548
|
-
"Constructivist interior with dynamic diagonal composition, exposed structural drama, primary
|
|
11573
|
+
"Constructivist interior with dynamic diagonal composition, exposed structural drama, primary color on structural members, industrial glazing, early Soviet avant-garde geometry"
|
|
11549
11574
|
],
|
|
11550
11575
|
contemporary: [
|
|
11551
11576
|
"Contemporary interior with clean unornamented lines, flush cabinetry, large-format tile, neutral palette with a single accent, recessed lighting, current rather than period-referencing"
|
|
@@ -11572,7 +11597,7 @@ var STYLE_ANCHORS = {
|
|
|
11572
11597
|
"Japandi interior with low platform furniture in pale oak and black-stained ash, paper and linen shades, a single ceramic vessel on a plain shelf, walls in warm off-white lime, floors in light timber, and every surface left with its natural grain and no pattern"
|
|
11573
11598
|
],
|
|
11574
11599
|
maximalism: [
|
|
11575
|
-
"Bold maximalist interior with rich
|
|
11600
|
+
"Bold maximalist interior with rich colors, statement art, mixed patterns, velvet upholstery, lacquered surfaces, decorative objects, gallery walls, patterned rugs, brass accents, eclectic furniture mixing periods and styles"
|
|
11576
11601
|
],
|
|
11577
11602
|
"mid-century-modern": [
|
|
11578
11603
|
"Mid-century modern interior with teak and walnut furniture, Eames chairs, organic curves, warm wood panelling, terrazzo floors, statement pendant lights, Scandinavian influence, bold geometric textiles, open shelving, vintage design classics"
|
|
@@ -11594,7 +11619,7 @@ var STYLE_ANCHORS = {
|
|
|
11594
11619
|
"Parametric interior with continuously varied surfaces, ruled geometry, seamless composite panelling, no repeated module, form generated by rule rather than composed element by element"
|
|
11595
11620
|
],
|
|
11596
11621
|
postmodernism: [
|
|
11597
|
-
"Postmodern interior with historical quotation used knowingly, oversized classical mouldings in unexpected
|
|
11622
|
+
"Postmodern interior with historical quotation used knowingly, oversized classical mouldings in unexpected color, laminate and terrazzo, split pediments, ornament readmitted as commentary"
|
|
11598
11623
|
],
|
|
11599
11624
|
rationalism: [
|
|
11600
11625
|
"Rationalist interior with strict geometric order, typological clarity, travertine and plaster, repeated square openings, Italian interwar and Tendenza discipline"
|
|
@@ -11607,7 +11632,7 @@ var STYLE_ANCHORS = {
|
|
|
11607
11632
|
"Classic tailored interior with panelled walls, restrained mouldings, symmetrical furniture arrangement, quiet pattern, nothing improvised"
|
|
11608
11633
|
],
|
|
11609
11634
|
transitional: [
|
|
11610
|
-
"Transitional interior with period silhouettes stripped of ornament, a shaker-fronted kitchen in a flat
|
|
11635
|
+
"Transitional interior with period silhouettes stripped of ornament, a shaker-fronted kitchen in a flat color, classical proportion in contemporary materials, the deliberate midpoint between traditional and contemporary"
|
|
11611
11636
|
],
|
|
11612
11637
|
vernacular: [
|
|
11613
11638
|
"Vernacular building made from what the place supplies, local stone or timber, roof pitch set by the local weather, details carried by regional trade practice rather than by drawing"
|
|
@@ -11880,7 +11905,7 @@ var AXES = [
|
|
|
11880
11905
|
{ label: "Character", slug: "character", terms: PALETTE_CHARACTER_TERMS }
|
|
11881
11906
|
],
|
|
11882
11907
|
label: "Palette",
|
|
11883
|
-
question: "What
|
|
11908
|
+
question: "What color is it?",
|
|
11884
11909
|
slug: "palette",
|
|
11885
11910
|
status: "authored"
|
|
11886
11911
|
},
|
|
@@ -11896,7 +11921,7 @@ var AXES = [
|
|
|
11896
11921
|
status: "authored"
|
|
11897
11922
|
},
|
|
11898
11923
|
{
|
|
11899
|
-
boundary: "Daylight is the natural light a space receives and the direction it comes from. Aspect is compass-literal and says nothing about the sun: which side is bright depends on the hemisphere, and that consequence is a separate claim on Light. It is not Palette, which is the
|
|
11924
|
+
boundary: "Daylight is the natural light a space receives and the direction it comes from. Aspect is compass-literal and says nothing about the sun: which side is bright depends on the hemisphere, and that consequence is a separate claim on Light. It is not Palette, which is the color of what is in the room rather than the light falling on it; not Mood, where airy and moody are outcomes a scheme achieves rather than conditions a room has; not Element, which holds the windows, rooflights and luminaires themselves, and artificial lighting is never recorded here; and not Place, which says where a building stands rather than which way a room looks.",
|
|
11900
11925
|
facets: [
|
|
11901
11926
|
{
|
|
11902
11927
|
governance: TAX48_AUTHORED_GOVERNANCE,
|
|
@@ -11918,7 +11943,7 @@ var AXES = [
|
|
|
11918
11943
|
status: "authored"
|
|
11919
11944
|
},
|
|
11920
11945
|
{
|
|
11921
|
-
boundary: "Season is the time of year a scheme is designed for or evokes, reached by `evokes` like Place and Period are. It is not Period, which is a date range a season never has; not Palette, which carries the
|
|
11946
|
+
boundary: "Season is the time of year a scheme is designed for or evokes, reached by `evokes` like Place and Period are. It is not Period, which is a date range a season never has; not Palette, which carries the colors a seasonal scheme happens to choose; and not Daylight, which records the light a room receives rather than the calendar a scheme refers to.",
|
|
11922
11947
|
facets: single("season", "Season", SEASON_TERMS, TAX48_AUTHORED_GOVERNANCE),
|
|
11923
11948
|
governance: TAX48_AUTHORED_GOVERNANCE,
|
|
11924
11949
|
label: "Season",
|
|
@@ -11961,7 +11986,7 @@ var AXES = [
|
|
|
11961
11986
|
status: "declared"
|
|
11962
11987
|
},
|
|
11963
11988
|
{
|
|
11964
|
-
boundary: "How much is going on on the surface: pattern incidence, applied ornament, layering, and the restraint-to-maximalism range. It is not PALETTE, which carries how
|
|
11989
|
+
boundary: "How much is going on on the surface: pattern incidence, applied ornament, layering, and the restraint-to-maximalism range. It is not PALETTE, which carries how color behaves rather than how much incident there is, and it is not STYLE, though several style terms are largely density claims wearing an idiom's name.",
|
|
11965
11990
|
facets: [],
|
|
11966
11991
|
gap: "Identified after the fact, by the axis critique of 21 August 2026, and it is the one real gap that review found. The source vocabularies keep asking this question and no axis here answers it: a rendering pipeline's `patterned`, a materials-retrieval system's `playful_graphic` and `decorative_traditional`, a furnishings retailer's `Eclectic`, and an editorial image library's `Modern Maximalism` against `Warm Minimalism` - a pair that differs chiefly on density and barely on anything else. The materials-retrieval system already carries `ms_pattern_density` at MATERIAL scale, which is the obvious seed, but the room-scale question is not the same one: a room of quiet materials can still be dense with incident. Until this exists, `maximalism` is filed as a style, which flatters it.",
|
|
11967
11992
|
label: "Density",
|
|
@@ -12014,7 +12039,7 @@ var resolveReference = (reference) => INDEX.byKey.get(canonicalKey(reference));
|
|
|
12014
12039
|
// src/v1.ts
|
|
12015
12040
|
var TAXONOMY_BASE_URI = "https://taxonomy.materialinstruments.com";
|
|
12016
12041
|
var TAXONOMY_SNAPSHOT = "2026-10-02";
|
|
12017
|
-
var TAXONOMY_VERSION = "1.
|
|
12042
|
+
var TAXONOMY_VERSION = "2.1.0";
|
|
12018
12043
|
var PUBLISHED_V1_BASELINE = "2026-08-30";
|
|
12019
12044
|
var TAX45_REVIEW_SNAPSHOT = "2026-08-31";
|
|
12020
12045
|
var LIMESTONE_INTRODUCED = "2026-09-01";
|
|
@@ -12291,16 +12316,16 @@ var colorScope = (identifier, referenceKind) => ({
|
|
|
12291
12316
|
});
|
|
12292
12317
|
var WALNUT_MATERIAL = {
|
|
12293
12318
|
authority: "taxonomy",
|
|
12294
|
-
|
|
12319
|
+
meaningPriority: "primary",
|
|
12295
12320
|
uri: `${TAXONOMY_BASE_URI}/id/material/walnut`
|
|
12296
12321
|
};
|
|
12297
12322
|
var WALNUT_COLOUR = {
|
|
12298
12323
|
...colorScope("walnut", NAMED_COLOR_REFERENCE_KIND),
|
|
12299
|
-
|
|
12324
|
+
meaningPriority: "secondary"
|
|
12300
12325
|
};
|
|
12301
|
-
var ordered = (path,
|
|
12326
|
+
var ordered = (path, meaningPriority) => ({
|
|
12302
12327
|
authority: "taxonomy",
|
|
12303
|
-
|
|
12328
|
+
meaningPriority,
|
|
12304
12329
|
uri: `${TAXONOMY_BASE_URI}/id/${path}`
|
|
12305
12330
|
});
|
|
12306
12331
|
var ENGINEERED_QUARTZ_SURFACING = ordered(
|
|
@@ -12311,14 +12336,14 @@ var QUARTZ_MINERAL = ordered("material/quartz", "secondary");
|
|
|
12311
12336
|
var MELAMINE_BOARD = ordered("material/melamine-faced-board", "primary");
|
|
12312
12337
|
var MELAMINE_RESIN = ordered("material/melamine", "secondary");
|
|
12313
12338
|
var HIERARCHY_REVIEW_DATE = "2026-09-22";
|
|
12314
|
-
var
|
|
12339
|
+
var MEANING_PRIORITY_EVIDENCE = "stored material values in a materials-retrieval system (src-05)";
|
|
12315
12340
|
var HIERARCHY_REVIEW_LIFECYCLE = {
|
|
12316
12341
|
introducedAt: HIERARCHY_REVIEW_DATE,
|
|
12317
12342
|
reviewedAt: HIERARCHY_REVIEW_DATE,
|
|
12318
12343
|
status: "active"
|
|
12319
12344
|
};
|
|
12320
|
-
var AMBIGUITY_GOVERNANCE = "Taxonomy preserves the governed
|
|
12321
|
-
var
|
|
12345
|
+
var AMBIGUITY_GOVERNANCE = "Taxonomy preserves the governed meanings without assigning a default, meaning priority, contextual preference, or consumer route.";
|
|
12346
|
+
var MEANING_PRIORITY_GOVERNANCE = "The two meanings are deliberately separate; the default records trade usage and does not merge the concepts.";
|
|
12322
12347
|
var TAX_1_9_0_DATE = "2026-09-27";
|
|
12323
12348
|
var TAXONOMY_SNAPSHOT_LIFECYCLE = {
|
|
12324
12349
|
introducedAt: TAX_1_9_0_DATE,
|
|
@@ -12351,7 +12376,7 @@ var reviewedTaxonomy = (path) => ({
|
|
|
12351
12376
|
authority: "taxonomy",
|
|
12352
12377
|
uri: `${TAXONOMY_BASE_URI}/id/${path}`
|
|
12353
12378
|
});
|
|
12354
|
-
var referencedCrossover = (phrase, taxonomyPath, colorScopeIdentifier, explanation, definitionSource, introducedAt = HIERARCHY_REVIEW_DATE,
|
|
12379
|
+
var referencedCrossover = (phrase, taxonomyPath, colorScopeIdentifier, explanation, definitionSource, introducedAt = HIERARCHY_REVIEW_DATE, additionalMeanings = []) => ({
|
|
12355
12380
|
explanation,
|
|
12356
12381
|
governance: lexicalGovernance(
|
|
12357
12382
|
AMBIGUITY_GOVERNANCE,
|
|
@@ -12362,16 +12387,16 @@ var referencedCrossover = (phrase, taxonomyPath, colorScopeIdentifier, explanati
|
|
|
12362
12387
|
},
|
|
12363
12388
|
{ introducedAt, reviewedAt: HIERARCHY_REVIEW_DATE, status: "active" }
|
|
12364
12389
|
),
|
|
12365
|
-
|
|
12366
|
-
phrase,
|
|
12367
|
-
readings: [
|
|
12390
|
+
meanings: [
|
|
12368
12391
|
reviewedTaxonomy(taxonomyPath),
|
|
12369
12392
|
colorScope(colorScopeIdentifier, NAMED_COLOR_REFERENCE_KIND),
|
|
12370
|
-
...
|
|
12371
|
-
]
|
|
12393
|
+
...additionalMeanings
|
|
12394
|
+
],
|
|
12395
|
+
outcome: "ambiguous",
|
|
12396
|
+
phrase
|
|
12372
12397
|
});
|
|
12373
12398
|
var WOOD_HANDBOOK5 = "USDA Wood Handbook (2021), chapter 2";
|
|
12374
|
-
var colorscope940Crossover = (phrase, taxonomyPath, colorScopeIdentifier, explanation, definitionSource,
|
|
12399
|
+
var colorscope940Crossover = (phrase, taxonomyPath, colorScopeIdentifier, explanation, definitionSource, additionalMeanings = []) => ({
|
|
12375
12400
|
explanation,
|
|
12376
12401
|
governance: lexicalGovernance(
|
|
12377
12402
|
AMBIGUITY_GOVERNANCE,
|
|
@@ -12386,39 +12411,39 @@ var colorscope940Crossover = (phrase, taxonomyPath, colorScopeIdentifier, explan
|
|
|
12386
12411
|
status: "active"
|
|
12387
12412
|
}
|
|
12388
12413
|
),
|
|
12389
|
-
|
|
12390
|
-
phrase,
|
|
12391
|
-
readings: [
|
|
12414
|
+
meanings: [
|
|
12392
12415
|
reviewedTaxonomy(taxonomyPath),
|
|
12393
12416
|
colorScope(colorScopeIdentifier, NAMED_COLOR_REFERENCE_KIND),
|
|
12394
|
-
...
|
|
12395
|
-
]
|
|
12417
|
+
...additionalMeanings
|
|
12418
|
+
],
|
|
12419
|
+
outcome: "ambiguous",
|
|
12420
|
+
phrase
|
|
12396
12421
|
});
|
|
12397
12422
|
var crossoverAmbiguity = (phrase, taxonomyUri, colorScopeIdentifier, explanation, source, additionalTaxonomyUris = []) => ({
|
|
12398
12423
|
explanation,
|
|
12399
12424
|
governance: lexicalGovernance(
|
|
12400
|
-
"Taxonomy preserves the evidenced
|
|
12425
|
+
"Taxonomy preserves the evidenced meanings without assigning a default, meaning priority, contextual preference, or consumer route.",
|
|
12401
12426
|
{
|
|
12402
12427
|
basis: "evidenced",
|
|
12403
12428
|
snapshot: PUBLISHED_V1_BASELINE,
|
|
12404
12429
|
source
|
|
12405
12430
|
}
|
|
12406
12431
|
),
|
|
12407
|
-
|
|
12408
|
-
phrase,
|
|
12409
|
-
readings: [
|
|
12432
|
+
meanings: [
|
|
12410
12433
|
{ authority: "taxonomy", uri: taxonomyUri },
|
|
12411
12434
|
colorScope(colorScopeIdentifier, NAMED_COLOR_REFERENCE_KIND),
|
|
12412
12435
|
...additionalTaxonomyUris.map((uri) => ({
|
|
12413
12436
|
authority: "taxonomy",
|
|
12414
12437
|
uri
|
|
12415
12438
|
}))
|
|
12416
|
-
]
|
|
12439
|
+
],
|
|
12440
|
+
outcome: "ambiguous",
|
|
12441
|
+
phrase
|
|
12417
12442
|
});
|
|
12418
12443
|
var crossoverEquivalent = (phrase, taxonomyUri, explanation, source, snapshot = PUBLISHED_V1_BASELINE, lifecycle = lifecycleFor()) => ({
|
|
12419
12444
|
explanation,
|
|
12420
12445
|
governance: lexicalGovernance(
|
|
12421
|
-
"Taxonomy records the evidenced material
|
|
12446
|
+
"Taxonomy records the evidenced material meaning without assigning a consumer route.",
|
|
12422
12447
|
{
|
|
12423
12448
|
basis: "evidenced",
|
|
12424
12449
|
snapshot,
|
|
@@ -12430,8 +12455,8 @@ var crossoverEquivalent = (phrase, taxonomyUri, explanation, source, snapshot =
|
|
|
12430
12455
|
phrase,
|
|
12431
12456
|
target: { authority: "taxonomy", uri: taxonomyUri }
|
|
12432
12457
|
});
|
|
12433
|
-
var crossoverTaxonomyAmbiguity = (phrase,
|
|
12434
|
-
const [first, second] =
|
|
12458
|
+
var crossoverTaxonomyAmbiguity = (phrase, meanings, explanation, source, snapshot = PUBLISHED_V1_BASELINE, lifecycle = lifecycleFor(), basis = "evidenced") => {
|
|
12459
|
+
const [first, second] = meanings;
|
|
12435
12460
|
return {
|
|
12436
12461
|
explanation,
|
|
12437
12462
|
governance: lexicalGovernance(
|
|
@@ -12443,22 +12468,45 @@ var crossoverTaxonomyAmbiguity = (phrase, readings, explanation, source, snapsho
|
|
|
12443
12468
|
},
|
|
12444
12469
|
lifecycle
|
|
12445
12470
|
),
|
|
12446
|
-
|
|
12447
|
-
phrase,
|
|
12448
|
-
readings: [
|
|
12471
|
+
meanings: [
|
|
12449
12472
|
{ authority: "taxonomy", uri: first },
|
|
12450
12473
|
{ authority: "taxonomy", uri: second }
|
|
12451
|
-
]
|
|
12474
|
+
],
|
|
12475
|
+
outcome: "ambiguous",
|
|
12476
|
+
phrase
|
|
12452
12477
|
};
|
|
12453
12478
|
};
|
|
12454
|
-
var
|
|
12479
|
+
var MG2620_LEXICAL_REVIEW_DATE = "2026-10-10";
|
|
12480
|
+
var AUTHORED_PHRASE_ENTRIES = [
|
|
12481
|
+
{
|
|
12482
|
+
explanation: "Matt is the British-English spelling of matte for surface sheen. Qualifiers such as semi-matt and full-matt retain their own meanings; this entry does not strip them.",
|
|
12483
|
+
governance: lexicalGovernance(
|
|
12484
|
+
"Primary supplier usage supports spelling equivalence, not a measured gloss threshold or a consumer proposal rate.",
|
|
12485
|
+
{
|
|
12486
|
+
basis: "referenced",
|
|
12487
|
+
snapshot: MG2620_LEXICAL_REVIEW_DATE,
|
|
12488
|
+
source: "MG-2620 lexical review; Marazzi matt surface finish, https://www.marazzigroup.com/blog/are-glossy-or-matt-coverings-better-for-your-bathroom-we-explain-the-benefits-and-differences-and-provide-useful-tips/; Tikkurila matt/Matte finish usage, https://tikkurila.com/how-choose-right-paint-your-interior-walls-and-ceilings"
|
|
12489
|
+
},
|
|
12490
|
+
{
|
|
12491
|
+
introducedAt: MG2620_LEXICAL_REVIEW_DATE,
|
|
12492
|
+
reviewedAt: MG2620_LEXICAL_REVIEW_DATE,
|
|
12493
|
+
status: "active"
|
|
12494
|
+
}
|
|
12495
|
+
),
|
|
12496
|
+
outcome: "equivalent",
|
|
12497
|
+
phrase: "matt",
|
|
12498
|
+
target: {
|
|
12499
|
+
authority: "taxonomy",
|
|
12500
|
+
uri: `${TAXONOMY_BASE_URI}/id/finish/sheen/matte`
|
|
12501
|
+
}
|
|
12502
|
+
},
|
|
12455
12503
|
crossoverTaxonomyAmbiguity(
|
|
12456
12504
|
"herringbone or chevron",
|
|
12457
12505
|
[
|
|
12458
12506
|
`${TAXONOMY_BASE_URI}/id/pattern/type/herringbone`,
|
|
12459
12507
|
`${TAXONOMY_BASE_URI}/id/pattern/type/chevron`
|
|
12460
12508
|
],
|
|
12461
|
-
"The former combined pattern label names two distinct motif
|
|
12509
|
+
"The former combined pattern label names two distinct motif meanings. It does not identify an installation layout or physical unit shape without separate evidence.",
|
|
12462
12510
|
"Linear TAX-45 reviewed implementation contract",
|
|
12463
12511
|
TAX45_REVIEW_SNAPSHOT,
|
|
12464
12512
|
{
|
|
@@ -12474,7 +12522,7 @@ var AUTHORED_LEXICAL_ENTRIES = [
|
|
|
12474
12522
|
`${TAXONOMY_BASE_URI}/id/pattern/type/herringbone`,
|
|
12475
12523
|
`${TAXONOMY_BASE_URI}/id/pattern/type/chevron`
|
|
12476
12524
|
],
|
|
12477
|
-
"The furnishings retailer's compound phrase did not record which of the two distinct motif
|
|
12525
|
+
"The furnishings retailer's compound phrase did not record which of the two distinct motif meanings was intended.",
|
|
12478
12526
|
`${RETAIL_PATTERN_SOURCE}, reconciled by Linear TAX-45`,
|
|
12479
12527
|
TAX45_REVIEW_SNAPSHOT,
|
|
12480
12528
|
{
|
|
@@ -12490,7 +12538,7 @@ var AUTHORED_LEXICAL_ENTRIES = [
|
|
|
12490
12538
|
`${TAXONOMY_BASE_URI}/id/product-category/mosaic-tile`,
|
|
12491
12539
|
`${TAXONOMY_BASE_URI}/id/format/mosaic`
|
|
12492
12540
|
],
|
|
12493
|
-
"Mosaic can name a purchasable mosaic-tile product or the small-piece supply format; it is neither inherently a pattern nor a substance. Consumers must union any exact ColorScope named-paint
|
|
12541
|
+
"Mosaic can name a purchasable mosaic-tile product or the small-piece supply format; it is neither inherently a pattern nor a substance. Consumers must union any exact ColorScope named-paint meaning with these domain meanings rather than let an exact Taxonomy phrase shadow the external identity.",
|
|
12494
12542
|
`${searchCorpusEvidence("mosaic")}; Uniclass Pr_35_93_96_53 Mosaic tiles; consumer authority-union boundary reviewed 2026-08-31`,
|
|
12495
12543
|
SEARCH_CORPUS_SNAPSHOT,
|
|
12496
12544
|
{
|
|
@@ -12500,9 +12548,9 @@ var AUTHORED_LEXICAL_ENTRIES = [
|
|
|
12500
12548
|
}
|
|
12501
12549
|
),
|
|
12502
12550
|
{
|
|
12503
|
-
explanation: "Blue is a ColorScope
|
|
12551
|
+
explanation: "Blue is a ColorScope color-family meaning; Taxonomy references that authority rather than minting a rival color identity.",
|
|
12504
12552
|
governance: lexicalGovernance(
|
|
12505
|
-
"The ColorScope family is the single governed
|
|
12553
|
+
"The ColorScope family is the single governed meaning of the unqualified color word.",
|
|
12506
12554
|
{
|
|
12507
12555
|
basis: "vendored",
|
|
12508
12556
|
snapshot: PUBLISHED_V1_BASELINE,
|
|
@@ -12517,14 +12565,14 @@ var AUTHORED_LEXICAL_ENTRIES = [
|
|
|
12517
12565
|
"alabaster",
|
|
12518
12566
|
`${TAXONOMY_BASE_URI}/id/material/alabaster`,
|
|
12519
12567
|
"alabaster",
|
|
12520
|
-
"Alabaster can name decorative gypsum stone or the ColorScope named
|
|
12521
|
-
`${crossoverSource("alabaster")}; @instruments/colorscope 9.4.0 id "alabaster", family cream, matching the retired "cream-soft-cream-white"
|
|
12568
|
+
"Alabaster can name decorative gypsum stone or the ColorScope named color Alabaster; neither meaning establishes the other.",
|
|
12569
|
+
`${crossoverSource("alabaster")}; @instruments/colorscope 9.4.0 id "alabaster", family cream, matching the retired "cream-soft-cream-white" meaning's cream family`
|
|
12522
12570
|
),
|
|
12523
12571
|
crossoverAmbiguity(
|
|
12524
12572
|
"brass",
|
|
12525
12573
|
`${TAXONOMY_BASE_URI}/id/material/brass`,
|
|
12526
12574
|
"brass",
|
|
12527
|
-
"Brass can name a copper-zinc alloy, an exposed applied brass finish, or a ColorScope named
|
|
12575
|
+
"Brass can name a copper-zinc alloy, an exposed applied brass finish, or a ColorScope named color; none establishes either of the others.",
|
|
12528
12576
|
crossoverSource("brass"),
|
|
12529
12577
|
[`${TAXONOMY_BASE_URI}/id/finish/treatment/brass`]
|
|
12530
12578
|
),
|
|
@@ -12532,105 +12580,105 @@ var AUTHORED_LEXICAL_ENTRIES = [
|
|
|
12532
12580
|
"bronze",
|
|
12533
12581
|
`${TAXONOMY_BASE_URI}/id/material/bronze`,
|
|
12534
12582
|
"bronze",
|
|
12535
|
-
"Bronze can name a copper-alloy family or a ColorScope named
|
|
12583
|
+
"Bronze can name a copper-alloy family or a ColorScope named color; the unmodified word does not identify a specific composition.",
|
|
12536
12584
|
crossoverSource("bronze")
|
|
12537
12585
|
),
|
|
12538
12586
|
crossoverAmbiguity(
|
|
12539
12587
|
"chrome",
|
|
12540
12588
|
`${TAXONOMY_BASE_URI}/id/finish/treatment/chrome`,
|
|
12541
12589
|
"chrome",
|
|
12542
|
-
"Chrome can name a metallic chromium coating or a ColorScope named
|
|
12590
|
+
"Chrome can name a metallic chromium coating or a ColorScope named color; it is not silently normalized to chromium as a material.",
|
|
12543
12591
|
crossoverSource("chrome")
|
|
12544
12592
|
),
|
|
12545
12593
|
crossoverAmbiguity(
|
|
12546
12594
|
"cherry",
|
|
12547
12595
|
`${TAXONOMY_BASE_URI}/id/material/cherry`,
|
|
12548
12596
|
"cherry",
|
|
12549
|
-
"Cherry can name timber or the ColorScope named
|
|
12550
|
-
`${crossoverSource("cherry")}; @instruments/colorscope 9.4.0 id "cherry", family red, matching the retired "red-warm-cherry-red"
|
|
12597
|
+
"Cherry can name timber or the ColorScope named color Cherry; the common name does not prove species or color.",
|
|
12598
|
+
`${crossoverSource("cherry")}; @instruments/colorscope 9.4.0 id "cherry", family red, matching the retired "red-warm-cherry-red" meaning's red family`
|
|
12551
12599
|
),
|
|
12552
12600
|
crossoverAmbiguity(
|
|
12553
12601
|
"chestnut",
|
|
12554
12602
|
`${TAXONOMY_BASE_URI}/id/material/chestnut`,
|
|
12555
12603
|
"chestnut",
|
|
12556
|
-
"Chestnut can name timber or a ColorScope named
|
|
12604
|
+
"Chestnut can name timber or a ColorScope named color; neither meaning proves species, construction, or appearance.",
|
|
12557
12605
|
crossoverSource("chestnut")
|
|
12558
12606
|
),
|
|
12559
12607
|
crossoverAmbiguity(
|
|
12560
12608
|
"clay",
|
|
12561
12609
|
`${TAXONOMY_BASE_URI}/id/material/clay`,
|
|
12562
12610
|
"clay",
|
|
12563
|
-
"Clay can name a fine-grained earthy material or a ColorScope named
|
|
12611
|
+
"Clay can name a fine-grained earthy material or a ColorScope named color; the word alone proves neither firing nor appearance.",
|
|
12564
12612
|
crossoverSource("clay")
|
|
12565
12613
|
),
|
|
12566
12614
|
crossoverAmbiguity(
|
|
12567
12615
|
"copper",
|
|
12568
12616
|
`${TAXONOMY_BASE_URI}/id/material/copper`,
|
|
12569
12617
|
"copper",
|
|
12570
|
-
"Copper can name a metal or a ColorScope named
|
|
12618
|
+
"Copper can name a metal or a ColorScope named color; color resemblance does not establish copper content.",
|
|
12571
12619
|
crossoverSource("copper")
|
|
12572
12620
|
),
|
|
12573
12621
|
crossoverAmbiguity(
|
|
12574
12622
|
"denim",
|
|
12575
12623
|
`${TAXONOMY_BASE_URI}/id/material/denim`,
|
|
12576
12624
|
"denim",
|
|
12577
|
-
"Denim can name a woven fabric construction or a ColorScope named
|
|
12625
|
+
"Denim can name a woven fabric construction or a ColorScope named color; denim need not be blue.",
|
|
12578
12626
|
crossoverSource("denim")
|
|
12579
12627
|
),
|
|
12580
12628
|
crossoverAmbiguity(
|
|
12581
12629
|
"ebony",
|
|
12582
12630
|
`${TAXONOMY_BASE_URI}/id/material/ebony`,
|
|
12583
12631
|
"ebony",
|
|
12584
|
-
"Ebony can name traded timber or a ColorScope named
|
|
12632
|
+
"Ebony can name traded timber or a ColorScope named color; the trade name does not prove botanical identity or black color.",
|
|
12585
12633
|
crossoverSource("ebony")
|
|
12586
12634
|
),
|
|
12587
12635
|
crossoverAmbiguity(
|
|
12588
12636
|
"gold",
|
|
12589
12637
|
`${TAXONOMY_BASE_URI}/id/material/gold`,
|
|
12590
12638
|
"gold",
|
|
12591
|
-
"Gold can name the metallic element or a ColorScope named
|
|
12639
|
+
"Gold can name the metallic element or a ColorScope named color; appearance does not establish composition or coating.",
|
|
12592
12640
|
crossoverSource("gold")
|
|
12593
12641
|
),
|
|
12594
12642
|
crossoverAmbiguity(
|
|
12595
12643
|
"gunmetal",
|
|
12596
12644
|
`${TAXONOMY_BASE_URI}/id/material/gunmetal`,
|
|
12597
12645
|
"gunmetal",
|
|
12598
|
-
"Gunmetal can name a casting-alloy family or a ColorScope named
|
|
12646
|
+
"Gunmetal can name a casting-alloy family or a ColorScope named color; grade and appearance remain separate claims.",
|
|
12599
12647
|
crossoverSource("gunmetal")
|
|
12600
12648
|
),
|
|
12601
12649
|
crossoverAmbiguity(
|
|
12602
12650
|
"iron",
|
|
12603
12651
|
`${TAXONOMY_BASE_URI}/id/material/iron`,
|
|
12604
12652
|
"iron",
|
|
12605
|
-
"Iron can name the metallic element or a ColorScope named
|
|
12653
|
+
"Iron can name the metallic element or a ColorScope named color; the bare word does not settle material form or appearance.",
|
|
12606
12654
|
crossoverSource("iron")
|
|
12607
12655
|
),
|
|
12608
12656
|
crossoverAmbiguity(
|
|
12609
12657
|
"jade",
|
|
12610
12658
|
`${TAXONOMY_BASE_URI}/id/material/jade`,
|
|
12611
12659
|
"jade",
|
|
12612
|
-
"Jade can name an umbrella gem material or a ColorScope named
|
|
12660
|
+
"Jade can name an umbrella gem material or a ColorScope named color; jade is not one mineral and need not be green.",
|
|
12613
12661
|
crossoverSource("jade")
|
|
12614
12662
|
),
|
|
12615
12663
|
crossoverAmbiguity(
|
|
12616
12664
|
"linen",
|
|
12617
12665
|
`${TAXONOMY_BASE_URI}/id/material/linen`,
|
|
12618
12666
|
"linen",
|
|
12619
|
-
"Linen can name a flax-derived material or a ColorScope named
|
|
12667
|
+
"Linen can name a flax-derived material or a ColorScope named color; color does not establish fibre composition.",
|
|
12620
12668
|
crossoverSource("linen")
|
|
12621
12669
|
),
|
|
12622
12670
|
crossoverAmbiguity(
|
|
12623
12671
|
"mahogany",
|
|
12624
12672
|
`${TAXONOMY_BASE_URI}/id/material/mahogany`,
|
|
12625
12673
|
"mahogany",
|
|
12626
|
-
"Mahogany can name commercially grouped timber or a ColorScope named
|
|
12674
|
+
"Mahogany can name commercially grouped timber or a ColorScope named color; neither meaning proves species or appearance.",
|
|
12627
12675
|
crossoverSource("mahogany")
|
|
12628
12676
|
),
|
|
12629
12677
|
crossoverAmbiguity(
|
|
12630
12678
|
"nickel",
|
|
12631
12679
|
`${TAXONOMY_BASE_URI}/id/material/nickel`,
|
|
12632
12680
|
"nickel",
|
|
12633
|
-
"Nickel can name a bulk metallic material, an electrodeposited finish, or a ColorScope named
|
|
12681
|
+
"Nickel can name a bulk metallic material, an electrodeposited finish, or a ColorScope named color; the bare word does not select among them.",
|
|
12634
12682
|
crossoverSource("nickel"),
|
|
12635
12683
|
[`${TAXONOMY_BASE_URI}/id/finish/treatment/nickel`]
|
|
12636
12684
|
),
|
|
@@ -12638,63 +12686,63 @@ var AUTHORED_LEXICAL_ENTRIES = [
|
|
|
12638
12686
|
"obsidian",
|
|
12639
12687
|
`${TAXONOMY_BASE_URI}/id/material/obsidian`,
|
|
12640
12688
|
"obsidian",
|
|
12641
|
-
"Obsidian can name volcanic glass or a ColorScope named
|
|
12689
|
+
"Obsidian can name volcanic glass or a ColorScope named color; the material is not necessarily black.",
|
|
12642
12690
|
crossoverSource("obsidian")
|
|
12643
12691
|
),
|
|
12644
12692
|
crossoverAmbiguity(
|
|
12645
12693
|
"onyx",
|
|
12646
12694
|
`${TAXONOMY_BASE_URI}/id/material/onyx`,
|
|
12647
12695
|
"onyx",
|
|
12648
|
-
"Onyx can name commercial architectural stone or a ColorScope named
|
|
12696
|
+
"Onyx can name commercial architectural stone or a ColorScope named color; architectural onyx is not necessarily black.",
|
|
12649
12697
|
crossoverSource("onyx")
|
|
12650
12698
|
),
|
|
12651
12699
|
crossoverAmbiguity(
|
|
12652
12700
|
"pewter",
|
|
12653
12701
|
`${TAXONOMY_BASE_URI}/id/material/pewter`,
|
|
12654
12702
|
"pewter",
|
|
12655
|
-
"Pewter can name a variable tin-alloy family or a ColorScope named
|
|
12703
|
+
"Pewter can name a variable tin-alloy family or a ColorScope named color; composition and appearance remain separate.",
|
|
12656
12704
|
crossoverSource("pewter")
|
|
12657
12705
|
),
|
|
12658
12706
|
crossoverAmbiguity(
|
|
12659
12707
|
"platinum",
|
|
12660
12708
|
`${TAXONOMY_BASE_URI}/id/material/platinum`,
|
|
12661
12709
|
"platinum",
|
|
12662
|
-
"Platinum can name a metal or a ColorScope named
|
|
12710
|
+
"Platinum can name a metal or a ColorScope named color; solid metal, plating, and appearance require separate evidence.",
|
|
12663
12711
|
crossoverSource("platinum")
|
|
12664
12712
|
),
|
|
12665
12713
|
crossoverAmbiguity(
|
|
12666
12714
|
"rosewood",
|
|
12667
12715
|
`${TAXONOMY_BASE_URI}/id/material/rosewood`,
|
|
12668
12716
|
"rosewood",
|
|
12669
|
-
"Rosewood can name traded timber or a ColorScope named
|
|
12717
|
+
"Rosewood can name traded timber or a ColorScope named color; species and appearance remain separate claims.",
|
|
12670
12718
|
crossoverSource("rosewood")
|
|
12671
12719
|
),
|
|
12672
12720
|
crossoverAmbiguity(
|
|
12673
12721
|
"silver",
|
|
12674
12722
|
`${TAXONOMY_BASE_URI}/id/material/silver`,
|
|
12675
12723
|
"silver",
|
|
12676
|
-
"Silver can name the metallic element or a ColorScope named
|
|
12724
|
+
"Silver can name the metallic element or a ColorScope named color; appearance does not establish elemental silver.",
|
|
12677
12725
|
crossoverSource("silver")
|
|
12678
12726
|
),
|
|
12679
12727
|
crossoverAmbiguity(
|
|
12680
12728
|
"slate",
|
|
12681
12729
|
`${TAXONOMY_BASE_URI}/id/material/slate`,
|
|
12682
12730
|
"slate-gray",
|
|
12683
|
-
"Slate can name dimension stone or the ColorScope named
|
|
12684
|
-
`${crossoverSource("slate")}; @instruments/colorscope 9.4.0 offers "slate-blue" (family blue) and "slate-gray" (family gray); "slate-gray" decided, matching the retired "gray-muted-slate"
|
|
12731
|
+
"Slate can name dimension stone or the ColorScope named color Slate Gray; neither meaning implies the other.",
|
|
12732
|
+
`${crossoverSource("slate")}; @instruments/colorscope 9.4.0 offers "slate-blue" (family blue) and "slate-gray" (family gray); "slate-gray" decided, matching the retired "gray-muted-slate" meaning's gray family`
|
|
12685
12733
|
),
|
|
12686
12734
|
crossoverAmbiguity(
|
|
12687
12735
|
"steel",
|
|
12688
12736
|
`${TAXONOMY_BASE_URI}/id/material/steel`,
|
|
12689
12737
|
"steel",
|
|
12690
|
-
"Steel can name an iron-carbon alloy family or a ColorScope named
|
|
12738
|
+
"Steel can name an iron-carbon alloy family or a ColorScope named color; appearance does not identify a steel grade.",
|
|
12691
12739
|
crossoverSource("steel")
|
|
12692
12740
|
),
|
|
12693
12741
|
crossoverAmbiguity(
|
|
12694
12742
|
"stone",
|
|
12695
12743
|
`${TAXONOMY_BASE_URI}/id/material/stone`,
|
|
12696
12744
|
"stone",
|
|
12697
|
-
"Stone can name a specific building material, a retrieval-oriented material family, or a ColorScope named
|
|
12745
|
+
"Stone can name a specific building material, a retrieval-oriented material family, or a ColorScope named color; none is a consumer route.",
|
|
12698
12746
|
crossoverSource("stone"),
|
|
12699
12747
|
[`${TAXONOMY_BASE_URI}/id/material-family/stone`]
|
|
12700
12748
|
),
|
|
@@ -12702,11 +12750,11 @@ var AUTHORED_LEXICAL_ENTRIES = [
|
|
|
12702
12750
|
"terracotta",
|
|
12703
12751
|
`${TAXONOMY_BASE_URI}/id/material/terracotta`,
|
|
12704
12752
|
"terracotta",
|
|
12705
|
-
"Terracotta can name a fired-clay material or a ColorScope named
|
|
12753
|
+
"Terracotta can name a fired-clay material or a ColorScope named color; firing and composition do not establish orange appearance.",
|
|
12706
12754
|
crossoverSource("terracotta")
|
|
12707
12755
|
),
|
|
12708
12756
|
{
|
|
12709
|
-
explanation: "Brick can name fired clay masonry material or a ColorScope named
|
|
12757
|
+
explanation: "Brick can name fired clay masonry material or a ColorScope named color; the material need not be red and the color is not a substance.",
|
|
12710
12758
|
governance: lexicalGovernance(
|
|
12711
12759
|
AMBIGUITY_GOVERNANCE,
|
|
12712
12760
|
{
|
|
@@ -12716,21 +12764,21 @@ var AUTHORED_LEXICAL_ENTRIES = [
|
|
|
12716
12764
|
},
|
|
12717
12765
|
REVIEW_LIFECYCLE
|
|
12718
12766
|
),
|
|
12719
|
-
|
|
12720
|
-
phrase: "brick",
|
|
12721
|
-
readings: [
|
|
12767
|
+
meanings: [
|
|
12722
12768
|
reviewedTaxonomy("material/brick"),
|
|
12723
12769
|
colorScope("brick", NAMED_COLOR_REFERENCE_KIND)
|
|
12724
|
-
]
|
|
12770
|
+
],
|
|
12771
|
+
outcome: "ambiguous",
|
|
12772
|
+
phrase: "brick"
|
|
12725
12773
|
},
|
|
12726
|
-
//
|
|
12727
|
-
// ColorScope names on 2026-09-22. No retrieval evidence orders either
|
|
12728
|
-
// both without a default or a
|
|
12774
|
+
// Color-material crossovers found by comparing every material label with the installed
|
|
12775
|
+
// ColorScope names on 2026-09-22. No retrieval evidence orders either meaning, so each keeps
|
|
12776
|
+
// both without a default or a meaningPriority, as brick does.
|
|
12729
12777
|
referencedCrossover(
|
|
12730
12778
|
"porcelain",
|
|
12731
12779
|
"material/porcelain",
|
|
12732
12780
|
"porcelain",
|
|
12733
|
-
"Porcelain can name a vitrified ceramic body or a ColorScope named
|
|
12781
|
+
"Porcelain can name a vitrified ceramic body or a ColorScope named color; the color does not establish the body.",
|
|
12734
12782
|
"ISO 13006:2018; ANSI A137.1",
|
|
12735
12783
|
PUBLISHED_V1_BASELINE
|
|
12736
12784
|
),
|
|
@@ -12738,7 +12786,7 @@ var AUTHORED_LEXICAL_ENTRIES = [
|
|
|
12738
12786
|
"sand",
|
|
12739
12787
|
"material/sand",
|
|
12740
12788
|
"sand",
|
|
12741
|
-
"Sand can name loose mineral grains, a ColorScope named
|
|
12789
|
+
"Sand can name loose mineral grains, a ColorScope named color, or the beige color family ColorScope lists it under; none implies another.",
|
|
12742
12790
|
"ISO 14688-1:2017",
|
|
12743
12791
|
PUBLISHED_V1_BASELINE,
|
|
12744
12792
|
[colorScope("beige", COLOR_FAMILY_REFERENCE_KIND)]
|
|
@@ -12747,223 +12795,223 @@ var AUTHORED_LEXICAL_ENTRIES = [
|
|
|
12747
12795
|
"camel",
|
|
12748
12796
|
"material/camel-hair",
|
|
12749
12797
|
"camel",
|
|
12750
|
-
"Camel can name hair from a camel or a ColorScope named
|
|
12798
|
+
"Camel can name hair from a camel or a ColorScope named color; the fibre need not be that color.",
|
|
12751
12799
|
"Regulation (EU) No 1007/2011 Annex I row 2"
|
|
12752
12800
|
),
|
|
12753
12801
|
referencedCrossover(
|
|
12754
12802
|
"ash",
|
|
12755
12803
|
"material/ash",
|
|
12756
12804
|
"ash",
|
|
12757
|
-
"Ash can name timber of the genus Fraxinus or the ColorScope named
|
|
12758
|
-
`USDA Wood Handbook (2021), chapter 2; @instruments/colorscope 9.4.0 id "ash", family gray, matching the retired "gray-light-ash-gray"
|
|
12805
|
+
"Ash can name timber of the genus Fraxinus or the ColorScope named color Ash; neither meaning implies the other.",
|
|
12806
|
+
`USDA Wood Handbook (2021), chapter 2; @instruments/colorscope 9.4.0 id "ash", family gray, matching the retired "gray-light-ash-gray" meaning's gray family`
|
|
12759
12807
|
),
|
|
12760
12808
|
referencedCrossover(
|
|
12761
12809
|
"eucalyptus",
|
|
12762
12810
|
"material/eucalyptus",
|
|
12763
12811
|
"eucalyptus",
|
|
12764
|
-
"Eucalyptus can name timber of the genus Eucalyptus or a ColorScope named
|
|
12812
|
+
"Eucalyptus can name timber of the genus Eucalyptus or a ColorScope named color; neither meaning implies the other.",
|
|
12765
12813
|
"EN 13556:2003"
|
|
12766
12814
|
),
|
|
12767
12815
|
referencedCrossover(
|
|
12768
12816
|
"pine",
|
|
12769
12817
|
"material/pine",
|
|
12770
12818
|
"pine-green",
|
|
12771
|
-
"Pine can name timber of the genus Pinus or the ColorScope named
|
|
12772
|
-
`USDA Wood Handbook (2021), chapter 2; @instruments/colorscope 9.4.0 has no flat "pine" id, so id "pine-green" (family green), matching the retired "green-deep-pine"
|
|
12819
|
+
"Pine can name timber of the genus Pinus or the ColorScope named color Pine Green; neither meaning implies the other.",
|
|
12820
|
+
`USDA Wood Handbook (2021), chapter 2; @instruments/colorscope 9.4.0 has no flat "pine" id, so id "pine-green" (family green), matching the retired "green-deep-pine" meaning's green family`
|
|
12773
12821
|
),
|
|
12774
12822
|
// ColorScope 9.4.0 crossovers, found by re-running the 2026-09-22 comparison against the
|
|
12775
12823
|
// installed 9.4.0 release. `chromium` reads against ColorScope's own alias, not a separate
|
|
12776
|
-
//
|
|
12777
|
-
// with `chrome`'s identity, not with a
|
|
12778
|
-
// `chrome` itself, whose two taxonomy
|
|
12824
|
+
// color: 9.4.0's `chrome` color carries the alias "Chromium", so the material label collides
|
|
12825
|
+
// with `chrome`'s identity, not with a color named `chromium`. It is a different phrase from
|
|
12826
|
+
// `chrome` itself, whose two taxonomy meanings (a finish and a material) are unrelated to
|
|
12779
12827
|
// `material/chromium`.
|
|
12780
12828
|
colorscope940Crossover(
|
|
12781
12829
|
"granite",
|
|
12782
12830
|
"material/granite",
|
|
12783
12831
|
"granite",
|
|
12784
|
-
"Granite can name the quarried igneous rock or the ColorScope named
|
|
12832
|
+
"Granite can name the quarried igneous rock or the ColorScope named color Granite; neither meaning implies the other.",
|
|
12785
12833
|
"Wikidata Q41177 granite, https://www.wikidata.org/wiki/Q41177"
|
|
12786
12834
|
),
|
|
12787
12835
|
colorscope940Crossover(
|
|
12788
12836
|
"sandstone",
|
|
12789
12837
|
"material/sandstone",
|
|
12790
12838
|
"sandstone",
|
|
12791
|
-
"Sandstone can name the quarried sedimentary rock or the ColorScope named
|
|
12839
|
+
"Sandstone can name the quarried sedimentary rock or the ColorScope named color Sandstone; neither meaning implies the other.",
|
|
12792
12840
|
"Wikidata Q13085 sandstone, https://www.wikidata.org/wiki/Q13085"
|
|
12793
12841
|
),
|
|
12794
12842
|
colorscope940Crossover(
|
|
12795
12843
|
"basalt",
|
|
12796
12844
|
"material/basalt",
|
|
12797
12845
|
"basalt",
|
|
12798
|
-
"Basalt can name the quarried volcanic rock or the ColorScope named
|
|
12846
|
+
"Basalt can name the quarried volcanic rock or the ColorScope named color Basalt; neither meaning implies the other.",
|
|
12799
12847
|
"Wikidata Q43338 basalt, https://www.wikidata.org/wiki/Q43338"
|
|
12800
12848
|
),
|
|
12801
12849
|
colorscope940Crossover(
|
|
12802
12850
|
"soapstone",
|
|
12803
12851
|
"material/soapstone",
|
|
12804
12852
|
"soapstone",
|
|
12805
|
-
"Soapstone can name the quarried talc-rich rock or the ColorScope named
|
|
12853
|
+
"Soapstone can name the quarried talc-rich rock or the ColorScope named color Soapstone; neither meaning implies the other.",
|
|
12806
12854
|
"Wikidata Q707896 soapstone, https://www.wikidata.org/wiki/Q707896"
|
|
12807
12855
|
),
|
|
12808
12856
|
colorscope940Crossover(
|
|
12809
12857
|
"hemp",
|
|
12810
12858
|
"material/hemp",
|
|
12811
12859
|
"hemp",
|
|
12812
|
-
"Hemp can name the Cannabis sativa bast fibre or the ColorScope named
|
|
12860
|
+
"Hemp can name the Cannabis sativa bast fibre or the ColorScope named color Hemp; neither meaning implies the other.",
|
|
12813
12861
|
"Wikidata Q13414920 hemp fiber, https://www.wikidata.org/wiki/Q13414920"
|
|
12814
12862
|
),
|
|
12815
12863
|
colorscope940Crossover(
|
|
12816
12864
|
"rattan",
|
|
12817
12865
|
"material/rattan",
|
|
12818
12866
|
"rattan",
|
|
12819
|
-
"Rattan can name the climbing-palm stem material or the ColorScope named
|
|
12867
|
+
"Rattan can name the climbing-palm stem material or the ColorScope named color Rattan; neither meaning implies the other.",
|
|
12820
12868
|
"Wikidata Q323021 rattan, https://www.wikidata.org/wiki/Q323021"
|
|
12821
12869
|
),
|
|
12822
12870
|
colorscope940Crossover(
|
|
12823
12871
|
"gypsum",
|
|
12824
12872
|
"material/gypsum",
|
|
12825
12873
|
"gypsum",
|
|
12826
|
-
"Gypsum can name the mineral calcium sulfate dihydrate or the ColorScope named
|
|
12874
|
+
"Gypsum can name the mineral calcium sulfate dihydrate or the ColorScope named color Gypsum; neither meaning implies the other.",
|
|
12827
12875
|
"EN 13279-1:2008"
|
|
12828
12876
|
),
|
|
12829
12877
|
colorscope940Crossover(
|
|
12830
12878
|
"cement",
|
|
12831
12879
|
"material/cement",
|
|
12832
12880
|
"cement",
|
|
12833
|
-
"Cement can name the hydraulic binder or the ColorScope named
|
|
12881
|
+
"Cement can name the hydraulic binder or the ColorScope named color Cement; neither meaning implies the other.",
|
|
12834
12882
|
"EN 197-1:2011"
|
|
12835
12883
|
),
|
|
12836
12884
|
colorscope940Crossover(
|
|
12837
12885
|
"carbon black",
|
|
12838
12886
|
"material/carbon-black",
|
|
12839
12887
|
"carbon-black",
|
|
12840
|
-
"Carbon black can name the pigment and reinforcing filler or the ColorScope named
|
|
12888
|
+
"Carbon black can name the pigment and reinforcing filler or the ColorScope named color Carbon Black; neither meaning implies the other.",
|
|
12841
12889
|
"CAS Registry 1333-86-4"
|
|
12842
12890
|
),
|
|
12843
12891
|
colorscope940Crossover(
|
|
12844
12892
|
"titanium white",
|
|
12845
12893
|
"material/titanium-dioxide",
|
|
12846
12894
|
"titanium-white",
|
|
12847
|
-
"Titanium white can name the titanium dioxide pigment or the ColorScope named
|
|
12895
|
+
"Titanium white can name the titanium dioxide pigment or the ColorScope named color Titanium White; neither meaning implies the other.",
|
|
12848
12896
|
"CAS Registry 13463-67-7"
|
|
12849
12897
|
),
|
|
12850
12898
|
colorscope940Crossover(
|
|
12851
12899
|
"chromium",
|
|
12852
12900
|
"material/chromium",
|
|
12853
12901
|
"chrome",
|
|
12854
|
-
'Chromium can name the metallic element or the ColorScope named
|
|
12902
|
+
'Chromium can name the metallic element or the ColorScope named color Chrome, of which "Chromium" is an alias; neither meaning implies the other.',
|
|
12855
12903
|
"CAS Registry 7440-47-3"
|
|
12856
12904
|
),
|
|
12857
12905
|
// `shell` and `seashell` are one material term (`material/shell`) with two label forms, and
|
|
12858
|
-
// 9.4.0 gives each its own, different
|
|
12859
|
-
// the separate
|
|
12860
|
-
// different
|
|
12906
|
+
// 9.4.0 gives each its own, different color: `shell` collides with Shell Pink, `seashell` with
|
|
12907
|
+
// the separate color Seashell. Two phrases, not one, because the two labels now resolve to two
|
|
12908
|
+
// different colors.
|
|
12861
12909
|
colorscope940Crossover(
|
|
12862
12910
|
"shell",
|
|
12863
12911
|
"material/shell",
|
|
12864
12912
|
"shell-pink",
|
|
12865
|
-
"Shell can name the mollusc-shell material or the ColorScope named
|
|
12913
|
+
"Shell can name the mollusc-shell material or the ColorScope named color Shell Pink; neither meaning implies the other.",
|
|
12866
12914
|
"Wikidata Q213096 seashell, https://www.wikidata.org/wiki/Q213096"
|
|
12867
12915
|
),
|
|
12868
12916
|
colorscope940Crossover(
|
|
12869
12917
|
"seashell",
|
|
12870
12918
|
"material/shell",
|
|
12871
12919
|
"seashell",
|
|
12872
|
-
"Seashell can name the mollusc-shell material or the ColorScope named
|
|
12920
|
+
"Seashell can name the mollusc-shell material or the ColorScope named color Seashell; neither meaning implies the other.",
|
|
12873
12921
|
"Wikidata Q213096 seashell, https://www.wikidata.org/wiki/Q213096"
|
|
12874
12922
|
),
|
|
12875
12923
|
colorscope940Crossover(
|
|
12876
12924
|
"cashmere",
|
|
12877
12925
|
"material/cashmere",
|
|
12878
12926
|
"cashmere",
|
|
12879
|
-
"Cashmere can name the goat-hair fibre or the ColorScope named
|
|
12927
|
+
"Cashmere can name the goat-hair fibre or the ColorScope named color Cashmere; neither meaning implies the other.",
|
|
12880
12928
|
"Regulation (EU) No 1007/2011 Annex I row 2"
|
|
12881
12929
|
),
|
|
12882
12930
|
colorscope940Crossover(
|
|
12883
12931
|
"hickory",
|
|
12884
12932
|
"material/hickory",
|
|
12885
12933
|
"hickory",
|
|
12886
|
-
"Hickory can name timber of the genus Carya or the ColorScope named
|
|
12934
|
+
"Hickory can name timber of the genus Carya or the ColorScope named color Hickory; neither meaning implies the other.",
|
|
12887
12935
|
WOOD_HANDBOOK5
|
|
12888
12936
|
),
|
|
12889
12937
|
colorscope940Crossover(
|
|
12890
12938
|
"pear",
|
|
12891
12939
|
"material/pear",
|
|
12892
12940
|
"pear",
|
|
12893
|
-
"Pear can name timber of Pyrus communis or the ColorScope named
|
|
12941
|
+
"Pear can name timber of Pyrus communis or the ColorScope named color Pear; neither meaning implies the other.",
|
|
12894
12942
|
WOOD_HANDBOOK5
|
|
12895
12943
|
),
|
|
12896
12944
|
colorscope940Crossover(
|
|
12897
12945
|
"pecan",
|
|
12898
12946
|
"material/carya-illinoinensis",
|
|
12899
12947
|
"pecan",
|
|
12900
|
-
"Pecan can name timber of Carya illinoinensis or the ColorScope named
|
|
12948
|
+
"Pecan can name timber of Carya illinoinensis or the ColorScope named color Pecan; neither meaning implies the other.",
|
|
12901
12949
|
WOOD_HANDBOOK5
|
|
12902
12950
|
),
|
|
12903
12951
|
colorscope940Crossover(
|
|
12904
12952
|
"cedar",
|
|
12905
12953
|
"material/cedar",
|
|
12906
12954
|
"cedar",
|
|
12907
|
-
"Cedar can name softwood traded as cedar or the ColorScope named
|
|
12955
|
+
"Cedar can name softwood traded as cedar or the ColorScope named color Cedar; neither meaning implies the other.",
|
|
12908
12956
|
WOOD_HANDBOOK5
|
|
12909
12957
|
),
|
|
12910
12958
|
colorscope940Crossover(
|
|
12911
12959
|
"redwood",
|
|
12912
12960
|
"material/redwood",
|
|
12913
12961
|
"redwood",
|
|
12914
|
-
"Redwood can name timber of Sequoia sempervirens or the ColorScope named
|
|
12962
|
+
"Redwood can name timber of Sequoia sempervirens or the ColorScope named color Redwood; neither meaning implies the other.",
|
|
12915
12963
|
WOOD_HANDBOOK5
|
|
12916
12964
|
),
|
|
12917
12965
|
// Quartz and melamine each name two materials in one word, and the trade uses the word for one
|
|
12918
12966
|
// of them first: `quartz` is the engineered surfacing before the mineral, `melamine` the faced
|
|
12919
|
-
// board before the resin. Both
|
|
12920
|
-
// and a
|
|
12967
|
+
// board before the resin. Both meanings are on the material axis, so the ordering is a default
|
|
12968
|
+
// and a meaningPriority, never a color-or-material context. Decided 2026-09-22 and recorded in ADR 0007.
|
|
12921
12969
|
//
|
|
12922
12970
|
// The evidence, read from the consumer's stored material values on 2026-09-22 and kept here
|
|
12923
12971
|
// because a count is not ours to publish: of 1,490 stored quartz rows, 801 sat on large-format
|
|
12924
12972
|
// slab, 102 on solid surface and 98 on natural stone; of 2,816 stored melamine rows, 2,650 sat on
|
|
12925
12973
|
// laminate surface.
|
|
12926
12974
|
{
|
|
12927
|
-
|
|
12975
|
+
defaultMeaning: ENGINEERED_QUARTZ_SURFACING,
|
|
12928
12976
|
explanation: "Quartz can name the engineered quartz surfacing sold for worktops or the mineral silicon dioxide; the trade means the surfacing first, and neither is a child of the other.",
|
|
12929
12977
|
governance: lexicalGovernance(
|
|
12930
|
-
|
|
12978
|
+
MEANING_PRIORITY_GOVERNANCE,
|
|
12931
12979
|
{
|
|
12932
12980
|
basis: "evidenced",
|
|
12933
12981
|
snapshot: HIERARCHY_REVIEW_DATE,
|
|
12934
|
-
source: `${
|
|
12982
|
+
source: `${MEANING_PRIORITY_EVIDENCE}, quartz rows by product type; EN 14618 and EN 15285 (agglomerated stone); CAS 14808-60-7 (quartz)`
|
|
12935
12983
|
},
|
|
12936
12984
|
HIERARCHY_REVIEW_LIFECYCLE
|
|
12937
12985
|
),
|
|
12986
|
+
meanings: [ENGINEERED_QUARTZ_SURFACING, QUARTZ_MINERAL],
|
|
12938
12987
|
outcome: "ambiguous",
|
|
12939
|
-
phrase: "quartz"
|
|
12940
|
-
readings: [ENGINEERED_QUARTZ_SURFACING, QUARTZ_MINERAL]
|
|
12988
|
+
phrase: "quartz"
|
|
12941
12989
|
},
|
|
12942
12990
|
{
|
|
12943
|
-
|
|
12991
|
+
defaultMeaning: MELAMINE_BOARD,
|
|
12944
12992
|
explanation: "Melamine can name melamine-faced board, the panel, or melamine-formaldehyde resin, the polymer its facing is made of; joinery and retail mean the board first.",
|
|
12945
12993
|
governance: lexicalGovernance(
|
|
12946
|
-
|
|
12994
|
+
MEANING_PRIORITY_GOVERNANCE,
|
|
12947
12995
|
{
|
|
12948
12996
|
basis: "evidenced",
|
|
12949
12997
|
snapshot: HIERARCHY_REVIEW_DATE,
|
|
12950
|
-
source: `${
|
|
12998
|
+
source: `${MEANING_PRIORITY_EVIDENCE}, melamine rows by product type; EN 14322 (melamine faced boards); ISO 1043-1 MF (melamine-formaldehyde resin)`
|
|
12951
12999
|
},
|
|
12952
13000
|
HIERARCHY_REVIEW_LIFECYCLE
|
|
12953
13001
|
),
|
|
13002
|
+
meanings: [MELAMINE_BOARD, MELAMINE_RESIN],
|
|
12954
13003
|
outcome: "ambiguous",
|
|
12955
|
-
phrase: "melamine"
|
|
12956
|
-
readings: [MELAMINE_BOARD, MELAMINE_RESIN]
|
|
13004
|
+
phrase: "melamine"
|
|
12957
13005
|
},
|
|
12958
|
-
// Plaster: one governed material
|
|
13006
|
+
// Plaster: one governed material meaning here. ColorScope separately lists `plaster` as an
|
|
12959
13007
|
// alias of its Light Taupe tone band, and a tone band has no reference kind in this corpus, so
|
|
12960
|
-
// the
|
|
12961
|
-
// publish the domain
|
|
13008
|
+
// the color meaning cannot be a target without inventing one. The mosaic precedent applies:
|
|
13009
|
+
// publish the domain meaning and say that consumers must union the external color alias. If a
|
|
12962
13010
|
// tone-band reference kind is added, rewrite this as an ambiguity.
|
|
12963
13011
|
{
|
|
12964
|
-
explanation: "Plaster has one governed material
|
|
13012
|
+
explanation: "Plaster has one governed material meaning in this corpus. ColorScope separately lists plaster as an alias of its Light Taupe tone band; consumers must union that external color meaning with this one rather than let either shadow the other.",
|
|
12965
13013
|
governance: lexicalGovernance(
|
|
12966
|
-
"Taxonomy records the referenced material
|
|
13014
|
+
"Taxonomy records the referenced material meaning without assigning a consumer route; the ColorScope tone-band alias has no reference kind in this corpus and is declared rather than minted.",
|
|
12967
13015
|
{
|
|
12968
13016
|
basis: "referenced",
|
|
12969
13017
|
snapshot: REVIEW_DATE12,
|
|
@@ -12979,7 +13027,7 @@ var AUTHORED_LEXICAL_ENTRIES = [
|
|
|
12979
13027
|
"cotton",
|
|
12980
13028
|
`${TAXONOMY_BASE_URI}/id/material/cotton`,
|
|
12981
13029
|
"cotton",
|
|
12982
|
-
"Cotton can name the plant fibre or the ColorScope named
|
|
13030
|
+
"Cotton can name the plant fibre or the ColorScope named color Cotton; fibre identity does not establish weave, blend, dye, or finish, and neither meaning implies the other.",
|
|
12983
13031
|
crossoverSource("cotton")
|
|
12984
13032
|
),
|
|
12985
13033
|
crossoverTaxonomyAmbiguity(
|
|
@@ -12988,7 +13036,7 @@ var AUTHORED_LEXICAL_ENTRIES = [
|
|
|
12988
13036
|
`${TAXONOMY_BASE_URI}/id/material-family/leather`,
|
|
12989
13037
|
`${TAXONOMY_BASE_URI}/id/material/leather`
|
|
12990
13038
|
],
|
|
12991
|
-
"Leather names both a retrieval-oriented material family and a specific hide-derived material; neither
|
|
13039
|
+
"Leather names both a retrieval-oriented material family and a specific hide-derived material; neither meaning establishes animal, layer, tanning, coating, or finish, and ColorScope 7.3 has no exact named-color identity.",
|
|
12992
13040
|
crossoverSource("leather")
|
|
12993
13041
|
),
|
|
12994
13042
|
crossoverTaxonomyAmbiguity(
|
|
@@ -12997,46 +13045,46 @@ var AUTHORED_LEXICAL_ENTRIES = [
|
|
|
12997
13045
|
`${TAXONOMY_BASE_URI}/id/material-family/wood`,
|
|
12998
13046
|
`${TAXONOMY_BASE_URI}/id/material/wood`
|
|
12999
13047
|
],
|
|
13000
|
-
"Wood names both a retrieval-oriented material family and a specific lignocellulosic material; neither
|
|
13048
|
+
"Wood names both a retrieval-oriented material family and a specific lignocellulosic material; neither meaning establishes species, construction, stain, oil, or coating, and ColorScope 7.3 has no exact named-color identity.",
|
|
13001
13049
|
crossoverSource("wood")
|
|
13002
13050
|
),
|
|
13003
13051
|
crossoverAmbiguity(
|
|
13004
13052
|
"jute",
|
|
13005
13053
|
`${TAXONOMY_BASE_URI}/id/material/jute`,
|
|
13006
13054
|
"jute",
|
|
13007
|
-
"Jute can name the plant bast fibre or the ColorScope named
|
|
13055
|
+
"Jute can name the plant bast fibre or the ColorScope named color Jute; construction, blend, treatment, and color remain unspecified, and neither meaning implies the other.",
|
|
13008
13056
|
crossoverSource("jute")
|
|
13009
13057
|
),
|
|
13010
13058
|
crossoverAmbiguity(
|
|
13011
13059
|
"sisal",
|
|
13012
13060
|
`${TAXONOMY_BASE_URI}/id/material/sisal`,
|
|
13013
13061
|
"sisal",
|
|
13014
|
-
"Sisal can name the plant fibre or the ColorScope named
|
|
13062
|
+
"Sisal can name the plant fibre or the ColorScope named color Sisal; fibre and products made from it remain distinct, and neither meaning implies the other.",
|
|
13015
13063
|
crossoverSource("sisal")
|
|
13016
13064
|
),
|
|
13017
13065
|
crossoverEquivalent(
|
|
13018
13066
|
"cork",
|
|
13019
13067
|
`${TAXONOMY_BASE_URI}/id/material/cork`,
|
|
13020
|
-
"Cork has one governed material
|
|
13068
|
+
"Cork has one governed material meaning in this corpus; natural cork, agglomerate, backing, veneer, and cork-look appearance remain distinct, and ColorScope 7.3 has no exact named-color identity.",
|
|
13021
13069
|
crossoverSource("cork")
|
|
13022
13070
|
),
|
|
13023
13071
|
crossoverEquivalent(
|
|
13024
13072
|
"wool",
|
|
13025
13073
|
`${TAXONOMY_BASE_URI}/id/material/wool`,
|
|
13026
|
-
"Wool has one governed material
|
|
13074
|
+
"Wool has one governed material meaning in this corpus; species, grade, blend, construction, and finish remain unspecified, and ColorScope 7.3 has no exact named-color identity.",
|
|
13027
13075
|
crossoverSource("wool")
|
|
13028
13076
|
),
|
|
13029
13077
|
crossoverEquivalent(
|
|
13030
13078
|
"suede",
|
|
13031
13079
|
`${TAXONOMY_BASE_URI}/id/material/suede`,
|
|
13032
|
-
"Suede has one governed leather-material
|
|
13080
|
+
"Suede has one governed leather-material meaning in this corpus; it does not establish a suede-look finish on another substrate, and ColorScope 7.3 has no exact named-color identity.",
|
|
13033
13081
|
crossoverSource("suede")
|
|
13034
13082
|
),
|
|
13035
13083
|
crossoverAmbiguity(
|
|
13036
13084
|
"concrete",
|
|
13037
13085
|
`${TAXONOMY_BASE_URI}/id/material-family/concrete`,
|
|
13038
13086
|
"concrete",
|
|
13039
|
-
"Concrete names both a retrieval-oriented material family and a specific cement-and-aggregate composite, or the ColorScope named
|
|
13087
|
+
"Concrete names both a retrieval-oriented material family and a specific cement-and-aggregate composite, or the ColorScope named color Concrete; neither meaning establishes mix, reinforcement, coating, polish, or imitation, and none implies another.",
|
|
13040
13088
|
crossoverSource("concrete"),
|
|
13041
13089
|
[`${TAXONOMY_BASE_URI}/id/material/concrete`]
|
|
13042
13090
|
),
|
|
@@ -13044,22 +13092,22 @@ var AUTHORED_LEXICAL_ENTRIES = [
|
|
|
13044
13092
|
"travertine",
|
|
13045
13093
|
`${TAXONOMY_BASE_URI}/id/material/travertine`,
|
|
13046
13094
|
"travertine",
|
|
13047
|
-
"Travertine can name the dimension stone or the ColorScope named
|
|
13095
|
+
"Travertine can name the dimension stone or the ColorScope named color Travertine; quarry, grade, fill, cut, and surface treatment remain unspecified, and neither meaning implies the other.",
|
|
13048
13096
|
crossoverSource("travertine")
|
|
13049
13097
|
),
|
|
13050
13098
|
crossoverEquivalent(
|
|
13051
13099
|
"marble",
|
|
13052
13100
|
`${TAXONOMY_BASE_URI}/id/material/marble`,
|
|
13053
|
-
"Marble has one governed commercial dimension-stone
|
|
13101
|
+
"Marble has one governed commercial dimension-stone meaning in this corpus; its scientific and commercial boundaries remain explicit, and ColorScope 7.3 has no exact named-color identity.",
|
|
13054
13102
|
crossoverSource("marble")
|
|
13055
13103
|
),
|
|
13056
13104
|
{
|
|
13057
13105
|
// Written inline rather than through `crossoverAmbiguity`, which stamps a fixed evidenced
|
|
13058
13106
|
// snapshot: limestone was introduced later than the rest of this batch (2026-09-01, ADR-dated)
|
|
13059
|
-
// and keeps that date now that ColorScope 9.4.0 gives it a
|
|
13060
|
-
explanation: "Limestone can name the carbonate stone or the ColorScope named
|
|
13107
|
+
// and keeps that date now that ColorScope 9.4.0 gives it a color meaning too.
|
|
13108
|
+
explanation: "Limestone can name the carbonate stone or the ColorScope named color Limestone; formation, quarry, grade, cut, finish, and similarly named paint identities remain separate, and neither meaning implies the other.",
|
|
13061
13109
|
governance: lexicalGovernance(
|
|
13062
|
-
"Taxonomy preserves the evidenced
|
|
13110
|
+
"Taxonomy preserves the evidenced meanings without assigning a default, meaning priority, contextual preference, or consumer route.",
|
|
13063
13111
|
{
|
|
13064
13112
|
basis: "evidenced",
|
|
13065
13113
|
snapshot: LIMESTONE_INTRODUCED,
|
|
@@ -13071,48 +13119,48 @@ var AUTHORED_LEXICAL_ENTRIES = [
|
|
|
13071
13119
|
status: "active"
|
|
13072
13120
|
}
|
|
13073
13121
|
),
|
|
13074
|
-
|
|
13075
|
-
phrase: "limestone",
|
|
13076
|
-
readings: [
|
|
13122
|
+
meanings: [
|
|
13077
13123
|
{
|
|
13078
13124
|
authority: "taxonomy",
|
|
13079
13125
|
uri: `${TAXONOMY_BASE_URI}/id/material/limestone`
|
|
13080
13126
|
},
|
|
13081
13127
|
colorScope("limestone", NAMED_COLOR_REFERENCE_KIND)
|
|
13082
|
-
]
|
|
13128
|
+
],
|
|
13129
|
+
outcome: "ambiguous",
|
|
13130
|
+
phrase: "limestone"
|
|
13083
13131
|
},
|
|
13084
13132
|
crossoverAmbiguity(
|
|
13085
13133
|
"oak",
|
|
13086
13134
|
`${TAXONOMY_BASE_URI}/id/material/oak`,
|
|
13087
13135
|
"oak",
|
|
13088
|
-
"Oak can name the timber species group or the ColorScope named
|
|
13136
|
+
"Oak can name the timber species group or the ColorScope named color Oak; species group, cut, stain, coating, and appearance remain distinct, and neither meaning implies the other.",
|
|
13089
13137
|
crossoverSource("oak")
|
|
13090
13138
|
),
|
|
13091
13139
|
crossoverAmbiguity(
|
|
13092
13140
|
"teak",
|
|
13093
13141
|
`${TAXONOMY_BASE_URI}/id/material/teak`,
|
|
13094
13142
|
"teak",
|
|
13095
|
-
"Teak can name the timber or the ColorScope named
|
|
13143
|
+
"Teak can name the timber or the ColorScope named color Teak; timber, finish, and color remain distinct, and neither meaning implies the other.",
|
|
13096
13144
|
crossoverSource("teak")
|
|
13097
13145
|
),
|
|
13098
13146
|
{
|
|
13099
13147
|
contextualPreferences: [
|
|
13100
13148
|
{ context: "material", target: WALNUT_MATERIAL },
|
|
13101
|
-
{ context: "
|
|
13149
|
+
{ context: "color", target: WALNUT_COLOUR }
|
|
13102
13150
|
],
|
|
13103
|
-
|
|
13104
|
-
explanation: "Walnut can name wood from Juglans trees or a brown
|
|
13151
|
+
defaultMeaning: WALNUT_MATERIAL,
|
|
13152
|
+
explanation: "Walnut can name wood from Juglans trees or a brown color meaning. Neither meaning is a child of the other.",
|
|
13105
13153
|
governance: lexicalGovernance(
|
|
13106
|
-
"The two
|
|
13154
|
+
"The two meanings are deliberately separate and context may select only the preference declared here.",
|
|
13107
13155
|
{
|
|
13108
13156
|
basis: "evidenced",
|
|
13109
13157
|
snapshot: PUBLISHED_V1_BASELINE,
|
|
13110
13158
|
source: crossoverSource("walnut")
|
|
13111
13159
|
}
|
|
13112
13160
|
),
|
|
13161
|
+
meanings: [WALNUT_MATERIAL, WALNUT_COLOUR],
|
|
13113
13162
|
outcome: "ambiguous",
|
|
13114
|
-
phrase: "walnut"
|
|
13115
|
-
readings: [WALNUT_MATERIAL, WALNUT_COLOUR]
|
|
13163
|
+
phrase: "walnut"
|
|
13116
13164
|
},
|
|
13117
13165
|
// `application.wall-backsplash` is vendored in `dictionaries.ts`, whose tests deep-equal the
|
|
13118
13166
|
// authoring tuples, so the British spelling is an authored equivalent rather than an altLabel.
|
|
@@ -13127,7 +13175,7 @@ var AUTHORED_LEXICAL_ENTRIES = [
|
|
|
13127
13175
|
phrase: "splashback",
|
|
13128
13176
|
target: reviewedTaxonomy("application/wall-backsplash")
|
|
13129
13177
|
},
|
|
13130
|
-
// Benchtop takes the same three
|
|
13178
|
+
// Benchtop takes the same three meanings `countertop` resolves to by inference.
|
|
13131
13179
|
{
|
|
13132
13180
|
explanation: "Benchtop is the Australian and New Zealand name for a countertop or worktop; like those words it can name the application, the installed joinery element, or the purchasable product, and the word settles none of them.",
|
|
13133
13181
|
governance: lexicalGovernance(
|
|
@@ -13135,50 +13183,50 @@ var AUTHORED_LEXICAL_ENTRIES = [
|
|
|
13135
13183
|
{ basis: "authored", source: REVIEW_SOURCE9 },
|
|
13136
13184
|
REVIEW_LIFECYCLE
|
|
13137
13185
|
),
|
|
13138
|
-
|
|
13139
|
-
phrase: "benchtop",
|
|
13140
|
-
readings: [
|
|
13186
|
+
meanings: [
|
|
13141
13187
|
reviewedTaxonomy("application/countertop"),
|
|
13142
13188
|
reviewedTaxonomy("element/worktop"),
|
|
13143
13189
|
reviewedTaxonomy("product-category/countertop")
|
|
13144
|
-
]
|
|
13190
|
+
],
|
|
13191
|
+
outcome: "ambiguous",
|
|
13192
|
+
phrase: "benchtop"
|
|
13145
13193
|
},
|
|
13146
13194
|
// TAX-57 unit-shape compounds. Each names two governed shapes in one phrase, which the current
|
|
13147
|
-
// lexical contract cannot express as a single multi-target
|
|
13195
|
+
// lexical contract cannot express as a single multi-target meaning, so the alternatives are kept
|
|
13148
13196
|
// as an explicit ambiguity or, where one alternative is already an alt label of the other, an
|
|
13149
13197
|
// equivalent - never a silently chosen shape. "round & oval" is an equivalent of the broad
|
|
13150
13198
|
// `round-or-oval` term, which says exactly that a unit is round or oval without choosing (ADR 0012).
|
|
13151
13199
|
{
|
|
13152
|
-
|
|
13200
|
+
defaultMeaning: {
|
|
13153
13201
|
authority: "taxonomy",
|
|
13154
|
-
|
|
13202
|
+
meaningPriority: "primary",
|
|
13155
13203
|
uri: `${TAXONOMY_BASE_URI}/id/unit-shape/arabesque`
|
|
13156
13204
|
},
|
|
13157
13205
|
explanation: "Arabesque can name the taxonomy's bilaterally organised ornamental unit shape or, in Material Bank PIM usage, the star and cross units of a Moroccan tile assortment; the bare word does not settle which.",
|
|
13158
13206
|
governance: lexicalGovernance(
|
|
13159
|
-
"The default records the taxonomy's own governed shape; the PIM-evidenced star and cross
|
|
13207
|
+
"The default records the taxonomy's own governed shape; the PIM-evidenced star and cross meanings are recorded as secondary rather than merged into one multi-concept meaning.",
|
|
13160
13208
|
{ basis: "evidenced", snapshot: TAX57_DATE4, source: TAX57_SHAPE_SOURCE },
|
|
13161
13209
|
TAX57_LIFECYCLE
|
|
13162
13210
|
),
|
|
13163
|
-
|
|
13164
|
-
phrase: "arabesque",
|
|
13165
|
-
readings: [
|
|
13211
|
+
meanings: [
|
|
13166
13212
|
{
|
|
13167
13213
|
authority: "taxonomy",
|
|
13168
|
-
|
|
13214
|
+
meaningPriority: "primary",
|
|
13169
13215
|
uri: `${TAXONOMY_BASE_URI}/id/unit-shape/arabesque`
|
|
13170
13216
|
},
|
|
13171
13217
|
{
|
|
13172
13218
|
authority: "taxonomy",
|
|
13173
|
-
|
|
13219
|
+
meaningPriority: "secondary",
|
|
13174
13220
|
uri: `${TAXONOMY_BASE_URI}/id/unit-shape/star`
|
|
13175
13221
|
},
|
|
13176
13222
|
{
|
|
13177
13223
|
authority: "taxonomy",
|
|
13178
|
-
|
|
13224
|
+
meaningPriority: "secondary",
|
|
13179
13225
|
uri: `${TAXONOMY_BASE_URI}/id/unit-shape/cross`
|
|
13180
13226
|
}
|
|
13181
|
-
]
|
|
13227
|
+
],
|
|
13228
|
+
outcome: "ambiguous",
|
|
13229
|
+
phrase: "arabesque"
|
|
13182
13230
|
},
|
|
13183
13231
|
...["round & oval", "round and oval"].map(
|
|
13184
13232
|
(phrase) => ({
|
|
@@ -13221,9 +13269,7 @@ var AUTHORED_LEXICAL_ENTRIES = [
|
|
|
13221
13269
|
{ basis: "evidenced", snapshot: TAX57_DATE4, source: TAX57_SHAPE_SOURCE },
|
|
13222
13270
|
TAX57_LIFECYCLE
|
|
13223
13271
|
),
|
|
13224
|
-
|
|
13225
|
-
phrase: "parallelogram & chevron",
|
|
13226
|
-
readings: [
|
|
13272
|
+
meanings: [
|
|
13227
13273
|
{
|
|
13228
13274
|
authority: "taxonomy",
|
|
13229
13275
|
uri: `${TAXONOMY_BASE_URI}/id/unit-shape/parallelogram`
|
|
@@ -13232,44 +13278,46 @@ var AUTHORED_LEXICAL_ENTRIES = [
|
|
|
13232
13278
|
authority: "taxonomy",
|
|
13233
13279
|
uri: `${TAXONOMY_BASE_URI}/id/unit-shape/chevron`
|
|
13234
13280
|
}
|
|
13235
|
-
]
|
|
13281
|
+
],
|
|
13282
|
+
outcome: "ambiguous",
|
|
13283
|
+
phrase: "parallelogram & chevron"
|
|
13236
13284
|
},
|
|
13237
|
-
// TAX-57 ordered
|
|
13285
|
+
// TAX-57 ordered meaning. Paint and tile brands use "velvet" as a finish name for a soft-touch,
|
|
13238
13286
|
// light-absorbing surface; the trade means the woven cut-pile construction first.
|
|
13239
13287
|
{
|
|
13240
|
-
|
|
13288
|
+
defaultMeaning: {
|
|
13241
13289
|
authority: "taxonomy",
|
|
13242
|
-
|
|
13290
|
+
meaningPriority: "primary",
|
|
13243
13291
|
uri: `${TAXONOMY_BASE_URI}/id/construction/velvet`
|
|
13244
13292
|
},
|
|
13245
|
-
explanation: "Velvet can name the woven cut-pile construction or a finish name paint and tile
|
|
13293
|
+
explanation: "Velvet can name the woven cut-pile construction or a finish name paint and tile brands use for a soft-touch surface; the trade means the construction first.",
|
|
13246
13294
|
governance: lexicalGovernance(
|
|
13247
|
-
|
|
13295
|
+
MEANING_PRIORITY_GOVERNANCE,
|
|
13248
13296
|
{ basis: "authored", source: TAX57_REVIEW_SOURCE },
|
|
13249
13297
|
TAX57_LIFECYCLE
|
|
13250
13298
|
),
|
|
13251
|
-
|
|
13252
|
-
phrase: "velvet",
|
|
13253
|
-
readings: [
|
|
13299
|
+
meanings: [
|
|
13254
13300
|
{
|
|
13255
13301
|
authority: "taxonomy",
|
|
13256
|
-
|
|
13302
|
+
meaningPriority: "primary",
|
|
13257
13303
|
uri: `${TAXONOMY_BASE_URI}/id/construction/velvet`
|
|
13258
13304
|
},
|
|
13259
13305
|
{
|
|
13260
13306
|
authority: "taxonomy",
|
|
13261
|
-
|
|
13307
|
+
meaningPriority: "secondary",
|
|
13262
13308
|
uri: `${TAXONOMY_BASE_URI}/id/finish/texture/velvety`
|
|
13263
13309
|
}
|
|
13264
|
-
]
|
|
13310
|
+
],
|
|
13311
|
+
outcome: "ambiguous",
|
|
13312
|
+
phrase: "velvet"
|
|
13265
13313
|
},
|
|
13266
13314
|
// Two observed source spellings on the product-category axis that the inferred
|
|
13267
|
-
//
|
|
13268
|
-
// catalogue; the seenAs evidence stays on the term, and only the
|
|
13315
|
+
// meanings promoted to customer equivalents. Each is a department label in one
|
|
13316
|
+
// catalogue; the seenAs evidence stays on the term, and only the meaning is declined.
|
|
13269
13317
|
{
|
|
13270
13318
|
explanation: "Fittings is a catalogue department label for tapware in one source. As a request it names light fittings, electrical fittings and bathroom fittings just as readily, so it identifies no single product category.",
|
|
13271
13319
|
governance: lexicalGovernance(
|
|
13272
|
-
"A source department label is crosswalk evidence, not a customer
|
|
13320
|
+
"A source department label is crosswalk evidence, not a customer meaning of one concept.",
|
|
13273
13321
|
{ basis: "authored", source: "MaterialGraph MG-2226 category review" },
|
|
13274
13322
|
TAXONOMY_SNAPSHOT_LIFECYCLE
|
|
13275
13323
|
),
|
|
@@ -13280,7 +13328,7 @@ var AUTHORED_LEXICAL_ENTRIES = [
|
|
|
13280
13328
|
{
|
|
13281
13329
|
explanation: "Electrical is a catalogue department label for wiring accessories in one source. As a request it names a trade that also covers back boxes, cable management and lighting, so it identifies no single product category.",
|
|
13282
13330
|
governance: lexicalGovernance(
|
|
13283
|
-
"A source department label is crosswalk evidence, not a customer
|
|
13331
|
+
"A source department label is crosswalk evidence, not a customer meaning of one concept.",
|
|
13284
13332
|
{ basis: "authored", source: "MaterialGraph MG-2226 category review" },
|
|
13285
13333
|
TAXONOMY_SNAPSHOT_LIFECYCLE
|
|
13286
13334
|
),
|
|
@@ -13288,12 +13336,12 @@ var AUTHORED_LEXICAL_ENTRIES = [
|
|
|
13288
13336
|
phrase: "electrical",
|
|
13289
13337
|
reason: "Names a trade, not a kind of product."
|
|
13290
13338
|
},
|
|
13291
|
-
// Two more declined
|
|
13339
|
+
// Two more declined meanings, added alongside `cladding` for the same reason `fittings` and
|
|
13292
13340
|
// `electrical` were declined: each phrase spans more than the one product category it might name.
|
|
13293
13341
|
{
|
|
13294
13342
|
explanation: "Wall cladding also names interior stone and tile cladding, so as a request it does not settle between the exterior product category and an interior surface finish.",
|
|
13295
13343
|
governance: lexicalGovernance(
|
|
13296
|
-
"A compound phrase spanning an exterior product category and an interior finish is not one customer
|
|
13344
|
+
"A compound phrase spanning an exterior product category and an interior finish is not one customer meaning.",
|
|
13297
13345
|
{
|
|
13298
13346
|
basis: "authored",
|
|
13299
13347
|
source: "@instruments/taxonomy 1.9.0 vocabulary review"
|
|
@@ -13352,15 +13400,15 @@ var lexicalPhrases = (term12) => [term12.slug, term12.label, ...term12.altLabels
|
|
|
13352
13400
|
(phrase, index, phrases) => phrase.length > 0 && phrases.indexOf(phrase) === index
|
|
13353
13401
|
);
|
|
13354
13402
|
var targetKey = (target) => target.authority === "taxonomy" ? `taxonomy:${target.uri}` : `colorscope:${target.referenceKind}:${target.identifier}`;
|
|
13355
|
-
var inferredLifecycle = (
|
|
13356
|
-
const terms =
|
|
13403
|
+
var inferredLifecycle = (meanings) => {
|
|
13404
|
+
const terms = meanings.flatMap((meaning) => meaning.terms);
|
|
13357
13405
|
const lifecycles = terms.map((term12) => lifecycleFor(term12));
|
|
13358
13406
|
const [introducedAt] = terms.map((term12) => term12.introducedAt ?? PUBLISHED_V1_BASELINE).toSorted(compareText);
|
|
13359
13407
|
const reviewedAt = terms.map(
|
|
13360
13408
|
(term12) => term12.reviewedAt ?? term12.introducedAt ?? PUBLISHED_V1_BASELINE
|
|
13361
13409
|
).toSorted(compareText).at(-1);
|
|
13362
13410
|
if (introducedAt === void 0 || reviewedAt === void 0) {
|
|
13363
|
-
throw new Error("Inferred lexical
|
|
13411
|
+
throw new Error("Inferred lexical meaning has no source term lifecycle.");
|
|
13364
13412
|
}
|
|
13365
13413
|
const deprecated = lifecycles.every(
|
|
13366
13414
|
(lifecycle) => lifecycle.status === "deprecated"
|
|
@@ -13381,35 +13429,35 @@ var inferredLifecycle = (readings) => {
|
|
|
13381
13429
|
};
|
|
13382
13430
|
var inferredLexicalEntries = () => {
|
|
13383
13431
|
const authored4 = new Set(
|
|
13384
|
-
|
|
13432
|
+
AUTHORED_PHRASE_ENTRIES.map((entry) => entry.phrase)
|
|
13385
13433
|
);
|
|
13386
13434
|
const targetsByPhrase = /* @__PURE__ */ new Map();
|
|
13387
13435
|
for (const location of AUTHORING_LOCATIONS) {
|
|
13388
13436
|
const target = targetForLocation(location);
|
|
13389
13437
|
for (const phrase of lexicalPhrases(location.term)) {
|
|
13390
|
-
const
|
|
13391
|
-
const existing =
|
|
13438
|
+
const meanings = targetsByPhrase.get(phrase) ?? [];
|
|
13439
|
+
const existing = meanings.find(
|
|
13392
13440
|
(candidate) => targetKey(candidate.target) === targetKey(target)
|
|
13393
13441
|
);
|
|
13394
13442
|
if (existing === void 0) {
|
|
13395
|
-
|
|
13443
|
+
meanings.push({ target, terms: [location.term] });
|
|
13396
13444
|
} else {
|
|
13397
13445
|
existing.terms.push(location.term);
|
|
13398
13446
|
}
|
|
13399
|
-
targetsByPhrase.set(phrase,
|
|
13447
|
+
targetsByPhrase.set(phrase, meanings);
|
|
13400
13448
|
}
|
|
13401
13449
|
}
|
|
13402
|
-
return [...targetsByPhrase].filter(([phrase]) => !authored4.has(phrase)).map(([phrase,
|
|
13403
|
-
const [first, second, ...rest] =
|
|
13450
|
+
return [...targetsByPhrase].filter(([phrase]) => !authored4.has(phrase)).map(([phrase, meanings]) => {
|
|
13451
|
+
const [first, second, ...rest] = meanings;
|
|
13404
13452
|
if (first === void 0) {
|
|
13405
|
-
throw new Error(`Lexical phrase "${phrase}" has no
|
|
13453
|
+
throw new Error(`Lexical phrase "${phrase}" has no meaning.`);
|
|
13406
13454
|
}
|
|
13407
|
-
const lifecycle = inferredLifecycle(
|
|
13455
|
+
const lifecycle = inferredLifecycle(meanings);
|
|
13408
13456
|
if (second === void 0) {
|
|
13409
13457
|
return {
|
|
13410
|
-
explanation: `The published spelling \u201C${phrase}\u201D has one governed
|
|
13458
|
+
explanation: `The published spelling \u201C${phrase}\u201D has one governed meaning.`,
|
|
13411
13459
|
governance: lexicalGovernance(
|
|
13412
|
-
"The
|
|
13460
|
+
"The meaning is derived from a canonical label, slug, alternate label, or observed source spelling.",
|
|
13413
13461
|
{
|
|
13414
13462
|
basis: "evidenced",
|
|
13415
13463
|
snapshot: lifecycle.reviewedAt,
|
|
@@ -13425,7 +13473,7 @@ var inferredLexicalEntries = () => {
|
|
|
13425
13473
|
return {
|
|
13426
13474
|
explanation: `The published spelling \u201C${phrase}\u201D names more than one governed concept.`,
|
|
13427
13475
|
governance: lexicalGovernance(
|
|
13428
|
-
"No context-independent primary
|
|
13476
|
+
"No context-independent primary meaning has been governed.",
|
|
13429
13477
|
{
|
|
13430
13478
|
basis: "evidenced",
|
|
13431
13479
|
snapshot: lifecycle.reviewedAt,
|
|
@@ -13433,37 +13481,189 @@ var inferredLexicalEntries = () => {
|
|
|
13433
13481
|
},
|
|
13434
13482
|
lifecycle
|
|
13435
13483
|
),
|
|
13436
|
-
|
|
13437
|
-
phrase,
|
|
13438
|
-
readings: [
|
|
13484
|
+
meanings: [
|
|
13439
13485
|
first.target,
|
|
13440
13486
|
second.target,
|
|
13441
13487
|
...rest.map(({ target }) => target)
|
|
13442
|
-
]
|
|
13488
|
+
],
|
|
13489
|
+
outcome: "ambiguous",
|
|
13490
|
+
phrase
|
|
13443
13491
|
};
|
|
13444
13492
|
});
|
|
13445
13493
|
};
|
|
13446
|
-
var
|
|
13447
|
-
...
|
|
13494
|
+
var PHRASE_ENTRIES = [
|
|
13495
|
+
...AUTHORED_PHRASE_ENTRIES,
|
|
13448
13496
|
...inferredLexicalEntries()
|
|
13449
13497
|
].toSorted((left, right) => compareText(left.phrase, right.phrase));
|
|
13450
13498
|
var revisionOf = (value) => `sha256:${createHash("sha256").update(JSON.stringify(value)).digest("hex")}`;
|
|
13451
13499
|
var TAXONOMY_CORPUS_REVISION = revisionOf({
|
|
13452
13500
|
graph: KNOWLEDGE_GRAPH,
|
|
13453
|
-
|
|
13501
|
+
phraseEntries: PHRASE_ENTRIES
|
|
13454
13502
|
});
|
|
13455
13503
|
var TAXONOMY_CORPUS_METADATA = {
|
|
13456
13504
|
edgeCount: KNOWLEDGE_GRAPH.edges.length,
|
|
13457
|
-
lexicalEntryCount: LEXICAL_ENTRIES.length,
|
|
13458
13505
|
nodeCount: KNOWLEDGE_GRAPH.nodes.length,
|
|
13506
|
+
phraseEntryCount: PHRASE_ENTRIES.length,
|
|
13459
13507
|
revision: TAXONOMY_CORPUS_REVISION,
|
|
13460
13508
|
snapshot: TAXONOMY_SNAPSHOT,
|
|
13461
13509
|
version: TAXONOMY_VERSION
|
|
13462
13510
|
};
|
|
13511
|
+
|
|
13512
|
+
// src/assessment-policy.ts
|
|
13513
|
+
var PHOTO_CANDIDATE_PATHS = [
|
|
13514
|
+
"finish/texture/fluted",
|
|
13515
|
+
"finish/texture/heavily-reliefed",
|
|
13516
|
+
"finish/texture/reeded",
|
|
13517
|
+
"finish/texture/ribbed",
|
|
13518
|
+
"finish/texture/textured",
|
|
13519
|
+
"pattern/density/busy",
|
|
13520
|
+
"pattern/density/dense",
|
|
13521
|
+
"pattern/density/light",
|
|
13522
|
+
"pattern/density/moderate",
|
|
13523
|
+
"pattern/density/sparse",
|
|
13524
|
+
"pattern/density/unpatterned",
|
|
13525
|
+
"pattern/directionality/bi-directional",
|
|
13526
|
+
"pattern/directionality/linear",
|
|
13527
|
+
"pattern/directionality/low",
|
|
13528
|
+
"pattern/directionality/non-directional",
|
|
13529
|
+
"pattern/directionality/radial",
|
|
13530
|
+
"pattern/directionality/strong-linear",
|
|
13531
|
+
"pattern/regularity/irregular",
|
|
13532
|
+
"pattern/regularity/ordered",
|
|
13533
|
+
"pattern/regularity/organic",
|
|
13534
|
+
"pattern/regularity/relaxed",
|
|
13535
|
+
"pattern/regularity/uniform",
|
|
13536
|
+
"pattern/type/abstract-graphic",
|
|
13537
|
+
"pattern/type/abstract-organic",
|
|
13538
|
+
"pattern/type/animal-print",
|
|
13539
|
+
"pattern/type/botanical",
|
|
13540
|
+
"pattern/type/character",
|
|
13541
|
+
"pattern/type/checkerboard",
|
|
13542
|
+
"pattern/type/chevron",
|
|
13543
|
+
"pattern/type/crocodile",
|
|
13544
|
+
"pattern/type/damask",
|
|
13545
|
+
"pattern/type/geometric",
|
|
13546
|
+
"pattern/type/gradient",
|
|
13547
|
+
"pattern/type/herringbone",
|
|
13548
|
+
"pattern/type/leopard",
|
|
13549
|
+
"pattern/type/lizard",
|
|
13550
|
+
"pattern/type/marbleised",
|
|
13551
|
+
"pattern/type/natural-motif",
|
|
13552
|
+
"pattern/type/novelty",
|
|
13553
|
+
"pattern/type/ostrich",
|
|
13554
|
+
"pattern/type/paisley",
|
|
13555
|
+
"pattern/type/plaid-check",
|
|
13556
|
+
"pattern/type/plain",
|
|
13557
|
+
"pattern/type/scenic",
|
|
13558
|
+
"pattern/type/snakeskin",
|
|
13559
|
+
"pattern/type/strie",
|
|
13560
|
+
"pattern/type/stripe",
|
|
13561
|
+
"pattern/type/texture",
|
|
13562
|
+
"pattern/type/toile",
|
|
13563
|
+
"pattern/type/zebra",
|
|
13564
|
+
"pattern/type/zigzag"
|
|
13565
|
+
];
|
|
13566
|
+
var photoUris = new Set(
|
|
13567
|
+
PHOTO_CANDIDATE_PATHS.map((path) => `${TAXONOMY_BASE_URI}/id/${path}`)
|
|
13568
|
+
);
|
|
13569
|
+
var requirementsFor = (concept) => {
|
|
13570
|
+
if (photoUris.has(concept.uri)) {
|
|
13571
|
+
return [
|
|
13572
|
+
"Assess only the supplied material region and visible canonical meaning.",
|
|
13573
|
+
"Sufficient native detail and field extent; unavailable evidence is unknown.",
|
|
13574
|
+
"A detail-view decision does not automatically describe the overview.",
|
|
13575
|
+
"Appearance never proves composition, manufacturing process or product identity."
|
|
13576
|
+
];
|
|
13577
|
+
}
|
|
13578
|
+
if (concept.facet.endsWith("/pattern/figure")) {
|
|
13579
|
+
return [
|
|
13580
|
+
"Retain catalogue evidence under ADR 0008; image confirmation is not admitted."
|
|
13581
|
+
];
|
|
13582
|
+
}
|
|
13583
|
+
if (concept.facet.endsWith("/pattern/scale")) {
|
|
13584
|
+
return [
|
|
13585
|
+
"Physical extent or repeat measurement; pixel size alone is insufficient."
|
|
13586
|
+
];
|
|
13587
|
+
}
|
|
13588
|
+
if (concept.facet.endsWith("/finish/sheen")) {
|
|
13589
|
+
return [
|
|
13590
|
+
"Specified illumination and viewing angles; an arbitrary photo is insufficient."
|
|
13591
|
+
];
|
|
13592
|
+
}
|
|
13593
|
+
if (concept.axis.endsWith("/installation-layout")) {
|
|
13594
|
+
return [
|
|
13595
|
+
"An installed assembly with actual unit boundaries, not an isolated unit or printed resemblance."
|
|
13596
|
+
];
|
|
13597
|
+
}
|
|
13598
|
+
return [];
|
|
13599
|
+
};
|
|
13600
|
+
var routeFor = (concept) => {
|
|
13601
|
+
if (photoUris.has(concept.uri)) {
|
|
13602
|
+
return "photo-candidate";
|
|
13603
|
+
}
|
|
13604
|
+
if (concept.axis.endsWith("/axis/palette")) {
|
|
13605
|
+
return "external-authority";
|
|
13606
|
+
}
|
|
13607
|
+
if (concept.facet.endsWith("/pattern/figure")) {
|
|
13608
|
+
return "catalogue-only";
|
|
13609
|
+
}
|
|
13610
|
+
if (concept.facet.endsWith("/pattern/scale") || concept.facet.endsWith("/finish/sheen") || concept.axis.endsWith("/installation-layout")) {
|
|
13611
|
+
return "capture-conditional";
|
|
13612
|
+
}
|
|
13613
|
+
if (["material", "material-family", "construction", "product-category"].some(
|
|
13614
|
+
(axis) => concept.axis.endsWith(`/axis/${axis}`)
|
|
13615
|
+
) || concept.facet.endsWith("/finish/treatment")) {
|
|
13616
|
+
return "catalogue-only";
|
|
13617
|
+
}
|
|
13618
|
+
if (["style", "mood", "period"].some(
|
|
13619
|
+
(axis) => concept.axis.endsWith(`/axis/${axis}`)
|
|
13620
|
+
)) {
|
|
13621
|
+
return "context-required";
|
|
13622
|
+
}
|
|
13623
|
+
return "unreviewed";
|
|
13624
|
+
};
|
|
13625
|
+
var CONCEPT_ASSESSMENT_POLICIES = KNOWLEDGE_GRAPH.nodes.filter(
|
|
13626
|
+
(node) => node.kind === "concept" && node.lifecycle.status === "active"
|
|
13627
|
+
).map((concept) => ({
|
|
13628
|
+
conceptUri: concept.uri,
|
|
13629
|
+
evidenceRoute: routeFor(concept),
|
|
13630
|
+
materialApplicability: {
|
|
13631
|
+
reason: "Category scope has not received a complete evidence-backed cross-surface review.",
|
|
13632
|
+
status: "unreviewed"
|
|
13633
|
+
},
|
|
13634
|
+
references: [concept.uri],
|
|
13635
|
+
requirements: requirementsFor(concept)
|
|
13636
|
+
}));
|
|
13637
|
+
var ASSESSMENT_AUTHORITY_REFERENCES = [
|
|
13638
|
+
{
|
|
13639
|
+
role: "appearance-terminology",
|
|
13640
|
+
url: "https://store.astm.org/e0284-25.html"
|
|
13641
|
+
},
|
|
13642
|
+
{ role: "property-measurement", url: "https://store.astm.org/d0523-25.html" },
|
|
13643
|
+
{ role: "construction-classification", url: "https://uniclass.thenbs.com/" },
|
|
13644
|
+
{
|
|
13645
|
+
role: "construction-classification",
|
|
13646
|
+
url: "https://www.csiresources.org/standards/overview"
|
|
13647
|
+
},
|
|
13648
|
+
{
|
|
13649
|
+
role: "controlled-vocabulary",
|
|
13650
|
+
url: "https://www.getty.edu/research/tools/vocabularies/aat/about.html"
|
|
13651
|
+
}
|
|
13652
|
+
];
|
|
13653
|
+
var ASSESSMENT_POLICY_REVISION = `sha256:${createHash2("sha256").update(
|
|
13654
|
+
JSON.stringify({
|
|
13655
|
+
authorities: ASSESSMENT_AUTHORITY_REFERENCES,
|
|
13656
|
+
policies: CONCEPT_ASSESSMENT_POLICIES,
|
|
13657
|
+
taxonomyRevision: TAXONOMY_CORPUS_REVISION
|
|
13658
|
+
})
|
|
13659
|
+
).digest("hex")}`;
|
|
13463
13660
|
export {
|
|
13661
|
+
ASSESSMENT_AUTHORITY_REFERENCES,
|
|
13662
|
+
ASSESSMENT_POLICY_REVISION,
|
|
13464
13663
|
COLOR_SCOPE_REFERENCE_KINDS,
|
|
13664
|
+
CONCEPT_ASSESSMENT_POLICIES,
|
|
13465
13665
|
KNOWLEDGE_GRAPH,
|
|
13466
|
-
|
|
13666
|
+
PHRASE_ENTRIES,
|
|
13467
13667
|
TAXONOMY_BASE_URI,
|
|
13468
13668
|
TAXONOMY_CORPUS_METADATA,
|
|
13469
13669
|
TAXONOMY_CORPUS_REVISION,
|