@instruments/taxonomy 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/dist/authoring.d.ts +2 -2
- package/dist/axes/axis.d.ts +35 -0
- package/dist/axes/daylight.d.ts +7 -0
- package/dist/axes/index.d.ts +4 -33
- package/dist/axes/season.d.ts +2 -0
- package/dist/axes/space/shared.d.ts +6 -6
- package/dist/axes/tier.d.ts +3 -3
- package/dist/{materialgraph-crossover-sources.d.ts → crossover-sources.d.ts} +3 -3
- package/dist/estate/concepts.d.ts +10 -9
- package/dist/estate/index.d.ts +1 -1
- package/dist/estate/residue-report.d.ts +3 -3
- package/dist/estate/rows/architecture-projects.d.ts +2 -0
- package/dist/estate/rows/editorial-imagery.d.ts +2 -0
- package/dist/estate/rows/furnishings-retailer.d.ts +2 -0
- package/dist/estate/rows/materials-retrieval.d.ts +2 -0
- package/dist/estate/rows/paint-samples.d.ts +2 -0
- package/dist/estate/rows/rendering-pipeline.d.ts +2 -0
- package/dist/estate/sources.d.ts +77 -18
- package/dist/index.js +852 -671
- package/dist/search-corpus-source.d.ts +1 -3
- package/dist/term.d.ts +13 -7
- package/dist/v1.d.ts +4 -4
- package/package.json +1 -1
- package/dist/crosswalks/designshop.d.ts +0 -30
- package/dist/crosswalks/materialgraph.d.ts +0 -38
- package/dist/crosswalks/miu.d.ts +0 -13
- package/dist/downstream-check-policy.d.ts +0 -34
- package/dist/env.d.ts +0 -6
- package/dist/estate/rows/architizer.d.ts +0 -2
- package/dist/estate/rows/designround.d.ts +0 -2
- package/dist/estate/rows/designshop.d.ts +0 -2
- package/dist/estate/rows/materia.d.ts +0 -2
- package/dist/estate/rows/materialgraph.d.ts +0 -2
- package/dist/estate/rows/samplize.d.ts +0 -2
package/README.md
CHANGED
|
@@ -6,11 +6,11 @@ The canonical, data-only interiors and architecture terminology corpus.
|
|
|
6
6
|
|
|
7
7
|
The package root exports the governed corpus and its release metadata:
|
|
8
8
|
|
|
9
|
-
- `TAXONOMY_BASE_URI`
|
|
10
|
-
- `KNOWLEDGE_GRAPH`
|
|
11
|
-
- `LEXICAL_ENTRIES`
|
|
12
|
-
- `TAXONOMY_CORPUS_METADATA`
|
|
13
|
-
- `TAXONOMY_CORPUS_REVISION`, `TAXONOMY_SNAPSHOT`, and `TAXONOMY_VERSION`
|
|
9
|
+
- `TAXONOMY_BASE_URI` - the authority used for every canonical concept URI.
|
|
10
|
+
- `KNOWLEDGE_GRAPH` - normalized axis, facet, and concept nodes plus typed, bidirectional edges.
|
|
11
|
+
- `LEXICAL_ENTRIES` - exhaustive declarative `equivalent`, `ambiguous`, and `declined` records for every canonical or observed authored spelling.
|
|
12
|
+
- `TAXONOMY_CORPUS_METADATA` - deterministic node, edge, and lexical counts with the corpus revision, snapshot, and package version.
|
|
13
|
+
- `TAXONOMY_CORPUS_REVISION`, `TAXONOMY_SNAPSHOT`, and `TAXONOMY_VERSION` - the exact content fingerprint, source snapshot, and package release identifiers.
|
|
14
14
|
|
|
15
15
|
It also exports the TypeScript types for those values. It does not export a resolver, matcher, ranker, search route, local IDs, semantic IDs, or legacy aliases. Consumers build policy on top of the same data; the repository's private HTTP adapter is one such consumer.
|
|
16
16
|
|
package/dist/authoring.d.ts
CHANGED
|
@@ -11,13 +11,13 @@ export { type AlternativeReason, type AlternativesMatch, type BundleMatch, type
|
|
|
11
11
|
export { ASSERTION_KEYS, canonicalAssertion, deprecatedAssertions, isCanonicalAssertion, type ParsedAssertion, parseAssertion, RELATION_PREDICATES, type ResolvedAssertion, resolveAssertion, resolveReference, type TermLocation, AUTHORING_LOCATIONS, unknownAssertions, } from "./assertions.js";
|
|
12
12
|
export { isInterchangeable, MATCH_STRENGTHS, SKOS_MATCH_PREDICATE, } from "./crosswalks/strength.js";
|
|
13
13
|
export { ambiguous as ambiguousMapping, approximates as approximateMapping, constitutive as constitutiveMapping, type CrosswalkMapping, declined as declinedMapping, resolved as resolvedMapping, } from "./crosswalks/mapping.js";
|
|
14
|
-
export { AXES, AXIS_SLUGS, type Axis, type AxisFacet, type AxisSlug, axisBySlug, axisTerms, CONSTRUCTION_TERMS, ELEMENT_TERMS, FINISH_TERMS, FORMAT_TERMS, INSTALLATION_LAYOUT_TERMS, MATERIAL_TERMS, MOOD_TERMS, PALETTE_CHARACTER_TERMS, PALETTE_FACETS, PALETTE_HUE_TERMS, PALETTE_TEMPERATURE_TERMS, PATTERN_TERMS, type PaletteFacet, PERIOD_TERMS, periodAt, periodsAt, PLACE_FACETS, PLACE_LANDSCAPE_TERMS, PLACE_REGION_TERMS, PRODUCT_CATEGORY_TERMS, REQUIREMENT_TERMS, type PlaceFacet, MARKET_NEUTRAL_SPACES, marketsServed, MOOD_ANCHORS, moodAnchorsFor, PERIOD_ANCHORS, periodAnchorsFor, PLACE_ANCHORS, placeAnchorsFor, SPACE_ANCHORS, spaceAnchorsFor, SPACE_SECTORS, SPACE_TERMS, type SpaceSector, type Anchors, anchorsFor, STYLE_ANCHORS, type StyleSlug, STYLE_TERMS, TYPOLOGY_TERMS, UNIT_SHAPE_TERMS, } from "./axes/index.js";
|
|
14
|
+
export { AXES, AXIS_SLUGS, type Axis, type AxisFacet, type AxisSlug, axisBySlug, axisTerms, CONSTRUCTION_TERMS, DAYLIGHT_ASPECT_TERMS, DAYLIGHT_FACETS, DAYLIGHT_LIGHT_TERMS, type DaylightFacet, ELEMENT_TERMS, FINISH_TERMS, FORMAT_TERMS, INSTALLATION_LAYOUT_TERMS, MATERIAL_TERMS, MOOD_TERMS, PALETTE_CHARACTER_TERMS, PALETTE_FACETS, PALETTE_HUE_TERMS, PALETTE_TEMPERATURE_TERMS, PATTERN_TERMS, type PaletteFacet, PERIOD_TERMS, periodAt, periodsAt, PLACE_FACETS, PLACE_LANDSCAPE_TERMS, PLACE_REGION_TERMS, PRODUCT_CATEGORY_TERMS, REQUIREMENT_TERMS, SEASON_TERMS, type PlaceFacet, MARKET_NEUTRAL_SPACES, marketsServed, MOOD_ANCHORS, moodAnchorsFor, PERIOD_ANCHORS, periodAnchorsFor, PLACE_ANCHORS, placeAnchorsFor, SPACE_ANCHORS, spaceAnchorsFor, SPACE_SECTORS, SPACE_TERMS, type SpaceSector, type Anchors, anchorsFor, STYLE_ANCHORS, type StyleSlug, STYLE_TERMS, TYPOLOGY_TERMS, UNIT_SHAPE_TERMS, } from "./axes/index.js";
|
|
15
15
|
export { assertionMeaningFrom, type AmbiguousCanonicalisation, type CanonicalisationInput, type CanonicalisationVerdict, type DeclinedCanonicalisation, type ResolvedCanonicalisation, type UnresolvedCanonicalisation, } from "./canonicalisation.js";
|
|
16
16
|
export { type AmbiguousAssertionMeaning, type AssertionAuthority, type AssertionMeaning, type AssertionPolarity, type AssertionProvenance, type AssertionRole, type AssertionScope, type PortableAssertionTestVector, type PortableTasteAssertion, PORTABLE_ASSERTION_TEST_VECTORS, type ProjectContextAssertion, type RequirementAssertion, type RequirementConstraint, type RequirementOperator, type ResolvedAssertionMeaning, TAXONOMY_SNAPSHOT_VERSION, TASTE_ASSERTION_CONTRACT_VERSION, type TasteAssertion, type UnresolvedAssertionMeaning, } from "./taste-assertion.js";
|
|
17
17
|
export { APPLICATION_TERMS, MATERIAL_FAMILY_TERMS, SECTOR_TERMS, } from "./dictionaries.js";
|
|
18
18
|
export declare const PROVENANCE: {
|
|
19
19
|
readonly snapshot: "2026-07-08";
|
|
20
|
-
readonly source: "
|
|
20
|
+
readonly source: "value dictionaries in a materials-retrieval system (src-05)";
|
|
21
21
|
};
|
|
22
22
|
export { KNOWLEDGE_GRAPH, LEXICAL_ENTRIES, TAXONOMY_BASE_URI, type AxisNode, type CanonicalConceptUri, type ColorScopeTarget, type ConceptNode, type ExternalReference, type FacetNode, type GraphPredicate, type KnowledgeGraph, type KnowledgeGraphEdge, type KnowledgeGraphNode, type LexicalEntry, type LexicalContext, type LexicalTarget, type Lifecycle, type Governance, TAXONOMY_SNAPSHOT, type TaxonomyTarget, } from "./v1.js";
|
|
23
23
|
export declare const MATERIAL_FAMILIES: readonly ["paint", "wall-finish", "wallcovering", "textile", "upholstery", "carpet", "wood", "stone", "tile", "terrazzo", "metal", "glass", "resilient-flooring", "composite", "concrete", "leather", "other"];
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Term } from "../term.js";
|
|
2
|
+
export declare const AXIS_SLUGS: readonly ["material-family", "product-category", "material", "pattern", "finish", "format", "unit-shape", "installation-layout", "construction", "requirement", "sector", "application", "space", "element", "typology", "style", "period", "mood", "palette", "place", "daylight", "season", "tier", "procurement", "strategy", "form", "density"];
|
|
3
|
+
export type AxisSlug = (typeof AXIS_SLUGS)[number];
|
|
4
|
+
export interface AxisGovernance {
|
|
5
|
+
introducedAt: string;
|
|
6
|
+
provenance: NonNullable<Term["provenance"]>;
|
|
7
|
+
reviewedAt: string;
|
|
8
|
+
}
|
|
9
|
+
export interface AxisFacet {
|
|
10
|
+
governance?: AxisGovernance;
|
|
11
|
+
label: string;
|
|
12
|
+
slug: string;
|
|
13
|
+
terms: readonly Term[];
|
|
14
|
+
}
|
|
15
|
+
export interface Axis {
|
|
16
|
+
slug: AxisSlug;
|
|
17
|
+
label: string;
|
|
18
|
+
/** The question the axis answers, in a reader's words. One line. */
|
|
19
|
+
question: string;
|
|
20
|
+
/**
|
|
21
|
+
* Where this axis ends and its nearest neighbour begins, with the criterion that decides it.
|
|
22
|
+
* Rendered verbatim on the axis page, because a boundary nobody can read is a boundary that gets
|
|
23
|
+
* re-litigated.
|
|
24
|
+
*/
|
|
25
|
+
boundary: string;
|
|
26
|
+
/** `authored` ships terms. `declared` is a real question with no terms yet, and says so. */
|
|
27
|
+
status: "authored" | "declared";
|
|
28
|
+
/** Lifecycle and provenance for the axis identity itself. Old axes omit this and use V1 baseline governance. */
|
|
29
|
+
governance?: AxisGovernance;
|
|
30
|
+
/** Single-dictionary axes carry one facet named for the axis. */
|
|
31
|
+
facets: readonly AxisFacet[];
|
|
32
|
+
/** Why the axis has no terms yet. Present only when status is "declared". */
|
|
33
|
+
gap?: string;
|
|
34
|
+
}
|
|
35
|
+
export declare const single: (slug: string, label: string, terms: readonly Term[], governance?: AxisGovernance) => readonly AxisFacet[];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Term } from "../term.js";
|
|
2
|
+
/** Which way a room's principal windows face. Compass-literal; unordered. */
|
|
3
|
+
export declare const DAYLIGHT_ASPECT_TERMS: readonly Term[];
|
|
4
|
+
/** How much daylight a room receives for its use, low to high. */
|
|
5
|
+
export declare const DAYLIGHT_LIGHT_TERMS: readonly Term[];
|
|
6
|
+
export declare const DAYLIGHT_FACETS: readonly ["aspect", "light"];
|
|
7
|
+
export type DaylightFacet = (typeof DAYLIGHT_FACETS)[number];
|
package/dist/axes/index.d.ts
CHANGED
|
@@ -1,43 +1,13 @@
|
|
|
1
1
|
import type { Term } from "../term.js";
|
|
2
|
-
|
|
3
|
-
export type AxisSlug = (typeof AXIS_SLUGS)[number];
|
|
4
|
-
export interface AxisGovernance {
|
|
5
|
-
introducedAt: string;
|
|
6
|
-
provenance: NonNullable<Term["provenance"]>;
|
|
7
|
-
reviewedAt: string;
|
|
8
|
-
}
|
|
9
|
-
export interface AxisFacet {
|
|
10
|
-
governance?: AxisGovernance;
|
|
11
|
-
label: string;
|
|
12
|
-
slug: string;
|
|
13
|
-
terms: readonly Term[];
|
|
14
|
-
}
|
|
15
|
-
export interface Axis {
|
|
16
|
-
slug: AxisSlug;
|
|
17
|
-
label: string;
|
|
18
|
-
/** The question the axis answers, in a reader's words. One line. */
|
|
19
|
-
question: string;
|
|
20
|
-
/**
|
|
21
|
-
* Where this axis ends and its nearest neighbour begins, with the criterion that decides it.
|
|
22
|
-
* Rendered verbatim on the axis page, because a boundary nobody can read is a boundary that gets
|
|
23
|
-
* re-litigated.
|
|
24
|
-
*/
|
|
25
|
-
boundary: string;
|
|
26
|
-
/** `authored` ships terms. `declared` is a real question with no terms yet, and says so. */
|
|
27
|
-
status: "authored" | "declared";
|
|
28
|
-
/** Lifecycle and provenance for the axis identity itself. Old axes omit this and use V1 baseline governance. */
|
|
29
|
-
governance?: AxisGovernance;
|
|
30
|
-
/** Single-dictionary axes carry one facet named for the axis. */
|
|
31
|
-
facets: readonly AxisFacet[];
|
|
32
|
-
/** Why the axis has no terms yet. Present only when status is "declared". */
|
|
33
|
-
gap?: string;
|
|
34
|
-
}
|
|
2
|
+
import type { Axis, AxisSlug } from "./axis.js";
|
|
35
3
|
export declare const AXES: readonly Axis[];
|
|
4
|
+
export { type Axis, type AxisFacet, AXIS_SLUGS, type AxisGovernance, type AxisSlug, } from "./axis.js";
|
|
36
5
|
export declare const axisBySlug: (slug: AxisSlug) => Axis | undefined;
|
|
37
6
|
/** Every term on an axis, across all its facets. */
|
|
38
7
|
export declare const axisTerms: (axis: Axis) => readonly Term[];
|
|
39
8
|
export { ELEMENT_TERMS } from "./element.js";
|
|
40
9
|
export { CONSTRUCTION_TERMS } from "./construction.js";
|
|
10
|
+
export { DAYLIGHT_ASPECT_TERMS, DAYLIGHT_FACETS, DAYLIGHT_LIGHT_TERMS, type DaylightFacet, } from "./daylight.js";
|
|
41
11
|
export { FINISH_TERMS } from "./finish.js";
|
|
42
12
|
export { FORMAT_TERMS } from "./format.js";
|
|
43
13
|
export { INSTALLATION_LAYOUT_TERMS } from "./installation-layout.js";
|
|
@@ -46,6 +16,7 @@ export { MOOD_TERMS } from "./mood.js";
|
|
|
46
16
|
export { PATTERN_TERMS } from "./pattern.js";
|
|
47
17
|
export { PRODUCT_CATEGORY_TERMS } from "./product-category.js";
|
|
48
18
|
export { REQUIREMENT_TERMS } from "./requirement.js";
|
|
19
|
+
export { SEASON_TERMS } from "./season.js";
|
|
49
20
|
export { PALETTE_CHARACTER_TERMS, PALETTE_FACETS, PALETTE_HUE_TERMS, PALETTE_TEMPERATURE_TERMS, type PaletteFacet, } from "./palette.js";
|
|
50
21
|
export { PERIOD_TERMS, periodAt, periodsAt } from "./period.js";
|
|
51
22
|
export { PLACE_FACETS, PLACE_LANDSCAPE_TERMS, PLACE_REGION_TERMS, type PlaceFacet, } from "./place.js";
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import type { Sector } from "../../authoring.js";
|
|
2
2
|
import type { ExternalMapping, MatchStrength, TermProvenance, TermRelation, TermUsage, UsageBand } from "../../term.js";
|
|
3
3
|
export declare const VENDORED_SNAPSHOT = "2026-08-21";
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
4
|
+
export declare const SCHEME_SNAPSHOT = "2026-08-18";
|
|
5
|
+
export declare const SCHEME_CORPUS = "room schemes in a furnishings retailer (src-03)";
|
|
6
6
|
export declare const aat: (slug: string, label: string, match: MatchStrength) => ExternalMapping;
|
|
7
7
|
/** The governed commercial dictionary the 0.2 draft was built from, kept for its consumed ids. */
|
|
8
8
|
export declare const MS_ROOM: TermProvenance;
|
|
9
9
|
/** Both dictionaries name this room. The ms_room id wins; both upstreams are recorded. */
|
|
10
|
-
export declare const
|
|
10
|
+
export declare const MS_ROOM_PROGRAM: TermProvenance;
|
|
11
11
|
export declare const AUTHORED: TermProvenance;
|
|
12
12
|
export declare const EVIDENCED: TermProvenance;
|
|
13
|
-
export declare const
|
|
14
|
-
/** The spine. 172 snake_case values, flat
|
|
15
|
-
export declare const
|
|
13
|
+
export declare const schemeUsage: (band: UsageBand) => TermUsage;
|
|
14
|
+
/** The spine. 172 snake_case values, flat. */
|
|
15
|
+
export declare const PROGRAM_SPACES: TermProvenance;
|
|
16
16
|
/**
|
|
17
17
|
* Association with no stronger claim available. Named because several terms carry one and the
|
|
18
18
|
* predicate has to read the same on all of them.
|
package/dist/axes/tier.d.ts
CHANGED
|
@@ -3,12 +3,12 @@ import type { Term } from "../term.js";
|
|
|
3
3
|
* The positioning ladder. Where a maker, a product line or a project sits in the market, as a
|
|
4
4
|
* judgement anyone in the trade would recognise.
|
|
5
5
|
*
|
|
6
|
-
* The five values
|
|
6
|
+
* The five values a materials-retrieval system's brand extractor is instructed to choose between, minus
|
|
7
7
|
* `trade-only`, which is a channel and already has its own dictionary there. `evidenced` rather
|
|
8
8
|
* than `vendored`, because the list is not a dictionary anywhere upstream - it exists in a prompt
|
|
9
9
|
* string and a column comment, and writing it down as a vocabulary is the point of this facet.
|
|
10
10
|
*
|
|
11
|
-
*
|
|
11
|
+
* A project-materials database's budget bands are the same ladder under other names, so its `budget` and
|
|
12
12
|
* `mid_market` sit in `seenAs` on the rungs they mean rather than becoming extra terms.
|
|
13
13
|
*
|
|
14
14
|
* `seenAs` HERE CARRIES ONLY FORMS ACTUALLY FOUND UPSTREAM. The trade uses a dozen words for each
|
|
@@ -34,7 +34,7 @@ export type TierFacet = (typeof TIER_FACETS)[number];
|
|
|
34
34
|
/**
|
|
35
35
|
* The next rung down on a term's own ladder, or undefined at the bottom.
|
|
36
36
|
*
|
|
37
|
-
* Exists because the question is asked:
|
|
37
|
+
* Exists because the question is asked: a materials-retrieval system ships a `cheaperTier()` that walks its price
|
|
38
38
|
* ladder to answer "show me this, but less expensive". Answering it here means one implementation
|
|
39
39
|
* of the step rather than one per consumer, and it refuses at the bottom rather than clamping,
|
|
40
40
|
* because a bottom rung with nothing below it is a real answer.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const RETRIEVAL_LEXICON_SOURCE = "colour-material lexicon in a materials-retrieval system (src-05)";
|
|
2
2
|
export declare const COLORSCOPE_CROSSOVER_SOURCE = "materialinstruments/colorscope@c0662caabe7cd8604241a8a7b2608fa5bc71de51:packages/core/data/reference/v1/taxonomy.json";
|
|
3
3
|
export declare const BRASS_MATERIAL_SOURCE = "https://archive.copper.org/applications/industrial/DesignGuide/terms.php";
|
|
4
4
|
export declare const BRASS_FINISH_SOURCE = "https://nickelinstitute.org/media/lxxh1zwr/2023-nickelplatinghandbooka5_printablepdf.pdf section 5";
|
|
@@ -48,5 +48,5 @@ export declare const CROSSOVER_DEFINITION_SOURCES: {
|
|
|
48
48
|
readonly wood: "https://research.fs.usda.gov/download/treesearch/37440.pdf";
|
|
49
49
|
readonly wool: "https://www.fao.org/docrep/pdf/012/i0987e/i0987e00.pdf";
|
|
50
50
|
};
|
|
51
|
-
export type
|
|
52
|
-
export declare const crossoverSource: (phrase:
|
|
51
|
+
export type CrossoverPhrase = keyof typeof CROSSOVER_DEFINITION_SOURCES;
|
|
52
|
+
export declare const crossoverSource: (phrase: CrossoverPhrase) => string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Row } from "./decomposition.js";
|
|
2
|
-
export declare const ESTATE_REPOS: readonly ["
|
|
2
|
+
export declare const ESTATE_REPOS: readonly ["rendering-pipeline", "architecture-projects", "editorial-imagery", "furnishings-retailer", "materials-retrieval", "paint-samples"];
|
|
3
3
|
export type EstateRepo = (typeof ESTATE_REPOS)[number];
|
|
4
4
|
export interface ConceptCell {
|
|
5
5
|
source: string;
|
|
@@ -28,10 +28,10 @@ export interface Concept {
|
|
|
28
28
|
* How many repositories could plausibly have reached this concept: those carrying any vocabulary
|
|
29
29
|
* on the same axis.
|
|
30
30
|
*
|
|
31
|
-
* NOT the repository count, and the difference started mattering the moment
|
|
32
|
-
* census.
|
|
33
|
-
* and counting it against that row would report a disagreement where there is only
|
|
34
|
-
* subject. Six repositories, but only five of them have anything to say about style, and only
|
|
31
|
+
* NOT the repository count, and the difference started mattering the moment the paint-sample
|
|
32
|
+
* retailer joined the census. Its vocabulary is colour and nothing else, so it can never reach
|
|
33
|
+
* `style.rustic` and counting it against that row would report a disagreement where there is only
|
|
34
|
+
* a different subject. Six repositories, but only five of them have anything to say about style, and only
|
|
35
35
|
* three about colour.
|
|
36
36
|
*/
|
|
37
37
|
couldReach: number;
|
|
@@ -64,8 +64,8 @@ export interface AxisDisagreement {
|
|
|
64
64
|
* The disagreement matrix, split one table per axis.
|
|
65
65
|
*
|
|
66
66
|
* ONE TABLE MIXING AXES IS SPARSE BY CONSTRUCTION, and the sparseness is not a finding. Each
|
|
67
|
-
* repository speaks about some axes and not others:
|
|
68
|
-
* else, so against every style concept it is a column of dashes. Rendered as one table that reads
|
|
67
|
+
* repository speaks about some axes and not others: the paint-sample retailer's vocabulary is colour
|
|
68
|
+
* and nothing else, so against every style concept it is a column of dashes. Rendered as one table that reads
|
|
69
69
|
* as six repositories disagreeing when it is really six repositories talking about different
|
|
70
70
|
* subjects, and it costs enough width to break the canonical identifiers across three lines.
|
|
71
71
|
*
|
|
@@ -100,10 +100,11 @@ export declare const agreementSummary: () => {
|
|
|
100
100
|
spellingOnly: number;
|
|
101
101
|
};
|
|
102
102
|
/**
|
|
103
|
-
* The share of
|
|
103
|
+
* The share of a furnishings retailer's room schemes the two ambiguous style values account for, as a
|
|
104
|
+
* percentage.
|
|
104
105
|
*
|
|
105
106
|
* A SHARE AND NOT A COUNT, and the distinction is the whole reason this function exists rather than
|
|
106
|
-
* a consumer reading `
|
|
107
|
+
* a consumer reading `ROOM_SCHEME_STYLE_COUNTS` directly. The underlying figures are a third
|
|
107
108
|
* party's catalogue volumes and are not ours to publish. The claim anything downstream actually
|
|
108
109
|
* needs is that `Modern` and `Contemporary` sit at comparable volume and together account for a
|
|
109
110
|
* large slice of the corpus - which a percentage carries exactly as well and a count carries no
|
package/dist/estate/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { agreementSummary, ambiguousStyleShare, concepts, type AxisDisagreement, disagreementsByAxis, type Concept, type ConceptCell, ESTATE_REPOS, type EstateRepo, MATRIX_COLUMNS, } from "./concepts.js";
|
|
2
2
|
export { DECOMPOSITION, type OutOfAxisReason, type Row, type Verdict, } from "./decomposition.js";
|
|
3
3
|
export { declaredGaps, mintingDemand, rateBySource, type ResidueReport, residueReport, unresolved, } from "./residue-report.js";
|
|
4
|
-
export {
|
|
4
|
+
export { ARCHITECTURE_PROJECTS_STYLES, EDITORIAL_STYLE_ANCHORS, RETAIL_PRODUCT_STYLES, ROOM_SCHEME_STYLE_COUNTS, ROOM_SCHEME_STYLES, ESTATE_VOCABULARIES, type EstateVocabulary, RENDERING_INTENT_KEYWORDS, RENDERING_SCENE_MOOD, RETRIEVAL_MS_CHARACTER, RETRIEVAL_MS_MOOD, RETRIEVAL_MS_STYLE, type VocabularyKind, } from "./sources.js";
|
|
@@ -17,9 +17,9 @@ export interface ResidueReport {
|
|
|
17
17
|
/**
|
|
18
18
|
* The circularity guard. The axes here were authored after reading these terms, so the headline
|
|
19
19
|
* rate is partly fitted to its own inputs. This is the share that decomposes onto canon that
|
|
20
|
-
* existed BEFORE the test - vendored from
|
|
21
|
-
* published in this package. It is the floor the
|
|
22
|
-
* at all, and it is the number to argue with.
|
|
20
|
+
* existed BEFORE the test - vendored from the materials-retrieval system, colorscope and the
|
|
21
|
+
* architecture-projects platform, or already published in this package. It is the floor the
|
|
22
|
+
* design would have reached with no new authoring at all, and it is the number to argue with.
|
|
23
23
|
*/
|
|
24
24
|
preExistingRate: number;
|
|
25
25
|
preExisting: number;
|
package/dist/estate/sources.d.ts
CHANGED
|
@@ -1,3 +1,63 @@
|
|
|
1
|
+
export interface CitedSource {
|
|
2
|
+
/** Stable and opaque. Never reassigned, never a name, and never decoded here. */
|
|
3
|
+
id: string;
|
|
4
|
+
/** How the source is written in prose, article included. */
|
|
5
|
+
name: string;
|
|
6
|
+
/** The same source as one token: a column key, a repository key, a vocabulary id prefix. */
|
|
7
|
+
slug: string;
|
|
8
|
+
/** The same source as a column heading, without the article. */
|
|
9
|
+
label: string;
|
|
10
|
+
}
|
|
11
|
+
export declare const CITED_SOURCES: {
|
|
12
|
+
readonly ARCHITECTURE_PROJECTS: {
|
|
13
|
+
readonly id: "src-01";
|
|
14
|
+
readonly label: "architecture-projects platform";
|
|
15
|
+
readonly name: "an architecture-projects platform";
|
|
16
|
+
readonly slug: "architecture-projects";
|
|
17
|
+
};
|
|
18
|
+
readonly EDITORIAL_IMAGERY: {
|
|
19
|
+
readonly id: "src-02";
|
|
20
|
+
readonly label: "editorial image library";
|
|
21
|
+
readonly name: "an editorial image library";
|
|
22
|
+
readonly slug: "editorial-imagery";
|
|
23
|
+
};
|
|
24
|
+
readonly FURNISHINGS_RETAILER: {
|
|
25
|
+
readonly id: "src-03";
|
|
26
|
+
readonly label: "furnishings retailer";
|
|
27
|
+
readonly name: "a furnishings retailer";
|
|
28
|
+
readonly slug: "furnishings-retailer";
|
|
29
|
+
};
|
|
30
|
+
readonly MARKETPLACE_CATALOGUE: {
|
|
31
|
+
readonly id: "src-04";
|
|
32
|
+
readonly label: "materials-marketplace catalogue";
|
|
33
|
+
readonly name: "a materials-marketplace catalogue";
|
|
34
|
+
readonly slug: "materials-marketplace";
|
|
35
|
+
};
|
|
36
|
+
readonly MATERIALS_RETRIEVAL: {
|
|
37
|
+
readonly id: "src-05";
|
|
38
|
+
readonly label: "materials-retrieval system";
|
|
39
|
+
readonly name: "a materials-retrieval system";
|
|
40
|
+
readonly slug: "materials-retrieval";
|
|
41
|
+
};
|
|
42
|
+
readonly PAINT_SAMPLES: {
|
|
43
|
+
readonly id: "src-06";
|
|
44
|
+
readonly label: "paint-sample retailer";
|
|
45
|
+
readonly name: "a paint-sample retailer";
|
|
46
|
+
readonly slug: "paint-samples";
|
|
47
|
+
};
|
|
48
|
+
readonly PROJECT_MATERIALS: {
|
|
49
|
+
readonly id: "src-07";
|
|
50
|
+
readonly label: "project-materials database";
|
|
51
|
+
readonly name: "a project-materials database";
|
|
52
|
+
readonly slug: "project-materials";
|
|
53
|
+
};
|
|
54
|
+
readonly RENDERING_PIPELINE: {
|
|
55
|
+
readonly id: "src-08";
|
|
56
|
+
readonly label: "rendering pipeline";
|
|
57
|
+
readonly name: "a rendering pipeline";
|
|
58
|
+
readonly slug: "rendering-pipeline";
|
|
59
|
+
};
|
|
60
|
+
};
|
|
1
61
|
export type VocabularyKind =
|
|
2
62
|
/** A closed enum a writer must choose from. */
|
|
3
63
|
"enum"
|
|
@@ -11,37 +71,36 @@ export interface EstateVocabulary {
|
|
|
11
71
|
id: string;
|
|
12
72
|
name: string;
|
|
13
73
|
repo: string;
|
|
14
|
-
file: string;
|
|
15
74
|
snapshot: string;
|
|
16
75
|
kind: VocabularyKind;
|
|
17
76
|
/** What question the vocabulary was built to answer, in the authors' own framing. */
|
|
18
77
|
purpose: string;
|
|
19
78
|
terms: readonly string[];
|
|
20
79
|
}
|
|
21
|
-
export declare const
|
|
22
|
-
export declare const
|
|
23
|
-
export declare const
|
|
24
|
-
export declare const
|
|
25
|
-
export declare const
|
|
80
|
+
export declare const RENDERING_SCENE_MOOD: EstateVocabulary;
|
|
81
|
+
export declare const RENDERING_INTENT_KEYWORDS: EstateVocabulary;
|
|
82
|
+
export declare const ARCHITECTURE_PROJECTS_STYLES: EstateVocabulary;
|
|
83
|
+
export declare const EDITORIAL_STYLE_ANCHORS: EstateVocabulary;
|
|
84
|
+
export declare const ROOM_SCHEME_STYLES: EstateVocabulary;
|
|
26
85
|
/**
|
|
27
86
|
* Scheme counts over the 1,922 schemes carrying at least one product. Bands, not counts, are what
|
|
28
87
|
* gets published (see `Term.usage`); the raw figures live here because the decomposition test has
|
|
29
88
|
* to weight by usage and cannot do that from a band.
|
|
30
89
|
*/
|
|
31
|
-
export declare const
|
|
32
|
-
export declare const
|
|
33
|
-
export declare const
|
|
34
|
-
export declare const
|
|
35
|
-
export declare const
|
|
36
|
-
export declare const
|
|
90
|
+
export declare const ROOM_SCHEME_STYLE_COUNTS: Readonly<Record<string, number>>;
|
|
91
|
+
export declare const RETAIL_PRODUCT_STYLES: EstateVocabulary;
|
|
92
|
+
export declare const RETRIEVAL_MS_STYLE: EstateVocabulary;
|
|
93
|
+
export declare const RETRIEVAL_MS_MOOD: EstateVocabulary;
|
|
94
|
+
export declare const RETRIEVAL_MS_CHARACTER: EstateVocabulary;
|
|
95
|
+
export declare const PAINT_SAMPLE_COLOUR_COLLECTIONS: EstateVocabulary;
|
|
37
96
|
/**
|
|
38
97
|
* A standing fact, visible in this capture rather than asserted.
|
|
39
98
|
*
|
|
40
|
-
*
|
|
41
|
-
* manufacturers' colours and manufactures nothing. Its own product index groups by
|
|
42
|
-
* maker is somebody else: the largest share of the catalogue sits in a
|
|
43
|
-
* then `sherwin-williams`, then `behr`. If a query ever returns
|
|
44
|
-
* the query is wrong and this is the evidence.
|
|
99
|
+
* THE PAINT-SAMPLE RETAILER IS A SAMPLING CHANNEL, NOT A PAINT BRAND. It prints peel-and-stick
|
|
100
|
+
* sheets of other manufacturers' colours and manufactures nothing. Its own product index groups by
|
|
101
|
+
* maker, and every maker is somebody else: the largest share of the catalogue sits in a
|
|
102
|
+
* `benjamin-moore` collection, then `sherwin-williams`, then `behr`. If a query ever returns the
|
|
103
|
+
* retailer as the maker of a colour, the query is wrong and this is the evidence.
|
|
45
104
|
*/
|
|
46
|
-
export declare const
|
|
105
|
+
export declare const PAINT_SAMPLE_MAKER_COLLECTIONS: readonly ["benjamin-moore", "sherwin-williams", "behr"];
|
|
47
106
|
export declare const ESTATE_VOCABULARIES: readonly EstateVocabulary[];
|