@instruments/taxonomy 2.5.0 → 2.6.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/dist/axes/axis.d.ts +1 -1
- package/dist/axes/certification.d.ts +3 -0
- package/dist/axes/coverage-review.d.ts +15 -0
- package/dist/axes/external-search.d.ts +4 -0
- package/dist/axes/gaps-axes.d.ts +4 -0
- package/dist/axes/gaps-shared.d.ts +15 -0
- package/dist/axes/intervention.d.ts +3 -0
- package/dist/axes/pattern-motifs.d.ts +2 -0
- package/dist/axes/product-category-furniture.d.ts +2 -0
- package/dist/axes/product-category-shared.d.ts +5 -0
- package/dist/axes/time-of-day.d.ts +5 -0
- package/dist/index.js +1477 -122
- package/dist/term.d.ts +4 -1
- package/dist/v1.d.ts +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -7,6 +7,8 @@ import { createHash } from "crypto";
|
|
|
7
7
|
// src/axes/external-search.ts
|
|
8
8
|
var SEARCHED_ON = "2026-10-21";
|
|
9
9
|
var SEARCHED_ON_TAX66 = "2026-10-22";
|
|
10
|
+
var SEARCHED_ON_TAX66_COVERAGE = "2026-10-23";
|
|
11
|
+
var SEARCHED_ON_TAX66_GAPS = "2026-10-23";
|
|
10
12
|
var WIKIDATA_SEARCH = "https://www.wikidata.org/w/api.php?action=wbsearchentities";
|
|
11
13
|
var GETTY_SPARQL = "https://vocab.getty.edu/sparql";
|
|
12
14
|
var UNICLASS_SEARCH = "https://uniclass.thenbs.com/search";
|
|
@@ -1772,6 +1774,45 @@ var single = (slug, label, terms, governance, holds) => [
|
|
|
1772
1774
|
}
|
|
1773
1775
|
];
|
|
1774
1776
|
|
|
1777
|
+
// src/axes/gaps-shared.ts
|
|
1778
|
+
var GAPS_DATE = SEARCHED_ON_TAX66_GAPS;
|
|
1779
|
+
var GAPS_PROVENANCE = {
|
|
1780
|
+
basis: "authored",
|
|
1781
|
+
source: "TAX-66 vocabulary gaps"
|
|
1782
|
+
};
|
|
1783
|
+
var GAPS_LIFECYCLE = {
|
|
1784
|
+
introducedAt: GAPS_DATE,
|
|
1785
|
+
provenance: GAPS_PROVENANCE,
|
|
1786
|
+
reviewedAt: GAPS_DATE
|
|
1787
|
+
};
|
|
1788
|
+
var gapsTerm = (slug, label, definition, extra = {}) => ({
|
|
1789
|
+
definition,
|
|
1790
|
+
label,
|
|
1791
|
+
slug,
|
|
1792
|
+
...GAPS_LIFECYCLE,
|
|
1793
|
+
...extra
|
|
1794
|
+
});
|
|
1795
|
+
var mapping = (scheme, identifier, label, match) => ({ identifier, label, match, scheme });
|
|
1796
|
+
var UNICLASS_TABLES = "July 2026 NBS Ac v1.27, Co v1.22, EF v1.16, En v1.34, Ma v1.1, PC v1.3, PM v1.30, Pr v1.43, SL v1.36 and Ss v1.43 published tables, title search: ";
|
|
1797
|
+
var gapsSearchedUniclass = (query) => ({
|
|
1798
|
+
date: GAPS_DATE,
|
|
1799
|
+
query: `${UNICLASS_TABLES}${query}`,
|
|
1800
|
+
scheme: "uniclass",
|
|
1801
|
+
via: UNICLASS_DOWNLOAD
|
|
1802
|
+
});
|
|
1803
|
+
var gapsSearchedAat = (query) => ({
|
|
1804
|
+
date: GAPS_DATE,
|
|
1805
|
+
query,
|
|
1806
|
+
scheme: "aat",
|
|
1807
|
+
via: `${GETTY_SPARQL}; luc:term search, AAT preferred labels and English scope notes read`
|
|
1808
|
+
});
|
|
1809
|
+
var gapsSearchedWikidata = (query) => ({
|
|
1810
|
+
date: GAPS_DATE,
|
|
1811
|
+
query,
|
|
1812
|
+
scheme: "wikidata",
|
|
1813
|
+
via: `${WIKIDATA_SEARCH}&language=en&format=json; labels and descriptions read`
|
|
1814
|
+
});
|
|
1815
|
+
|
|
1775
1816
|
// src/axes/pattern-tax57.ts
|
|
1776
1817
|
var relatedTo4 = (target) => ({
|
|
1777
1818
|
predicate: "related-to",
|
|
@@ -2387,7 +2428,24 @@ var CONSTRUCTION_TERMS = [
|
|
|
2387
2428
|
}
|
|
2388
2429
|
],
|
|
2389
2430
|
searchedWithout: [searchedUniclass3(JACQUARD_WEAVING)]
|
|
2390
|
-
}
|
|
2431
|
+
},
|
|
2432
|
+
// TAX-66. A construction and not a material: it names how the sheet is made, slit and stretched
|
|
2433
|
+
// into a diamond mesh without waste, the way `woven` and `sintered` name a process. The metal is
|
|
2434
|
+
// a separate meaning on the material axis. Uniclass lists it only as products, so that mapping
|
|
2435
|
+
// is `close` rather than exact.
|
|
2436
|
+
gapsTerm(
|
|
2437
|
+
"expanded-metal",
|
|
2438
|
+
"Expanded metal",
|
|
2439
|
+
"Metal sheet slit and stretched in one operation into an open mesh of diamond-shaped openings, without cutting away or joining any material.",
|
|
2440
|
+
{
|
|
2441
|
+
external: [
|
|
2442
|
+
mapping("aat", "300011061", "expanded metal", "close"),
|
|
2443
|
+
mapping("uniclass", "Pr_25_57_56_27", "Expanded metal mesh", "close"),
|
|
2444
|
+
mapping("wikidata", "Q1424107", "expanded metal", "close")
|
|
2445
|
+
],
|
|
2446
|
+
related: relatedTo5("material.metal")
|
|
2447
|
+
}
|
|
2448
|
+
)
|
|
2391
2449
|
];
|
|
2392
2450
|
|
|
2393
2451
|
// src/axes/element-shared.ts
|
|
@@ -2813,6 +2871,31 @@ var ELEMENT_FABRIC_TERMS = [
|
|
|
2813
2871
|
provenance: AUTHORED2,
|
|
2814
2872
|
slug: "pitched-roof"
|
|
2815
2873
|
},
|
|
2874
|
+
// TAX-66. A kind of roof, since every green roof is a roof whatever its fall; flat and pitched
|
|
2875
|
+
// are the slope, this is the covering. AAT has no green roof concept, only the roof garden it
|
|
2876
|
+
// overlaps, which is a garden people use and so `related` rather than a match.
|
|
2877
|
+
{
|
|
2878
|
+
altLabels: ["living roof", "vegetated roof"],
|
|
2879
|
+
broaderSlug: "roof",
|
|
2880
|
+
definition: "A roof whose waterproofing carries a growing medium and living vegetation as its covering, in place of lapped units or a sheet.",
|
|
2881
|
+
external: [
|
|
2882
|
+
aat4("300008131", "roof gardens", "related"),
|
|
2883
|
+
uniclass4("Ss_45_40_47", "Living roof systems", "close"),
|
|
2884
|
+
{
|
|
2885
|
+
identifier: "Q48741",
|
|
2886
|
+
label: "green roof",
|
|
2887
|
+
match: "close",
|
|
2888
|
+
scheme: "wikidata"
|
|
2889
|
+
}
|
|
2890
|
+
],
|
|
2891
|
+
introducedAt: GAPS_DATE,
|
|
2892
|
+
label: "Green Roof",
|
|
2893
|
+
placement: "overhead",
|
|
2894
|
+
provenance: GAPS_PROVENANCE,
|
|
2895
|
+
reviewedAt: GAPS_DATE,
|
|
2896
|
+
searchedWithout: [gapsSearchedAat("green roof | living roof | sod roof")],
|
|
2897
|
+
slug: "green-roof"
|
|
2898
|
+
},
|
|
2816
2899
|
{
|
|
2817
2900
|
altLabels: ["skylight", "roof light"],
|
|
2818
2901
|
definition: "A glazed opening in a roof plane, admitting daylight from above rather than from a wall.",
|
|
@@ -3691,6 +3774,7 @@ var FINISH_TEXTURE_TERMS = [
|
|
|
3691
3774
|
var TEXTURED_TARGET = "finish.texture.textured";
|
|
3692
3775
|
var TUMBLE_FINISHING = "tumble finishing";
|
|
3693
3776
|
var ABRASIVE_BLASTING = "abrasive blasting";
|
|
3777
|
+
var POWDER_COATING = "powder coating";
|
|
3694
3778
|
var CROSSOVER_SNAPSHOT = "2026-08-30";
|
|
3695
3779
|
var RETRIEVAL_SHEEN = "ms_sheen, a sheen dictionary in a materials-retrieval system (src-05)";
|
|
3696
3780
|
var MG2435_DATE = "2026-10-02";
|
|
@@ -4042,7 +4126,24 @@ var FINISH_TREATMENT_TERMS = [
|
|
|
4042
4126
|
}
|
|
4043
4127
|
],
|
|
4044
4128
|
searchedWithout: [searchedUniclass3("distressing")]
|
|
4045
|
-
}
|
|
4129
|
+
},
|
|
4130
|
+
// TAX-66. A coating applied, like chrome and nickel above, so it is a treatment; the colour and
|
|
4131
|
+
// sheen of the cured film are separate meanings made on the palette and sheen facets. Every
|
|
4132
|
+
// mapping is `close` because AAT narrows the powder to thermosetting plastic and Wikidata and
|
|
4133
|
+
// Uniclass describe the process and the product rather than the finished surface.
|
|
4134
|
+
gapsTerm(
|
|
4135
|
+
"powder-coat",
|
|
4136
|
+
"Powder coat",
|
|
4137
|
+
"A dry powder of thermoplastic or thermosetting polymer applied electrostatically to a metal surface and cured under heat into a continuous hard film; it names the coating, not the substrate, colour or sheen.",
|
|
4138
|
+
{
|
|
4139
|
+
altLabels: [POWDER_COATING, "powder-coated"],
|
|
4140
|
+
external: [
|
|
4141
|
+
mapping("aat", "300133167", POWDER_COATING, "close"),
|
|
4142
|
+
mapping("uniclass", "Pr_35_31_68_66", "Powder coatings", "close"),
|
|
4143
|
+
mapping("wikidata", "Q445063", POWDER_COATING, "close")
|
|
4144
|
+
]
|
|
4145
|
+
}
|
|
4146
|
+
)
|
|
4046
4147
|
];
|
|
4047
4148
|
var FINISH_SHEEN_TERMS = [
|
|
4048
4149
|
{
|
|
@@ -4454,6 +4555,522 @@ var FORMAT_TERMS = [
|
|
|
4454
4555
|
}
|
|
4455
4556
|
];
|
|
4456
4557
|
|
|
4558
|
+
// src/axes/certification.ts
|
|
4559
|
+
var EMBODIED_CARBON = "embodied-carbon";
|
|
4560
|
+
var INDOOR_AIR = "indoor-air-quality";
|
|
4561
|
+
var SOURCING = "responsible-sourcing";
|
|
4562
|
+
var WELL_NAME = "WELL Building Standard";
|
|
4563
|
+
var evidences = (...needs) => needs.map((need) => ({
|
|
4564
|
+
predicate: "related-to",
|
|
4565
|
+
target: `requirement.${need}`
|
|
4566
|
+
}));
|
|
4567
|
+
var noAat = (query) => gapsSearchedAat(query);
|
|
4568
|
+
var noUniclass = (query) => gapsSearchedUniclass(query);
|
|
4569
|
+
var CERTIFICATION_TERMS = [
|
|
4570
|
+
gapsTerm(
|
|
4571
|
+
"fsc",
|
|
4572
|
+
"FSC",
|
|
4573
|
+
"A product-level certification, run by the Forest Stewardship Council, that timber and paper products come from forests managed to its standard, with chain-of-custody tracing from forest to product.",
|
|
4574
|
+
{
|
|
4575
|
+
altLabels: ["Forest Stewardship Council"],
|
|
4576
|
+
external: [
|
|
4577
|
+
mapping("wikidata", "Q748367", "Forest Stewardship Council", "close")
|
|
4578
|
+
],
|
|
4579
|
+
related: evidences(SOURCING),
|
|
4580
|
+
searchedWithout: [
|
|
4581
|
+
noAat("Forest Stewardship Council | forest certification"),
|
|
4582
|
+
noUniclass("FSC | Forest Stewardship Council")
|
|
4583
|
+
]
|
|
4584
|
+
}
|
|
4585
|
+
),
|
|
4586
|
+
gapsTerm(
|
|
4587
|
+
"pefc",
|
|
4588
|
+
"PEFC",
|
|
4589
|
+
"A product-level certification, run by the Programme for the Endorsement of Forest Certification, that timber and paper products come from forests managed to a nationally endorsed standard, with chain-of-custody tracing.",
|
|
4590
|
+
{
|
|
4591
|
+
altLabels: ["Programme for the Endorsement of Forest Certification"],
|
|
4592
|
+
external: [
|
|
4593
|
+
mapping(
|
|
4594
|
+
"wikidata",
|
|
4595
|
+
"Q2112204",
|
|
4596
|
+
"Programme for the Endorsement of Forest Certification",
|
|
4597
|
+
"close"
|
|
4598
|
+
)
|
|
4599
|
+
],
|
|
4600
|
+
related: evidences(SOURCING),
|
|
4601
|
+
searchedWithout: [
|
|
4602
|
+
noAat(
|
|
4603
|
+
"Programme for the Endorsement of Forest Certification | forest certification"
|
|
4604
|
+
),
|
|
4605
|
+
noUniclass(
|
|
4606
|
+
"PEFC | Programme for the Endorsement of Forest Certification"
|
|
4607
|
+
)
|
|
4608
|
+
]
|
|
4609
|
+
}
|
|
4610
|
+
),
|
|
4611
|
+
gapsTerm(
|
|
4612
|
+
"breeam",
|
|
4613
|
+
"BREEAM",
|
|
4614
|
+
"A building-level sustainability assessment and certification scheme, run by BRE, that rates a building across categories such as energy, materials, health and wellbeing, from Pass to Outstanding.",
|
|
4615
|
+
{
|
|
4616
|
+
altLabels: [
|
|
4617
|
+
"Building Research Establishment Environmental Assessment Method"
|
|
4618
|
+
],
|
|
4619
|
+
external: [
|
|
4620
|
+
mapping(
|
|
4621
|
+
"uniclass",
|
|
4622
|
+
"PM_70_25_10",
|
|
4623
|
+
"BREEAM (Building Research Establishment Environmental Assessment Method) certificate",
|
|
4624
|
+
"close"
|
|
4625
|
+
),
|
|
4626
|
+
mapping(
|
|
4627
|
+
"uniclass",
|
|
4628
|
+
"PM_35_40_10",
|
|
4629
|
+
"BREEAM (Building Research Establishment Environmental Assessment Method) requirements",
|
|
4630
|
+
"related"
|
|
4631
|
+
),
|
|
4632
|
+
mapping("wikidata", "Q2620135", "BREEAM", "close")
|
|
4633
|
+
],
|
|
4634
|
+
related: evidences(EMBODIED_CARBON, INDOOR_AIR, SOURCING),
|
|
4635
|
+
searchedWithout: [noAat("BREEAM")]
|
|
4636
|
+
}
|
|
4637
|
+
),
|
|
4638
|
+
gapsTerm(
|
|
4639
|
+
"leed",
|
|
4640
|
+
"LEED",
|
|
4641
|
+
"A building-level green building rating system, run by the US Green Building Council, that awards points across categories such as materials, energy and indoor environmental quality towards Certified, Silver, Gold or Platinum.",
|
|
4642
|
+
{
|
|
4643
|
+
altLabels: ["Leadership in Energy and Environmental Design"],
|
|
4644
|
+
external: [
|
|
4645
|
+
mapping(
|
|
4646
|
+
"uniclass",
|
|
4647
|
+
"PM_70_25_45",
|
|
4648
|
+
"LEED (Leadership in Energy and Environmental Design) certificate",
|
|
4649
|
+
"close"
|
|
4650
|
+
),
|
|
4651
|
+
mapping(
|
|
4652
|
+
"uniclass",
|
|
4653
|
+
"PM_35_40_45",
|
|
4654
|
+
"LEED (Leadership in Energy and Environmental Design) requirements",
|
|
4655
|
+
"related"
|
|
4656
|
+
),
|
|
4657
|
+
mapping(
|
|
4658
|
+
"wikidata",
|
|
4659
|
+
"Q1521623",
|
|
4660
|
+
"Leadership in Energy and Environmental Design",
|
|
4661
|
+
"close"
|
|
4662
|
+
)
|
|
4663
|
+
],
|
|
4664
|
+
related: evidences(EMBODIED_CARBON, INDOOR_AIR, SOURCING),
|
|
4665
|
+
searchedWithout: [
|
|
4666
|
+
noAat("LEED | Leadership in Energy and Environmental Design")
|
|
4667
|
+
]
|
|
4668
|
+
}
|
|
4669
|
+
),
|
|
4670
|
+
gapsTerm(
|
|
4671
|
+
"well-building-standard",
|
|
4672
|
+
WELL_NAME,
|
|
4673
|
+
"A building-level standard and certification, run by the International WELL Building Institute, for how a building's air, water, light and comfort features support the health and wellbeing of its occupants.",
|
|
4674
|
+
{
|
|
4675
|
+
altLabels: ["WELL certification"],
|
|
4676
|
+
external: [
|
|
4677
|
+
mapping(
|
|
4678
|
+
"uniclass",
|
|
4679
|
+
"PM_70_25_96",
|
|
4680
|
+
"WELL environment certificate",
|
|
4681
|
+
"close"
|
|
4682
|
+
),
|
|
4683
|
+
mapping(
|
|
4684
|
+
"uniclass",
|
|
4685
|
+
"PM_35_40_96",
|
|
4686
|
+
"WELL environment requirements",
|
|
4687
|
+
"related"
|
|
4688
|
+
),
|
|
4689
|
+
mapping("wikidata", "Q113253484", WELL_NAME, "close")
|
|
4690
|
+
],
|
|
4691
|
+
related: evidences(INDOOR_AIR),
|
|
4692
|
+
searchedWithout: [noAat(WELL_NAME)]
|
|
4693
|
+
}
|
|
4694
|
+
),
|
|
4695
|
+
gapsTerm(
|
|
4696
|
+
"greenguard",
|
|
4697
|
+
"GREENGUARD",
|
|
4698
|
+
"A product-level certification, now run by UL Solutions, that a product's chemical emissions into indoor air stay within stated limits; its Gold level sets stricter limits.",
|
|
4699
|
+
{
|
|
4700
|
+
altLabels: ["UL GREENGUARD"],
|
|
4701
|
+
external: [
|
|
4702
|
+
mapping(
|
|
4703
|
+
"wikidata",
|
|
4704
|
+
"Q5604067",
|
|
4705
|
+
"Greenguard Environmental Institute",
|
|
4706
|
+
"related"
|
|
4707
|
+
)
|
|
4708
|
+
],
|
|
4709
|
+
note: "The Wikidata item is the institute that first ran the scheme and not the scheme, so the match is only related.",
|
|
4710
|
+
related: evidences(INDOOR_AIR),
|
|
4711
|
+
searchedWithout: [noAat("GREENGUARD"), noUniclass("GREENGUARD")]
|
|
4712
|
+
}
|
|
4713
|
+
),
|
|
4714
|
+
gapsTerm(
|
|
4715
|
+
"cradle-to-cradle",
|
|
4716
|
+
"Cradle to Cradle Certified",
|
|
4717
|
+
"A product-level certification, run by the Cradle to Cradle Products Innovation Institute, that assesses a product on material health, product circularity, clean air and climate protection, water and soil stewardship and social fairness, at Bronze to Platinum levels.",
|
|
4718
|
+
{
|
|
4719
|
+
altLabels: ["C2C", "Cradle to Cradle"],
|
|
4720
|
+
external: [
|
|
4721
|
+
mapping(
|
|
4722
|
+
"wikidata",
|
|
4723
|
+
"Q116149235",
|
|
4724
|
+
"Cradle to Cradle Certified",
|
|
4725
|
+
"close"
|
|
4726
|
+
)
|
|
4727
|
+
],
|
|
4728
|
+
related: evidences(EMBODIED_CARBON),
|
|
4729
|
+
searchedWithout: [
|
|
4730
|
+
noAat("Cradle to Cradle"),
|
|
4731
|
+
noUniclass("Cradle to Cradle | C2C")
|
|
4732
|
+
]
|
|
4733
|
+
}
|
|
4734
|
+
),
|
|
4735
|
+
gapsTerm(
|
|
4736
|
+
"epd",
|
|
4737
|
+
"Environmental product declaration",
|
|
4738
|
+
"A third-party-verified declaration of a product's life-cycle environmental impacts, such as its embodied carbon, reported to a product-category standard such as ISO 14025 and EN 15804; it states the impacts and sets no threshold.",
|
|
4739
|
+
{
|
|
4740
|
+
altLabels: ["EPD"],
|
|
4741
|
+
external: [
|
|
4742
|
+
mapping(
|
|
4743
|
+
"uniclass",
|
|
4744
|
+
"PC_10_65_26",
|
|
4745
|
+
"Environmental product declaration (EPD)",
|
|
4746
|
+
"close"
|
|
4747
|
+
),
|
|
4748
|
+
mapping(
|
|
4749
|
+
"wikidata",
|
|
4750
|
+
"Q1345906",
|
|
4751
|
+
"Environmental product declaration",
|
|
4752
|
+
"close"
|
|
4753
|
+
)
|
|
4754
|
+
],
|
|
4755
|
+
related: evidences(EMBODIED_CARBON),
|
|
4756
|
+
searchedWithout: [
|
|
4757
|
+
noAat("environmental product declaration | life cycle assessment")
|
|
4758
|
+
]
|
|
4759
|
+
}
|
|
4760
|
+
)
|
|
4761
|
+
];
|
|
4762
|
+
|
|
4763
|
+
// src/axes/intervention.ts
|
|
4764
|
+
var relatedTo7 = (...targets) => targets.map((target) => ({ predicate: "related-to", target }));
|
|
4765
|
+
var REFURBISHMENT = "intervention.refurbishment";
|
|
4766
|
+
var INTERVENTION_TERMS = [
|
|
4767
|
+
gapsTerm(
|
|
4768
|
+
"new-build",
|
|
4769
|
+
"New build",
|
|
4770
|
+
"Construction of a building from the ground up on a cleared or undeveloped site, rather than work to a building that already stands.",
|
|
4771
|
+
{
|
|
4772
|
+
altLabels: ["new construction", "ground-up construction"],
|
|
4773
|
+
external: [
|
|
4774
|
+
mapping("uniclass", "PC_20_30_56", "New-build", "close"),
|
|
4775
|
+
mapping("wikidata", "Q2202145", "new construction", "close")
|
|
4776
|
+
],
|
|
4777
|
+
searchedWithout: [
|
|
4778
|
+
gapsSearchedAat("new build | new construction | new building")
|
|
4779
|
+
]
|
|
4780
|
+
}
|
|
4781
|
+
),
|
|
4782
|
+
gapsTerm(
|
|
4783
|
+
"refurbishment",
|
|
4784
|
+
"Refurbishment",
|
|
4785
|
+
"Work that renews and updates the fabric, finishes and services of a building that already stands, without changing what it is used for or how large it is.",
|
|
4786
|
+
{
|
|
4787
|
+
altLabels: ["renovation"],
|
|
4788
|
+
external: [
|
|
4789
|
+
mapping("aat", "300389648", "refurbishment", "close"),
|
|
4790
|
+
mapping("aat", "300077781", "renovation (process)", "close"),
|
|
4791
|
+
mapping("uniclass", "Ac_10_70_70", "Renovation", "close"),
|
|
4792
|
+
mapping("wikidata", "Q2144402", "renovation", "close")
|
|
4793
|
+
]
|
|
4794
|
+
}
|
|
4795
|
+
),
|
|
4796
|
+
gapsTerm(
|
|
4797
|
+
"retrofit",
|
|
4798
|
+
"Retrofit",
|
|
4799
|
+
"Work that adds new equipment, systems or fabric performance, most often for energy, comfort or safety, to a building that already stands, without redefining what it is for.",
|
|
4800
|
+
{
|
|
4801
|
+
altLabels: ["retrofitting"],
|
|
4802
|
+
external: [
|
|
4803
|
+
mapping("aat", "300109756", "retrofitting", "close"),
|
|
4804
|
+
mapping(
|
|
4805
|
+
"uniclass",
|
|
4806
|
+
"PM_35_40_70",
|
|
4807
|
+
"Retrofit energy requirements",
|
|
4808
|
+
"related"
|
|
4809
|
+
),
|
|
4810
|
+
mapping("wikidata", "Q24662", "retrofitting", "close")
|
|
4811
|
+
],
|
|
4812
|
+
related: [...relatedTo7(REFURBISHMENT, "requirement.net-zero")]
|
|
4813
|
+
}
|
|
4814
|
+
),
|
|
4815
|
+
gapsTerm(
|
|
4816
|
+
"adaptive-reuse",
|
|
4817
|
+
"Adaptive reuse",
|
|
4818
|
+
"Conversion of an existing building to a use other than the one it was built for, keeping its structure and as much of its character as the new use allows.",
|
|
4819
|
+
{
|
|
4820
|
+
altLabels: ["building conversion"],
|
|
4821
|
+
external: [
|
|
4822
|
+
mapping("aat", "300056392", "adaptive reuse", "close"),
|
|
4823
|
+
mapping("wikidata", "Q2086116", "adaptive reuse", "close")
|
|
4824
|
+
],
|
|
4825
|
+
related: [...relatedTo7(REFURBISHMENT, "requirement.embodied-carbon")],
|
|
4826
|
+
searchedWithout: [
|
|
4827
|
+
gapsSearchedUniclass("Adaptive reuse | conversion | change of use")
|
|
4828
|
+
]
|
|
4829
|
+
}
|
|
4830
|
+
),
|
|
4831
|
+
gapsTerm(
|
|
4832
|
+
"historic-preservation",
|
|
4833
|
+
"Historic preservation",
|
|
4834
|
+
"Work to protect a building of historic or cultural value and keep it in use, by maintaining, repairing, restoring or adapting it with its significance as the constraint.",
|
|
4835
|
+
{
|
|
4836
|
+
altLabels: ["heritage conservation"],
|
|
4837
|
+
external: [
|
|
4838
|
+
mapping("aat", "300054166", "historic preservation", "close"),
|
|
4839
|
+
mapping(
|
|
4840
|
+
"uniclass",
|
|
4841
|
+
"Ac_30_60_16",
|
|
4842
|
+
"Conservation activities",
|
|
4843
|
+
"related"
|
|
4844
|
+
),
|
|
4845
|
+
mapping("wikidata", "Q914856", "historic preservation", "close")
|
|
4846
|
+
]
|
|
4847
|
+
}
|
|
4848
|
+
),
|
|
4849
|
+
gapsTerm(
|
|
4850
|
+
"restoration",
|
|
4851
|
+
"Restoration",
|
|
4852
|
+
"Work that returns a building, or part of one, to its form at a chosen earlier period by removing later additions and replacing lost fabric.",
|
|
4853
|
+
{
|
|
4854
|
+
external: [
|
|
4855
|
+
mapping("aat", "300053742", "restoration (process)", "close"),
|
|
4856
|
+
mapping("uniclass", "Ac_30_60_71", "Restoration activities", "close")
|
|
4857
|
+
],
|
|
4858
|
+
related: relatedTo7("intervention.historic-preservation"),
|
|
4859
|
+
searchedWithout: [
|
|
4860
|
+
gapsSearchedWikidata(
|
|
4861
|
+
"building restoration | architectural restoration"
|
|
4862
|
+
)
|
|
4863
|
+
]
|
|
4864
|
+
}
|
|
4865
|
+
),
|
|
4866
|
+
gapsTerm(
|
|
4867
|
+
"extension",
|
|
4868
|
+
"Extension",
|
|
4869
|
+
"Work that adds floor area or volume to a building that already stands, attached to it, rather than altering what is already there.",
|
|
4870
|
+
{
|
|
4871
|
+
altLabels: ["building extension", "addition"],
|
|
4872
|
+
external: [
|
|
4873
|
+
mapping(
|
|
4874
|
+
"aat",
|
|
4875
|
+
"300445666",
|
|
4876
|
+
"additions (built work divisions)",
|
|
4877
|
+
"close"
|
|
4878
|
+
),
|
|
4879
|
+
mapping("wikidata", "Q112228551", "building extension", "close")
|
|
4880
|
+
],
|
|
4881
|
+
searchedWithout: [gapsSearchedUniclass("Extension | building extension")]
|
|
4882
|
+
}
|
|
4883
|
+
),
|
|
4884
|
+
gapsTerm(
|
|
4885
|
+
"fit-out",
|
|
4886
|
+
"Fit-out",
|
|
4887
|
+
"Work that finishes and equips the interior of an existing shell or base-build space for its occupier: partitions, finishes, services terminals, joinery and furniture.",
|
|
4888
|
+
{
|
|
4889
|
+
altLabels: ["fitting out", "interior fit-out", "fitout"],
|
|
4890
|
+
external: [
|
|
4891
|
+
mapping("uniclass", "Ac_10_40_41", "Internal fitting out", "close")
|
|
4892
|
+
],
|
|
4893
|
+
searchedWithout: [
|
|
4894
|
+
gapsSearchedAat("fit-out | fitting out | interior fit"),
|
|
4895
|
+
gapsSearchedWikidata("fit-out | interior fit out")
|
|
4896
|
+
]
|
|
4897
|
+
}
|
|
4898
|
+
)
|
|
4899
|
+
];
|
|
4900
|
+
|
|
4901
|
+
// src/axes/time-of-day.ts
|
|
4902
|
+
var MOODY = "mood.moody";
|
|
4903
|
+
var relatedTo8 = (...targets) => targets.map((target) => ({ predicate: "related-to", target }));
|
|
4904
|
+
var TIME_OF_DAY_HOUR_TERMS = [
|
|
4905
|
+
gapsTerm(
|
|
4906
|
+
"dawn",
|
|
4907
|
+
"Dawn",
|
|
4908
|
+
"The first light before sunrise, when the sky brightens and the sun is not yet up.",
|
|
4909
|
+
{
|
|
4910
|
+
external: [
|
|
4911
|
+
mapping("aat", "300343621", "dawn (time of day)", "close"),
|
|
4912
|
+
mapping("wikidata", "Q11326182", "dawn", "close")
|
|
4913
|
+
],
|
|
4914
|
+
related: relatedTo8("mood.soft"),
|
|
4915
|
+
searchedWithout: [gapsSearchedUniclass("Dawn")]
|
|
4916
|
+
}
|
|
4917
|
+
),
|
|
4918
|
+
gapsTerm(
|
|
4919
|
+
"morning",
|
|
4920
|
+
"Morning",
|
|
4921
|
+
"The hours from sunrise towards noon, with the light arriving low from the east and rising.",
|
|
4922
|
+
{
|
|
4923
|
+
altLabels: ["morning light"],
|
|
4924
|
+
external: [
|
|
4925
|
+
mapping("aat", "300343630", "morning", "close"),
|
|
4926
|
+
mapping("wikidata", "Q7722", "morning", "close")
|
|
4927
|
+
],
|
|
4928
|
+
related: relatedTo8("daylight.aspect.east-facing"),
|
|
4929
|
+
searchedWithout: [gapsSearchedUniclass("Morning | morning light")]
|
|
4930
|
+
}
|
|
4931
|
+
),
|
|
4932
|
+
gapsTerm(
|
|
4933
|
+
"golden-hour",
|
|
4934
|
+
"Golden hour",
|
|
4935
|
+
"The first and last hour of sunlight in the day, when the sun is low and the light is warm, directional and soft.",
|
|
4936
|
+
{
|
|
4937
|
+
altLabels: ["magic hour"],
|
|
4938
|
+
external: [mapping("wikidata", "Q3238843", "golden hour", "exact")],
|
|
4939
|
+
related: relatedTo8("mood.soft"),
|
|
4940
|
+
searchedWithout: [
|
|
4941
|
+
gapsSearchedAat("golden hour | magic hour"),
|
|
4942
|
+
gapsSearchedUniclass("Golden hour | magic hour")
|
|
4943
|
+
]
|
|
4944
|
+
}
|
|
4945
|
+
),
|
|
4946
|
+
gapsTerm(
|
|
4947
|
+
"dusk",
|
|
4948
|
+
"Dusk",
|
|
4949
|
+
"The time after sunset but before full dark, when the sky still holds light and a room's own lamps begin to count.",
|
|
4950
|
+
{
|
|
4951
|
+
external: [
|
|
4952
|
+
mapping("aat", "300343622", "dusk", "close"),
|
|
4953
|
+
mapping("wikidata", "Q11288132", "dusk", "close")
|
|
4954
|
+
],
|
|
4955
|
+
related: relatedTo8(MOODY),
|
|
4956
|
+
searchedWithout: [gapsSearchedUniclass("Dusk | twilight")]
|
|
4957
|
+
}
|
|
4958
|
+
),
|
|
4959
|
+
gapsTerm(
|
|
4960
|
+
"evening",
|
|
4961
|
+
"Evening",
|
|
4962
|
+
"The latter part of the day, from about sunset until bedtime, when daylight gives way to lamps.",
|
|
4963
|
+
{
|
|
4964
|
+
altLabels: ["evening light"],
|
|
4965
|
+
external: [
|
|
4966
|
+
mapping("aat", "300343633", "evening", "close"),
|
|
4967
|
+
mapping("wikidata", "Q7725", "evening", "close")
|
|
4968
|
+
],
|
|
4969
|
+
related: relatedTo8("daylight.aspect.west-facing"),
|
|
4970
|
+
searchedWithout: [gapsSearchedUniclass("Evening | evening light")]
|
|
4971
|
+
}
|
|
4972
|
+
),
|
|
4973
|
+
gapsTerm(
|
|
4974
|
+
"night",
|
|
4975
|
+
"Night",
|
|
4976
|
+
"The hours between sunset and sunrise, when a room is seen by artificial light or none and the windows are dark.",
|
|
4977
|
+
{
|
|
4978
|
+
external: [
|
|
4979
|
+
mapping("aat", "300133095", "night", "close"),
|
|
4980
|
+
mapping("wikidata", "Q575", "night", "close")
|
|
4981
|
+
],
|
|
4982
|
+
related: relatedTo8(MOODY),
|
|
4983
|
+
searchedWithout: [gapsSearchedUniclass("Night")]
|
|
4984
|
+
}
|
|
4985
|
+
)
|
|
4986
|
+
];
|
|
4987
|
+
var TIME_OF_DAY_LIT_BY_TERMS = [
|
|
4988
|
+
gapsTerm(
|
|
4989
|
+
"lamplit",
|
|
4990
|
+
"Lamplit",
|
|
4991
|
+
"Seen by the pools of light from table lamps, floor lamps and wall lights, rather than by one overhead source or by daylight.",
|
|
4992
|
+
{
|
|
4993
|
+
altLabels: ["lamplight", "lamp-lit"],
|
|
4994
|
+
related: relatedTo8("element.luminaire", "mood.sheltering"),
|
|
4995
|
+
searchedWithout: [
|
|
4996
|
+
gapsSearchedAat("lamplight | lamp-lit"),
|
|
4997
|
+
gapsSearchedUniclass("Lamplight | lamplit"),
|
|
4998
|
+
gapsSearchedWikidata("lamplight")
|
|
4999
|
+
]
|
|
5000
|
+
}
|
|
5001
|
+
),
|
|
5002
|
+
gapsTerm(
|
|
5003
|
+
"candlelit",
|
|
5004
|
+
"Candlelit",
|
|
5005
|
+
"Seen by the light of candles or open flame: low, warm and unsteady, with deep shadow beyond it.",
|
|
5006
|
+
{
|
|
5007
|
+
altLabels: ["candlelight", "candle-lit"],
|
|
5008
|
+
related: relatedTo8(MOODY),
|
|
5009
|
+
searchedWithout: [
|
|
5010
|
+
gapsSearchedAat("candlelight | candle-lit"),
|
|
5011
|
+
gapsSearchedUniclass("Candlelight | candlelit"),
|
|
5012
|
+
gapsSearchedWikidata("candlelight")
|
|
5013
|
+
]
|
|
5014
|
+
}
|
|
5015
|
+
)
|
|
5016
|
+
];
|
|
5017
|
+
|
|
5018
|
+
// src/axes/gaps-axes.ts
|
|
5019
|
+
var CERTIFICATION_AXIS = {
|
|
5020
|
+
boundary: "Certification is the named scheme or declaration that evidences a requirement: FSC for responsible sourcing, GREENGUARD for indoor air quality, an environmental product declaration for embodied carbon. Requirement is the need a project states and may be met by a different scheme or a test report; a scheme is never a kind of requirement, so the two are linked with related-to and never nested. It is not Procurement, which is how a thing is bought, and not Tier, which is where it sits in a market. Holding a certificate is a claim for a source system to evidence, as it is for Requirement.",
|
|
5021
|
+
facets: single(
|
|
5022
|
+
"certification",
|
|
5023
|
+
"Certification",
|
|
5024
|
+
CERTIFICATION_TERMS,
|
|
5025
|
+
GAPS_LIFECYCLE
|
|
5026
|
+
),
|
|
5027
|
+
governance: GAPS_LIFECYCLE,
|
|
5028
|
+
label: "Certification",
|
|
5029
|
+
question: "What scheme or declaration evidences it?",
|
|
5030
|
+
slug: "certification",
|
|
5031
|
+
status: "authored"
|
|
5032
|
+
};
|
|
5033
|
+
var INTERVENTION_AXIS = {
|
|
5034
|
+
boundary: "Intervention is what a project does to a building: build it new, renew it, convert it, extend it, restore it or fit out its interior. It is not Sector, which is whom the building serves, not Typology, which is what it is, and not Period, which is when it was made: a warehouse converted to flats keeps its typology and carries the intervention adaptive reuse. It is not Strategy, which is what the design sets out to achieve, and not the trade doing the work. A project may carry several, such as a conversion with an extension.",
|
|
5035
|
+
facets: single(
|
|
5036
|
+
"intervention",
|
|
5037
|
+
"Intervention",
|
|
5038
|
+
INTERVENTION_TERMS,
|
|
5039
|
+
GAPS_LIFECYCLE
|
|
5040
|
+
),
|
|
5041
|
+
governance: GAPS_LIFECYCLE,
|
|
5042
|
+
label: "Intervention",
|
|
5043
|
+
question: "What is being done to the building?",
|
|
5044
|
+
slug: "intervention",
|
|
5045
|
+
status: "authored"
|
|
5046
|
+
};
|
|
5047
|
+
var BRIEF_AXES = [
|
|
5048
|
+
CERTIFICATION_AXIS,
|
|
5049
|
+
INTERVENTION_AXIS
|
|
5050
|
+
];
|
|
5051
|
+
var TIME_OF_DAY_AXIS = {
|
|
5052
|
+
boundary: "Time of day is the hour a scheme is designed for or evokes, and the kind of light it is seen by after dark, reached by `evokes` like Season, Place and Period are. It is not Season, which is the time of year and which an hour composes with; not Daylight, which records the natural light a room receives and the way it faces, a fact about the room and not about a scheme; and not Mood, where calm and moody are outcomes rather than hours. Lit by names a kind of source and nothing more: luminaires are Element terms, and no lighting design is recorded on any axis.",
|
|
5053
|
+
facets: [
|
|
5054
|
+
{
|
|
5055
|
+
governance: GAPS_LIFECYCLE,
|
|
5056
|
+
label: "Hour",
|
|
5057
|
+
slug: "hour",
|
|
5058
|
+
terms: TIME_OF_DAY_HOUR_TERMS
|
|
5059
|
+
},
|
|
5060
|
+
{
|
|
5061
|
+
governance: GAPS_LIFECYCLE,
|
|
5062
|
+
label: "Lit by",
|
|
5063
|
+
slug: "lit-by",
|
|
5064
|
+
terms: TIME_OF_DAY_LIT_BY_TERMS
|
|
5065
|
+
}
|
|
5066
|
+
],
|
|
5067
|
+
governance: GAPS_LIFECYCLE,
|
|
5068
|
+
label: "Time of day",
|
|
5069
|
+
question: "Which hour is it meant for, and what is it lit by?",
|
|
5070
|
+
slug: "time-of-day",
|
|
5071
|
+
status: "authored"
|
|
5072
|
+
};
|
|
5073
|
+
|
|
4457
5074
|
// src/axes/installation-layout.ts
|
|
4458
5075
|
var REVIEW_DATE5 = "2026-08-31";
|
|
4459
5076
|
var REVIEW_SOURCE4 = "@instruments/taxonomy TAX-45 reviewed implementation contract";
|
|
@@ -4483,7 +5100,7 @@ var mgLayoutTerm = (slug, label, definition, extra = {}) => ({
|
|
|
4483
5100
|
...extra
|
|
4484
5101
|
});
|
|
4485
5102
|
var RUNNING_BOND = "installation-layout.running-bond";
|
|
4486
|
-
var
|
|
5103
|
+
var relatedTo9 = (...targets) => targets.map((target) => ({ predicate: "related-to", target }));
|
|
4487
5104
|
var INSTALLATION_LAYOUT_TERMS = [
|
|
4488
5105
|
{
|
|
4489
5106
|
...term5(
|
|
@@ -4491,7 +5108,7 @@ var INSTALLATION_LAYOUT_TERMS = [
|
|
|
4491
5108
|
"Stack bond",
|
|
4492
5109
|
"Equal units align in straight rows and columns with joints continuing across both directions."
|
|
4493
5110
|
),
|
|
4494
|
-
related:
|
|
5111
|
+
related: relatedTo9(RUNNING_BOND),
|
|
4495
5112
|
searchedWithout: [searchedUniclass3("stack bond")]
|
|
4496
5113
|
},
|
|
4497
5114
|
{
|
|
@@ -4508,7 +5125,7 @@ var INSTALLATION_LAYOUT_TERMS = [
|
|
|
4508
5125
|
"Offset grid",
|
|
4509
5126
|
"Units occupy a repeated grid whose adjacent rows or columns are displaced, without the directional course identity of running bond."
|
|
4510
5127
|
),
|
|
4511
|
-
related:
|
|
5128
|
+
related: relatedTo9(RUNNING_BOND),
|
|
4512
5129
|
searchedWithout: [searchedUniclass3("Offset grid flooring")]
|
|
4513
5130
|
},
|
|
4514
5131
|
{
|
|
@@ -4539,7 +5156,7 @@ var INSTALLATION_LAYOUT_TERMS = [
|
|
|
4539
5156
|
}
|
|
4540
5157
|
}
|
|
4541
5158
|
),
|
|
4542
|
-
related:
|
|
5159
|
+
related: relatedTo9("installation-layout.herringbone"),
|
|
4543
5160
|
searchedWithout: [searchedUniclass3("chevron flooring")]
|
|
4544
5161
|
},
|
|
4545
5162
|
{
|
|
@@ -4556,7 +5173,7 @@ var INSTALLATION_LAYOUT_TERMS = [
|
|
|
4556
5173
|
"Pinwheel",
|
|
4557
5174
|
"Units rotate around repeated centres, commonly with a smaller central unit."
|
|
4558
5175
|
),
|
|
4559
|
-
related:
|
|
5176
|
+
related: relatedTo9("installation-layout.multi-size-modular"),
|
|
4560
5177
|
searchedWithout: [searchedUniclass3("Pinwheel flooring")]
|
|
4561
5178
|
},
|
|
4562
5179
|
{
|
|
@@ -4565,7 +5182,7 @@ var INSTALLATION_LAYOUT_TERMS = [
|
|
|
4565
5182
|
"Multi-size modular",
|
|
4566
5183
|
"Two or more unit sizes repeat as one governed modular installation sequence."
|
|
4567
5184
|
),
|
|
4568
|
-
related:
|
|
5185
|
+
related: relatedTo9("installation-layout.periodic-multi-shape"),
|
|
4569
5186
|
searchedWithout: [searchedUniclass3("Multi-size modular flooring")]
|
|
4570
5187
|
},
|
|
4571
5188
|
{
|
|
@@ -4574,7 +5191,7 @@ var INSTALLATION_LAYOUT_TERMS = [
|
|
|
4574
5191
|
"Ashlar",
|
|
4575
5192
|
"Rectangular units of varied lengths or sizes form coursed horizontal joints with controlled vertical-joint displacement."
|
|
4576
5193
|
),
|
|
4577
|
-
related:
|
|
5194
|
+
related: relatedTo9(RUNNING_BOND),
|
|
4578
5195
|
searchedWithout: [searchedUniclass3("ashlar masonry")]
|
|
4579
5196
|
},
|
|
4580
5197
|
{
|
|
@@ -4583,7 +5200,7 @@ var INSTALLATION_LAYOUT_TERMS = [
|
|
|
4583
5200
|
"Random stagger",
|
|
4584
5201
|
"Elongated units form courses whose end joints vary without a stable repeating offset."
|
|
4585
5202
|
),
|
|
4586
|
-
related:
|
|
5203
|
+
related: relatedTo9(RUNNING_BOND),
|
|
4587
5204
|
searchedWithout: [searchedUniclass3("Random stagger flooring")]
|
|
4588
5205
|
},
|
|
4589
5206
|
{
|
|
@@ -4619,7 +5236,7 @@ var INSTALLATION_LAYOUT_TERMS = [
|
|
|
4619
5236
|
"Versailles parquet",
|
|
4620
5237
|
"Framed square panels, each filled with an interlocking diagonal basketweave lattice, repeat across the surface."
|
|
4621
5238
|
),
|
|
4622
|
-
related:
|
|
5239
|
+
related: relatedTo9("installation-layout.basketweave"),
|
|
4623
5240
|
searchedWithout: [searchedUniclass3("Versailles parquet")]
|
|
4624
5241
|
},
|
|
4625
5242
|
{
|
|
@@ -4628,7 +5245,7 @@ var INSTALLATION_LAYOUT_TERMS = [
|
|
|
4628
5245
|
"Chantilly parquet",
|
|
4629
5246
|
"Framed square panels, each filled with an interlaced lattice of diamond or cross-shaped units, repeat across the surface."
|
|
4630
5247
|
),
|
|
4631
|
-
related:
|
|
5248
|
+
related: relatedTo9("installation-layout.versailles"),
|
|
4632
5249
|
searchedWithout: [searchedUniclass3("Chantilly parquet")]
|
|
4633
5250
|
},
|
|
4634
5251
|
// MG-2218. Narrower than herringbone: every double herringbone installation is also a broken
|
|
@@ -4650,7 +5267,7 @@ var INSTALLATION_LAYOUT_TERMS = [
|
|
|
4650
5267
|
"Hexagonal parquet block",
|
|
4651
5268
|
"Elongated units arranged radially in groups of six form repeating hexagonal parquet blocks across the surface."
|
|
4652
5269
|
),
|
|
4653
|
-
related:
|
|
5270
|
+
related: relatedTo9("installation-layout.versailles"),
|
|
4654
5271
|
searchedWithout: [searchedUniclass3("Hexagonal parquet block flooring")]
|
|
4655
5272
|
}
|
|
4656
5273
|
];
|
|
@@ -4888,6 +5505,8 @@ var EN_14080 = "EN 14080:2013";
|
|
|
4888
5505
|
var EN_16351 = "EN 16351:2021";
|
|
4889
5506
|
var EN_14374 = "EN 14374:2004";
|
|
4890
5507
|
var ENGINEERED_WOOD_SLUG = "engineered-wood";
|
|
5508
|
+
var MASS_TIMBER_SLUG = "mass-timber";
|
|
5509
|
+
var CROSS_LAMINATED_TIMBER = "cross-laminated timber";
|
|
4891
5510
|
var MATERIAL_ENGINEERED_WOOD_TERMS = [
|
|
4892
5511
|
// Families.
|
|
4893
5512
|
compositionTerm(
|
|
@@ -4938,16 +5557,14 @@ var MATERIAL_ENGINEERED_WOOD_TERMS = [
|
|
|
4938
5557
|
"A structural timber product manufactured from layers of timber boards stacked and bonded together with the grain of each layer rotated orthogonally to the adjacent layers.",
|
|
4939
5558
|
EN_16351,
|
|
4940
5559
|
{
|
|
4941
|
-
altLabels: [
|
|
4942
|
-
broaderSlug:
|
|
5560
|
+
altLabels: [CROSS_LAMINATED_TIMBER],
|
|
5561
|
+
broaderSlug: MASS_TIMBER_SLUG,
|
|
4943
5562
|
external: [
|
|
4944
|
-
externalMapping(
|
|
4945
|
-
|
|
4946
|
-
"Q911043",
|
|
4947
|
-
"cross-laminated timber",
|
|
4948
|
-
"close"
|
|
4949
|
-
)
|
|
5563
|
+
externalMapping("wikidata", "Q911043", CROSS_LAMINATED_TIMBER, "close"),
|
|
5564
|
+
externalMapping("aat", "300444008", CROSS_LAMINATED_TIMBER, "close")
|
|
4950
5565
|
],
|
|
5566
|
+
// Re-parented beneath `mass-timber` on the date that term was added.
|
|
5567
|
+
reviewedAt: GAPS_DATE,
|
|
4951
5568
|
searchedWithout: searchedUniclass5("CLT | cross-laminated timber | clt"),
|
|
4952
5569
|
seenAs: ["cross laminated timber"]
|
|
4953
5570
|
}
|
|
@@ -4988,15 +5605,18 @@ var MATERIAL_ENGINEERED_WOOD_TERMS = [
|
|
|
4988
5605
|
EN_14080,
|
|
4989
5606
|
{
|
|
4990
5607
|
altLabels: ["glued laminated timber", "glue-laminated timber"],
|
|
4991
|
-
broaderSlug:
|
|
5608
|
+
broaderSlug: MASS_TIMBER_SLUG,
|
|
4992
5609
|
external: [
|
|
4993
5610
|
externalMapping(
|
|
4994
5611
|
"wikidata",
|
|
4995
5612
|
"Q643449",
|
|
4996
5613
|
"glued laminated timber",
|
|
4997
5614
|
"close"
|
|
4998
|
-
)
|
|
5615
|
+
),
|
|
5616
|
+
externalMapping("aat", "300390588", "glue-laminated timber", "close")
|
|
4999
5617
|
],
|
|
5618
|
+
// Re-parented beneath `mass-timber` on the date that term was added.
|
|
5619
|
+
reviewedAt: GAPS_DATE,
|
|
5000
5620
|
searchedWithout: searchedUniclass5(
|
|
5001
5621
|
"Glulam | glued laminated timber | glue-laminated timber | glulam"
|
|
5002
5622
|
)
|
|
@@ -5021,6 +5641,26 @@ var MATERIAL_ENGINEERED_WOOD_TERMS = [
|
|
|
5021
5641
|
searchedWithout: searchedUniclass5("LVL | laminated veneer lumber | lvl")
|
|
5022
5642
|
}
|
|
5023
5643
|
),
|
|
5644
|
+
// The structural class CLT and glulam sit in. Every CLT and every glulam member is mass timber,
|
|
5645
|
+
// so both nest here; LVL does not, because it is built up from veneers and not from large solid
|
|
5646
|
+
// elements. Added for TAX-66, and no outside vocabulary has it: AAT and Uniclass name the
|
|
5647
|
+
// products and not the class.
|
|
5648
|
+
authoredTerm(
|
|
5649
|
+
MASS_TIMBER_SLUG,
|
|
5650
|
+
"Mass timber",
|
|
5651
|
+
"Structural engineered wood made from large solid timber elements bonded into load-bearing panels, beams and columns, such as cross-laminated timber and glued laminated timber, rather than from small sections or fibre.",
|
|
5652
|
+
{
|
|
5653
|
+
broaderSlug: ENGINEERED_WOOD_SLUG,
|
|
5654
|
+
introducedAt: GAPS_DATE,
|
|
5655
|
+
provenance: GAPS_PROVENANCE,
|
|
5656
|
+
reviewedAt: GAPS_DATE,
|
|
5657
|
+
searchedWithout: [
|
|
5658
|
+
gapsSearchedUniclass("Mass timber | massive timber"),
|
|
5659
|
+
gapsSearchedAat("mass timber"),
|
|
5660
|
+
gapsSearchedWikidata("mass timber")
|
|
5661
|
+
]
|
|
5662
|
+
}
|
|
5663
|
+
),
|
|
5024
5664
|
compositionTerm(
|
|
5025
5665
|
"osb",
|
|
5026
5666
|
"OSB",
|
|
@@ -7230,6 +7870,29 @@ var MATERIAL_MINERALS_TERMS = [
|
|
|
7230
7870
|
externalMapping("wikidata", "Q6549153", "lime plaster", "close")
|
|
7231
7871
|
]
|
|
7232
7872
|
}
|
|
7873
|
+
),
|
|
7874
|
+
// Added for TAX-66. AAT and Uniclass both name it as a material (Uniclass by its French word,
|
|
7875
|
+
// Pisé), where Wikidata names the building technique, hence `close` on every mapping. Beneath
|
|
7876
|
+
// `mineral` because the body is subsoil, which is mineral whatever it is stabilised with. Not
|
|
7877
|
+
// filed under a material family: stabilised earth is cement-bound only in part, so no shelf holds
|
|
7878
|
+
// for every instance.
|
|
7879
|
+
authoredTerm(
|
|
7880
|
+
"rammed-earth",
|
|
7881
|
+
"Rammed earth",
|
|
7882
|
+
"Subsoil of sand, gravel and clay compacted in layers within formwork to form a monolithic wall or floor, with or without a cement or lime stabiliser.",
|
|
7883
|
+
{
|
|
7884
|
+
altLabels: ["pis\xE9", "pis\xE9 de terre"],
|
|
7885
|
+
broaderSlug: MINERAL_SLUG2,
|
|
7886
|
+
external: [
|
|
7887
|
+
externalMapping("aat", "300014365", "rammed earth", "close"),
|
|
7888
|
+
externalMapping("uniclass", "Ma_20_64", "Pis\xE9", "close"),
|
|
7889
|
+
externalMapping("wikidata", "Q1363009", "rammed earth", "close")
|
|
7890
|
+
],
|
|
7891
|
+
introducedAt: GAPS_DATE,
|
|
7892
|
+
provenance: GAPS_PROVENANCE,
|
|
7893
|
+
related: [{ predicate: "related-to", target: "material.clay" }],
|
|
7894
|
+
reviewedAt: GAPS_DATE
|
|
7895
|
+
}
|
|
7233
7896
|
)
|
|
7234
7897
|
];
|
|
7235
7898
|
|
|
@@ -10810,7 +11473,7 @@ var SNAPSHOT4 = "2026-08-21";
|
|
|
10810
11473
|
var MS_MOOD = "ms_mood, a mood dictionary in a materials-retrieval system (src-05)";
|
|
10811
11474
|
var ADR = "@instruments/taxonomy ADR 0001";
|
|
10812
11475
|
var aat5 = (identifier, label, match) => ({ identifier, label, match, scheme: "aat" });
|
|
10813
|
-
var
|
|
11476
|
+
var relatedTo10 = (target) => ({
|
|
10814
11477
|
predicate: "related-to",
|
|
10815
11478
|
target
|
|
10816
11479
|
});
|
|
@@ -10862,7 +11525,7 @@ var MOOD_TERMS = [
|
|
|
10862
11525
|
definition: "Sharp edges and clean contrast; the opposite meaning to soft.",
|
|
10863
11526
|
label: "Crisp",
|
|
10864
11527
|
provenance: { basis: "vendored", snapshot: SNAPSHOT4, source: MS_MOOD },
|
|
10865
|
-
related: [
|
|
11528
|
+
related: [relatedTo10("mood.soft")],
|
|
10866
11529
|
searchedWithout: [
|
|
10867
11530
|
{
|
|
10868
11531
|
date: SEARCHED_ON,
|
|
@@ -10877,7 +11540,7 @@ var MOOD_TERMS = [
|
|
|
10877
11540
|
definition: "Dark, low-lit and enclosing, without necessarily being theatrical.",
|
|
10878
11541
|
label: "Moody",
|
|
10879
11542
|
provenance: { basis: "vendored", snapshot: SNAPSHOT4, source: MS_MOOD },
|
|
10880
|
-
related: [
|
|
11543
|
+
related: [relatedTo10("mood.dramatic")],
|
|
10881
11544
|
searchedWithout: [
|
|
10882
11545
|
{
|
|
10883
11546
|
date: SEARCHED_ON,
|
|
@@ -10936,7 +11599,7 @@ var MOOD_TERMS = [
|
|
|
10936
11599
|
definition: "Sober and unplayful; the room signals that consequential things happen in it.",
|
|
10937
11600
|
label: "Serious",
|
|
10938
11601
|
provenance: { basis: "vendored", snapshot: SNAPSHOT4, source: MS_MOOD },
|
|
10939
|
-
related: [
|
|
11602
|
+
related: [relatedTo10("mood.playful")],
|
|
10940
11603
|
searchedWithout: [
|
|
10941
11604
|
{
|
|
10942
11605
|
date: SEARCHED_ON,
|
|
@@ -10953,7 +11616,7 @@ var MOOD_TERMS = [
|
|
|
10953
11616
|
label: "Austere",
|
|
10954
11617
|
note: "Authored here. Two estate vocabularies carry a monastic register (a rendering pipeline's `tactile-monastic`, a materials-retrieval system's `monastic`) that no ms_mood term reaches: `calm` and `serious` both understate it, and neither carries the renunciation.",
|
|
10955
11618
|
provenance: { basis: "authored", source: ADR },
|
|
10956
|
-
related: [
|
|
11619
|
+
related: [relatedTo10("mood.calm"), relatedTo10("mood.serious")],
|
|
10957
11620
|
searchedWithout: [
|
|
10958
11621
|
{
|
|
10959
11622
|
date: SEARCHED_ON,
|
|
@@ -11006,7 +11669,7 @@ var MOOD_TERMS = [
|
|
|
11006
11669
|
],
|
|
11007
11670
|
label: "Quiet Luxury",
|
|
11008
11671
|
provenance: { basis: "vendored", snapshot: SNAPSHOT4, source: MS_MOOD },
|
|
11009
|
-
related: [
|
|
11672
|
+
related: [relatedTo10("mood.luxurious")],
|
|
11010
11673
|
searchedWithout: [
|
|
11011
11674
|
{
|
|
11012
11675
|
date: SEARCHED_ON,
|
|
@@ -11922,6 +12585,290 @@ var PATTERN_DIRECTIONALITY_TERMS = [
|
|
|
11922
12585
|
}
|
|
11923
12586
|
];
|
|
11924
12587
|
|
|
12588
|
+
// src/axes/coverage-review.ts
|
|
12589
|
+
var COVERAGE_SOURCE = "Linear TAX-66 coverage review";
|
|
12590
|
+
var coverageTerm = (slug, label, definition, extra = {}) => ({
|
|
12591
|
+
definition,
|
|
12592
|
+
introducedAt: SEARCHED_ON_TAX66_COVERAGE,
|
|
12593
|
+
label,
|
|
12594
|
+
provenance: { basis: "authored", source: COVERAGE_SOURCE },
|
|
12595
|
+
reviewedAt: SEARCHED_ON_TAX66_COVERAGE,
|
|
12596
|
+
slug,
|
|
12597
|
+
...extra
|
|
12598
|
+
});
|
|
12599
|
+
var referenceFor = (mapping2) => {
|
|
12600
|
+
if (mapping2.scheme === "aat") {
|
|
12601
|
+
return `Getty AAT ${mapping2.identifier} ${mapping2.label}, http://vocab.getty.edu/aat/${mapping2.identifier}`;
|
|
12602
|
+
}
|
|
12603
|
+
if (mapping2.scheme === "wikidata") {
|
|
12604
|
+
return `Wikidata ${mapping2.identifier} ${mapping2.label}, https://www.wikidata.org/wiki/${mapping2.identifier}`;
|
|
12605
|
+
}
|
|
12606
|
+
return void 0;
|
|
12607
|
+
};
|
|
12608
|
+
var grounded = (entry) => {
|
|
12609
|
+
const sources = (entry.external ?? []).map((mapping2) => referenceFor(mapping2)).filter((source) => source !== void 0);
|
|
12610
|
+
if (sources.length === 0) {
|
|
12611
|
+
return entry;
|
|
12612
|
+
}
|
|
12613
|
+
return {
|
|
12614
|
+
...entry,
|
|
12615
|
+
provenance: {
|
|
12616
|
+
basis: "referenced",
|
|
12617
|
+
snapshot: SEARCHED_ON_TAX66_COVERAGE,
|
|
12618
|
+
source: sources.join("; ")
|
|
12619
|
+
}
|
|
12620
|
+
};
|
|
12621
|
+
};
|
|
12622
|
+
var wikidataMapping = (identifier, label, match) => ({ identifier, label, match, scheme: "wikidata" });
|
|
12623
|
+
var searchedAat2 = (query) => ({
|
|
12624
|
+
date: SEARCHED_ON_TAX66_COVERAGE,
|
|
12625
|
+
query,
|
|
12626
|
+
scheme: "aat",
|
|
12627
|
+
via: `${GETTY_SPARQL}; luc:term search, AAT preferred labels and English scope notes read`
|
|
12628
|
+
});
|
|
12629
|
+
var searchedWikidata2 = (query) => ({
|
|
12630
|
+
date: SEARCHED_ON_TAX66_COVERAGE,
|
|
12631
|
+
query,
|
|
12632
|
+
scheme: "wikidata",
|
|
12633
|
+
via: `${WIKIDATA_SEARCH}&language=en&format=json; labels and descriptions read`
|
|
12634
|
+
});
|
|
12635
|
+
var searchedUniclass11 = (query) => ({
|
|
12636
|
+
date: SEARCHED_ON_TAX66_COVERAGE,
|
|
12637
|
+
query,
|
|
12638
|
+
scheme: "uniclass",
|
|
12639
|
+
via: `${UNICLASS_DOWNLOAD}; every July 2026 table (Ac, Co, EF, En, FI, Ma, PC, PM, Pr, RK, Ro, SL, Ss, TE) searched by title`
|
|
12640
|
+
});
|
|
12641
|
+
|
|
12642
|
+
// src/axes/pattern-motifs.ts
|
|
12643
|
+
var PLAID_CHECK = "plaid-check";
|
|
12644
|
+
var CULTURAL_HERITAGE = "cultural-heritage";
|
|
12645
|
+
var MOTIF_DRAFTS = [
|
|
12646
|
+
{
|
|
12647
|
+
...coverageTerm(
|
|
12648
|
+
"gingham",
|
|
12649
|
+
"Gingham",
|
|
12650
|
+
"A check of equal-width bands crossing at right angles in white and one colour, so that the crossings read as a third, deeper tone."
|
|
12651
|
+
),
|
|
12652
|
+
broaderSlug: PLAID_CHECK,
|
|
12653
|
+
external: [
|
|
12654
|
+
{
|
|
12655
|
+
identifier: "300451340",
|
|
12656
|
+
label: "gingham",
|
|
12657
|
+
match: "close",
|
|
12658
|
+
scheme: "aat"
|
|
12659
|
+
},
|
|
12660
|
+
wikidataMapping("Q2289640", "gingham", "close")
|
|
12661
|
+
],
|
|
12662
|
+
searchedWithout: [searchedUniclass11("gingham")]
|
|
12663
|
+
},
|
|
12664
|
+
{
|
|
12665
|
+
...coverageTerm(
|
|
12666
|
+
"tartan",
|
|
12667
|
+
"Tartan",
|
|
12668
|
+
"A check of crossing bands in several colours, set out in a fixed sequence called a sett and repeated in both directions, traditionally woven in twill and tied to Scottish clans and districts."
|
|
12669
|
+
),
|
|
12670
|
+
altLabels: ["tartan plaid"],
|
|
12671
|
+
broaderSlug: PLAID_CHECK,
|
|
12672
|
+
external: [
|
|
12673
|
+
{
|
|
12674
|
+
identifier: "300256600",
|
|
12675
|
+
label: "tartan",
|
|
12676
|
+
match: "close",
|
|
12677
|
+
scheme: "aat"
|
|
12678
|
+
},
|
|
12679
|
+
wikidataMapping("Q216797", "tartan", "close")
|
|
12680
|
+
],
|
|
12681
|
+
related: [relatedTo4("pattern.type.cultural-heritage")],
|
|
12682
|
+
searchedWithout: [searchedUniclass11("tartan; plaid")]
|
|
12683
|
+
},
|
|
12684
|
+
{
|
|
12685
|
+
...coverageTerm(
|
|
12686
|
+
"houndstooth",
|
|
12687
|
+
"Houndstooth",
|
|
12688
|
+
"A two-colour broken check in which each square is notched into four-pointed, tooth-like shapes, most often in black and white."
|
|
12689
|
+
),
|
|
12690
|
+
altLabels: ["dogstooth", "dogtooth", "hounds-tooth"],
|
|
12691
|
+
broaderSlug: PLAID_CHECK,
|
|
12692
|
+
external: [
|
|
12693
|
+
{
|
|
12694
|
+
identifier: "300266442",
|
|
12695
|
+
label: "houndstooth",
|
|
12696
|
+
match: "exact",
|
|
12697
|
+
scheme: "aat"
|
|
12698
|
+
},
|
|
12699
|
+
wikidataMapping("Q911389", "houndstooth", "exact")
|
|
12700
|
+
],
|
|
12701
|
+
searchedWithout: [searchedUniclass11("houndstooth; dogtooth")]
|
|
12702
|
+
},
|
|
12703
|
+
{
|
|
12704
|
+
...coverageTerm(
|
|
12705
|
+
"argyle",
|
|
12706
|
+
"Argyle",
|
|
12707
|
+
"A repeat of diamonds in two or more colours, set on the diagonal and crossed by fine diagonal lines, as in knitwear and socks."
|
|
12708
|
+
),
|
|
12709
|
+
altLabels: ["argyll"],
|
|
12710
|
+
broaderSlug: "geometric",
|
|
12711
|
+
searchedWithout: [
|
|
12712
|
+
searchedAat2("argyle; argyll; diamond pattern"),
|
|
12713
|
+
searchedWikidata2("argyle; argyle pattern; argyle diamond pattern"),
|
|
12714
|
+
searchedUniclass11("argyle; argyll")
|
|
12715
|
+
]
|
|
12716
|
+
},
|
|
12717
|
+
{
|
|
12718
|
+
...coverageTerm(
|
|
12719
|
+
"polka-dot",
|
|
12720
|
+
"Polka dot",
|
|
12721
|
+
"A repeat of evenly spaced, equal-sized filled circles on a contrasting ground."
|
|
12722
|
+
),
|
|
12723
|
+
altLabels: ["polka dots"],
|
|
12724
|
+
broaderSlug: "geometric",
|
|
12725
|
+
external: [
|
|
12726
|
+
{
|
|
12727
|
+
identifier: "300417972",
|
|
12728
|
+
label: "polka dots",
|
|
12729
|
+
match: "exact",
|
|
12730
|
+
scheme: "aat"
|
|
12731
|
+
},
|
|
12732
|
+
wikidataMapping("Q2429962", "polka dot", "exact")
|
|
12733
|
+
],
|
|
12734
|
+
searchedWithout: [searchedUniclass11("polka dot")]
|
|
12735
|
+
},
|
|
12736
|
+
{
|
|
12737
|
+
...coverageTerm(
|
|
12738
|
+
"trellis",
|
|
12739
|
+
"Trellis",
|
|
12740
|
+
"A repeat of crossing or interlaced lines forming an open lattice of diamonds or lozenges, in the manner of garden trellis."
|
|
12741
|
+
),
|
|
12742
|
+
altLabels: ["lattice", "latticework"],
|
|
12743
|
+
broaderSlug: "geometric",
|
|
12744
|
+
searchedWithout: [
|
|
12745
|
+
searchedAat2("trellis; lattice; treillage"),
|
|
12746
|
+
searchedWikidata2("trellis; trellis pattern; lattice pattern"),
|
|
12747
|
+
searchedUniclass11("trellis; lattice")
|
|
12748
|
+
]
|
|
12749
|
+
},
|
|
12750
|
+
{
|
|
12751
|
+
...coverageTerm(
|
|
12752
|
+
"fish-scale",
|
|
12753
|
+
"Fish-scale",
|
|
12754
|
+
"A repeat of overlapping rounded arcs set in staggered rows, like the scales of a fish, whether printed, woven or formed by laid units."
|
|
12755
|
+
),
|
|
12756
|
+
altLabels: ["fish scale", "fishscale", "mermaid scale"],
|
|
12757
|
+
broaderSlug: "geometric",
|
|
12758
|
+
external: [
|
|
12759
|
+
{
|
|
12760
|
+
identifier: "300010142",
|
|
12761
|
+
label: "scale pattern",
|
|
12762
|
+
match: "exact",
|
|
12763
|
+
scheme: "aat"
|
|
12764
|
+
}
|
|
12765
|
+
],
|
|
12766
|
+
// Scallop on UNIT SHAPE is the outline of one unit; this is the repeat those units, or a print,
|
|
12767
|
+
// can make. A fish-scale tile is a scallop unit, and a printed fish-scale is no unit at all, so
|
|
12768
|
+
// the two are linked and not merged.
|
|
12769
|
+
related: [relatedTo4("unit-shape.scallop")],
|
|
12770
|
+
searchedWithout: [
|
|
12771
|
+
searchedWikidata2("fish scale; fish scale pattern; scale pattern"),
|
|
12772
|
+
searchedUniclass11("fish scale; scallop; imbricated")
|
|
12773
|
+
]
|
|
12774
|
+
},
|
|
12775
|
+
{
|
|
12776
|
+
...coverageTerm(
|
|
12777
|
+
"ombre",
|
|
12778
|
+
"Ombre",
|
|
12779
|
+
"A gradient that shades one colour, or two neighbouring colours, from light to deep across the surface."
|
|
12780
|
+
),
|
|
12781
|
+
altLabels: ["ombr\xE9"],
|
|
12782
|
+
broaderSlug: "gradient",
|
|
12783
|
+
searchedWithout: [
|
|
12784
|
+
searchedAat2("ombre; ombr\xE9; shading; gradation"),
|
|
12785
|
+
searchedWikidata2("ombre; ombr\xE9; ombre dyeing"),
|
|
12786
|
+
searchedUniclass11("ombre; ombr\xE9")
|
|
12787
|
+
]
|
|
12788
|
+
},
|
|
12789
|
+
{
|
|
12790
|
+
...coverageTerm(
|
|
12791
|
+
"kilim",
|
|
12792
|
+
"Kilim",
|
|
12793
|
+
"A flat-woven repeat of stepped medallions, diamonds and bands in the manner of the tapestry-woven rugs of Anatolia, Persia and the Balkans."
|
|
12794
|
+
),
|
|
12795
|
+
broaderSlug: CULTURAL_HERITAGE,
|
|
12796
|
+
external: [
|
|
12797
|
+
{
|
|
12798
|
+
identifier: "300186972",
|
|
12799
|
+
label: "kilims",
|
|
12800
|
+
match: "related",
|
|
12801
|
+
scheme: "aat"
|
|
12802
|
+
},
|
|
12803
|
+
wikidataMapping("Q585358", "kilim", "related")
|
|
12804
|
+
],
|
|
12805
|
+
related: [relatedTo4("construction.woven")],
|
|
12806
|
+
searchedWithout: [searchedUniclass11("kilim")]
|
|
12807
|
+
},
|
|
12808
|
+
{
|
|
12809
|
+
...coverageTerm(
|
|
12810
|
+
"ikat",
|
|
12811
|
+
"Ikat",
|
|
12812
|
+
"A repeat of soft, feathered-edge motifs left by tie-dyeing warp or weft threads before they are woven, and imitated in prints."
|
|
12813
|
+
),
|
|
12814
|
+
broaderSlug: CULTURAL_HERITAGE,
|
|
12815
|
+
external: [
|
|
12816
|
+
{
|
|
12817
|
+
identifier: "300249861",
|
|
12818
|
+
label: "ikat",
|
|
12819
|
+
match: "related",
|
|
12820
|
+
scheme: "aat"
|
|
12821
|
+
},
|
|
12822
|
+
wikidataMapping("Q140101", "Ikat", "related")
|
|
12823
|
+
],
|
|
12824
|
+
note: "Ikat names a dyeing technique as well as the pattern it leaves. A term sits on one axis, so this is the pattern; both external concepts are the technique and are mapped as related. The technique is not yet a Construction term.",
|
|
12825
|
+
related: [relatedTo4("construction.woven")],
|
|
12826
|
+
searchedWithout: [searchedUniclass11("ikat")]
|
|
12827
|
+
},
|
|
12828
|
+
{
|
|
12829
|
+
...coverageTerm(
|
|
12830
|
+
"chinoiserie",
|
|
12831
|
+
"Chinoiserie",
|
|
12832
|
+
"A pictorial repeat of pagodas, figures, birds and flowering branches, in a European imitation of Chinese and East Asian decorative art."
|
|
12833
|
+
),
|
|
12834
|
+
broaderSlug: CULTURAL_HERITAGE,
|
|
12835
|
+
external: [
|
|
12836
|
+
{
|
|
12837
|
+
identifier: "300021167",
|
|
12838
|
+
label: "Chinoiserie",
|
|
12839
|
+
match: "close",
|
|
12840
|
+
scheme: "aat"
|
|
12841
|
+
},
|
|
12842
|
+
wikidataMapping("Q863679", "chinoiserie", "close")
|
|
12843
|
+
],
|
|
12844
|
+
related: [relatedTo4("pattern.type.scenic")],
|
|
12845
|
+
searchedWithout: [searchedUniclass11("chinoiserie")]
|
|
12846
|
+
},
|
|
12847
|
+
{
|
|
12848
|
+
...coverageTerm(
|
|
12849
|
+
"craquelure",
|
|
12850
|
+
"Craquelure",
|
|
12851
|
+
"A network of fine, irregular cracks across the surface, as in aged paint and varnish, and made on purpose in crackle glaze, crackle paint and printed imitations."
|
|
12852
|
+
),
|
|
12853
|
+
altLabels: ["crackle", "crackled", "crackle effect"],
|
|
12854
|
+
external: [
|
|
12855
|
+
{
|
|
12856
|
+
identifier: "300228345",
|
|
12857
|
+
label: "crackle",
|
|
12858
|
+
match: "exact",
|
|
12859
|
+
scheme: "aat"
|
|
12860
|
+
},
|
|
12861
|
+
wikidataMapping("Q1329067", "craquelure", "exact")
|
|
12862
|
+
],
|
|
12863
|
+
related: [
|
|
12864
|
+
relatedTo4("finish.treatment.antiqued"),
|
|
12865
|
+
relatedTo4("finish.treatment.glazed")
|
|
12866
|
+
],
|
|
12867
|
+
searchedWithout: [searchedUniclass11("craquelure; crackle")]
|
|
12868
|
+
}
|
|
12869
|
+
];
|
|
12870
|
+
var PATTERN_MOTIF_TERMS = MOTIF_DRAFTS.map(grounded);
|
|
12871
|
+
|
|
11925
12872
|
// src/axes/pattern.ts
|
|
11926
12873
|
var SOURCE4 = "pattern vocabulary in a furnishings retailer (src-03)";
|
|
11927
12874
|
var SNAPSHOT6 = "2026-08-25";
|
|
@@ -12356,7 +13303,8 @@ var PATTERN_TYPE_TERMS = [
|
|
|
12356
13303
|
"A surface intended to read as woven threads rather than its construction."
|
|
12357
13304
|
),
|
|
12358
13305
|
searchedWithout: [searchedUniclass3("Woven effect")]
|
|
12359
|
-
}
|
|
13306
|
+
},
|
|
13307
|
+
...PATTERN_MOTIF_TERMS
|
|
12360
13308
|
];
|
|
12361
13309
|
var PATTERN_TERMS = [
|
|
12362
13310
|
...PATTERN_TYPE_TERMS,
|
|
@@ -12373,7 +13321,7 @@ var AUTHORED4 = {
|
|
|
12373
13321
|
source: "@instruments/taxonomy ADR 0001"
|
|
12374
13322
|
};
|
|
12375
13323
|
var aat6 = (identifier, label, match) => ({ identifier, label, match, scheme: "aat" });
|
|
12376
|
-
var
|
|
13324
|
+
var relatedTo11 = (target) => ({
|
|
12377
13325
|
predicate: "related-to",
|
|
12378
13326
|
target
|
|
12379
13327
|
});
|
|
@@ -12443,7 +13391,7 @@ var PERIOD_TERMS = [
|
|
|
12443
13391
|
label: "Baroque",
|
|
12444
13392
|
note: "Stuart (1603-1714) is the British dynastic label for nearly the same span, and by this axis's own rule would be the better id; `baroque` is kept because it is what the English-language trade says of a building of this date anywhere in Europe. Jacobean (1603-1625) is a sub-span, not a synonym. Also a style name - see the header.",
|
|
12445
13393
|
provenance: AUTHORED4,
|
|
12446
|
-
related: [
|
|
13394
|
+
related: [relatedTo11("period.renaissance")],
|
|
12447
13395
|
slug: "baroque",
|
|
12448
13396
|
span: {
|
|
12449
13397
|
circa: true,
|
|
@@ -12548,7 +13496,7 @@ var PERIOD_TERMS = [
|
|
|
12548
13496
|
label: "Edwardian",
|
|
12549
13497
|
note: "The reign ends in 1910 but the building manner runs to the outbreak of war, and the trade dates it that way. NO US EQUIVALENT EXISTS and none is invented here - the American labels reached for at this date (Craftsman, Arts and Crafts, Prairie) are all styles, and putting one of them here would be the exact error this axis was built to stop.",
|
|
12550
13498
|
provenance: AUTHORED4,
|
|
12551
|
-
related: [
|
|
13499
|
+
related: [relatedTo11("period.victorian")],
|
|
12552
13500
|
slug: "edwardian",
|
|
12553
13501
|
span: {
|
|
12554
13502
|
circa: false,
|
|
@@ -12636,7 +13584,7 @@ var PERIOD_TERMS = [
|
|
|
12636
13584
|
label: "Late Twentieth Century",
|
|
12637
13585
|
note: "THE WEAKEST TERM ON THIS AXIS, and flagged rather than dressed up. The trade has no settled label for these thirty years - it dates by decade, or reaches for a style name instead - so this is a bucket the axis needs for completeness rather than a period anyone asks for by name. Expect it to be split or renamed once there is usage evidence to split it on.",
|
|
12638
13586
|
provenance: AUTHORED4,
|
|
12639
|
-
related: [
|
|
13587
|
+
related: [relatedTo11("period.mid-century")],
|
|
12640
13588
|
slug: "late-century",
|
|
12641
13589
|
span: {
|
|
12642
13590
|
circa: true,
|
|
@@ -12662,7 +13610,7 @@ var PERIOD_TERMS = [
|
|
|
12662
13610
|
label: "Contemporary",
|
|
12663
13611
|
note: "DELIBERATELY OPEN-ENDED, and it will need a successor bracket eventually. Collides by name with `style.contemporary`, which means the prevailing current idiom rather than a date; the axis prefix disambiguates. A 2024 building in full Georgian pastiche is `period.contemporary` and is emphatically not `style.contemporary`, which is the case that shows why the two cannot be merged.",
|
|
12664
13612
|
provenance: AUTHORED4,
|
|
12665
|
-
seenAs: ["Contemporary", "modern"
|
|
13613
|
+
seenAs: ["Contemporary", "modern"],
|
|
12666
13614
|
slug: "contemporary",
|
|
12667
13615
|
span: {
|
|
12668
13616
|
circa: true,
|
|
@@ -12680,7 +13628,7 @@ var SNAPSHOT7 = "2026-08-21";
|
|
|
12680
13628
|
var ADR2 = "@instruments/taxonomy ADR 0001";
|
|
12681
13629
|
var PLATFORM_CONTEXTS = "CONTEXTS in an architecture-projects platform (src-01)";
|
|
12682
13630
|
var aat7 = (identifier, label, match) => ({ identifier, label, match, scheme: "aat" });
|
|
12683
|
-
var
|
|
13631
|
+
var relatedTo12 = (target) => ({
|
|
12684
13632
|
predicate: "related-to",
|
|
12685
13633
|
target
|
|
12686
13634
|
});
|
|
@@ -12915,7 +13863,7 @@ var PLACE_LANDSCAPE_TERMS = [
|
|
|
12915
13863
|
snapshot: SNAPSHOT7,
|
|
12916
13864
|
source: PLATFORM_CONTEXTS
|
|
12917
13865
|
},
|
|
12918
|
-
related: [
|
|
13866
|
+
related: [relatedTo12("place.landscape.coastal")],
|
|
12919
13867
|
slug: "waterfront"
|
|
12920
13868
|
},
|
|
12921
13869
|
{
|
|
@@ -13026,7 +13974,7 @@ var PLACE_LANDSCAPE_TERMS = [
|
|
|
13026
13974
|
snapshot: SNAPSHOT7,
|
|
13027
13975
|
source: PLATFORM_CONTEXTS
|
|
13028
13976
|
},
|
|
13029
|
-
related: [
|
|
13977
|
+
related: [relatedTo12("place.landscape.urban")],
|
|
13030
13978
|
slug: "suburban"
|
|
13031
13979
|
},
|
|
13032
13980
|
{
|
|
@@ -13052,31 +14000,367 @@ var PLACE_LANDSCAPE_TERMS = [
|
|
|
13052
14000
|
}
|
|
13053
14001
|
];
|
|
13054
14002
|
|
|
13055
|
-
// src/axes/product-category.ts
|
|
14003
|
+
// src/axes/product-category-shared.ts
|
|
13056
14004
|
var uniclass5 = (slug, label, match) => ({
|
|
13057
14005
|
identifier: slug,
|
|
13058
14006
|
label,
|
|
13059
14007
|
match,
|
|
13060
14008
|
scheme: "uniclass"
|
|
13061
14009
|
});
|
|
14010
|
+
var aat8 = (identifier, label, match) => ({ identifier, label, match, scheme: "aat" });
|
|
13062
14011
|
var typicallyIn4 = (spaceId) => ({
|
|
13063
14012
|
predicate: "typically-in",
|
|
13064
14013
|
target: `space.${spaceId}`
|
|
13065
14014
|
});
|
|
13066
|
-
var
|
|
14015
|
+
var relatedTo13 = (...targets) => targets.map((target) => ({ predicate: "related-to", target }));
|
|
14016
|
+
|
|
14017
|
+
// src/axes/product-category-furniture.ts
|
|
14018
|
+
var LIVING_ROOM = "living-room";
|
|
14019
|
+
var DINING_ROOM = "dining-room";
|
|
14020
|
+
var CASE_FURNITURE = "case furniture";
|
|
14021
|
+
var AAT_CASE_FURNITURE = aat8("300038860", CASE_FURNITURE, "exact");
|
|
14022
|
+
var FURNITURE_DRAFTS = [
|
|
14023
|
+
coverageTerm(
|
|
14024
|
+
"furniture",
|
|
14025
|
+
"Furniture",
|
|
14026
|
+
"A made-up piece for sitting, reclining, working at or storing things, bought as a product rather than as a material, covering or luminaire, whether it ends up loose or built in.",
|
|
14027
|
+
{
|
|
14028
|
+
external: [
|
|
14029
|
+
aat8("300037680", "furniture", "exact"),
|
|
14030
|
+
wikidataMapping("Q14745", "furniture", "exact"),
|
|
14031
|
+
uniclass5("Pr_40_50", "Furnishings", "related")
|
|
14032
|
+
],
|
|
14033
|
+
related: relatedTo13("application.furniture")
|
|
14034
|
+
}
|
|
14035
|
+
),
|
|
14036
|
+
// SEATING
|
|
14037
|
+
coverageTerm(
|
|
14038
|
+
"armchair",
|
|
14039
|
+
"Armchair",
|
|
14040
|
+
"A seat for one person with a back and arms, usually upholstered; not a sofa, which seats two or more, and not a dining chair.",
|
|
14041
|
+
{
|
|
14042
|
+
altLabels: ["easy chair"],
|
|
14043
|
+
broaderSlug: "seating",
|
|
14044
|
+
external: [
|
|
14045
|
+
aat8("300037776", "armchairs", "exact"),
|
|
14046
|
+
wikidataMapping("Q11285759", "armchair", "exact"),
|
|
14047
|
+
uniclass5("Pr_40_50_12_26", "Easy chairs", "close"),
|
|
14048
|
+
uniclass5("Pr_40_50_12_48", "Lounge chairs", "close")
|
|
14049
|
+
],
|
|
14050
|
+
related: [typicallyIn4(LIVING_ROOM), typicallyIn4("lounge")]
|
|
14051
|
+
}
|
|
14052
|
+
),
|
|
14053
|
+
coverageTerm(
|
|
14054
|
+
"dining-chair",
|
|
14055
|
+
"Dining chair",
|
|
14056
|
+
"A chair made to be sat in at a dining table, with or without arms, independent of its material and upholstery.",
|
|
14057
|
+
{
|
|
14058
|
+
broaderSlug: "seating",
|
|
14059
|
+
external: [
|
|
14060
|
+
aat8("300038379", "dining chairs", "exact"),
|
|
14061
|
+
wikidataMapping("Q124964396", "dining chair", "exact"),
|
|
14062
|
+
uniclass5("Pr_40_50_12_22", "Dining chairs", "exact")
|
|
14063
|
+
],
|
|
14064
|
+
related: [typicallyIn4(DINING_ROOM), typicallyIn4("restaurant")]
|
|
14065
|
+
}
|
|
14066
|
+
),
|
|
14067
|
+
coverageTerm(
|
|
14068
|
+
"bar-stool",
|
|
14069
|
+
"Bar stool",
|
|
14070
|
+
"A tall stool for sitting at a bar, counter or breakfast island, with or without a low back or footrest.",
|
|
14071
|
+
{
|
|
14072
|
+
altLabels: ["barstool", "counter stool"],
|
|
14073
|
+
broaderSlug: "seating",
|
|
14074
|
+
external: [
|
|
14075
|
+
aat8("300038422", "barstools", "exact"),
|
|
14076
|
+
wikidataMapping("Q376339", "bar stool", "exact"),
|
|
14077
|
+
uniclass5("Pr_40_50_12_85", "Stools", "broad")
|
|
14078
|
+
],
|
|
14079
|
+
related: [typicallyIn4("bar"), typicallyIn4("kitchen")]
|
|
14080
|
+
}
|
|
14081
|
+
),
|
|
14082
|
+
coverageTerm(
|
|
14083
|
+
"ottoman",
|
|
14084
|
+
"Ottoman",
|
|
14085
|
+
"A low upholstered seat or footrest without back or arms, sometimes hollow for storage; not a long ottoman sofa and not an ottoman bed.",
|
|
14086
|
+
{
|
|
14087
|
+
altLabels: ["pouf", "pouffe"],
|
|
14088
|
+
broaderSlug: "seating",
|
|
14089
|
+
external: [
|
|
14090
|
+
aat8("300038442", "ottoman footstools", "close"),
|
|
14091
|
+
aat8("300038607", "pouffes", "close"),
|
|
14092
|
+
wikidataMapping("Q3545350", "ottoman", "exact"),
|
|
14093
|
+
uniclass5("Pr_40_50_12_59", "Ottomans", "exact")
|
|
14094
|
+
],
|
|
14095
|
+
related: [typicallyIn4(LIVING_ROOM), typicallyIn4("bedroom")],
|
|
14096
|
+
// Footstool is the narrower thing: AAT and Uniclass file the ottoman footstool beneath
|
|
14097
|
+
// footstools, and a footstool need not be an ottoman, so it is a wild form and not a name.
|
|
14098
|
+
seenAs: ["footstool"]
|
|
14099
|
+
}
|
|
14100
|
+
),
|
|
14101
|
+
coverageTerm(
|
|
14102
|
+
"bench",
|
|
14103
|
+
"Bench",
|
|
14104
|
+
"A long seat for two or more people, with or without a back, independent of its material and of whether it is upholstered.",
|
|
14105
|
+
{
|
|
14106
|
+
broaderSlug: "seating",
|
|
14107
|
+
external: [
|
|
14108
|
+
aat8("300038494", "benches (furniture)", "exact"),
|
|
14109
|
+
wikidataMapping("Q204776", "bench", "exact"),
|
|
14110
|
+
uniclass5("Pr_40_50_12_07", "Benches", "exact")
|
|
14111
|
+
],
|
|
14112
|
+
related: [typicallyIn4("entry"), typicallyIn4("boot-room")]
|
|
14113
|
+
}
|
|
14114
|
+
),
|
|
14115
|
+
coverageTerm(
|
|
14116
|
+
"chaise-longue",
|
|
14117
|
+
"Chaise longue",
|
|
14118
|
+
"An upholstered seat long enough to support the legs, with a back or headrest at one end, for reclining indoors.",
|
|
14119
|
+
{
|
|
14120
|
+
broaderSlug: "seating",
|
|
14121
|
+
external: [
|
|
14122
|
+
aat8("300038151", "chaises longues", "exact"),
|
|
14123
|
+
wikidataMapping("Q1059232", "chaise longue", "exact"),
|
|
14124
|
+
uniclass5("Pr_40_50_12_14", "Chaises longues", "exact")
|
|
14125
|
+
],
|
|
14126
|
+
related: [typicallyIn4(LIVING_ROOM), typicallyIn4("bedroom")],
|
|
14127
|
+
seenAs: ["chaise lounge"]
|
|
14128
|
+
}
|
|
14129
|
+
),
|
|
14130
|
+
// BED
|
|
14131
|
+
coverageTerm(
|
|
14132
|
+
"daybed",
|
|
14133
|
+
"Daybed",
|
|
14134
|
+
"An extended seat, generally armless and with one backed end, used for lounging by day and lying on at need; a bed as well as a seat, and not a sofa bed.",
|
|
14135
|
+
{
|
|
14136
|
+
broaderSlug: "bed",
|
|
14137
|
+
external: [
|
|
14138
|
+
aat8("300038586", "daybeds", "exact"),
|
|
14139
|
+
wikidataMapping("Q5243076", "daybed", "exact"),
|
|
14140
|
+
uniclass5("Pr_40_50_06_21", "Daybeds", "exact")
|
|
14141
|
+
],
|
|
14142
|
+
related: [
|
|
14143
|
+
...relatedTo13("product-category.seating"),
|
|
14144
|
+
typicallyIn4(LIVING_ROOM),
|
|
14145
|
+
typicallyIn4("guest-bedroom")
|
|
14146
|
+
]
|
|
14147
|
+
}
|
|
14148
|
+
),
|
|
14149
|
+
coverageTerm(
|
|
14150
|
+
"headboard",
|
|
14151
|
+
"Headboard",
|
|
14152
|
+
"A board or panel fixed or standing at the head of a bed, upholstered or bare; the bed it belongs to is a separate product.",
|
|
14153
|
+
{
|
|
14154
|
+
altLabels: ["bedhead", "bed head"],
|
|
14155
|
+
broaderSlug: "bed",
|
|
14156
|
+
external: [
|
|
14157
|
+
aat8("300040447", "headboards", "exact"),
|
|
14158
|
+
wikidataMapping("Q5689512", "headboard", "exact"),
|
|
14159
|
+
uniclass5("Pr_40_50_06_37", "Headboards", "exact")
|
|
14160
|
+
],
|
|
14161
|
+
related: [
|
|
14162
|
+
typicallyIn4("bedroom"),
|
|
14163
|
+
...relatedTo13("application.furniture-headboard")
|
|
14164
|
+
]
|
|
14165
|
+
}
|
|
14166
|
+
),
|
|
14167
|
+
// TABLE
|
|
14168
|
+
coverageTerm(
|
|
14169
|
+
"dining-table",
|
|
14170
|
+
"Dining table",
|
|
14171
|
+
"A table made to eat meals at, whatever its top, base or size, and including extending tables.",
|
|
14172
|
+
{
|
|
14173
|
+
broaderSlug: "table",
|
|
14174
|
+
external: [
|
|
14175
|
+
aat8("300039648", "dining tables", "exact"),
|
|
14176
|
+
wikidataMapping("Q4396855", "dining table", "exact"),
|
|
14177
|
+
uniclass5("Pr_40_50_21_22", "Dining tables", "exact")
|
|
14178
|
+
],
|
|
14179
|
+
related: [typicallyIn4(DINING_ROOM), typicallyIn4("restaurant")]
|
|
14180
|
+
}
|
|
14181
|
+
),
|
|
14182
|
+
coverageTerm(
|
|
14183
|
+
"coffee-table",
|
|
14184
|
+
"Coffee table",
|
|
14185
|
+
"A low table set in front of a sofa or among armchairs, at a height to reach from a seat.",
|
|
14186
|
+
{
|
|
14187
|
+
broaderSlug: "table",
|
|
14188
|
+
external: [
|
|
14189
|
+
aat8("300039640", "coffee tables", "exact"),
|
|
14190
|
+
wikidataMapping("Q2407432", "coffee table", "exact"),
|
|
14191
|
+
uniclass5("Pr_40_50_21_14", "Coffee tables", "exact")
|
|
14192
|
+
],
|
|
14193
|
+
related: [typicallyIn4(LIVING_ROOM), typicallyIn4("lounge")]
|
|
14194
|
+
}
|
|
14195
|
+
),
|
|
14196
|
+
coverageTerm(
|
|
14197
|
+
"side-table",
|
|
14198
|
+
"Side table",
|
|
14199
|
+
"A small table standing beside a sofa, armchair or bed to hold a lamp, a drink or a book; not a console table, which stands against a wall, and not a bedside cabinet.",
|
|
14200
|
+
{
|
|
14201
|
+
altLabels: ["end table", "lamp table"],
|
|
14202
|
+
broaderSlug: "table",
|
|
14203
|
+
external: [
|
|
14204
|
+
aat8("300039998", "end tables", "close"),
|
|
14205
|
+
wikidataMapping("Q65791322", "end table", "close"),
|
|
14206
|
+
uniclass5("Pr_40_50_21_58", "Occasional tables", "broad")
|
|
14207
|
+
],
|
|
14208
|
+
related: [typicallyIn4(LIVING_ROOM), typicallyIn4("lounge")]
|
|
14209
|
+
}
|
|
14210
|
+
),
|
|
14211
|
+
coverageTerm(
|
|
14212
|
+
"console-table",
|
|
14213
|
+
"Console table",
|
|
14214
|
+
"A narrow table made to stand against a wall, in a hall or behind a sofa, with its back left plain or unfinished.",
|
|
14215
|
+
{
|
|
14216
|
+
altLabels: ["hall table", "sofa table"],
|
|
14217
|
+
broaderSlug: "table",
|
|
14218
|
+
external: [
|
|
14219
|
+
aat8("300039580", "console tables", "exact"),
|
|
14220
|
+
wikidataMapping("Q7887380", "console", "close"),
|
|
14221
|
+
uniclass5("Pr_40_50_21_16", "Console tables", "exact")
|
|
14222
|
+
],
|
|
14223
|
+
related: [typicallyIn4("entry"), typicallyIn4("hallway")]
|
|
14224
|
+
}
|
|
14225
|
+
),
|
|
14226
|
+
coverageTerm(
|
|
14227
|
+
"desk",
|
|
14228
|
+
"Desk",
|
|
14229
|
+
"A table made for reading, writing or working at, with or without drawers, a hutch or a return; not a fitted counter.",
|
|
14230
|
+
{
|
|
14231
|
+
altLabels: ["writing desk"],
|
|
14232
|
+
broaderSlug: "table",
|
|
14233
|
+
external: [
|
|
14234
|
+
aat8("300039338", "desks", "exact"),
|
|
14235
|
+
wikidataMapping("Q1064858", "desk", "exact"),
|
|
14236
|
+
uniclass5("Pr_40_50_21_21", "Desks", "exact")
|
|
14237
|
+
],
|
|
14238
|
+
related: [
|
|
14239
|
+
typicallyIn4("study"),
|
|
14240
|
+
typicallyIn4("private-office"),
|
|
14241
|
+
typicallyIn4("open-office")
|
|
14242
|
+
]
|
|
14243
|
+
}
|
|
14244
|
+
),
|
|
14245
|
+
// STORAGE
|
|
14246
|
+
coverageTerm(
|
|
14247
|
+
"casegoods",
|
|
14248
|
+
"Casegoods",
|
|
14249
|
+
"Freestanding, non-upholstered storage furniture built as a boxlike carcass with doors, drawers or shelves, such as a sideboard, chest of drawers, wardrobe or bookcase; not fitted joinery.",
|
|
14250
|
+
{
|
|
14251
|
+
altLabels: ["case goods", CASE_FURNITURE],
|
|
14252
|
+
broaderSlug: "storage",
|
|
14253
|
+
external: [
|
|
14254
|
+
AAT_CASE_FURNITURE,
|
|
14255
|
+
wikidataMapping("Q95966197", "case furniture", "exact"),
|
|
14256
|
+
uniclass5("Pr_40_30_87", "Storage units and cupboards", "broad")
|
|
14257
|
+
]
|
|
14258
|
+
}
|
|
14259
|
+
),
|
|
14260
|
+
coverageTerm(
|
|
14261
|
+
"sideboard",
|
|
14262
|
+
"Sideboard",
|
|
14263
|
+
"A long, low carcass of cupboards and drawers topped by a surface, standing against a wall to hold tableware and serve from; not a kitchen base unit.",
|
|
14264
|
+
{
|
|
14265
|
+
altLabels: ["buffet", "credenza"],
|
|
14266
|
+
broaderSlug: "casegoods",
|
|
14267
|
+
external: [
|
|
14268
|
+
aat8("300039306", "sideboards (furniture)", "exact"),
|
|
14269
|
+
wikidataMapping("Q1762308", "sideboard", "exact"),
|
|
14270
|
+
uniclass5("Pr_40_30_87_81", "Sideboards", "exact")
|
|
14271
|
+
],
|
|
14272
|
+
related: [typicallyIn4(DINING_ROOM)]
|
|
14273
|
+
}
|
|
14274
|
+
),
|
|
14275
|
+
coverageTerm(
|
|
14276
|
+
"chest-of-drawers",
|
|
14277
|
+
"Chest of drawers",
|
|
14278
|
+
"A freestanding carcass fitted with stacked drawers for clothes and linen; not a storage chest with a lid, and not fitted drawer joinery.",
|
|
14279
|
+
{
|
|
14280
|
+
broaderSlug: "casegoods",
|
|
14281
|
+
external: [
|
|
14282
|
+
aat8("300039009", "chests of drawers", "exact"),
|
|
14283
|
+
wikidataMapping("Q14169227", "chest of drawers", "exact"),
|
|
14284
|
+
uniclass5("Pr_40_30_87_25", "Drawer units", "close")
|
|
14285
|
+
],
|
|
14286
|
+
related: [typicallyIn4("bedroom")],
|
|
14287
|
+
seenAs: ["Dresser", "Drawers"]
|
|
14288
|
+
}
|
|
14289
|
+
),
|
|
14290
|
+
coverageTerm(
|
|
14291
|
+
"wardrobe",
|
|
14292
|
+
"Wardrobe",
|
|
14293
|
+
"A freestanding upright cabinet for hanging and storing clothes, with doors and often drawers; not the fitted wardrobe built into a room, which is joinery.",
|
|
14294
|
+
{
|
|
14295
|
+
altLabels: ["armoire", "freestanding wardrobe"],
|
|
14296
|
+
broaderSlug: "casegoods",
|
|
14297
|
+
external: [
|
|
14298
|
+
aat8("300039237", "wardrobes (case furniture)", "exact"),
|
|
14299
|
+
wikidataMapping("Q106106", "wardrobe", "exact"),
|
|
14300
|
+
uniclass5("Pr_40_30_87_96", "Wardrobes", "exact")
|
|
14301
|
+
],
|
|
14302
|
+
related: [
|
|
14303
|
+
typicallyIn4("bedroom"),
|
|
14304
|
+
typicallyIn4("dressing-room"),
|
|
14305
|
+
...relatedTo13("element.wardrobe")
|
|
14306
|
+
]
|
|
14307
|
+
}
|
|
14308
|
+
),
|
|
14309
|
+
coverageTerm(
|
|
14310
|
+
"bookcase",
|
|
14311
|
+
"Bookcase",
|
|
14312
|
+
"A freestanding case of shelves for books and display, open or fronted with doors or glass; not fitted shelving built into a wall.",
|
|
14313
|
+
{
|
|
14314
|
+
altLabels: ["bookshelf"],
|
|
14315
|
+
broaderSlug: "casegoods",
|
|
14316
|
+
external: [
|
|
14317
|
+
aat8("300143716", "bookcases", "close"),
|
|
14318
|
+
wikidataMapping("Q215857", "bookcase", "exact"),
|
|
14319
|
+
uniclass5("Pr_40_30_78_58", "Open bookcases", "narrow"),
|
|
14320
|
+
uniclass5("Pr_40_30_87_33", "Glazed bookcases", "narrow")
|
|
14321
|
+
],
|
|
14322
|
+
related: [
|
|
14323
|
+
typicallyIn4("study"),
|
|
14324
|
+
typicallyIn4("library"),
|
|
14325
|
+
typicallyIn4(LIVING_ROOM)
|
|
14326
|
+
]
|
|
14327
|
+
}
|
|
14328
|
+
),
|
|
14329
|
+
coverageTerm(
|
|
14330
|
+
"shelving",
|
|
14331
|
+
"Shelving",
|
|
14332
|
+
"A freestanding unit or system of open shelves for storing and displaying things, on a frame, a ladder or uprights; not a bookcase with a carcass and not fitted shelving.",
|
|
14333
|
+
{
|
|
14334
|
+
altLabels: ["shelving unit", "shelf unit"],
|
|
14335
|
+
broaderSlug: "storage",
|
|
14336
|
+
external: [
|
|
14337
|
+
aat8("300375206", "shelving units", "close"),
|
|
14338
|
+
wikidataMapping("Q2637814", "rack with shelves", "close"),
|
|
14339
|
+
uniclass5("Pr_40_30_78_78", "Shelves", "close")
|
|
14340
|
+
],
|
|
14341
|
+
related: [
|
|
14342
|
+
typicallyIn4("library"),
|
|
14343
|
+
typicallyIn4("storage"),
|
|
14344
|
+
...relatedTo13("element.shelving")
|
|
14345
|
+
]
|
|
14346
|
+
}
|
|
14347
|
+
)
|
|
14348
|
+
];
|
|
14349
|
+
var FURNITURE_TERMS = FURNITURE_DRAFTS.map(grounded);
|
|
14350
|
+
|
|
14351
|
+
// src/axes/product-category.ts
|
|
13067
14352
|
var LUMINAIRES = uniclass5(
|
|
13068
14353
|
"Pr_70_70_48",
|
|
13069
14354
|
"Luminaires, lighting track and lighting accessories",
|
|
13070
14355
|
"broad"
|
|
13071
14356
|
);
|
|
13072
|
-
var
|
|
13073
|
-
var searchedAat2 = (query) => ({
|
|
14357
|
+
var searchedAat3 = (query) => ({
|
|
13074
14358
|
date: SEARCHED_ON,
|
|
13075
14359
|
query,
|
|
13076
14360
|
scheme: "aat",
|
|
13077
14361
|
via: "https://vocab.getty.edu:443/sparql; luc:term searches (separated by semicolons), AAT preferred labels and English scope notes, LIMIT 150"
|
|
13078
14362
|
});
|
|
13079
|
-
var
|
|
14363
|
+
var searchedUniclass12 = (query) => ({
|
|
13080
14364
|
date: SEARCHED_ON,
|
|
13081
14365
|
query,
|
|
13082
14366
|
scheme: "uniclass",
|
|
@@ -13143,7 +14427,7 @@ var PRODUCT_CATEGORY_TERMS = [
|
|
|
13143
14427
|
)
|
|
13144
14428
|
],
|
|
13145
14429
|
introducedAt: "2026-08-30",
|
|
13146
|
-
related:
|
|
14430
|
+
related: relatedTo13("application.flooring"),
|
|
13147
14431
|
reviewedAt: "2026-08-31"
|
|
13148
14432
|
}
|
|
13149
14433
|
),
|
|
@@ -13158,7 +14442,7 @@ var PRODUCT_CATEGORY_TERMS = [
|
|
|
13158
14442
|
],
|
|
13159
14443
|
related: [
|
|
13160
14444
|
typicallyIn4("kitchen"),
|
|
13161
|
-
...
|
|
14445
|
+
...relatedTo13("element.worktop", "application.countertop")
|
|
13162
14446
|
]
|
|
13163
14447
|
}
|
|
13164
14448
|
),
|
|
@@ -13171,7 +14455,7 @@ var PRODUCT_CATEGORY_TERMS = [
|
|
|
13171
14455
|
aat8("300014866", "flooring", "broad"),
|
|
13172
14456
|
uniclass5("Pr_35_57_71", "Resilient floor coverings", "narrow")
|
|
13173
14457
|
],
|
|
13174
|
-
related:
|
|
14458
|
+
related: relatedTo13("application.flooring", "element.floor-finish")
|
|
13175
14459
|
}
|
|
13176
14460
|
),
|
|
13177
14461
|
term8(
|
|
@@ -13217,7 +14501,7 @@ var PRODUCT_CATEGORY_TERMS = [
|
|
|
13217
14501
|
"A light fitting supplied as a unit - housing, light engine and gear - rather than the light it casts.",
|
|
13218
14502
|
{
|
|
13219
14503
|
external: [aat8("300180081", "lighting fixtures", "narrow"), LUMINAIRES],
|
|
13220
|
-
related:
|
|
14504
|
+
related: relatedTo13("element.luminaire", "application.lighting")
|
|
13221
14505
|
}
|
|
13222
14506
|
),
|
|
13223
14507
|
fromCorpus(
|
|
@@ -13250,6 +14534,7 @@ var PRODUCT_CATEGORY_TERMS = [
|
|
|
13250
14534
|
"Seating",
|
|
13251
14535
|
"A loose furniture product whose purpose is to be sat on.",
|
|
13252
14536
|
{
|
|
14537
|
+
broaderSlug: "furniture",
|
|
13253
14538
|
external: [
|
|
13254
14539
|
aat8("300037769", "seating furniture", "broad"),
|
|
13255
14540
|
uniclass5("Pr_40_50_12", "Chairs, seats and benches", "broad")
|
|
@@ -13261,6 +14546,7 @@ var PRODUCT_CATEGORY_TERMS = [
|
|
|
13261
14546
|
"Table",
|
|
13262
14547
|
"A loose furniture product supplying a raised horizontal surface on its own support.",
|
|
13263
14548
|
{
|
|
14549
|
+
broaderSlug: "furniture",
|
|
13264
14550
|
external: [
|
|
13265
14551
|
aat8("300039548", "tables (support furniture)", "exact"),
|
|
13266
14552
|
uniclass5("Pr_40_50_21", "Desks and tables", "broad")
|
|
@@ -13280,7 +14566,7 @@ var PRODUCT_CATEGORY_TERMS = [
|
|
|
13280
14566
|
typicallyIn4("bathroom"),
|
|
13281
14567
|
typicallyIn4("wc"),
|
|
13282
14568
|
typicallyIn4("restroom"),
|
|
13283
|
-
...
|
|
14569
|
+
...relatedTo13("element.sanitaryware")
|
|
13284
14570
|
]
|
|
13285
14571
|
}
|
|
13286
14572
|
),
|
|
@@ -13303,7 +14589,7 @@ var PRODUCT_CATEGORY_TERMS = [
|
|
|
13303
14589
|
typicallyIn4("kitchen"),
|
|
13304
14590
|
typicallyIn4("wc"),
|
|
13305
14591
|
typicallyIn4("restroom"),
|
|
13306
|
-
...
|
|
14592
|
+
...relatedTo13("element.tapware")
|
|
13307
14593
|
],
|
|
13308
14594
|
seenAs: ["Faucet", "Fittings"]
|
|
13309
14595
|
}
|
|
@@ -13317,7 +14603,7 @@ var PRODUCT_CATEGORY_TERMS = [
|
|
|
13317
14603
|
aat8("300033260", "hardware (components)", "broad"),
|
|
13318
14604
|
uniclass5("Pr_30_36", "Hardware products", "close")
|
|
13319
14605
|
],
|
|
13320
|
-
related:
|
|
14606
|
+
related: relatedTo13("element.ironmongery")
|
|
13321
14607
|
}
|
|
13322
14608
|
),
|
|
13323
14609
|
fromCorpus(
|
|
@@ -13327,8 +14613,8 @@ var PRODUCT_CATEGORY_TERMS = [
|
|
|
13327
14613
|
{
|
|
13328
14614
|
altLabels: ["wiring devices"],
|
|
13329
14615
|
external: [uniclass5("Pr_65_72_97", "Wiring accessories", "broad")],
|
|
13330
|
-
related:
|
|
13331
|
-
searchedWithout: [
|
|
14616
|
+
related: relatedTo13("element.socket-outlet"),
|
|
14617
|
+
searchedWithout: [searchedAat3('wiring; "electrical accessories"')],
|
|
13332
14618
|
seenAs: ["Electrical"]
|
|
13333
14619
|
}
|
|
13334
14620
|
),
|
|
@@ -13337,12 +14623,13 @@ var PRODUCT_CATEGORY_TERMS = [
|
|
|
13337
14623
|
"Storage",
|
|
13338
14624
|
"A furniture product whose purpose is to contain or support stored things, fitted or freestanding.",
|
|
13339
14625
|
{
|
|
13340
|
-
altLabels: ["
|
|
14626
|
+
altLabels: ["cabinetry"],
|
|
14627
|
+
broaderSlug: "furniture",
|
|
13341
14628
|
external: [
|
|
13342
14629
|
aat8("300038860", "case furniture", "narrow"),
|
|
13343
14630
|
uniclass5("Pr_40_30_87", "Storage units and cupboards", "close")
|
|
13344
14631
|
],
|
|
13345
|
-
related:
|
|
14632
|
+
related: relatedTo13(
|
|
13346
14633
|
"element.cabinetry",
|
|
13347
14634
|
"element.shelving",
|
|
13348
14635
|
"application.cabinetry"
|
|
@@ -13359,7 +14646,7 @@ var PRODUCT_CATEGORY_TERMS = [
|
|
|
13359
14646
|
aat8("300002803", "doors", "close"),
|
|
13360
14647
|
uniclass5("Pr_30_59_24", "Doorsets", "exact")
|
|
13361
14648
|
],
|
|
13362
|
-
related:
|
|
14649
|
+
related: relatedTo13("element.door", "application.door"),
|
|
13363
14650
|
seenAs: ["Doors"]
|
|
13364
14651
|
}
|
|
13365
14652
|
),
|
|
@@ -13377,9 +14664,9 @@ var PRODUCT_CATEGORY_TERMS = [
|
|
|
13377
14664
|
external: [
|
|
13378
14665
|
uniclass5("Pr_35_93_13_65", "Profiled metal acoustic panels", "narrow")
|
|
13379
14666
|
],
|
|
13380
|
-
related:
|
|
14667
|
+
related: relatedTo13("requirement.acoustic-performance"),
|
|
13381
14668
|
searchedWithout: [
|
|
13382
|
-
|
|
14669
|
+
searchedAat3('acoustic panel; "sound absorbing panels"')
|
|
13383
14670
|
]
|
|
13384
14671
|
}
|
|
13385
14672
|
),
|
|
@@ -13440,7 +14727,7 @@ var PRODUCT_CATEGORY_TERMS = [
|
|
|
13440
14727
|
altLabels: ["track lighting", "track light"],
|
|
13441
14728
|
broaderSlug: "luminaire",
|
|
13442
14729
|
external: [LUMINAIRES],
|
|
13443
|
-
searchedWithout: [
|
|
14730
|
+
searchedWithout: [searchedAat3("track lighting; track AND lighting")]
|
|
13444
14731
|
}
|
|
13445
14732
|
),
|
|
13446
14733
|
fromSearchCorpus(
|
|
@@ -13465,7 +14752,7 @@ var PRODUCT_CATEGORY_TERMS = [
|
|
|
13465
14752
|
altLabels: ["mosaic"],
|
|
13466
14753
|
broaderSlug: "tile",
|
|
13467
14754
|
external: [uniclass5("Pr_35_93_96_53", "Mosaic tiles", "exact")],
|
|
13468
|
-
searchedWithout: [
|
|
14755
|
+
searchedWithout: [searchedAat3("mosaic tile; tesserae")]
|
|
13469
14756
|
}
|
|
13470
14757
|
),
|
|
13471
14758
|
fromSearchCorpus(
|
|
@@ -13489,8 +14776,8 @@ var PRODUCT_CATEGORY_TERMS = [
|
|
|
13489
14776
|
altLabels: ["acoustic ceiling"],
|
|
13490
14777
|
broaderSlug: "ceiling-system",
|
|
13491
14778
|
external: [aat8("300073775", "acoustical ceilings", "related")],
|
|
13492
|
-
related:
|
|
13493
|
-
searchedWithout: [
|
|
14779
|
+
related: relatedTo13("requirement.acoustic-performance"),
|
|
14780
|
+
searchedWithout: [searchedUniclass12("acoustic ceiling system")]
|
|
13494
14781
|
}
|
|
13495
14782
|
),
|
|
13496
14783
|
fromSearchCorpus(
|
|
@@ -13521,7 +14808,7 @@ var PRODUCT_CATEGORY_TERMS = [
|
|
|
13521
14808
|
snapshot: REVIEW_DATE8,
|
|
13522
14809
|
source: "Wikidata Q321046 window blind, https://www.wikidata.org/wiki/Q321046"
|
|
13523
14810
|
},
|
|
13524
|
-
related:
|
|
14811
|
+
related: relatedTo13("application.vh-window-shade", "element.window"),
|
|
13525
14812
|
reviewedAt: REVIEW_DATE8
|
|
13526
14813
|
}
|
|
13527
14814
|
),
|
|
@@ -13566,7 +14853,7 @@ var PRODUCT_CATEGORY_TERMS = [
|
|
|
13566
14853
|
],
|
|
13567
14854
|
introducedAt: REVIEW_DATE8,
|
|
13568
14855
|
provenance: { basis: "authored", source: REVIEW_SOURCE7 },
|
|
13569
|
-
related:
|
|
14856
|
+
related: relatedTo13("element.cladding", "application.facade"),
|
|
13570
14857
|
reviewedAt: REVIEW_DATE8,
|
|
13571
14858
|
seenAs: ["Facade", "Rainscreens", "Exterior Panel Systems"]
|
|
13572
14859
|
}
|
|
@@ -13579,6 +14866,7 @@ var PRODUCT_CATEGORY_TERMS = [
|
|
|
13579
14866
|
"A furniture product supplied to sleep or lie on, or the frame or headboard made for one, independent of its material and size; not a mattress, bedding or a sofa bed.",
|
|
13580
14867
|
{
|
|
13581
14868
|
altLabels: ["bed frame"],
|
|
14869
|
+
broaderSlug: "furniture",
|
|
13582
14870
|
external: [
|
|
13583
14871
|
aat8("300038697", "beds (furniture)", "close"),
|
|
13584
14872
|
uniclass5("Pr_40_50_06", "Beds", "broad")
|
|
@@ -13618,7 +14906,8 @@ var PRODUCT_CATEGORY_TERMS = [
|
|
|
13618
14906
|
related: [typicallyIn4("living-room"), typicallyIn4("bedroom")],
|
|
13619
14907
|
reviewedAt: SEARCHED_ON_TAX66
|
|
13620
14908
|
}
|
|
13621
|
-
)
|
|
14909
|
+
),
|
|
14910
|
+
...FURNITURE_TERMS
|
|
13622
14911
|
];
|
|
13623
14912
|
|
|
13624
14913
|
// src/axes/requirement.ts
|
|
@@ -13633,13 +14922,13 @@ var term9 = (slug, label, definition, extra = {}) => ({
|
|
|
13633
14922
|
});
|
|
13634
14923
|
var uniclass6 = (identifier, label, match) => ({ identifier, label, match, scheme: "uniclass" });
|
|
13635
14924
|
var aat9 = (identifier, label, match) => ({ identifier, label, match, scheme: "aat" });
|
|
13636
|
-
var
|
|
14925
|
+
var searchedAat4 = (query) => ({
|
|
13637
14926
|
date: SEARCHED_ON,
|
|
13638
14927
|
query,
|
|
13639
14928
|
scheme: "aat",
|
|
13640
14929
|
via: "https://vocab.getty.edu:443/sparql; luc:term search, AAT preferred labels and English scope notes, LIMIT 150"
|
|
13641
14930
|
});
|
|
13642
|
-
var
|
|
14931
|
+
var searchedUniclass13 = (query) => ({
|
|
13643
14932
|
date: SEARCHED_ON,
|
|
13644
14933
|
query,
|
|
13645
14934
|
scheme: "uniclass",
|
|
@@ -13652,7 +14941,7 @@ var REQUIREMENT_TERMS = [
|
|
|
13652
14941
|
"The allowed monetary cost or cost band for the applicable scope.",
|
|
13653
14942
|
{
|
|
13654
14943
|
external: [uniclass6("PM_60_50_10", "Budget", "close")],
|
|
13655
|
-
searchedWithout: [
|
|
14944
|
+
searchedWithout: [searchedAat4("budget")]
|
|
13656
14945
|
}
|
|
13657
14946
|
),
|
|
13658
14947
|
term9(
|
|
@@ -13661,7 +14950,7 @@ var REQUIREMENT_TERMS = [
|
|
|
13661
14950
|
"Whether the thing can be supplied in the required market and time window.",
|
|
13662
14951
|
{
|
|
13663
14952
|
external: [uniclass6("PC_20_67_05", "Availability", "close")],
|
|
13664
|
-
searchedWithout: [
|
|
14953
|
+
searchedWithout: [searchedAat4("availability")]
|
|
13665
14954
|
}
|
|
13666
14955
|
),
|
|
13667
14956
|
term9(
|
|
@@ -13670,7 +14959,7 @@ var REQUIREMENT_TERMS = [
|
|
|
13670
14959
|
"The maximum elapsed time acceptable between commitment and supply.",
|
|
13671
14960
|
{
|
|
13672
14961
|
external: [uniclass6("PC_20_77_52", "Manufacturing lead time", "narrow")],
|
|
13673
|
-
searchedWithout: [
|
|
14962
|
+
searchedWithout: [searchedAat4("lead time")]
|
|
13674
14963
|
}
|
|
13675
14964
|
),
|
|
13676
14965
|
term9(
|
|
@@ -13679,8 +14968,8 @@ var REQUIREMENT_TERMS = [
|
|
|
13679
14968
|
"The required measured resistance to pedestrian slipping for the application.",
|
|
13680
14969
|
{
|
|
13681
14970
|
searchedWithout: [
|
|
13682
|
-
|
|
13683
|
-
|
|
14971
|
+
searchedAat4("slip resistance"),
|
|
14972
|
+
searchedUniclass13("slip resistance")
|
|
13684
14973
|
]
|
|
13685
14974
|
}
|
|
13686
14975
|
),
|
|
@@ -13690,7 +14979,7 @@ var REQUIREMENT_TERMS = [
|
|
|
13690
14979
|
"Whether the product is evidenced as suitable for the stated wet exposure.",
|
|
13691
14980
|
{
|
|
13692
14981
|
external: [uniclass6("PC_50_34_82", "Suitability", "broad")],
|
|
13693
|
-
searchedWithout: [
|
|
14982
|
+
searchedWithout: [searchedAat4("wet area")]
|
|
13694
14983
|
}
|
|
13695
14984
|
),
|
|
13696
14985
|
term9(
|
|
@@ -13701,7 +14990,7 @@ var REQUIREMENT_TERMS = [
|
|
|
13701
14990
|
external: [
|
|
13702
14991
|
uniclass6("PM_35_30", "Fire performance requirements", "broad")
|
|
13703
14992
|
],
|
|
13704
|
-
searchedWithout: [
|
|
14993
|
+
searchedWithout: [searchedAat4("fire resistance")]
|
|
13705
14994
|
}
|
|
13706
14995
|
),
|
|
13707
14996
|
term9(
|
|
@@ -13721,7 +15010,7 @@ var REQUIREMENT_TERMS = [
|
|
|
13721
15010
|
"The allowed cleaning, renewal or routine care burden.",
|
|
13722
15011
|
{
|
|
13723
15012
|
external: [uniclass6("PM_80_10_50", "Maintenance requirements", "close")],
|
|
13724
|
-
searchedWithout: [
|
|
15013
|
+
searchedWithout: [searchedAat4("maintenance")]
|
|
13725
15014
|
}
|
|
13726
15015
|
),
|
|
13727
15016
|
term9(
|
|
@@ -13730,7 +15019,7 @@ var REQUIREMENT_TERMS = [
|
|
|
13730
15019
|
"A required or prohibited method of fixing, laying or applying the product.",
|
|
13731
15020
|
{
|
|
13732
15021
|
external: [uniclass6("PC_50_34_41", "Installation method", "exact")],
|
|
13733
|
-
searchedWithout: [
|
|
15022
|
+
searchedWithout: [searchedAat4("installation")]
|
|
13734
15023
|
}
|
|
13735
15024
|
),
|
|
13736
15025
|
term9(
|
|
@@ -13769,6 +15058,70 @@ var REQUIREMENT_TERMS = [
|
|
|
13769
15058
|
},
|
|
13770
15059
|
reviewedAt: SEARCHED_ON_TAX66
|
|
13771
15060
|
}
|
|
15061
|
+
),
|
|
15062
|
+
// Authored with the TAX-66 vocabulary gaps. These are needs a project states; the schemes that
|
|
15063
|
+
// evidence them (FSC, GREENGUARD, EPD and the rest) are on the certification axis and point back
|
|
15064
|
+
// here with `related-to`, so nothing on this axis names a scheme.
|
|
15065
|
+
term9(
|
|
15066
|
+
"responsible-sourcing",
|
|
15067
|
+
"Responsible sourcing",
|
|
15068
|
+
"The required evidence that a product's raw materials, such as timber, come from lawful and responsibly managed sources, traced through the supply chain.",
|
|
15069
|
+
{
|
|
15070
|
+
altLabels: ["sustainable sourcing"],
|
|
15071
|
+
...GAPS_LIFECYCLE,
|
|
15072
|
+
searchedWithout: [
|
|
15073
|
+
gapsSearchedAat("responsible sourcing | sustainable sourcing"),
|
|
15074
|
+
gapsSearchedUniclass(
|
|
15075
|
+
"Responsible sourcing | sustainable sourcing | chain of custody"
|
|
15076
|
+
),
|
|
15077
|
+
gapsSearchedWikidata("responsible sourcing")
|
|
15078
|
+
]
|
|
15079
|
+
}
|
|
15080
|
+
),
|
|
15081
|
+
term9(
|
|
15082
|
+
"antimicrobial",
|
|
15083
|
+
"Antimicrobial",
|
|
15084
|
+
"The required resistance of a surface to the growth of bacteria, fungi or mould, stated against a test method and not by the presence of an additive alone.",
|
|
15085
|
+
{
|
|
15086
|
+
altLabels: ["anti-microbial"],
|
|
15087
|
+
external: [
|
|
15088
|
+
uniclass6("PC_35_28_48_06", "Bacterial resistance", "close"),
|
|
15089
|
+
uniclass6("PC_20_67_04_04", "Anti-microbial treatment", "related"),
|
|
15090
|
+
{
|
|
15091
|
+
identifier: "Q4774939",
|
|
15092
|
+
label: "antimicrobial surface",
|
|
15093
|
+
match: "related",
|
|
15094
|
+
scheme: "wikidata"
|
|
15095
|
+
}
|
|
15096
|
+
],
|
|
15097
|
+
...GAPS_LIFECYCLE,
|
|
15098
|
+
searchedWithout: [gapsSearchedAat("antimicrobial | antibacterial")],
|
|
15099
|
+
seenAs: ["antibacterial"]
|
|
15100
|
+
}
|
|
15101
|
+
),
|
|
15102
|
+
term9(
|
|
15103
|
+
"net-zero",
|
|
15104
|
+
"Net zero",
|
|
15105
|
+
"The net greenhouse-gas balance a project is held to over a stated scope and period, once emissions are reduced and any remainder offset or removed; the assertion states the scope.",
|
|
15106
|
+
{
|
|
15107
|
+
altLabels: ["net zero carbon", "net-zero"],
|
|
15108
|
+
external: [
|
|
15109
|
+
uniclass6("PC_35_85_99", "Zero-carbon", "close"),
|
|
15110
|
+
uniclass6("PC_35_85_12", "Carbon-neutral", "related"),
|
|
15111
|
+
{
|
|
15112
|
+
identifier: "Q121734997",
|
|
15113
|
+
label: "Net-zero emissions",
|
|
15114
|
+
match: "close",
|
|
15115
|
+
scheme: "wikidata"
|
|
15116
|
+
}
|
|
15117
|
+
],
|
|
15118
|
+
...GAPS_LIFECYCLE,
|
|
15119
|
+
note: "Carbon-neutral, which can be reached by offsets alone, is a different claim; Uniclass keeps it apart from Zero-carbon, and the mapping to it is only related.",
|
|
15120
|
+
related: [
|
|
15121
|
+
{ predicate: "related-to", target: "requirement.embodied-carbon" }
|
|
15122
|
+
],
|
|
15123
|
+
searchedWithout: [gapsSearchedAat("net zero | zero energy")]
|
|
15124
|
+
}
|
|
13772
15125
|
)
|
|
13773
15126
|
];
|
|
13774
15127
|
|
|
@@ -13881,7 +15234,7 @@ var PROGRAM_SPACES = {
|
|
|
13881
15234
|
snapshot: VENDORED_SNAPSHOT,
|
|
13882
15235
|
source: "PROGRAM_SPACE_TYPES in a project-materials database (src-07)"
|
|
13883
15236
|
};
|
|
13884
|
-
var
|
|
15237
|
+
var relatedTo14 = (target) => ({
|
|
13885
15238
|
predicate: "related-to",
|
|
13886
15239
|
target
|
|
13887
15240
|
});
|
|
@@ -14182,7 +15535,7 @@ var CIRCULATION_SPACES = [
|
|
|
14182
15535
|
// stand on. A neat demonstration of the boundary rule catching a mapping that reads right.
|
|
14183
15536
|
note: "AAT files landings as a stair component, which is the element sense. This term is the volume sense - the thing you stand on - so the match is `close` and not `exact`.",
|
|
14184
15537
|
provenance: PROGRAM_SPACES,
|
|
14185
|
-
related: [
|
|
15538
|
+
related: [relatedTo14("space.stairwell")],
|
|
14186
15539
|
slug: "landing"
|
|
14187
15540
|
},
|
|
14188
15541
|
{
|
|
@@ -14351,7 +15704,7 @@ var CULTURE_SPACES = [
|
|
|
14351
15704
|
label: "Theatre",
|
|
14352
15705
|
note: "Deliberately not a kind of `auditorium`, and the containment runs the other way - the auditorium is the audience chamber INSIDE a theatre. That is a part-of relation and not an ISA edge, so it is carried in `related` where part-of belongs. No AAT mapping: every Getty `theaters` entry is a building or an institution, which is TYPOLOGY's business.",
|
|
14353
15706
|
provenance: PROGRAM_SPACES,
|
|
14354
|
-
related: [typicallyIn5("theatre"),
|
|
15707
|
+
related: [typicallyIn5("theatre"), relatedTo14("space.auditorium")],
|
|
14355
15708
|
slug: "theater"
|
|
14356
15709
|
},
|
|
14357
15710
|
{
|
|
@@ -14631,7 +15984,7 @@ var DINING_SPACES = [
|
|
|
14631
15984
|
label: "Kitchen",
|
|
14632
15985
|
note: "`application.kitchen` in the published APPLICATIONS axis is a room sitting inside a surface-use vocabulary, and is superseded by this term. As with `bathroom`, the edge is `related-to` rather than `suitable-for`, because the suitability claim runs from the material to the space and so belongs on the applications side.",
|
|
14633
15986
|
provenance: MS_ROOM_PROGRAM,
|
|
14634
|
-
related: [
|
|
15987
|
+
related: [relatedTo14("application.kitchen")],
|
|
14635
15988
|
seenAs: ["Kitchen"],
|
|
14636
15989
|
slug: "kitchen",
|
|
14637
15990
|
usage: schemeUsage("dominant")
|
|
@@ -14695,7 +16048,7 @@ var DINING_SPACES = [
|
|
|
14695
16048
|
label: "Scullery",
|
|
14696
16049
|
note: "Deliberately not a kind of `kitchen`. The parent is defined by preparing and cooking food, and a scullery is defined by the cooking happening next door. In current British practice the word has been reclaimed for the working half of a two-part kitchen, which is the same room by the same test.",
|
|
14697
16050
|
provenance: AUTHORED6,
|
|
14698
|
-
related: [
|
|
16051
|
+
related: [relatedTo14("space.kitchen")],
|
|
14699
16052
|
slug: "scullery"
|
|
14700
16053
|
},
|
|
14701
16054
|
{
|
|
@@ -14961,7 +16314,7 @@ var FITNESS_SPACES = [
|
|
|
14961
16314
|
// src/axes/space/gathering.ts
|
|
14962
16315
|
var LIVING_ROOMS = "Living rooms";
|
|
14963
16316
|
var LOUNGES = "lounges (sitting rooms)";
|
|
14964
|
-
var
|
|
16317
|
+
var LIVING_ROOM2 = "living-room";
|
|
14965
16318
|
var GATHERING_SPACES = [
|
|
14966
16319
|
// ─── Sitting and gathering ──────────────────────────────────────────────────────────────────
|
|
14967
16320
|
// The spine's largest single block, and the one where the near-synonym rule earns its keep. Nine
|
|
@@ -14983,12 +16336,12 @@ var GATHERING_SPACES = [
|
|
|
14983
16336
|
provenance: MS_ROOM_PROGRAM,
|
|
14984
16337
|
related: [serves("residential")],
|
|
14985
16338
|
seenAs: ["Living Room", "living_area"],
|
|
14986
|
-
slug:
|
|
16339
|
+
slug: LIVING_ROOM2,
|
|
14987
16340
|
usage: schemeUsage("common")
|
|
14988
16341
|
},
|
|
14989
16342
|
{
|
|
14990
16343
|
altLabels: ["den"],
|
|
14991
|
-
broaderSlug:
|
|
16344
|
+
broaderSlug: LIVING_ROOM2,
|
|
14992
16345
|
definition: "A small, enclosed and deliberately low-lit sitting volume held as a retreat from the main `living_room`, rather than as a substitute for it.",
|
|
14993
16346
|
external: [
|
|
14994
16347
|
aat11("300004416", "dens (rooms)", "close"),
|
|
@@ -15000,7 +16353,7 @@ var GATHERING_SPACES = [
|
|
|
15000
16353
|
slug: "snug"
|
|
15001
16354
|
},
|
|
15002
16355
|
{
|
|
15003
|
-
broaderSlug:
|
|
16356
|
+
broaderSlug: LIVING_ROOM2,
|
|
15004
16357
|
definition: "A formal sitting volume kept for receiving guests, held apart from the household's everyday `living_room` and finished to be seen rather than lived in. British usage, and the reason it is a term rather than another name for `living_room`: a house with both uses them differently.",
|
|
15005
16358
|
external: [
|
|
15006
16359
|
aat11("300004417", "drawing rooms", "exact"),
|
|
@@ -15145,7 +16498,7 @@ var GATHERING_SPACES = [
|
|
|
15145
16498
|
label: "Roof Lounge",
|
|
15146
16499
|
note: "Filed under `lounge` rather than under `outdoor`, and only one of those can be the parent. The lounge-ness is what gets specified - the seating, the lighting, the way it is used - and being outdoors is a condition applied to it. The same call is made on `outdoor_lounge`.",
|
|
15147
16500
|
provenance: PROGRAM_SPACES,
|
|
15148
|
-
related: [
|
|
16501
|
+
related: [relatedTo14("space.roof-deck")],
|
|
15149
16502
|
searchedWithout: [
|
|
15150
16503
|
{
|
|
15151
16504
|
date: SEARCHED_ON,
|
|
@@ -15165,7 +16518,7 @@ var GATHERING_SPACES = [
|
|
|
15165
16518
|
],
|
|
15166
16519
|
label: "Outdoor Lounge",
|
|
15167
16520
|
provenance: PROGRAM_SPACES,
|
|
15168
|
-
related: [
|
|
16521
|
+
related: [relatedTo14("space.outdoor")],
|
|
15169
16522
|
slug: "outdoor-lounge"
|
|
15170
16523
|
},
|
|
15171
16524
|
{
|
|
@@ -15177,7 +16530,7 @@ var GATHERING_SPACES = [
|
|
|
15177
16530
|
label: "Clubroom",
|
|
15178
16531
|
note: "Deliberately not a kind of `lounge`. A lounge is soft-seated and dropped into; a clubroom is booked, tabled, and expected to take a party. The two are neighbours in every brief and they are not the same room, which is why folding them would lose a real difference in floor build-up and acoustic treatment.",
|
|
15179
16532
|
provenance: PROGRAM_SPACES,
|
|
15180
|
-
related: [
|
|
16533
|
+
related: [relatedTo14("space.game-room")],
|
|
15181
16534
|
slug: "clubroom"
|
|
15182
16535
|
},
|
|
15183
16536
|
{
|
|
@@ -15185,7 +16538,7 @@ var GATHERING_SPACES = [
|
|
|
15185
16538
|
label: "Fireplace Area",
|
|
15186
16539
|
note: "A zone inside another room rather than a room, and deliberately not a child of `living_room` - it occurs in lobbies, lounges and bars as readily as in dwellings. The fire opening and chimneypiece themselves are `element.fireplace` and `element.chimneypiece`; this is the volume in front of them.",
|
|
15187
16540
|
provenance: PROGRAM_SPACES,
|
|
15188
|
-
related: [
|
|
16541
|
+
related: [relatedTo14("element.fireplace")],
|
|
15189
16542
|
searchedWithout: [
|
|
15190
16543
|
{
|
|
15191
16544
|
date: SEARCHED_ON,
|
|
@@ -15783,7 +17136,7 @@ var OUTDOOR_SPACES = [
|
|
|
15783
17136
|
label: "Facade Zone",
|
|
15784
17137
|
note: "Names a set of surfaces rather than a volume, and fails the standing-in test the way `home_exterior` does. Retained because the spine carries it and because facade packages really are specified as one zone. If it is ever split, its contents belong in ELEMENT - `element.cladding`, `element.external-wall` - and not here.",
|
|
15785
17138
|
provenance: PROGRAM_SPACES,
|
|
15786
|
-
related: [
|
|
17139
|
+
related: [relatedTo14("element.cladding")],
|
|
15787
17140
|
searchedWithout: [
|
|
15788
17141
|
{
|
|
15789
17142
|
date: SEARCHED_ON,
|
|
@@ -15948,7 +17301,7 @@ var RETAIL_SPACES = [
|
|
|
15948
17301
|
label: "Consultation Room",
|
|
15949
17302
|
note: "One character from `consult_room`, and deliberately not folded into it. That one is clinical - a GP surgery, examined and prescribed in, with the cleaning and privacy requirements that implies. This one is commercial and is furnished like a small meeting room. Two ids this close is a real trap, and the answer is a note on each rather than a merge that would put retail joinery into a medical specification.",
|
|
15950
17303
|
provenance: PROGRAM_SPACES,
|
|
15951
|
-
related: [
|
|
17304
|
+
related: [relatedTo14("space.consult-room"), serves("retail")],
|
|
15952
17305
|
searchedWithout: [
|
|
15953
17306
|
{
|
|
15954
17307
|
date: SEARCHED_ON,
|
|
@@ -16067,7 +17420,7 @@ var SANITARY_SPACES = [
|
|
|
16067
17420
|
label: "Bathroom",
|
|
16068
17421
|
note: "`application.bath` in the published APPLICATIONS axis is a room sitting inside a surface-use vocabulary, and is superseded by this term. The edge here is `related-to` and not `suitable-for` on purpose: `suitable-for` runs from a material-suitability claim TO a space, so the correct `suitable-for` edge points the other way and belongs on the applications side, alongside the deprecation.",
|
|
16069
17422
|
provenance: MS_ROOM_PROGRAM,
|
|
16070
|
-
related: [
|
|
17423
|
+
related: [relatedTo14("application.bath")],
|
|
16071
17424
|
seenAs: ["Bathroom"],
|
|
16072
17425
|
slug: "bathroom",
|
|
16073
17426
|
usage: schemeUsage("dominant")
|
|
@@ -16150,7 +17503,7 @@ var SANITARY_SPACES = [
|
|
|
16150
17503
|
label: "Locker Area",
|
|
16151
17504
|
note: "Kept apart from `changing_room` rather than folded into it, because the spine files them in different sectors and the difference is real: this one has no showers, no benching and no privacy requirement, and it sits in the open.",
|
|
16152
17505
|
provenance: PROGRAM_SPACES,
|
|
16153
|
-
related: [
|
|
17506
|
+
related: [relatedTo14("space.changing-room")],
|
|
16154
17507
|
slug: "locker-area"
|
|
16155
17508
|
},
|
|
16156
17509
|
{
|
|
@@ -16339,7 +17692,7 @@ var SERVICE_SPACES = [
|
|
|
16339
17692
|
label: "Electrical Room",
|
|
16340
17693
|
note: "Deliberately not a kind of `mechanical_room`. Switchgear is not a kind of mechanical plant, the two rooms are kept apart by regulation for exactly that reason, and their clearances, fire compartmentation and access rules are different.",
|
|
16341
17694
|
provenance: PROGRAM_SPACES,
|
|
16342
|
-
related: [
|
|
17695
|
+
related: [relatedTo14("space.mechanical-room")],
|
|
16343
17696
|
searchedWithout: [
|
|
16344
17697
|
{
|
|
16345
17698
|
date: SEARCHED_ON,
|
|
@@ -16453,7 +17806,7 @@ var SLEEPING_SPACES = [
|
|
|
16453
17806
|
label: "Nursery",
|
|
16454
17807
|
note: 'Deliberately not a kind of `bedroom`, on Getty\'s own evidence: AAT scopes a nursery as serving "as a bedroom or playroom", and AAT mints `night nurseries` separately for the sleeping-only case. If not every nursery is a bedroom, the ISA test fails, and it does. The nursery school is a building and belongs to TYPOLOGY, not here.',
|
|
16455
17808
|
provenance: AUTHORED6,
|
|
16456
|
-
related: [typicallyIn5("house"),
|
|
17809
|
+
related: [typicallyIn5("house"), relatedTo14("space.playroom")],
|
|
16457
17810
|
slug: "nursery"
|
|
16458
17811
|
},
|
|
16459
17812
|
{
|
|
@@ -16521,8 +17874,8 @@ var SLEEPING_SPACES = [
|
|
|
16521
17874
|
note: 'Deliberately not a kind of `closet_storage`, whose definition ends "never to stay in" - which is exactly what a dressing room is for. AAT 300004369 is `exact` here and `close` on `fitting_room`; Getty scopes it as "rooms for dressing and the toilet, usually opening from a bedroom", which is this room and only approximately a shop\'s changing cubicle.',
|
|
16522
17875
|
provenance: AUTHORED6,
|
|
16523
17876
|
related: [
|
|
16524
|
-
|
|
16525
|
-
|
|
17877
|
+
relatedTo14("space.principal-bedroom"),
|
|
17878
|
+
relatedTo14("space.closet-storage")
|
|
16526
17879
|
],
|
|
16527
17880
|
slug: "dressing-room"
|
|
16528
17881
|
}
|
|
@@ -16743,7 +18096,7 @@ var WORKING_SPACES = [
|
|
|
16743
18096
|
],
|
|
16744
18097
|
label: "IT Room",
|
|
16745
18098
|
provenance: PROGRAM_SPACES,
|
|
16746
|
-
related: [typicallyIn5("office"),
|
|
18099
|
+
related: [typicallyIn5("office"), relatedTo14("space.electrical-room")],
|
|
16747
18100
|
slug: "it-room"
|
|
16748
18101
|
},
|
|
16749
18102
|
{
|
|
@@ -16844,7 +18197,7 @@ var influencedBy = (target) => ({
|
|
|
16844
18197
|
predicate: "influenced-by",
|
|
16845
18198
|
target
|
|
16846
18199
|
});
|
|
16847
|
-
var
|
|
18200
|
+
var relatedTo15 = (target) => ({
|
|
16848
18201
|
predicate: "related-to",
|
|
16849
18202
|
target
|
|
16850
18203
|
});
|
|
@@ -17109,7 +18462,7 @@ var STYLE_TERMS = [
|
|
|
17109
18462
|
snapshot: SNAPSHOT9,
|
|
17110
18463
|
source: "a furnishings retailer (src-03), a rendering pipeline (src-08) and a materials-retrieval system (src-05)"
|
|
17111
18464
|
},
|
|
17112
|
-
related: [
|
|
18465
|
+
related: [relatedTo15("period.contemporary")],
|
|
17113
18466
|
searchedWithout: [
|
|
17114
18467
|
{
|
|
17115
18468
|
date: SEARCHED_ON,
|
|
@@ -17306,7 +18659,7 @@ var STYLE_TERMS = [
|
|
|
17306
18659
|
snapshot: SNAPSHOT9,
|
|
17307
18660
|
source: SCHEME_CORPUS2
|
|
17308
18661
|
},
|
|
17309
|
-
related: [
|
|
18662
|
+
related: [relatedTo15("style.maximalism")],
|
|
17310
18663
|
slug: "eclectic",
|
|
17311
18664
|
styleKind: MARKET_IDIOM,
|
|
17312
18665
|
usage: {
|
|
@@ -17407,7 +18760,7 @@ var STYLE_TERMS = [
|
|
|
17407
18760
|
snapshot: SNAPSHOT9,
|
|
17408
18761
|
source: PLATFORM_STYLES_SOURCE
|
|
17409
18762
|
},
|
|
17410
|
-
related: [
|
|
18763
|
+
related: [relatedTo15("style.vernacular")],
|
|
17411
18764
|
slug: "critical-regionalism",
|
|
17412
18765
|
styleKind: MOVEMENT
|
|
17413
18766
|
},
|
|
@@ -17431,7 +18784,7 @@ var STYLE_TERMS = [
|
|
|
17431
18784
|
},
|
|
17432
18785
|
related: [
|
|
17433
18786
|
{ predicate: "evokes", target: "place.region.japanese" },
|
|
17434
|
-
|
|
18787
|
+
relatedTo15("style.rustic")
|
|
17435
18788
|
],
|
|
17436
18789
|
searchedWithout: [
|
|
17437
18790
|
{
|
|
@@ -18199,7 +19552,7 @@ var term11 = (slug, label, definition, extra = {}) => ({
|
|
|
18199
19552
|
...extra
|
|
18200
19553
|
});
|
|
18201
19554
|
var RECTANGLE = "unit-shape.rectangle";
|
|
18202
|
-
var
|
|
19555
|
+
var relatedTo16 = (...targets) => targets.map((target) => ({ predicate: "related-to", target }));
|
|
18203
19556
|
var UNIT_SHAPE_TERMS = [
|
|
18204
19557
|
{
|
|
18205
19558
|
...term11(
|
|
@@ -18221,7 +19574,7 @@ var UNIT_SHAPE_TERMS = [
|
|
|
18221
19574
|
scheme: "uniclass"
|
|
18222
19575
|
}
|
|
18223
19576
|
],
|
|
18224
|
-
related:
|
|
19577
|
+
related: relatedTo16(RECTANGLE)
|
|
18225
19578
|
},
|
|
18226
19579
|
{
|
|
18227
19580
|
...term11(
|
|
@@ -18318,7 +19671,7 @@ var UNIT_SHAPE_TERMS = [
|
|
|
18318
19671
|
scheme: "wikidata"
|
|
18319
19672
|
}
|
|
18320
19673
|
],
|
|
18321
|
-
related:
|
|
19674
|
+
related: relatedTo16("unit-shape.circle"),
|
|
18322
19675
|
searchedWithout: [searchedUniclass3("Semicircle")]
|
|
18323
19676
|
},
|
|
18324
19677
|
{
|
|
@@ -18348,7 +19701,7 @@ var UNIT_SHAPE_TERMS = [
|
|
|
18348
19701
|
scheme: "wikidata"
|
|
18349
19702
|
}
|
|
18350
19703
|
],
|
|
18351
|
-
related:
|
|
19704
|
+
related: relatedTo16("installation-layout.chantilly"),
|
|
18352
19705
|
searchedWithout: [searchedUniclass3("Rhombus")]
|
|
18353
19706
|
},
|
|
18354
19707
|
{
|
|
@@ -18365,7 +19718,7 @@ var UNIT_SHAPE_TERMS = [
|
|
|
18365
19718
|
scheme: "wikidata"
|
|
18366
19719
|
}
|
|
18367
19720
|
],
|
|
18368
|
-
related:
|
|
19721
|
+
related: relatedTo16(RECTANGLE, "unit-shape.rhombus"),
|
|
18369
19722
|
searchedWithout: [searchedUniclass3("Parallelogram")]
|
|
18370
19723
|
},
|
|
18371
19724
|
{
|
|
@@ -18378,7 +19731,7 @@ var UNIT_SHAPE_TERMS = [
|
|
|
18378
19731
|
scheme: "wikidata"
|
|
18379
19732
|
}
|
|
18380
19733
|
],
|
|
18381
|
-
related:
|
|
19734
|
+
related: relatedTo16("installation-layout.hexagon-block"),
|
|
18382
19735
|
searchedWithout: [searchedUniclass3("Hexagon")]
|
|
18383
19736
|
},
|
|
18384
19737
|
{
|
|
@@ -18391,7 +19744,7 @@ var UNIT_SHAPE_TERMS = [
|
|
|
18391
19744
|
scheme: "wikidata"
|
|
18392
19745
|
}
|
|
18393
19746
|
],
|
|
18394
|
-
related:
|
|
19747
|
+
related: relatedTo16("unit-shape.square"),
|
|
18395
19748
|
searchedWithout: [searchedUniclass3("Octagon")]
|
|
18396
19749
|
},
|
|
18397
19750
|
{
|
|
@@ -18423,7 +19776,7 @@ var UNIT_SHAPE_TERMS = [
|
|
|
18423
19776
|
}
|
|
18424
19777
|
}
|
|
18425
19778
|
),
|
|
18426
|
-
related:
|
|
19779
|
+
related: relatedTo16(RECTANGLE),
|
|
18427
19780
|
searchedWithout: [searchedUniclass3("picket tile shape")]
|
|
18428
19781
|
},
|
|
18429
19782
|
{
|
|
@@ -18432,7 +19785,7 @@ var UNIT_SHAPE_TERMS = [
|
|
|
18432
19785
|
"Chevron unit",
|
|
18433
19786
|
"One genuinely V-shaped or boomerang-shaped physical unit; never rectangular units mitred or arranged into a chevron layout."
|
|
18434
19787
|
),
|
|
18435
|
-
related:
|
|
19788
|
+
related: relatedTo16("installation-layout.chevron"),
|
|
18436
19789
|
searchedWithout: [searchedUniclass3("chevron shape")]
|
|
18437
19790
|
},
|
|
18438
19791
|
{
|
|
@@ -18450,7 +19803,7 @@ var UNIT_SHAPE_TERMS = [
|
|
|
18450
19803
|
"A fan-like unit with one convex curved edge and a narrower opposing edge.",
|
|
18451
19804
|
{ altLabels: ["Fan"] }
|
|
18452
19805
|
),
|
|
18453
|
-
related:
|
|
19806
|
+
related: relatedTo16("unit-shape.semicircle"),
|
|
18454
19807
|
searchedWithout: [searchedUniclass3("scallop shape")]
|
|
18455
19808
|
},
|
|
18456
19809
|
{
|
|
@@ -18459,7 +19812,7 @@ var UNIT_SHAPE_TERMS = [
|
|
|
18459
19812
|
"Star",
|
|
18460
19813
|
"A unit with multiple outward-pointing arms around a centre."
|
|
18461
19814
|
),
|
|
18462
|
-
related:
|
|
19815
|
+
related: relatedTo16("unit-shape.cross"),
|
|
18463
19816
|
searchedWithout: [searchedUniclass3("star polygon")]
|
|
18464
19817
|
},
|
|
18465
19818
|
{
|
|
@@ -18476,7 +19829,7 @@ var UNIT_SHAPE_TERMS = [
|
|
|
18476
19829
|
scheme: "wikidata"
|
|
18477
19830
|
}
|
|
18478
19831
|
],
|
|
18479
|
-
related:
|
|
19832
|
+
related: relatedTo16("installation-layout.chantilly"),
|
|
18480
19833
|
searchedWithout: [searchedUniclass3("cross shape")]
|
|
18481
19834
|
},
|
|
18482
19835
|
{
|
|
@@ -18493,7 +19846,7 @@ var UNIT_SHAPE_TERMS = [
|
|
|
18493
19846
|
scheme: "uniclass"
|
|
18494
19847
|
}
|
|
18495
19848
|
],
|
|
18496
|
-
related:
|
|
19849
|
+
related: relatedTo16("installation-layout.irregular-field")
|
|
18497
19850
|
}
|
|
18498
19851
|
];
|
|
18499
19852
|
|
|
@@ -19651,6 +21004,7 @@ var AXES = [
|
|
|
19651
21004
|
slug: "requirement",
|
|
19652
21005
|
status: "authored"
|
|
19653
21006
|
},
|
|
21007
|
+
...BRIEF_AXES,
|
|
19654
21008
|
{
|
|
19655
21009
|
boundary: "Sector classifies whom the building serves; Typology classifies what the building is. A converted warehouse full of flats is sector residential and typology warehouse plus apartment. Sector moves when the tenant moves; typology does not.",
|
|
19656
21010
|
facets: single("sector", "Sector", SECTOR_TERMS),
|
|
@@ -19743,7 +21097,7 @@ var AXES = [
|
|
|
19743
21097
|
status: "authored"
|
|
19744
21098
|
},
|
|
19745
21099
|
{
|
|
19746
|
-
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.",
|
|
21100
|
+
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; not Time of day, which is the hour a scheme evokes; and not Place, which says where a building stands rather than which way a room looks.",
|
|
19747
21101
|
facets: [
|
|
19748
21102
|
{
|
|
19749
21103
|
governance: TAX48_AUTHORED_GOVERNANCE,
|
|
@@ -19773,6 +21127,7 @@ var AXES = [
|
|
|
19773
21127
|
slug: "season",
|
|
19774
21128
|
status: "authored"
|
|
19775
21129
|
},
|
|
21130
|
+
TIME_OF_DAY_AXIS,
|
|
19776
21131
|
{
|
|
19777
21132
|
boundary: "Tier is where a thing sits in a market; Mood is how a room reads. They come apart in both directions - an Aman is luxury tier and austere, a budget hotel lobby can be loudly luxurious - and welding them together loses both. It is also not a channel: trade-only says who may buy, not how much it costs.",
|
|
19778
21133
|
facets: [
|
|
@@ -19861,7 +21216,7 @@ var resolveReference = (reference) => INDEX.byKey.get(canonicalKey(reference));
|
|
|
19861
21216
|
// src/v1.ts
|
|
19862
21217
|
var TAXONOMY_BASE_URI = "https://taxonomy.materialinstruments.com";
|
|
19863
21218
|
var TAXONOMY_SNAPSHOT = "2026-10-02";
|
|
19864
|
-
var TAXONOMY_VERSION = "2.
|
|
21219
|
+
var TAXONOMY_VERSION = "2.6.0";
|
|
19865
21220
|
var PUBLISHED_V1_BASELINE = "2026-08-30";
|
|
19866
21221
|
var TAX45_REVIEW_SNAPSHOT = "2026-08-31";
|
|
19867
21222
|
var LIMESTONE_INTRODUCED = "2026-09-01";
|
|
@@ -19925,11 +21280,11 @@ var governanceFor = (explanation, term12) => ({
|
|
|
19925
21280
|
provenance: term12?.provenance ?? DEFAULT_PROVENANCE,
|
|
19926
21281
|
steward: "@instruments/taxonomy"
|
|
19927
21282
|
});
|
|
19928
|
-
var externalReferences = (mappings) => mappings?.map((
|
|
19929
|
-
authority:
|
|
19930
|
-
identifier:
|
|
19931
|
-
label:
|
|
19932
|
-
match:
|
|
21283
|
+
var externalReferences = (mappings) => mappings?.map((mapping2) => ({
|
|
21284
|
+
authority: mapping2.scheme,
|
|
21285
|
+
identifier: mapping2.identifier,
|
|
21286
|
+
label: mapping2.label,
|
|
21287
|
+
match: mapping2.match
|
|
19933
21288
|
}));
|
|
19934
21289
|
var governedEdge = (from, predicate, to, term12, assertion = "asserted", role) => {
|
|
19935
21290
|
const governance = governanceFor(
|