@instruments/taxonomy 0.2.0 → 0.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 +16 -60
- package/dist/chunk-4ECRPD2I.js +7508 -0
- package/dist/{chunk-XLUE3IC2.js → chunk-FCMCKNQF.js} +11 -2
- package/dist/chunk-WIRA24HM.js +42 -0
- package/dist/crosswalks/designshop.d.ts +3 -11
- package/dist/crosswalks/designshop.js +125 -43
- package/dist/crosswalks/materialgraph.d.ts +41 -0
- package/dist/crosswalks/materialgraph.js +178 -0
- package/dist/crosswalks/miu.d.ts +2 -1
- package/dist/crosswalks/miu.js +9 -3
- package/dist/estate/index.d.ts +1 -1
- package/dist/estate/index.js +644 -551
- package/dist/index.d.ts +83 -6
- package/dist/index.js +103 -6104
- package/dist/mapping-pvHk5VjC.d.ts +31 -0
- package/dist/{match-BDI6Evro.d.ts → match-CWzTEuL-.d.ts} +37 -1
- package/dist/taste.d.ts +12 -1
- package/dist/taste.js +1 -1
- package/package.json +5 -1
- package/dist/chunk-C2ZPDTOU.js +0 -151
package/dist/estate/index.js
CHANGED
|
@@ -1,19 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
defineAlternatives
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-4ECRPD2I.js";
|
|
4
4
|
|
|
5
|
-
// src/estate/rows/
|
|
6
|
-
var
|
|
7
|
-
var INTENT_KEYWORDS = "materia.intent_keywords";
|
|
5
|
+
// src/estate/rows/architizer.ts
|
|
6
|
+
var ARCHITIZER = "architizer.styles";
|
|
8
7
|
var OUT_OF_AXIS = "out-of-axis";
|
|
9
|
-
var MATERIAL_PROPERTY = "material-property";
|
|
10
|
-
var QUERY_MARKER = "query-marker";
|
|
11
8
|
var DECOMPOSED = "decomposed";
|
|
12
9
|
var MED_REGION = "place.region.mediterranean";
|
|
13
10
|
var NORDIC_REGION = "place.region.nordic";
|
|
14
|
-
var COASTAL_LANDSCAPE = "place.landscape.coastal";
|
|
15
|
-
var PLAYFUL = "mood.playful";
|
|
16
|
-
var MOODY = "mood.moody";
|
|
17
11
|
var MINIMALISM = "style.minimalism";
|
|
18
12
|
var CONTEMPORARY = "style.contemporary";
|
|
19
13
|
var TRADITIONAL = "style.traditional";
|
|
@@ -22,622 +16,486 @@ var INDUSTRIAL = "style.industrial";
|
|
|
22
16
|
var MCM = "style.mid_century_modern";
|
|
23
17
|
var ART_DECO = "style.art_deco";
|
|
24
18
|
var MODERNISM = "style.modernism";
|
|
25
|
-
var LUXURIOUS = "mood.luxurious";
|
|
26
|
-
var SOFT_MOOD = "mood.soft";
|
|
27
|
-
var CALM = "mood.calm";
|
|
28
|
-
var WARM = "palette.temperature.warm";
|
|
29
19
|
var EVOKES_NORDIC = "evokes(place.region.nordic)";
|
|
30
|
-
var EVOKES_COASTAL = "evokes(place.landscape.coastal)";
|
|
31
20
|
var EVOKES_MED = "evokes(place.region.mediterranean)";
|
|
32
|
-
var
|
|
33
|
-
|
|
34
|
-
var EVOKES_MONASTERY = "evokes(typology.monastery)";
|
|
35
|
-
var MODERN_ALTERNATIVES = defineAlternatives(
|
|
36
|
-
[
|
|
37
|
-
[{ assertion: MODERNISM, role: "constitutive" }],
|
|
38
|
-
[{ assertion: CONTEMPORARY, role: "constitutive" }]
|
|
39
|
-
],
|
|
40
|
-
"source-ambiguous"
|
|
41
|
-
);
|
|
42
|
-
var BOUTIQUE_ALTERNATIVES = defineAlternatives(
|
|
43
|
-
[
|
|
44
|
-
[{ assertion: "evokes(typology.hotel)", role: "constitutive" }],
|
|
45
|
-
[{ assertion: "evokes(typology.shop)", role: "constitutive" }]
|
|
46
|
-
],
|
|
47
|
-
"source-ambiguous"
|
|
48
|
-
);
|
|
49
|
-
var MATERIA_ROWS = [
|
|
50
|
-
// ─── materia · SceneMoodSchema (9) ─────────────────────────────────────────────────────────
|
|
21
|
+
var ARCHITIZER_ROWS = [
|
|
22
|
+
// ─── architizer · STYLES (25) ──────────────────────────────────────────────────────────────
|
|
51
23
|
{
|
|
52
|
-
onto: [
|
|
53
|
-
source:
|
|
54
|
-
term: "
|
|
24
|
+
onto: [MODERNISM],
|
|
25
|
+
source: ARCHITIZER,
|
|
26
|
+
term: "Modernist",
|
|
55
27
|
verdict: DECOMPOSED
|
|
56
28
|
},
|
|
57
29
|
{
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
term: "warm-traditional",
|
|
30
|
+
onto: [MCM],
|
|
31
|
+
source: ARCHITIZER,
|
|
32
|
+
term: "Mid-century modern",
|
|
62
33
|
verdict: DECOMPOSED
|
|
63
34
|
},
|
|
64
35
|
{
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
term: "moody-saturated",
|
|
36
|
+
onto: ["style.brutalism"],
|
|
37
|
+
source: ARCHITIZER,
|
|
38
|
+
term: "Brutalist",
|
|
69
39
|
verdict: DECOMPOSED
|
|
70
40
|
},
|
|
71
41
|
{
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
onto: [EVOKES_MED, FADED, WARM, "palette.character.light"],
|
|
76
|
-
source: SCENE_MOOD,
|
|
77
|
-
term: "sun-bleached-mediterranean",
|
|
42
|
+
onto: [MINIMALISM],
|
|
43
|
+
source: ARCHITIZER,
|
|
44
|
+
term: "Minimalist",
|
|
78
45
|
verdict: DECOMPOSED
|
|
79
46
|
},
|
|
80
47
|
{
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
source: SCENE_MOOD,
|
|
85
|
-
term: "soft-japandi",
|
|
86
|
-
verdict: "lossy"
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
mintedAxis: ["typology.monastery"],
|
|
90
|
-
mintedTerm: [AUSTERE],
|
|
91
|
-
onto: [EVOKES_MONASTERY, AUSTERE, MINIMALISM, "ms_texture (material axis)"],
|
|
92
|
-
source: SCENE_MOOD,
|
|
93
|
-
term: "tactile-monastic",
|
|
48
|
+
onto: ["style.rationalism"],
|
|
49
|
+
source: ARCHITIZER,
|
|
50
|
+
term: "Rationalist",
|
|
94
51
|
verdict: DECOMPOSED
|
|
95
52
|
},
|
|
96
53
|
{
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
term: "art-deco-luxe",
|
|
54
|
+
onto: ["style.postmodernism"],
|
|
55
|
+
source: ARCHITIZER,
|
|
56
|
+
term: "Postmodern",
|
|
101
57
|
verdict: DECOMPOSED
|
|
102
58
|
},
|
|
103
59
|
{
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
source: SCENE_MOOD,
|
|
108
|
-
term: "commercial-spec",
|
|
109
|
-
verdict: OUT_OF_AXIS
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
note: "An instruction to the scene planner, not a description of a room. Nothing to classify.",
|
|
113
|
-
onto: [],
|
|
114
|
-
reason: QUERY_MARKER,
|
|
115
|
-
source: SCENE_MOOD,
|
|
116
|
-
term: "material-led",
|
|
117
|
-
verdict: OUT_OF_AXIS
|
|
118
|
-
},
|
|
119
|
-
// ─── materia · INTENT_KEYWORDS (37) ────────────────────────────────────────────────────────
|
|
120
|
-
{
|
|
121
|
-
note: "ms_sheen.",
|
|
122
|
-
onto: [],
|
|
123
|
-
reason: MATERIAL_PROPERTY,
|
|
124
|
-
source: INTENT_KEYWORDS,
|
|
125
|
-
term: "chalky",
|
|
126
|
-
verdict: OUT_OF_AXIS
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
mintedAxis: [COASTAL_LANDSCAPE],
|
|
130
|
-
onto: [EVOKES_COASTAL],
|
|
131
|
-
source: INTENT_KEYWORDS,
|
|
132
|
-
term: "coastal",
|
|
60
|
+
onto: ["style.deconstructivism"],
|
|
61
|
+
source: ARCHITIZER,
|
|
62
|
+
term: "Deconstructivist",
|
|
133
63
|
verdict: DECOMPOSED
|
|
134
64
|
},
|
|
135
65
|
{
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
term: "cognac",
|
|
66
|
+
onto: ["style.parametricism"],
|
|
67
|
+
source: ARCHITIZER,
|
|
68
|
+
term: "Parametric",
|
|
140
69
|
verdict: DECOMPOSED
|
|
141
70
|
},
|
|
142
71
|
{
|
|
143
|
-
onto: ["
|
|
144
|
-
source:
|
|
145
|
-
term: "
|
|
72
|
+
onto: ["style.high_tech"],
|
|
73
|
+
source: ARCHITIZER,
|
|
74
|
+
term: "High-tech",
|
|
146
75
|
verdict: DECOMPOSED
|
|
147
76
|
},
|
|
148
77
|
{
|
|
149
|
-
onto: [],
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
term: "interesting",
|
|
153
|
-
verdict: OUT_OF_AXIS
|
|
154
|
-
},
|
|
155
|
-
{ onto: [MOODY], source: INTENT_KEYWORDS, term: "moody", verdict: DECOMPOSED },
|
|
156
|
-
{
|
|
157
|
-
onto: [PLAYFUL],
|
|
158
|
-
source: INTENT_KEYWORDS,
|
|
159
|
-
term: "playful",
|
|
78
|
+
onto: [INDUSTRIAL],
|
|
79
|
+
source: ARCHITIZER,
|
|
80
|
+
term: "Industrial",
|
|
160
81
|
verdict: DECOMPOSED
|
|
161
82
|
},
|
|
162
|
-
{ onto: [CALM], source: INTENT_KEYWORDS, term: "quiet", verdict: DECOMPOSED },
|
|
163
|
-
{ onto: [SOFT_MOOD], source: INTENT_KEYWORDS, term: "soft", verdict: DECOMPOSED },
|
|
164
|
-
{
|
|
165
|
-
onto: [],
|
|
166
|
-
reason: MATERIAL_PROPERTY,
|
|
167
|
-
source: INTENT_KEYWORDS,
|
|
168
|
-
term: "performance",
|
|
169
|
-
verdict: OUT_OF_AXIS
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
onto: [],
|
|
173
|
-
reason: MATERIAL_PROPERTY,
|
|
174
|
-
source: INTENT_KEYWORDS,
|
|
175
|
-
term: "cleanable",
|
|
176
|
-
verdict: OUT_OF_AXIS
|
|
177
|
-
},
|
|
178
83
|
{
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
term: "healthcare",
|
|
84
|
+
onto: ["style.constructivism"],
|
|
85
|
+
source: ARCHITIZER,
|
|
86
|
+
term: "Constructivist",
|
|
183
87
|
verdict: DECOMPOSED
|
|
184
88
|
},
|
|
185
89
|
{
|
|
186
|
-
note: "
|
|
187
|
-
onto: [],
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
term: "patterned",
|
|
191
|
-
verdict: OUT_OF_AXIS
|
|
192
|
-
},
|
|
193
|
-
{
|
|
194
|
-
mintedTerm: [FADED],
|
|
195
|
-
onto: [FADED],
|
|
196
|
-
source: INTENT_KEYWORDS,
|
|
197
|
-
term: "faded",
|
|
90
|
+
note: "Carries no content until a place is supplied. It composes with PLACE rather than duplicating it, which is why the canon keeps both.",
|
|
91
|
+
onto: ["style.vernacular"],
|
|
92
|
+
source: ARCHITIZER,
|
|
93
|
+
term: "Vernacular",
|
|
198
94
|
verdict: DECOMPOSED
|
|
199
95
|
},
|
|
200
96
|
{
|
|
201
|
-
onto: [
|
|
202
|
-
source:
|
|
203
|
-
term: "
|
|
97
|
+
onto: ["style.critical_regionalism"],
|
|
98
|
+
source: ARCHITIZER,
|
|
99
|
+
term: "Critical regionalist",
|
|
204
100
|
verdict: DECOMPOSED
|
|
205
101
|
},
|
|
206
102
|
{
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
103
|
+
mintedAxis: ["place.landscape.tropical"],
|
|
104
|
+
onto: [MODERNISM, "evokes(place.landscape.tropical)"],
|
|
105
|
+
source: ARCHITIZER,
|
|
106
|
+
term: "Tropical modernism",
|
|
210
107
|
verdict: DECOMPOSED
|
|
211
108
|
},
|
|
212
109
|
{
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
term: "modern",
|
|
218
|
-
verdict: "ambiguous"
|
|
219
|
-
},
|
|
220
|
-
{
|
|
221
|
-
onto: [RUSTIC],
|
|
222
|
-
source: INTENT_KEYWORDS,
|
|
223
|
-
term: "rustic",
|
|
110
|
+
mintedAxis: [NORDIC_REGION],
|
|
111
|
+
onto: [MODERNISM, EVOKES_NORDIC],
|
|
112
|
+
source: ARCHITIZER,
|
|
113
|
+
term: "Nordic modern",
|
|
224
114
|
verdict: DECOMPOSED
|
|
225
115
|
},
|
|
226
116
|
{
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
117
|
+
mintedAxis: ["place.region.japanese"],
|
|
118
|
+
onto: [CONTEMPORARY, "evokes(place.region.japanese)"],
|
|
119
|
+
source: ARCHITIZER,
|
|
120
|
+
term: "Japanese contemporary",
|
|
230
121
|
verdict: DECOMPOSED
|
|
231
122
|
},
|
|
232
123
|
{
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
124
|
+
mintedAxis: [MED_REGION],
|
|
125
|
+
note: "Sat in a STYLE enum with no style component at all. Pure place, and the clearest single piece of evidence that the place gap was real.",
|
|
126
|
+
onto: [EVOKES_MED],
|
|
127
|
+
source: ARCHITIZER,
|
|
128
|
+
term: "Mediterranean",
|
|
236
129
|
verdict: DECOMPOSED
|
|
237
130
|
},
|
|
238
131
|
{
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
source: INTENT_KEYWORDS,
|
|
243
|
-
term: "hotel",
|
|
132
|
+
onto: [TRADITIONAL],
|
|
133
|
+
source: ARCHITIZER,
|
|
134
|
+
term: "Traditional",
|
|
244
135
|
verdict: DECOMPOSED
|
|
245
136
|
},
|
|
246
137
|
{
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
term: "lobby",
|
|
138
|
+
onto: ["style.neoclassical"],
|
|
139
|
+
source: ARCHITIZER,
|
|
140
|
+
term: "Neoclassical",
|
|
251
141
|
verdict: DECOMPOSED
|
|
252
142
|
},
|
|
253
143
|
{
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
term: "spa",
|
|
144
|
+
onto: ["style.gothic"],
|
|
145
|
+
source: ARCHITIZER,
|
|
146
|
+
term: "Gothic",
|
|
258
147
|
verdict: DECOMPOSED
|
|
259
148
|
},
|
|
260
149
|
{
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
source: INTENT_KEYWORDS,
|
|
265
|
-
term: "boutique",
|
|
266
|
-
verdict: "ambiguous"
|
|
267
|
-
},
|
|
268
|
-
{
|
|
269
|
-
note: "US spelling of a term the canon carries as `sheltering`, also called `cosy`.",
|
|
270
|
-
onto: ["mood.sheltering"],
|
|
271
|
-
source: INTENT_KEYWORDS,
|
|
272
|
-
term: "cozy",
|
|
150
|
+
onto: [ART_DECO],
|
|
151
|
+
source: ARCHITIZER,
|
|
152
|
+
term: "Art Deco",
|
|
273
153
|
verdict: DECOMPOSED
|
|
274
154
|
},
|
|
275
155
|
{
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
term: "luxurious",
|
|
156
|
+
onto: ["style.organic_modernism"],
|
|
157
|
+
source: ARCHITIZER,
|
|
158
|
+
term: "Organic",
|
|
280
159
|
verdict: DECOMPOSED
|
|
281
160
|
},
|
|
282
161
|
{
|
|
162
|
+
note: "A design STRATEGY, not an idiom. Belongs on a strategy axis alongside architizer's own SUSTAINABILITY enum. Declared as a gap rather than absorbed into Style.",
|
|
283
163
|
onto: [],
|
|
284
|
-
reason:
|
|
285
|
-
source:
|
|
286
|
-
term: "
|
|
164
|
+
reason: "axis-not-authored",
|
|
165
|
+
source: ARCHITIZER,
|
|
166
|
+
term: "Biophilic",
|
|
287
167
|
verdict: OUT_OF_AXIS
|
|
288
168
|
},
|
|
289
169
|
{
|
|
170
|
+
note: "A formal quality. architizer's own FORMAL_MOVE_EXAMPLES is where it belongs, and that file already separates the two - the enum did not.",
|
|
290
171
|
onto: [],
|
|
291
|
-
reason:
|
|
292
|
-
source:
|
|
293
|
-
term: "
|
|
294
|
-
verdict: OUT_OF_AXIS
|
|
295
|
-
},
|
|
296
|
-
{
|
|
297
|
-
onto: [],
|
|
298
|
-
reason: QUERY_MARKER,
|
|
299
|
-
source: INTENT_KEYWORDS,
|
|
300
|
-
term: "feel",
|
|
301
|
-
verdict: OUT_OF_AXIS
|
|
302
|
-
},
|
|
303
|
-
{
|
|
304
|
-
onto: [],
|
|
305
|
-
reason: QUERY_MARKER,
|
|
306
|
-
source: INTENT_KEYWORDS,
|
|
307
|
-
term: "style",
|
|
308
|
-
verdict: OUT_OF_AXIS
|
|
309
|
-
},
|
|
310
|
-
{
|
|
311
|
-
onto: [],
|
|
312
|
-
reason: QUERY_MARKER,
|
|
313
|
-
source: INTENT_KEYWORDS,
|
|
314
|
-
term: "like",
|
|
315
|
-
verdict: OUT_OF_AXIS
|
|
316
|
-
},
|
|
317
|
-
{
|
|
318
|
-
onto: [],
|
|
319
|
-
reason: QUERY_MARKER,
|
|
320
|
-
source: INTENT_KEYWORDS,
|
|
321
|
-
term: "similar",
|
|
172
|
+
reason: "axis-not-authored",
|
|
173
|
+
source: ARCHITIZER,
|
|
174
|
+
term: "Sculptural",
|
|
322
175
|
verdict: OUT_OF_AXIS
|
|
323
176
|
},
|
|
324
|
-
{
|
|
325
|
-
note: "Reads as the style, not the period, in every query context. `period.mid_century` is the other reading and the axis prefix keeps them apart.",
|
|
326
|
-
onto: [MCM],
|
|
327
|
-
source: INTENT_KEYWORDS,
|
|
328
|
-
term: "mid-century",
|
|
329
|
-
verdict: DECOMPOSED
|
|
330
|
-
},
|
|
331
|
-
{
|
|
332
|
-
onto: [CONTEMPORARY],
|
|
333
|
-
source: INTENT_KEYWORDS,
|
|
334
|
-
term: "contemporary",
|
|
335
|
-
verdict: DECOMPOSED
|
|
336
|
-
},
|
|
337
|
-
{
|
|
338
|
-
onto: [TRADITIONAL],
|
|
339
|
-
source: INTENT_KEYWORDS,
|
|
340
|
-
term: "traditional",
|
|
341
|
-
verdict: DECOMPOSED
|
|
342
|
-
},
|
|
343
|
-
{
|
|
344
|
-
mintedAxis: [NORDIC_REGION],
|
|
345
|
-
onto: [EVOKES_NORDIC],
|
|
346
|
-
source: INTENT_KEYWORDS,
|
|
347
|
-
term: "scandinavian",
|
|
348
|
-
verdict: DECOMPOSED
|
|
349
|
-
},
|
|
350
|
-
{
|
|
351
|
-
mintedAxis: [MED_REGION],
|
|
352
|
-
onto: [EVOKES_MED],
|
|
353
|
-
source: INTENT_KEYWORDS,
|
|
354
|
-
term: "mediterranean",
|
|
355
|
-
verdict: DECOMPOSED
|
|
356
|
-
}
|
|
177
|
+
{ onto: [RUSTIC], source: ARCHITIZER, term: "Rustic", verdict: DECOMPOSED }
|
|
357
178
|
];
|
|
358
179
|
|
|
359
|
-
// src/estate/rows/
|
|
360
|
-
var
|
|
361
|
-
var OUT_OF_AXIS2 = "out-of-axis";
|
|
180
|
+
// src/estate/rows/designround.ts
|
|
181
|
+
var DESIGNROUND = "designround.style_anchors";
|
|
362
182
|
var DECOMPOSED2 = "decomposed";
|
|
363
|
-
var MED_REGION2 = "place.region.mediterranean";
|
|
364
183
|
var NORDIC_REGION2 = "place.region.nordic";
|
|
184
|
+
var COASTAL_LANDSCAPE = "place.landscape.coastal";
|
|
185
|
+
var MOODY = "mood.moody";
|
|
365
186
|
var MINIMALISM2 = "style.minimalism";
|
|
366
187
|
var CONTEMPORARY2 = "style.contemporary";
|
|
367
|
-
var TRADITIONAL2 = "style.traditional";
|
|
368
188
|
var RUSTIC2 = "style.rustic";
|
|
369
189
|
var INDUSTRIAL2 = "style.industrial";
|
|
370
190
|
var MCM2 = "style.mid_century_modern";
|
|
371
191
|
var ART_DECO2 = "style.art_deco";
|
|
372
|
-
var
|
|
192
|
+
var LUXURIOUS = "mood.luxurious";
|
|
193
|
+
var WARM = "palette.temperature.warm";
|
|
373
194
|
var EVOKES_NORDIC2 = "evokes(place.region.nordic)";
|
|
374
|
-
var
|
|
375
|
-
var
|
|
376
|
-
// ───
|
|
195
|
+
var EVOKES_COASTAL = "evokes(place.landscape.coastal)";
|
|
196
|
+
var DESIGNROUND_ROWS = [
|
|
197
|
+
// ─── designround · STYLE_ANCHORS (12) ──────────────────────────────────────────────────────
|
|
377
198
|
{
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
199
|
+
note: "The label decomposes exactly. The ANCHOR PROSE behind it does not - it also carries limewash, linen, wabi-sabi and Japanese influence. That gap between label and prose is what an anchor is for, and is the argument for keeping anchors alongside concepts rather than instead of them.",
|
|
200
|
+
onto: [MINIMALISM2, WARM],
|
|
201
|
+
source: DESIGNROUND,
|
|
202
|
+
term: "Warm Minimalism",
|
|
381
203
|
verdict: DECOMPOSED2
|
|
382
204
|
},
|
|
383
205
|
{
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
206
|
+
mintedAxis: ["place.region.english_country"],
|
|
207
|
+
onto: ["evokes(place.region.english_country)"],
|
|
208
|
+
source: DESIGNROUND,
|
|
209
|
+
term: "English Country",
|
|
387
210
|
verdict: DECOMPOSED2
|
|
388
211
|
},
|
|
389
212
|
{
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
213
|
+
mintedTerm: ["style.maximalism"],
|
|
214
|
+
onto: ["style.maximalism", CONTEMPORARY2],
|
|
215
|
+
source: DESIGNROUND,
|
|
216
|
+
term: "Modern Maximalism",
|
|
393
217
|
verdict: DECOMPOSED2
|
|
394
218
|
},
|
|
395
219
|
{
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
220
|
+
mintedTerm: [LUXURIOUS],
|
|
221
|
+
onto: [CONTEMPORARY2, LUXURIOUS],
|
|
222
|
+
source: DESIGNROUND,
|
|
223
|
+
term: "Contemporary Luxury",
|
|
399
224
|
verdict: DECOMPOSED2
|
|
400
225
|
},
|
|
401
226
|
{
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
227
|
+
mintedAxis: [COASTAL_LANDSCAPE],
|
|
228
|
+
onto: [
|
|
229
|
+
EVOKES_COASTAL,
|
|
230
|
+
"palette.character.muted",
|
|
231
|
+
"ms_character.natural_reading (material axis)"
|
|
232
|
+
],
|
|
233
|
+
source: DESIGNROUND,
|
|
234
|
+
term: "Coastal & Natural",
|
|
405
235
|
verdict: DECOMPOSED2
|
|
406
236
|
},
|
|
407
237
|
{
|
|
408
|
-
onto: [
|
|
409
|
-
source:
|
|
410
|
-
term: "
|
|
238
|
+
onto: [MCM2],
|
|
239
|
+
source: DESIGNROUND,
|
|
240
|
+
term: "Mid-Century Modern",
|
|
411
241
|
verdict: DECOMPOSED2
|
|
412
242
|
},
|
|
413
243
|
{
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
244
|
+
note: '"Raw" is a finish claim on the material axis, not a second style.',
|
|
245
|
+
onto: [INDUSTRIAL2],
|
|
246
|
+
source: DESIGNROUND,
|
|
247
|
+
term: "Industrial & Raw",
|
|
417
248
|
verdict: DECOMPOSED2
|
|
418
249
|
},
|
|
419
250
|
{
|
|
420
|
-
onto: ["style.
|
|
421
|
-
source:
|
|
422
|
-
term: "
|
|
251
|
+
onto: ["style.neoclassical", "mood.monumental"],
|
|
252
|
+
source: DESIGNROUND,
|
|
253
|
+
term: "Classical & Grand",
|
|
423
254
|
verdict: DECOMPOSED2
|
|
424
255
|
},
|
|
425
256
|
{
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
257
|
+
mintedAxis: [NORDIC_REGION2],
|
|
258
|
+
onto: [EVOKES_NORDIC2],
|
|
259
|
+
source: DESIGNROUND,
|
|
260
|
+
term: "Scandinavian",
|
|
429
261
|
verdict: DECOMPOSED2
|
|
430
262
|
},
|
|
431
263
|
{
|
|
432
|
-
onto: [
|
|
433
|
-
source:
|
|
434
|
-
term: "
|
|
264
|
+
onto: [RUSTIC2, "ms_character.crafted (material axis)"],
|
|
265
|
+
source: DESIGNROUND,
|
|
266
|
+
term: "Rustic & Artisan",
|
|
435
267
|
verdict: DECOMPOSED2
|
|
436
268
|
},
|
|
437
269
|
{
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
270
|
+
mintedTerm: [LUXURIOUS],
|
|
271
|
+
onto: [ART_DECO2, LUXURIOUS],
|
|
272
|
+
source: DESIGNROUND,
|
|
273
|
+
term: "Art Deco & Glamour",
|
|
441
274
|
verdict: DECOMPOSED2
|
|
442
275
|
},
|
|
443
276
|
{
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
277
|
+
mintedTerm: ["mood.dramatic"],
|
|
278
|
+
note: "Not one mood twice. A pale high-contrast gallery is dramatic and not moody; a dim snug is moody and not dramatic. materialgraph's ms_mood conflates them and this anchor needed both halves.",
|
|
279
|
+
onto: [MOODY, "mood.dramatic"],
|
|
280
|
+
source: DESIGNROUND,
|
|
281
|
+
term: "Moody & Dramatic",
|
|
448
282
|
verdict: DECOMPOSED2
|
|
449
|
-
}
|
|
283
|
+
}
|
|
284
|
+
];
|
|
285
|
+
|
|
286
|
+
// src/estate/rows/designshop.ts
|
|
287
|
+
var DS_SCHEMES = "designshop.scheme_styles";
|
|
288
|
+
var DS_PRODUCTS = "designshop.product_styles";
|
|
289
|
+
var DECOMPOSED3 = "decomposed";
|
|
290
|
+
var NORDIC_REGION3 = "place.region.nordic";
|
|
291
|
+
var COASTAL_LANDSCAPE2 = "place.landscape.coastal";
|
|
292
|
+
var MINIMALISM3 = "style.minimalism";
|
|
293
|
+
var CONTEMPORARY3 = "style.contemporary";
|
|
294
|
+
var TRADITIONAL2 = "style.traditional";
|
|
295
|
+
var RUSTIC3 = "style.rustic";
|
|
296
|
+
var INDUSTRIAL3 = "style.industrial";
|
|
297
|
+
var MCM3 = "style.mid_century_modern";
|
|
298
|
+
var ART_DECO3 = "style.art_deco";
|
|
299
|
+
var MODERNISM2 = "style.modernism";
|
|
300
|
+
var TRANSITIONAL = "style.transitional";
|
|
301
|
+
var ECLECTIC = "style.eclectic";
|
|
302
|
+
var EVOKES_NORDIC3 = "evokes(place.region.nordic)";
|
|
303
|
+
var EVOKES_COASTAL2 = "evokes(place.landscape.coastal)";
|
|
304
|
+
var EVOKES_FARMHOUSE = "evokes(typology.farmhouse)";
|
|
305
|
+
var MODERN_ALTERNATIVES = defineAlternatives(
|
|
306
|
+
[
|
|
307
|
+
[{ assertion: MODERNISM2, role: "constitutive" }],
|
|
308
|
+
[{ assertion: CONTEMPORARY3, role: "constitutive" }]
|
|
309
|
+
],
|
|
310
|
+
"source-ambiguous"
|
|
311
|
+
);
|
|
312
|
+
var COUNTRY_ALTERNATIVES = defineAlternatives(
|
|
313
|
+
[
|
|
314
|
+
[
|
|
315
|
+
{
|
|
316
|
+
assertion: "evokes(place.region.english_country)",
|
|
317
|
+
role: "constitutive"
|
|
318
|
+
}
|
|
319
|
+
],
|
|
320
|
+
[{ assertion: EVOKES_FARMHOUSE, role: "constitutive" }]
|
|
321
|
+
],
|
|
322
|
+
"source-ambiguous"
|
|
323
|
+
);
|
|
324
|
+
var DESIGNSHOP_ROWS = [
|
|
325
|
+
// ─── designshop · roomStyle, 1,922 schemes of usage (9) ────────────────────────────────────
|
|
450
326
|
{
|
|
451
|
-
onto: [
|
|
452
|
-
source:
|
|
453
|
-
term: "
|
|
454
|
-
verdict:
|
|
327
|
+
onto: [CONTEMPORARY3],
|
|
328
|
+
source: DS_SCHEMES,
|
|
329
|
+
term: "Contemporary",
|
|
330
|
+
verdict: DECOMPOSED3
|
|
455
331
|
},
|
|
456
332
|
{
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
333
|
+
alternatives: MODERN_ALTERNATIVES,
|
|
334
|
+
note: "A dominant share of that corpus, sitting beside an almost identical share tagged Contemporary. The merchandisers plainly distinguish the two and nobody wrote down how. The canon preserves a typed disjunction over both readings rather than guessing or dropping the row.",
|
|
335
|
+
onto: [],
|
|
336
|
+
source: DS_SCHEMES,
|
|
337
|
+
term: "Modern",
|
|
338
|
+
verdict: "ambiguous"
|
|
462
339
|
},
|
|
463
340
|
{
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
verdict: DECOMPOSED2
|
|
341
|
+
onto: [TRADITIONAL2],
|
|
342
|
+
source: DS_SCHEMES,
|
|
343
|
+
term: "Traditional",
|
|
344
|
+
verdict: DECOMPOSED3
|
|
469
345
|
},
|
|
470
346
|
{
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
347
|
+
mintedTerm: [TRANSITIONAL],
|
|
348
|
+
note: "Defined only relative to two other styles, which was nearly grounds to refuse it. Its volume in that corpus is why it stays.",
|
|
349
|
+
onto: [TRANSITIONAL],
|
|
350
|
+
source: DS_SCHEMES,
|
|
351
|
+
term: "Transitional",
|
|
352
|
+
verdict: DECOMPOSED3
|
|
476
353
|
},
|
|
477
354
|
{
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
verdict: DECOMPOSED2
|
|
355
|
+
mintedTerm: [ECLECTIC],
|
|
356
|
+
onto: [ECLECTIC],
|
|
357
|
+
source: DS_SCHEMES,
|
|
358
|
+
term: "Eclectic",
|
|
359
|
+
verdict: DECOMPOSED3
|
|
484
360
|
},
|
|
485
361
|
{
|
|
486
|
-
onto: [
|
|
487
|
-
source:
|
|
488
|
-
term: "
|
|
489
|
-
verdict:
|
|
362
|
+
onto: [MINIMALISM3],
|
|
363
|
+
source: DS_SCHEMES,
|
|
364
|
+
term: "Minimalist",
|
|
365
|
+
verdict: DECOMPOSED3
|
|
490
366
|
},
|
|
491
367
|
{
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
368
|
+
alternatives: COUNTRY_ALTERNATIVES,
|
|
369
|
+
note: "In a US catalogue this is not the English country idiom, and it sits beside a separate `Farmhouse` value at comparable volume. Two adjacent consumer terms, a meaningful share of the corpus between them, and no recorded difference. Declines.",
|
|
370
|
+
onto: [],
|
|
371
|
+
source: DS_SCHEMES,
|
|
372
|
+
term: "Country",
|
|
373
|
+
verdict: "ambiguous"
|
|
496
374
|
},
|
|
497
|
-
{ onto: ["style.gothic"], source: ARCHITIZER, term: "Gothic", verdict: DECOMPOSED2 },
|
|
498
375
|
{
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
376
|
+
mintedAxis: ["typology.farmhouse"],
|
|
377
|
+
note: "A building type invoked as a look. The clearest case that typology-as-reference is a real mechanism and not a special case of place.",
|
|
378
|
+
onto: [EVOKES_FARMHOUSE, RUSTIC3],
|
|
379
|
+
source: DS_SCHEMES,
|
|
380
|
+
term: "Farmhouse",
|
|
381
|
+
verdict: DECOMPOSED3
|
|
503
382
|
},
|
|
504
383
|
{
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
384
|
+
mintedAxis: [COASTAL_LANDSCAPE2],
|
|
385
|
+
note: "The same term architizer carries in its CONTEXTS enum meaning `located-in`. One vocabulary, two predicates.",
|
|
386
|
+
onto: [EVOKES_COASTAL2],
|
|
387
|
+
source: DS_SCHEMES,
|
|
388
|
+
term: "Coastal",
|
|
389
|
+
verdict: DECOMPOSED3
|
|
509
390
|
},
|
|
391
|
+
// ─── designshop · product attributes.Style (14) ────────────────────────────────────────────
|
|
510
392
|
{
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
term: "Biophilic",
|
|
516
|
-
verdict: OUT_OF_AXIS2
|
|
393
|
+
onto: [CONTEMPORARY3],
|
|
394
|
+
source: DS_PRODUCTS,
|
|
395
|
+
term: "Contemporary",
|
|
396
|
+
verdict: DECOMPOSED3
|
|
517
397
|
},
|
|
518
398
|
{
|
|
519
|
-
|
|
399
|
+
alternatives: MODERN_ALTERNATIVES,
|
|
520
400
|
onto: [],
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
verdict: OUT_OF_AXIS2
|
|
401
|
+
source: DS_PRODUCTS,
|
|
402
|
+
term: "Modern",
|
|
403
|
+
verdict: "ambiguous"
|
|
525
404
|
},
|
|
526
|
-
{ onto: [RUSTIC2], source: ARCHITIZER, term: "Rustic", verdict: DECOMPOSED2 }
|
|
527
|
-
];
|
|
528
|
-
|
|
529
|
-
// src/estate/rows/designround.ts
|
|
530
|
-
var DESIGNROUND = "designround.style_anchors";
|
|
531
|
-
var DECOMPOSED3 = "decomposed";
|
|
532
|
-
var NORDIC_REGION3 = "place.region.nordic";
|
|
533
|
-
var COASTAL_LANDSCAPE2 = "place.landscape.coastal";
|
|
534
|
-
var MOODY2 = "mood.moody";
|
|
535
|
-
var MINIMALISM3 = "style.minimalism";
|
|
536
|
-
var CONTEMPORARY3 = "style.contemporary";
|
|
537
|
-
var RUSTIC3 = "style.rustic";
|
|
538
|
-
var INDUSTRIAL3 = "style.industrial";
|
|
539
|
-
var MCM3 = "style.mid_century_modern";
|
|
540
|
-
var ART_DECO3 = "style.art_deco";
|
|
541
|
-
var LUXURIOUS2 = "mood.luxurious";
|
|
542
|
-
var WARM2 = "palette.temperature.warm";
|
|
543
|
-
var EVOKES_NORDIC3 = "evokes(place.region.nordic)";
|
|
544
|
-
var EVOKES_COASTAL2 = "evokes(place.landscape.coastal)";
|
|
545
|
-
var DESIGNROUND_ROWS = [
|
|
546
|
-
// ─── designround · STYLE_ANCHORS (12) ──────────────────────────────────────────────────────
|
|
547
405
|
{
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
term: "Warm Minimalism",
|
|
406
|
+
onto: [MINIMALISM3],
|
|
407
|
+
source: DS_PRODUCTS,
|
|
408
|
+
term: "Minimalist",
|
|
552
409
|
verdict: DECOMPOSED3
|
|
553
410
|
},
|
|
554
411
|
{
|
|
555
|
-
mintedAxis: [
|
|
556
|
-
onto: [
|
|
557
|
-
source:
|
|
558
|
-
term: "
|
|
412
|
+
mintedAxis: [NORDIC_REGION3],
|
|
413
|
+
onto: [EVOKES_NORDIC3],
|
|
414
|
+
source: DS_PRODUCTS,
|
|
415
|
+
term: "Scandinavian",
|
|
559
416
|
verdict: DECOMPOSED3
|
|
560
417
|
},
|
|
561
418
|
{
|
|
562
|
-
mintedTerm: [
|
|
563
|
-
onto: [
|
|
564
|
-
source:
|
|
565
|
-
term: "
|
|
419
|
+
mintedTerm: [TRANSITIONAL],
|
|
420
|
+
onto: [TRANSITIONAL],
|
|
421
|
+
source: DS_PRODUCTS,
|
|
422
|
+
term: "Transitional",
|
|
566
423
|
verdict: DECOMPOSED3
|
|
567
424
|
},
|
|
568
425
|
{
|
|
569
|
-
|
|
570
|
-
onto: [
|
|
571
|
-
source:
|
|
572
|
-
term: "
|
|
426
|
+
note: "The stray space is verbatim. It stops this value string-matching the same company's own scheme-side `Traditional`, inside the same capture.",
|
|
427
|
+
onto: [TRADITIONAL2],
|
|
428
|
+
source: DS_PRODUCTS,
|
|
429
|
+
term: "Classic/ Traditional",
|
|
573
430
|
verdict: DECOMPOSED3
|
|
574
431
|
},
|
|
575
432
|
{
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
"palette.character.muted",
|
|
580
|
-
"ms_character.natural_reading (material axis)"
|
|
581
|
-
],
|
|
582
|
-
source: DESIGNROUND,
|
|
583
|
-
term: "Coastal & Natural",
|
|
433
|
+
onto: [ART_DECO3],
|
|
434
|
+
source: DS_PRODUCTS,
|
|
435
|
+
term: "Art Deco",
|
|
584
436
|
verdict: DECOMPOSED3
|
|
585
437
|
},
|
|
586
438
|
{
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
439
|
+
mintedTerm: [ECLECTIC],
|
|
440
|
+
onto: [ECLECTIC],
|
|
441
|
+
source: DS_PRODUCTS,
|
|
442
|
+
term: "Eclectic",
|
|
590
443
|
verdict: DECOMPOSED3
|
|
591
444
|
},
|
|
592
445
|
{
|
|
593
|
-
|
|
594
|
-
onto: [
|
|
595
|
-
source:
|
|
596
|
-
term: "
|
|
446
|
+
mintedAxis: [COASTAL_LANDSCAPE2],
|
|
447
|
+
onto: [EVOKES_COASTAL2],
|
|
448
|
+
source: DS_PRODUCTS,
|
|
449
|
+
term: "Coastal",
|
|
597
450
|
verdict: DECOMPOSED3
|
|
598
451
|
},
|
|
599
452
|
{
|
|
600
|
-
onto: [
|
|
601
|
-
source:
|
|
602
|
-
term: "
|
|
453
|
+
onto: [RUSTIC3],
|
|
454
|
+
source: DS_PRODUCTS,
|
|
455
|
+
term: "Rustic",
|
|
603
456
|
verdict: DECOMPOSED3
|
|
604
457
|
},
|
|
605
458
|
{
|
|
606
|
-
mintedAxis: [
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
459
|
+
mintedAxis: ["typology.cottage"],
|
|
460
|
+
note: "Resolves where the scheme-side `Country` does not, because `Cottage` pins it to a typology. The same company's two vocabularies are not equally mappable.",
|
|
461
|
+
onto: ["evokes(typology.cottage)", TRADITIONAL2],
|
|
462
|
+
source: DS_PRODUCTS,
|
|
463
|
+
term: "Country/ Cottage",
|
|
610
464
|
verdict: DECOMPOSED3
|
|
611
465
|
},
|
|
612
466
|
{
|
|
613
|
-
onto: [
|
|
614
|
-
source:
|
|
615
|
-
term: "
|
|
467
|
+
onto: [INDUSTRIAL3],
|
|
468
|
+
source: DS_PRODUCTS,
|
|
469
|
+
term: "Industrial",
|
|
616
470
|
verdict: DECOMPOSED3
|
|
617
471
|
},
|
|
618
472
|
{
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
term: "Art Deco & Glamour",
|
|
473
|
+
onto: [MCM3],
|
|
474
|
+
source: DS_PRODUCTS,
|
|
475
|
+
term: "Mid-Century Modern",
|
|
623
476
|
verdict: DECOMPOSED3
|
|
624
477
|
},
|
|
625
478
|
{
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
term: "Moody & Dramatic",
|
|
479
|
+
mintedAxis: ["typology.farmhouse"],
|
|
480
|
+
onto: [EVOKES_FARMHOUSE, RUSTIC3],
|
|
481
|
+
source: DS_PRODUCTS,
|
|
482
|
+
term: "Farmhouse",
|
|
631
483
|
verdict: DECOMPOSED3
|
|
632
484
|
}
|
|
633
485
|
];
|
|
634
486
|
|
|
635
|
-
// src/estate/rows/
|
|
636
|
-
var
|
|
637
|
-
var
|
|
487
|
+
// src/estate/rows/materia.ts
|
|
488
|
+
var SCENE_MOOD = "materia.scene_mood";
|
|
489
|
+
var INTENT_KEYWORDS = "materia.intent_keywords";
|
|
490
|
+
var OUT_OF_AXIS2 = "out-of-axis";
|
|
491
|
+
var MATERIAL_PROPERTY = "material-property";
|
|
492
|
+
var QUERY_MARKER = "query-marker";
|
|
638
493
|
var DECOMPOSED4 = "decomposed";
|
|
494
|
+
var MED_REGION2 = "place.region.mediterranean";
|
|
639
495
|
var NORDIC_REGION4 = "place.region.nordic";
|
|
640
496
|
var COASTAL_LANDSCAPE3 = "place.landscape.coastal";
|
|
497
|
+
var PLAYFUL = "mood.playful";
|
|
498
|
+
var MOODY2 = "mood.moody";
|
|
641
499
|
var MINIMALISM4 = "style.minimalism";
|
|
642
500
|
var CONTEMPORARY4 = "style.contemporary";
|
|
643
501
|
var TRADITIONAL3 = "style.traditional";
|
|
@@ -646,11 +504,16 @@ var INDUSTRIAL4 = "style.industrial";
|
|
|
646
504
|
var MCM4 = "style.mid_century_modern";
|
|
647
505
|
var ART_DECO4 = "style.art_deco";
|
|
648
506
|
var MODERNISM3 = "style.modernism";
|
|
649
|
-
var
|
|
650
|
-
var
|
|
507
|
+
var LUXURIOUS2 = "mood.luxurious";
|
|
508
|
+
var SOFT_MOOD = "mood.soft";
|
|
509
|
+
var CALM = "mood.calm";
|
|
510
|
+
var WARM2 = "palette.temperature.warm";
|
|
651
511
|
var EVOKES_NORDIC4 = "evokes(place.region.nordic)";
|
|
652
512
|
var EVOKES_COASTAL3 = "evokes(place.landscape.coastal)";
|
|
653
|
-
var
|
|
513
|
+
var EVOKES_MED2 = "evokes(place.region.mediterranean)";
|
|
514
|
+
var FADED = "palette.character.faded";
|
|
515
|
+
var AUSTERE = "mood.austere";
|
|
516
|
+
var EVOKES_MONASTERY = "evokes(typology.monastery)";
|
|
654
517
|
var MODERN_ALTERNATIVES2 = defineAlternatives(
|
|
655
518
|
[
|
|
656
519
|
[{ assertion: MODERNISM3, role: "constitutive" }],
|
|
@@ -658,172 +521,334 @@ var MODERN_ALTERNATIVES2 = defineAlternatives(
|
|
|
658
521
|
],
|
|
659
522
|
"source-ambiguous"
|
|
660
523
|
);
|
|
661
|
-
var
|
|
524
|
+
var BOUTIQUE_ALTERNATIVES = defineAlternatives(
|
|
662
525
|
[
|
|
663
|
-
[{ assertion: "evokes(
|
|
664
|
-
[{ assertion:
|
|
526
|
+
[{ assertion: "evokes(typology.hotel)", role: "constitutive" }],
|
|
527
|
+
[{ assertion: "evokes(typology.shop)", role: "constitutive" }]
|
|
665
528
|
],
|
|
666
529
|
"source-ambiguous"
|
|
667
530
|
);
|
|
668
|
-
var
|
|
669
|
-
// ───
|
|
531
|
+
var MATERIA_ROWS = [
|
|
532
|
+
// ─── materia · SceneMoodSchema (9) ─────────────────────────────────────────────────────────
|
|
670
533
|
{
|
|
671
|
-
onto: [
|
|
672
|
-
source:
|
|
673
|
-
term: "
|
|
534
|
+
onto: [MINIMALISM4, CALM],
|
|
535
|
+
source: SCENE_MOOD,
|
|
536
|
+
term: "serene-minimal",
|
|
674
537
|
verdict: DECOMPOSED4
|
|
675
538
|
},
|
|
676
539
|
{
|
|
677
|
-
|
|
678
|
-
|
|
540
|
+
note: "Temperature welded into a style enum. The exact failure `warm minimalism` exhibits, in a different pairing.",
|
|
541
|
+
onto: [TRADITIONAL3, WARM2],
|
|
542
|
+
source: SCENE_MOOD,
|
|
543
|
+
term: "warm-traditional",
|
|
544
|
+
verdict: DECOMPOSED4
|
|
545
|
+
},
|
|
546
|
+
{
|
|
547
|
+
mintedTerm: ["palette.character.saturated"],
|
|
548
|
+
onto: [MOODY2, "palette.character.saturated"],
|
|
549
|
+
source: SCENE_MOOD,
|
|
550
|
+
term: "moody-saturated",
|
|
551
|
+
verdict: DECOMPOSED4
|
|
552
|
+
},
|
|
553
|
+
{
|
|
554
|
+
mintedAxis: [MED_REGION2],
|
|
555
|
+
mintedTerm: [FADED],
|
|
556
|
+
note: "Four axes in one token. The single worst compound in the estate and it decomposes without residue.",
|
|
557
|
+
onto: [EVOKES_MED2, FADED, WARM2, "palette.character.light"],
|
|
558
|
+
source: SCENE_MOOD,
|
|
559
|
+
term: "sun-bleached-mediterranean",
|
|
560
|
+
verdict: DECOMPOSED4
|
|
561
|
+
},
|
|
562
|
+
{
|
|
563
|
+
mintedAxis: ["place.region.japanese", NORDIC_REGION4],
|
|
564
|
+
note: "Japandi is a named fusion with settled conventions of its own. The composition is necessary but not sufficient: it also matches rooms nobody would call japandi. Anchor required alongside.",
|
|
565
|
+
onto: [
|
|
566
|
+
MINIMALISM4,
|
|
567
|
+
"evokes(place.region.japanese)",
|
|
568
|
+
EVOKES_NORDIC4,
|
|
569
|
+
SOFT_MOOD
|
|
570
|
+
],
|
|
571
|
+
source: SCENE_MOOD,
|
|
572
|
+
term: "soft-japandi",
|
|
573
|
+
verdict: "lossy"
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
mintedAxis: ["typology.monastery"],
|
|
577
|
+
mintedTerm: [AUSTERE],
|
|
578
|
+
onto: [EVOKES_MONASTERY, AUSTERE, MINIMALISM4, "ms_texture (material axis)"],
|
|
579
|
+
source: SCENE_MOOD,
|
|
580
|
+
term: "tactile-monastic",
|
|
581
|
+
verdict: DECOMPOSED4
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
mintedTerm: [LUXURIOUS2],
|
|
585
|
+
onto: [ART_DECO4, LUXURIOUS2],
|
|
586
|
+
source: SCENE_MOOD,
|
|
587
|
+
term: "art-deco-luxe",
|
|
588
|
+
verdict: DECOMPOSED4
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
note: "A procurement claim, not an aesthetic: specified to commercial standards. Sits on SECTOR, and only appeared in a mood enum because the enum was the only field available.",
|
|
679
592
|
onto: [],
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
593
|
+
reason: "other-canonical-axis",
|
|
594
|
+
source: SCENE_MOOD,
|
|
595
|
+
term: "commercial-spec",
|
|
596
|
+
verdict: OUT_OF_AXIS2
|
|
683
597
|
},
|
|
684
598
|
{
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
599
|
+
note: "An instruction to the scene planner, not a description of a room. Nothing to classify.",
|
|
600
|
+
onto: [],
|
|
601
|
+
reason: QUERY_MARKER,
|
|
602
|
+
source: SCENE_MOOD,
|
|
603
|
+
term: "material-led",
|
|
604
|
+
verdict: OUT_OF_AXIS2
|
|
605
|
+
},
|
|
606
|
+
// ─── materia · INTENT_KEYWORDS (37) ────────────────────────────────────────────────────────
|
|
607
|
+
{
|
|
608
|
+
note: "ms_sheen.",
|
|
609
|
+
onto: [],
|
|
610
|
+
reason: MATERIAL_PROPERTY,
|
|
611
|
+
source: INTENT_KEYWORDS,
|
|
612
|
+
term: "chalky",
|
|
613
|
+
verdict: OUT_OF_AXIS2
|
|
614
|
+
},
|
|
615
|
+
{
|
|
616
|
+
mintedAxis: [COASTAL_LANDSCAPE3],
|
|
617
|
+
onto: [EVOKES_COASTAL3],
|
|
618
|
+
source: INTENT_KEYWORDS,
|
|
619
|
+
term: "coastal",
|
|
620
|
+
verdict: DECOMPOSED4
|
|
621
|
+
},
|
|
622
|
+
{
|
|
623
|
+
note: "A colour NAME, not a family. Resolves to a family; the name itself belongs in colorscope, not here.",
|
|
624
|
+
onto: ["palette.hue.brown"],
|
|
625
|
+
source: INTENT_KEYWORDS,
|
|
626
|
+
term: "cognac",
|
|
627
|
+
verdict: DECOMPOSED4
|
|
628
|
+
},
|
|
629
|
+
{
|
|
630
|
+
onto: ["palette.hue.brown", "palette.character.muted", WARM2],
|
|
631
|
+
source: INTENT_KEYWORDS,
|
|
632
|
+
term: "earthy",
|
|
633
|
+
verdict: DECOMPOSED4
|
|
634
|
+
},
|
|
635
|
+
{
|
|
636
|
+
onto: [],
|
|
637
|
+
reason: QUERY_MARKER,
|
|
638
|
+
source: INTENT_KEYWORDS,
|
|
639
|
+
term: "interesting",
|
|
640
|
+
verdict: OUT_OF_AXIS2
|
|
641
|
+
},
|
|
642
|
+
{
|
|
643
|
+
onto: [MOODY2],
|
|
644
|
+
source: INTENT_KEYWORDS,
|
|
645
|
+
term: "moody",
|
|
688
646
|
verdict: DECOMPOSED4
|
|
689
647
|
},
|
|
690
648
|
{
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
source: DS_SCHEMES,
|
|
695
|
-
term: "Transitional",
|
|
649
|
+
onto: [PLAYFUL],
|
|
650
|
+
source: INTENT_KEYWORDS,
|
|
651
|
+
term: "playful",
|
|
696
652
|
verdict: DECOMPOSED4
|
|
697
653
|
},
|
|
654
|
+
{ onto: [CALM], source: INTENT_KEYWORDS, term: "quiet", verdict: DECOMPOSED4 },
|
|
698
655
|
{
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
term: "Eclectic",
|
|
656
|
+
onto: [SOFT_MOOD],
|
|
657
|
+
source: INTENT_KEYWORDS,
|
|
658
|
+
term: "soft",
|
|
703
659
|
verdict: DECOMPOSED4
|
|
704
660
|
},
|
|
705
661
|
{
|
|
706
|
-
onto: [
|
|
707
|
-
|
|
708
|
-
|
|
662
|
+
onto: [],
|
|
663
|
+
reason: MATERIAL_PROPERTY,
|
|
664
|
+
source: INTENT_KEYWORDS,
|
|
665
|
+
term: "performance",
|
|
666
|
+
verdict: OUT_OF_AXIS2
|
|
667
|
+
},
|
|
668
|
+
{
|
|
669
|
+
onto: [],
|
|
670
|
+
reason: MATERIAL_PROPERTY,
|
|
671
|
+
source: INTENT_KEYWORDS,
|
|
672
|
+
term: "cleanable",
|
|
673
|
+
verdict: OUT_OF_AXIS2
|
|
674
|
+
},
|
|
675
|
+
{
|
|
676
|
+
note: "Onto the already-published SECTOR axis.",
|
|
677
|
+
onto: ["sector.healthcare"],
|
|
678
|
+
source: INTENT_KEYWORDS,
|
|
679
|
+
term: "healthcare",
|
|
709
680
|
verdict: DECOMPOSED4
|
|
710
681
|
},
|
|
711
682
|
{
|
|
712
|
-
|
|
713
|
-
note: "In a US catalogue this is not the English country idiom, and it sits beside a separate `Farmhouse` value at comparable volume. Two adjacent consumer terms, a meaningful share of the corpus between them, and no recorded difference. Declines.",
|
|
683
|
+
note: "ms_pattern_density.",
|
|
714
684
|
onto: [],
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
685
|
+
reason: MATERIAL_PROPERTY,
|
|
686
|
+
source: INTENT_KEYWORDS,
|
|
687
|
+
term: "patterned",
|
|
688
|
+
verdict: OUT_OF_AXIS2
|
|
718
689
|
},
|
|
719
690
|
{
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
term: "Farmhouse",
|
|
691
|
+
mintedTerm: [FADED],
|
|
692
|
+
onto: [FADED],
|
|
693
|
+
source: INTENT_KEYWORDS,
|
|
694
|
+
term: "faded",
|
|
725
695
|
verdict: DECOMPOSED4
|
|
726
696
|
},
|
|
727
697
|
{
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
source: DS_SCHEMES,
|
|
732
|
-
term: "Coastal",
|
|
698
|
+
onto: [WARM2],
|
|
699
|
+
source: INTENT_KEYWORDS,
|
|
700
|
+
term: "warm",
|
|
733
701
|
verdict: DECOMPOSED4
|
|
734
702
|
},
|
|
735
|
-
// ─── designshop · product attributes.Style (14) ────────────────────────────────────────────
|
|
736
703
|
{
|
|
737
|
-
onto: [
|
|
738
|
-
source:
|
|
739
|
-
term: "
|
|
704
|
+
onto: ["palette.temperature.cool"],
|
|
705
|
+
source: INTENT_KEYWORDS,
|
|
706
|
+
term: "cool",
|
|
740
707
|
verdict: DECOMPOSED4
|
|
741
708
|
},
|
|
742
709
|
{
|
|
743
710
|
alternatives: MODERN_ALTERNATIVES2,
|
|
711
|
+
note: "THE ambiguity of the whole corpus. See the designshop rows, where it carries a dominant share of that corpus.",
|
|
744
712
|
onto: [],
|
|
745
|
-
source:
|
|
746
|
-
term: "
|
|
713
|
+
source: INTENT_KEYWORDS,
|
|
714
|
+
term: "modern",
|
|
747
715
|
verdict: "ambiguous"
|
|
748
716
|
},
|
|
717
|
+
{
|
|
718
|
+
onto: [RUSTIC4],
|
|
719
|
+
source: INTENT_KEYWORDS,
|
|
720
|
+
term: "rustic",
|
|
721
|
+
verdict: DECOMPOSED4
|
|
722
|
+
},
|
|
749
723
|
{
|
|
750
724
|
onto: [MINIMALISM4],
|
|
751
|
-
source:
|
|
752
|
-
term: "
|
|
725
|
+
source: INTENT_KEYWORDS,
|
|
726
|
+
term: "minimalist",
|
|
753
727
|
verdict: DECOMPOSED4
|
|
754
728
|
},
|
|
755
729
|
{
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
term: "Scandinavian",
|
|
730
|
+
onto: [INDUSTRIAL4],
|
|
731
|
+
source: INTENT_KEYWORDS,
|
|
732
|
+
term: "industrial",
|
|
760
733
|
verdict: DECOMPOSED4
|
|
761
734
|
},
|
|
762
735
|
{
|
|
763
|
-
|
|
764
|
-
onto: [
|
|
765
|
-
|
|
766
|
-
|
|
736
|
+
mintedAxis: ["typology.hotel"],
|
|
737
|
+
onto: ["typology.hotel"],
|
|
738
|
+
reason: "other-canonical-axis",
|
|
739
|
+
source: INTENT_KEYWORDS,
|
|
740
|
+
term: "hotel",
|
|
767
741
|
verdict: DECOMPOSED4
|
|
768
742
|
},
|
|
769
743
|
{
|
|
770
|
-
note: "
|
|
771
|
-
onto: [
|
|
772
|
-
source:
|
|
773
|
-
term: "
|
|
744
|
+
note: "Onto SPACE, which already existed upstream as materialgraph ms_room.",
|
|
745
|
+
onto: ["space.hospitality_lobby"],
|
|
746
|
+
source: INTENT_KEYWORDS,
|
|
747
|
+
term: "lobby",
|
|
774
748
|
verdict: DECOMPOSED4
|
|
775
749
|
},
|
|
776
750
|
{
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
751
|
+
mintedAxis: ["typology.spa"],
|
|
752
|
+
onto: ["typology.spa", "space.spa_pool"],
|
|
753
|
+
source: INTENT_KEYWORDS,
|
|
754
|
+
term: "spa",
|
|
780
755
|
verdict: DECOMPOSED4
|
|
781
756
|
},
|
|
782
757
|
{
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
758
|
+
alternatives: BOUTIQUE_ALTERNATIVES,
|
|
759
|
+
note: "A boutique hotel and a boutique shop are different claims and the keyword set cannot tell them apart.",
|
|
760
|
+
onto: [],
|
|
761
|
+
source: INTENT_KEYWORDS,
|
|
762
|
+
term: "boutique",
|
|
763
|
+
verdict: "ambiguous"
|
|
764
|
+
},
|
|
765
|
+
{
|
|
766
|
+
note: "US spelling of a term the canon carries as `sheltering`, also called `cosy`.",
|
|
767
|
+
onto: ["mood.sheltering"],
|
|
768
|
+
source: INTENT_KEYWORDS,
|
|
769
|
+
term: "cozy",
|
|
787
770
|
verdict: DECOMPOSED4
|
|
788
771
|
},
|
|
789
772
|
{
|
|
790
|
-
|
|
791
|
-
onto: [
|
|
792
|
-
source:
|
|
793
|
-
term: "
|
|
773
|
+
mintedTerm: [LUXURIOUS2],
|
|
774
|
+
onto: [LUXURIOUS2],
|
|
775
|
+
source: INTENT_KEYWORDS,
|
|
776
|
+
term: "luxurious",
|
|
794
777
|
verdict: DECOMPOSED4
|
|
795
778
|
},
|
|
796
779
|
{
|
|
797
|
-
onto: [
|
|
798
|
-
|
|
799
|
-
|
|
780
|
+
onto: [],
|
|
781
|
+
reason: QUERY_MARKER,
|
|
782
|
+
source: INTENT_KEYWORDS,
|
|
783
|
+
term: "vibe",
|
|
784
|
+
verdict: OUT_OF_AXIS2
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
onto: [],
|
|
788
|
+
reason: QUERY_MARKER,
|
|
789
|
+
source: INTENT_KEYWORDS,
|
|
790
|
+
term: "aesthetic",
|
|
791
|
+
verdict: OUT_OF_AXIS2
|
|
792
|
+
},
|
|
793
|
+
{
|
|
794
|
+
onto: [],
|
|
795
|
+
reason: QUERY_MARKER,
|
|
796
|
+
source: INTENT_KEYWORDS,
|
|
797
|
+
term: "feel",
|
|
798
|
+
verdict: OUT_OF_AXIS2
|
|
799
|
+
},
|
|
800
|
+
{
|
|
801
|
+
onto: [],
|
|
802
|
+
reason: QUERY_MARKER,
|
|
803
|
+
source: INTENT_KEYWORDS,
|
|
804
|
+
term: "style",
|
|
805
|
+
verdict: OUT_OF_AXIS2
|
|
806
|
+
},
|
|
807
|
+
{
|
|
808
|
+
onto: [],
|
|
809
|
+
reason: QUERY_MARKER,
|
|
810
|
+
source: INTENT_KEYWORDS,
|
|
811
|
+
term: "like",
|
|
812
|
+
verdict: OUT_OF_AXIS2
|
|
813
|
+
},
|
|
814
|
+
{
|
|
815
|
+
onto: [],
|
|
816
|
+
reason: QUERY_MARKER,
|
|
817
|
+
source: INTENT_KEYWORDS,
|
|
818
|
+
term: "similar",
|
|
819
|
+
verdict: OUT_OF_AXIS2
|
|
820
|
+
},
|
|
821
|
+
{
|
|
822
|
+
note: "Reads as the style, not the period, in every query context. `period.mid_century` is the other reading and the axis prefix keeps them apart.",
|
|
823
|
+
onto: [MCM4],
|
|
824
|
+
source: INTENT_KEYWORDS,
|
|
825
|
+
term: "mid-century",
|
|
800
826
|
verdict: DECOMPOSED4
|
|
801
827
|
},
|
|
802
828
|
{
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
source: DS_PRODUCTS,
|
|
807
|
-
term: "Country/ Cottage",
|
|
829
|
+
onto: [CONTEMPORARY4],
|
|
830
|
+
source: INTENT_KEYWORDS,
|
|
831
|
+
term: "contemporary",
|
|
808
832
|
verdict: DECOMPOSED4
|
|
809
833
|
},
|
|
810
834
|
{
|
|
811
|
-
onto: [
|
|
812
|
-
source:
|
|
813
|
-
term: "
|
|
835
|
+
onto: [TRADITIONAL3],
|
|
836
|
+
source: INTENT_KEYWORDS,
|
|
837
|
+
term: "traditional",
|
|
814
838
|
verdict: DECOMPOSED4
|
|
815
839
|
},
|
|
816
840
|
{
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
841
|
+
mintedAxis: [NORDIC_REGION4],
|
|
842
|
+
onto: [EVOKES_NORDIC4],
|
|
843
|
+
source: INTENT_KEYWORDS,
|
|
844
|
+
term: "scandinavian",
|
|
820
845
|
verdict: DECOMPOSED4
|
|
821
846
|
},
|
|
822
847
|
{
|
|
823
|
-
mintedAxis: [
|
|
824
|
-
onto: [
|
|
825
|
-
source:
|
|
826
|
-
term: "
|
|
848
|
+
mintedAxis: [MED_REGION2],
|
|
849
|
+
onto: [EVOKES_MED2],
|
|
850
|
+
source: INTENT_KEYWORDS,
|
|
851
|
+
term: "mediterranean",
|
|
827
852
|
verdict: DECOMPOSED4
|
|
828
853
|
}
|
|
829
854
|
];
|
|
@@ -1126,9 +1151,24 @@ var MATERIALGRAPH_ROWS = [
|
|
|
1126
1151
|
var SAMPLIZE = "samplize.colour_collections";
|
|
1127
1152
|
var DECOMPOSED6 = "decomposed";
|
|
1128
1153
|
var SAMPLIZE_ROWS = [
|
|
1129
|
-
{
|
|
1130
|
-
|
|
1131
|
-
|
|
1154
|
+
{
|
|
1155
|
+
onto: ["palette.hue.white"],
|
|
1156
|
+
source: SAMPLIZE,
|
|
1157
|
+
term: "white",
|
|
1158
|
+
verdict: DECOMPOSED6
|
|
1159
|
+
},
|
|
1160
|
+
{
|
|
1161
|
+
onto: ["palette.hue.beige"],
|
|
1162
|
+
source: SAMPLIZE,
|
|
1163
|
+
term: "beige",
|
|
1164
|
+
verdict: DECOMPOSED6
|
|
1165
|
+
},
|
|
1166
|
+
{
|
|
1167
|
+
onto: ["palette.hue.taupe"],
|
|
1168
|
+
source: SAMPLIZE,
|
|
1169
|
+
term: "taupe",
|
|
1170
|
+
verdict: DECOMPOSED6
|
|
1171
|
+
},
|
|
1132
1172
|
{
|
|
1133
1173
|
note: "US spelling. The canon's id is `gray`, following colorscope verbatim, with the label set in British English. Ids follow the upstream source of truth; the spelling preference lives in the label.",
|
|
1134
1174
|
onto: ["palette.hue.gray"],
|
|
@@ -1136,11 +1176,36 @@ var SAMPLIZE_ROWS = [
|
|
|
1136
1176
|
term: "gray",
|
|
1137
1177
|
verdict: DECOMPOSED6
|
|
1138
1178
|
},
|
|
1139
|
-
{
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1179
|
+
{
|
|
1180
|
+
onto: ["palette.hue.green"],
|
|
1181
|
+
source: SAMPLIZE,
|
|
1182
|
+
term: "green",
|
|
1183
|
+
verdict: DECOMPOSED6
|
|
1184
|
+
},
|
|
1185
|
+
{
|
|
1186
|
+
onto: ["palette.hue.blue"],
|
|
1187
|
+
source: SAMPLIZE,
|
|
1188
|
+
term: "blue",
|
|
1189
|
+
verdict: DECOMPOSED6
|
|
1190
|
+
},
|
|
1191
|
+
{
|
|
1192
|
+
onto: ["palette.hue.red"],
|
|
1193
|
+
source: SAMPLIZE,
|
|
1194
|
+
term: "red",
|
|
1195
|
+
verdict: DECOMPOSED6
|
|
1196
|
+
},
|
|
1197
|
+
{
|
|
1198
|
+
onto: ["palette.hue.yellow"],
|
|
1199
|
+
source: SAMPLIZE,
|
|
1200
|
+
term: "yellow",
|
|
1201
|
+
verdict: DECOMPOSED6
|
|
1202
|
+
},
|
|
1203
|
+
{
|
|
1204
|
+
onto: ["palette.hue.orange"],
|
|
1205
|
+
source: SAMPLIZE,
|
|
1206
|
+
term: "orange",
|
|
1207
|
+
verdict: DECOMPOSED6
|
|
1208
|
+
},
|
|
1144
1209
|
{
|
|
1145
1210
|
note: "Not a hue. A consumer browsing paint treats neutral as a shelf beside green and blue, and the canon files it as an absence of cast on a different facet - which is the right model and a worse shopping experience.",
|
|
1146
1211
|
onto: ["palette.temperature.neutral"],
|
|
@@ -1150,12 +1215,21 @@ var SAMPLIZE_ROWS = [
|
|
|
1150
1215
|
},
|
|
1151
1216
|
{
|
|
1152
1217
|
note: "The same compound materia spells `earthy`, arrived at independently by a shopping surface. Two repositories inventing one compound is the pattern this canon exists to stop.",
|
|
1153
|
-
onto: [
|
|
1218
|
+
onto: [
|
|
1219
|
+
"palette.hue.brown",
|
|
1220
|
+
"palette.character.muted",
|
|
1221
|
+
"palette.temperature.warm"
|
|
1222
|
+
],
|
|
1154
1223
|
source: SAMPLIZE,
|
|
1155
1224
|
term: "earthy-tones",
|
|
1156
1225
|
verdict: DECOMPOSED6
|
|
1157
1226
|
},
|
|
1158
|
-
{
|
|
1227
|
+
{
|
|
1228
|
+
onto: ["palette.character.light"],
|
|
1229
|
+
source: SAMPLIZE,
|
|
1230
|
+
term: "light",
|
|
1231
|
+
verdict: DECOMPOSED6
|
|
1232
|
+
},
|
|
1159
1233
|
{
|
|
1160
1234
|
note: "The largest band in the catalogue. The canon had no midpoint until this row forced the check - and the check found colorscope already governs one, spelled `mid`. Samplize's `medium` is recorded as a variant rather than minted as a term.",
|
|
1161
1235
|
onto: ["palette.character.mid"],
|
|
@@ -1163,7 +1237,12 @@ var SAMPLIZE_ROWS = [
|
|
|
1163
1237
|
term: "medium",
|
|
1164
1238
|
verdict: DECOMPOSED6
|
|
1165
1239
|
},
|
|
1166
|
-
{
|
|
1240
|
+
{
|
|
1241
|
+
onto: ["palette.character.dark"],
|
|
1242
|
+
source: SAMPLIZE,
|
|
1243
|
+
term: "dark",
|
|
1244
|
+
verdict: DECOMPOSED6
|
|
1245
|
+
}
|
|
1167
1246
|
];
|
|
1168
1247
|
|
|
1169
1248
|
// src/estate/rows/index.ts
|
|
@@ -1592,7 +1671,11 @@ var disagreementsByAxis = ({
|
|
|
1592
1671
|
concepts: axisConcepts,
|
|
1593
1672
|
repos: reposSpeaking(axisConcepts),
|
|
1594
1673
|
shared: axisConcepts.filter((concept) => concept.reach > 1).length
|
|
1595
|
-
})).filter(
|
|
1674
|
+
})).filter(
|
|
1675
|
+
(entry) => entry.repos.length > 1 && entry.concepts.length >= minConcepts
|
|
1676
|
+
).toSorted(
|
|
1677
|
+
(a, b) => b.shared - a.shared || b.concepts.length - a.concepts.length
|
|
1678
|
+
);
|
|
1596
1679
|
};
|
|
1597
1680
|
var MATRIX_COLUMNS = ESTATE_VOCABULARIES.map((vocabulary) => {
|
|
1598
1681
|
const repo = REPO_OF[vocabulary.id];
|
|
@@ -1603,7 +1686,9 @@ var MATRIX_COLUMNS = ESTATE_VOCABULARIES.map((vocabulary) => {
|
|
|
1603
1686
|
});
|
|
1604
1687
|
var agreementSummary = () => {
|
|
1605
1688
|
const all = concepts();
|
|
1606
|
-
const spellings = new Set(
|
|
1689
|
+
const spellings = new Set(
|
|
1690
|
+
DECOMPOSITION.map((row) => row.term.toLowerCase().trim())
|
|
1691
|
+
);
|
|
1607
1692
|
const byRepo = /* @__PURE__ */ new Map();
|
|
1608
1693
|
for (const row of DECOMPOSITION) {
|
|
1609
1694
|
const folded = row.term.toLowerCase().trim();
|
|
@@ -1618,7 +1703,9 @@ var agreementSummary = () => {
|
|
|
1618
1703
|
return {
|
|
1619
1704
|
concepts: all.length,
|
|
1620
1705
|
distinctSpellings: spellings.size,
|
|
1621
|
-
exactStringMatchesAcrossRepos: [...byRepo.values()].filter(
|
|
1706
|
+
exactStringMatchesAcrossRepos: [...byRepo.values()].filter(
|
|
1707
|
+
(repos) => repos.size > 1
|
|
1708
|
+
).length,
|
|
1622
1709
|
reachedByAll: all.filter((concept) => concept.reach === concept.couldReach).length,
|
|
1623
1710
|
reachedByFourOrMore: all.filter((concept) => concept.reach >= 4).length,
|
|
1624
1711
|
repos: ESTATE_REPOS.length,
|
|
@@ -1635,7 +1722,9 @@ var ambiguousStyleShare = () => {
|
|
|
1635
1722
|
|
|
1636
1723
|
// src/estate/residue-report.ts
|
|
1637
1724
|
var isExcluded = (row) => row.verdict === "out-of-axis" && (row.reason === "query-marker" || row.reason === "material-property");
|
|
1638
|
-
var AESTHETIC = DECOMPOSITION.filter(
|
|
1725
|
+
var AESTHETIC = DECOMPOSITION.filter(
|
|
1726
|
+
(row) => !isExcluded(row)
|
|
1727
|
+
);
|
|
1639
1728
|
var countBy = (rows, verdict) => rows.filter((row) => row.verdict === verdict).length;
|
|
1640
1729
|
var needsMinting = (row) => (row.mintedTerm?.length ?? 0) > 0 || (row.mintedAxis?.length ?? 0) > 0;
|
|
1641
1730
|
var residueReport = () => {
|
|
@@ -1651,8 +1740,12 @@ var residueReport = () => {
|
|
|
1651
1740
|
decomposed,
|
|
1652
1741
|
excluded: DECOMPOSITION.length - aesthetic,
|
|
1653
1742
|
lossy: countBy(AESTHETIC, "lossy"),
|
|
1654
|
-
neededMintedAxis: DECOMPOSITION.filter(
|
|
1655
|
-
|
|
1743
|
+
neededMintedAxis: DECOMPOSITION.filter(
|
|
1744
|
+
(row) => (row.mintedAxis?.length ?? 0) > 0
|
|
1745
|
+
).length,
|
|
1746
|
+
neededMintedTerm: DECOMPOSITION.filter(
|
|
1747
|
+
(row) => (row.mintedTerm?.length ?? 0) > 0
|
|
1748
|
+
).length,
|
|
1656
1749
|
outOfAxis: countBy(AESTHETIC, "out-of-axis"),
|
|
1657
1750
|
preExisting,
|
|
1658
1751
|
preExistingRate: preExisting / aesthetic,
|