@hatiolab/figure-model 0.9.6 → 0.11.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/CHANGELOG.md +41 -5
- package/dist/asset-types.d.ts +24 -56
- package/dist/asset-types.d.ts.map +1 -1
- package/dist/asset-types.js.map +1 -1
- package/dist/asset.d.ts +0 -7
- package/dist/asset.d.ts.map +1 -1
- package/dist/asset.js +11 -45
- package/dist/asset.js.map +1 -1
- package/dist/authoring-actions.d.ts.map +1 -1
- package/dist/authoring-actions.js +5 -27
- package/dist/authoring-actions.js.map +1 -1
- package/dist/authoring-bindings.js +1 -1
- package/dist/authoring-bindings.js.map +1 -1
- package/dist/authoring-dimensions.js +3 -3
- package/dist/authoring-fastening.d.ts +16 -2
- package/dist/authoring-fastening.d.ts.map +1 -1
- package/dist/authoring-fastening.js +106 -47
- package/dist/authoring-fastening.js.map +1 -1
- package/dist/authoring-nodes.d.ts +4 -4
- package/dist/authoring-nodes.d.ts.map +1 -1
- package/dist/authoring-nodes.js +7 -7
- package/dist/authoring-nodes.js.map +1 -1
- package/dist/authoring-placement.d.ts +40 -0
- package/dist/authoring-placement.d.ts.map +1 -0
- package/dist/{authoring-occupancy.js → authoring-placement.js} +225 -238
- package/dist/authoring-placement.js.map +1 -0
- package/dist/authoring-proportion.d.ts.map +1 -1
- package/dist/authoring-proportion.js +28 -12
- package/dist/authoring-proportion.js.map +1 -1
- package/dist/authoring-size.js +1 -1
- package/dist/authoring-types.d.ts +57 -91
- package/dist/authoring-types.d.ts.map +1 -1
- package/dist/authoring-types.js +8 -8
- package/dist/authoring-types.js.map +1 -1
- package/dist/body.d.ts +19 -0
- package/dist/body.d.ts.map +1 -0
- package/dist/body.js +37 -0
- package/dist/body.js.map +1 -0
- package/dist/clip-keeping.d.ts.map +1 -1
- package/dist/clip-keeping.js +7 -5
- package/dist/clip-keeping.js.map +1 -1
- package/dist/command-preview.js +4 -4
- package/dist/command-preview.js.map +1 -1
- package/dist/contract.d.ts +0 -3
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js.map +1 -1
- package/dist/editor-workspace.js +1 -1
- package/dist/editor-workspace.js.map +1 -1
- package/dist/examples.d.ts.map +1 -1
- package/dist/examples.js +7 -8
- package/dist/examples.js.map +1 -1
- package/dist/face-overhang.js +2 -2
- package/dist/face-overhang.js.map +1 -1
- package/dist/fasten-place.d.ts +18 -0
- package/dist/fasten-place.d.ts.map +1 -1
- package/dist/fasten-place.js +43 -7
- package/dist/fasten-place.js.map +1 -1
- package/dist/gate.d.ts +15 -32
- package/dist/gate.d.ts.map +1 -1
- package/dist/gate.js +34 -101
- package/dist/gate.js.map +1 -1
- package/dist/graph-types.d.ts +2 -2
- package/dist/graph.d.ts.map +1 -1
- package/dist/graph.js +6 -67
- package/dist/graph.js.map +1 -1
- package/dist/index.d.ts +9 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -7
- package/dist/index.js.map +1 -1
- package/dist/joint-fields.d.ts +6 -8
- package/dist/joint-fields.d.ts.map +1 -1
- package/dist/joint-fields.js +6 -6
- package/dist/joint-fields.js.map +1 -1
- package/dist/joint-list.d.ts +11 -9
- package/dist/joint-list.d.ts.map +1 -1
- package/dist/joint-list.js +75 -53
- package/dist/joint-list.js.map +1 -1
- package/dist/joint-motions.d.ts +30 -0
- package/dist/joint-motions.d.ts.map +1 -0
- package/dist/joint-motions.js +28 -0
- package/dist/joint-motions.js.map +1 -0
- package/dist/joint-part-edits.d.ts +1 -10
- package/dist/joint-part-edits.d.ts.map +1 -1
- package/dist/joint-part-edits.js +101 -98
- package/dist/joint-part-edits.js.map +1 -1
- package/dist/joint-writing.d.ts +3 -4
- package/dist/joint-writing.d.ts.map +1 -1
- package/dist/joint-writing.js +229 -170
- package/dist/joint-writing.js.map +1 -1
- package/dist/kernel-version.d.ts +1 -1
- package/dist/kernel-version.d.ts.map +1 -1
- package/dist/kernel-version.js +1 -1
- package/dist/kernel-version.js.map +1 -1
- package/dist/part-edit.d.ts +1 -8
- package/dist/part-edit.d.ts.map +1 -1
- package/dist/part-edit.js +19 -34
- package/dist/part-edit.js.map +1 -1
- package/dist/proposal.d.ts +4 -11
- package/dist/proposal.d.ts.map +1 -1
- package/dist/proposal.js +6 -13
- package/dist/proposal.js.map +1 -1
- package/dist/recipe-from-parts.d.ts.map +1 -1
- package/dist/recipe-from-parts.js +12 -4
- package/dist/recipe-from-parts.js.map +1 -1
- package/dist/recipe.d.ts.map +1 -1
- package/dist/recipe.js +11 -9
- package/dist/recipe.js.map +1 -1
- package/dist/release-contract.d.ts +1 -1
- package/dist/release-contract.d.ts.map +1 -1
- package/dist/release-contract.js +33 -30
- package/dist/release-contract.js.map +1 -1
- package/dist/release-metrics.d.ts +14 -14
- package/dist/release-metrics.d.ts.map +1 -1
- package/dist/release-metrics.js +13 -29
- package/dist/release-metrics.js.map +1 -1
- package/dist/resize-plan.d.ts +0 -5
- package/dist/resize-plan.d.ts.map +1 -1
- package/dist/resize-plan.js +4 -29
- package/dist/resize-plan.js.map +1 -1
- package/dist/robots.d.ts.map +1 -1
- package/dist/robots.js +44 -48
- package/dist/robots.js.map +1 -1
- package/dist/size-edit.js +3 -3
- package/dist/size-edit.js.map +1 -1
- package/dist/surface.js +2 -2
- package/docs/asset-persistence.md +1 -1
- package/docs/attachment-response-spec-review-2026-10-24.md +56 -0
- package/docs/document-contract.md +0 -1
- package/docs/editor-integration.md +2 -0
- package/docs/modeller-interaction-performance-2026-10-07.md +1 -1
- package/docs/operator-contracts.md +3 -18
- package/docs/performance-followup-2026-10-05.md +1 -1
- package/docs/review-2026-09-22.md +2 -2
- package/docs/shape-dimension-contract.md +27 -25
- package/docs/status.md +12 -2
- package/package.json +1 -1
- package/dist/authoring-occupancy.d.ts +0 -28
- package/dist/authoring-occupancy.d.ts.map +0 -1
- package/dist/authoring-occupancy.js.map +0 -1
- package/dist/room.d.ts +0 -53
- package/dist/room.d.ts.map +0 -1
- package/dist/room.js +0 -101
- package/dist/room.js.map +0 -1
package/dist/gate.js
CHANGED
|
@@ -4,9 +4,8 @@
|
|
|
4
4
|
/*
|
|
5
5
|
* The release gate's spatial rules.
|
|
6
6
|
*
|
|
7
|
-
* ADR-
|
|
8
|
-
*
|
|
9
|
-
* the ceiling → PARTS_OFF_PLACEMENT_FACE
|
|
7
|
+
* ADR-0045 a figure whose named mounting face does not lie on the plane it is mounted on
|
|
8
|
+
* → PARTS_OFF_PLACEMENT_FACE · PLACEMENT_FACE_TILTED
|
|
10
9
|
*
|
|
11
10
|
* These are violations, not compile errors: the asset is valid and can be saved, and the release door refuses it
|
|
12
11
|
* (ADR-0044 decision ②). The closed list of capability names (ADR-0051 ④) is a compile error
|
|
@@ -14,10 +13,13 @@
|
|
|
14
13
|
*
|
|
15
14
|
* The rules are measured on the evaluated geometry, with one contact tolerance (`SKIN`, `words.ts`).
|
|
16
15
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
16
|
+
* A figure's size and the room it sweeps are computed, never declared (ADR-0145), so there is no room to check a part
|
|
17
|
+
* against: the gate asks only what the author said -- the face it stands on, how it grows, the values a board may set.
|
|
18
|
+
* The last is asked over their whole range: a figure that cannot be made at some size or published value a board may
|
|
19
|
+
* choose is refused (PUBLIC_INPUT_REFUSED), and the coverage says whether the values evaluated prove it can be made at
|
|
20
|
+
* every one.
|
|
19
21
|
*/
|
|
20
|
-
import { compileFigureAsset, figurePlacementOf
|
|
22
|
+
import { compileFigureAsset, figurePlacementOf } from "./asset.js";
|
|
21
23
|
import { FigureContractError } from "./contract.js";
|
|
22
24
|
import { compileFigureGraph } from "./graph.js";
|
|
23
25
|
import { recordFigureInstanceSize } from "./instance-size.js";
|
|
@@ -35,7 +37,7 @@ export function figureWorldBoxesOf(geometry, writers, options = {}) {
|
|
|
35
37
|
if (!('pose' in g))
|
|
36
38
|
continue;
|
|
37
39
|
// A part whose visibility flag is off is not drawn, so it is not a drawn body here. It is still evaluated and
|
|
38
|
-
// still placed; `figureOccupiedBoxesOf` is the reader that wants it (
|
|
40
|
+
// still placed; `figureOccupiedBoxesOf` is the reader that wants it (a figure's size does not move with visibility).
|
|
39
41
|
if (g.visible === false)
|
|
40
42
|
continue;
|
|
41
43
|
const part = g.key ? writers.get(g.key) : g.id;
|
|
@@ -66,28 +68,12 @@ export function figureWorldBoxesOf(geometry, writers, options = {}) {
|
|
|
66
68
|
return out;
|
|
67
69
|
}
|
|
68
70
|
/**
|
|
69
|
-
* Every placed body including the ones that are not drawn.
|
|
70
|
-
*
|
|
71
|
+
* Every placed body including the ones that are not drawn. A figure's size does not shrink or grow with visibility
|
|
72
|
+
* (designer's ruling 2026-09-22), so it is measured from this, not from the drawn set.
|
|
71
73
|
*/
|
|
72
74
|
export function figureOccupiedBoxesOf(geometry, writers, options = {}) {
|
|
73
75
|
return figureWorldBoxesOf(geometry.map(g => ('pose' in g ? { ...g, visible: true } : g)), writers, options);
|
|
74
76
|
}
|
|
75
|
-
/**
|
|
76
|
-
* How wide, tall and deep the figure's parts are, standing as they rest: the union of their boxes. The size a figure
|
|
77
|
-
* is authored at -- not the room it takes, which also holds where its joints can carry its parts (a door's swing):
|
|
78
|
-
* measuring that instead declared a 1100 mm door 8208 mm every way (2026-09-25).
|
|
79
|
-
*/
|
|
80
|
-
export function figurePartsExtentOf(asset) {
|
|
81
|
-
const evaluated = compileFigureAsset(asset).evaluate();
|
|
82
|
-
const boxes = figureOccupiedBoxesOf(evaluated.geometry, figureWritersOf(asset));
|
|
83
|
-
const out = {};
|
|
84
|
-
AXES.forEach(axis => {
|
|
85
|
-
const lo = Math.min(...boxes.map(b => b.centre[axis] - b.extent[axis] / 2));
|
|
86
|
-
const hi = Math.max(...boxes.map(b => b.centre[axis] + b.extent[axis] / 2));
|
|
87
|
-
out[axis] = boxes.length ? Math.round((hi - lo) * 1e6) / 1e6 : 0;
|
|
88
|
-
});
|
|
89
|
-
return out;
|
|
90
|
-
}
|
|
91
77
|
/** Who writes each graph value, by node id. */
|
|
92
78
|
export function figureWritersOf(asset) {
|
|
93
79
|
const writers = new Map();
|
|
@@ -143,9 +129,6 @@ export const FIGURE_STATE_EXTREME_BASIS = Object.freeze({
|
|
|
143
129
|
'fixed-count@1': 'multilinear',
|
|
144
130
|
'min@1': 'monotone',
|
|
145
131
|
'max@1': 'monotone',
|
|
146
|
-
// The declared room: the least and greatest of affine candidates. Written from values that do not move with a
|
|
147
|
-
// control (the ends of each travel are constants), so a state-dependent argument here is not claimed.
|
|
148
|
-
'affine-bounds@1': 'unknown',
|
|
149
132
|
'curve@1': 'monotone',
|
|
150
133
|
'geomean@1': 'monotone',
|
|
151
134
|
'axis-turn@1': 'unknown',
|
|
@@ -164,11 +147,10 @@ export const FIGURE_DESIGN_EXTREME_BASIS = Object.freeze({
|
|
|
164
147
|
'fit-pitch@1': 'unknown',
|
|
165
148
|
'fixed-count@1': 'unknown'
|
|
166
149
|
});
|
|
167
|
-
/** The design inputs the gate ranges: the public ones, and with them the instance size, whose combination is the case. */
|
|
168
150
|
/*
|
|
169
151
|
* The design values a board may set: the instance size always -- any figure may be placed at any size its range
|
|
170
|
-
* allows -- and the inputs it publishes, crossed with it
|
|
171
|
-
*
|
|
152
|
+
* allows -- and the inputs it publishes, crossed with it: a long conveyor at a narrow pitch is a combination, not two
|
|
153
|
+
* ranges (designer 2026-09-27). The range is the one a release carries
|
|
172
154
|
* (ADR-0087 decision 6); an end nothing limits has no corner to check, so it is sampled at RESIZE_FACTOR times the
|
|
173
155
|
* authored size (and as far below it), and said in `open`: over it the check is not a proof.
|
|
174
156
|
*/
|
|
@@ -288,7 +270,7 @@ export function cornerExtremalBasis(asset, dependence, basis = FIGURE_STATE_EXTR
|
|
|
288
270
|
if (!stateful.length)
|
|
289
271
|
continue;
|
|
290
272
|
// A bent value meeting anything else that moves with the same input, whatever the operator does with them.
|
|
291
|
-
// `at-least@1` is left out: it yields a flag, which reaches no dimension
|
|
273
|
+
// `at-least@1` is left out: it yields a flag, which reaches no dimension or pose.
|
|
292
274
|
if (n.op !== 'at-least@1')
|
|
293
275
|
for (let i = 0; i < n.args.length; i++)
|
|
294
276
|
for (let j = i + 1; j < n.args.length; j++) {
|
|
@@ -356,9 +338,7 @@ export function cornerExtremalBasis(asset, dependence, basis = FIGURE_STATE_EXTR
|
|
|
356
338
|
reasons.push(`${n.id}: a drawn section's points depend on ${[...new Set(stateful.flatMap(dep))].join(', ')}; its reach is the largest of them`);
|
|
357
339
|
break;
|
|
358
340
|
case 'at-least@1':
|
|
359
|
-
// A flag cannot reach a dimension
|
|
360
|
-
// Visibility never changes the declared volume either (designer's ruling), so the gate checks hidden
|
|
361
|
-
// parts exactly as it checks shown ones.
|
|
341
|
+
// A flag cannot reach a dimension or a pose, so a step here moves no value the gate reads.
|
|
362
342
|
break;
|
|
363
343
|
case 'curve@1': {
|
|
364
344
|
// A piecewise-linear curve is monotone in x when its key values never change direction; then its extremes
|
|
@@ -390,22 +370,21 @@ export function cornerExtremalBasis(asset, dependence, basis = FIGURE_STATE_EXTR
|
|
|
390
370
|
return reasons;
|
|
391
371
|
}
|
|
392
372
|
/*
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
the *smallest* gap over its parts, and a smallest folds the way `min@1` folds: two boxes at 20q and 20(1−q) mm
|
|
373
|
+
Touching the plane the figure is mounted on is an equality, not a value kept inside its domain. It used to be read
|
|
374
|
+
as the *smallest* gap over the parts, and a smallest folds the way `min@1` folds: two boxes at 20q and 20(1−q) mm
|
|
396
375
|
above the floor each touch at one end of q and both float 10 mm at the middle (designer's counterexample
|
|
397
376
|
2026-09-23). The gate evaluated the two ends, found a part on the floor at each, and said proven.
|
|
398
377
|
|
|
399
|
-
The
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
378
|
+
The asset names one face now, so there is no smallest to fold: the check is a single equality. What is left is
|
|
379
|
+
whether that face stays put. A face whose placement does not move with state sits in the same place at every
|
|
380
|
+
state, so one evaluation settles it. A face that moves with state is not claimed from the corners: the asset is
|
|
381
|
+
sampled, which checks more states and reports the distance it finds without calling it a bound. Over the sizes a
|
|
382
|
+
board may set, the face is checked at the same values as everything else.
|
|
404
383
|
|
|
405
384
|
An asset that does not name a mounting face is not asked to touch anything, and nothing here applies to it.
|
|
406
385
|
*/
|
|
407
386
|
function unprovenContact(asset, graph) {
|
|
408
|
-
const contact = asset.
|
|
387
|
+
const contact = asset.mountingFace;
|
|
409
388
|
if (!contact)
|
|
410
389
|
return [];
|
|
411
390
|
const moving = [contact.surface.placement, contact.surface.feature].filter(ref => (graph.dependence[ref] ?? []).length);
|
|
@@ -448,13 +427,13 @@ function checkInspectOptions(opts) {
|
|
|
448
427
|
refuse('at', 'a record of input values');
|
|
449
428
|
}
|
|
450
429
|
/**
|
|
451
|
-
* Inspect an asset
|
|
452
|
-
*
|
|
453
|
-
*
|
|
430
|
+
* Inspect an asset as it would be released. Without `at`, the whole valid state range is covered: every state input
|
|
431
|
+
* at its bounds (and, when a rotation depends on state, along its sweep), and a violation found at any evaluated
|
|
432
|
+
* state is a violation.
|
|
454
433
|
*/
|
|
455
434
|
export function inspectFigureAsset(asset, options = {}) {
|
|
456
435
|
/* Inspected as it would be released: with the size range a release writes down (ADR-0087 decision 6). */
|
|
457
|
-
asset = recordFigureInstanceSize(
|
|
436
|
+
asset = recordFigureInstanceSize(asset);
|
|
458
437
|
// Backwards compatible: a plain record is `at`.
|
|
459
438
|
const opts = 'at' in options || 'sweepSteps' in options || 'maxCornerInputs' in options || 'design' in options || Object.keys(options).length === 0 ? options : { at: options };
|
|
460
439
|
checkInspectOptions(opts);
|
|
@@ -485,13 +464,6 @@ export function inspectFigureAsset(asset, options = {}) {
|
|
|
485
464
|
seen.add(key);
|
|
486
465
|
violations.push(v);
|
|
487
466
|
};
|
|
488
|
-
if (!asset.occupancy) {
|
|
489
|
-
violations.push({ code: 'OCCUPANCY_UNDECLARED', detail: 'the asset does not declare the volume it occupies or the face it stands on' });
|
|
490
|
-
/* Falling apart on resize does not depend on the declared volume; an undeclared figure is told both. */
|
|
491
|
-
violations.push(...splitsOnResize(asset));
|
|
492
|
-
violations.push(...notUniformOnResize(asset));
|
|
493
|
-
return { coverage: { method: 'defaults', inputs, states: 0, detail: 'nothing to inspect against' }, violations };
|
|
494
|
-
}
|
|
495
467
|
// Which states to evaluate.
|
|
496
468
|
let states;
|
|
497
469
|
let coverage;
|
|
@@ -580,53 +552,16 @@ export function inspectFigureAsset(asset, options = {}) {
|
|
|
580
552
|
violations.push(v);
|
|
581
553
|
for (const v of notUniformOnResize(asset))
|
|
582
554
|
violations.push(v);
|
|
583
|
-
|
|
584
|
-
const read = (a) => ({
|
|
585
|
-
min: values[asset.occupancy.bounds[a].min],
|
|
586
|
-
max: values[asset.occupancy.bounds[a].max]
|
|
587
|
-
});
|
|
588
|
-
return { bounds: { x: read('x'), y: read('y'), z: read('z') }, placement: figurePlacementOf(asset), coverage, violations };
|
|
555
|
+
return { placement: figurePlacementOf(asset), coverage, violations };
|
|
589
556
|
}
|
|
590
557
|
function inspectOne(asset, graph, geometry, state, push) {
|
|
591
|
-
const
|
|
592
|
-
|
|
558
|
+
const face = asset.mountingFace;
|
|
559
|
+
if (!face)
|
|
560
|
+
return;
|
|
561
|
+
// The asset evaluation returns geometry only; the face's pose is a graph value, so read the graph itself.
|
|
593
562
|
const values = graph.evaluate({ ...asset.designInputs, ...asset.stateDefaults, ...state }).values;
|
|
594
563
|
const placement = figurePlacementOf(asset);
|
|
595
|
-
const boxes = figureOccupiedBoxesOf(geometry, figureWritersOf(asset));
|
|
596
564
|
const round = (v) => Math.round(v * 1e4) / 1e4;
|
|
597
|
-
/*
|
|
598
|
-
The declared volume is the reach on each side of the asset origin, so it can sit anywhere around it. The
|
|
599
|
-
origin is where the figure is mounted, which is a coordinate reference and not a surface nothing may pass:
|
|
600
|
-
an arm on a bench reaches below the bench, and that is the machine working (designer's ruling 2026-09-23).
|
|
601
|
-
*/
|
|
602
|
-
const low = { x: 0, y: 0, z: 0 };
|
|
603
|
-
const high = { x: 0, y: 0, z: 0 };
|
|
604
|
-
for (const axis of AXES) {
|
|
605
|
-
low[axis] = values[occupancy.bounds[axis].min];
|
|
606
|
-
high[axis] = values[occupancy.bounds[axis].max];
|
|
607
|
-
if (!(high[axis] > low[axis]))
|
|
608
|
-
push({
|
|
609
|
-
code: 'OCCUPANCY_UNDECLARED',
|
|
610
|
-
axis,
|
|
611
|
-
detail: `the declared volume on ${axis.toUpperCase()} runs from ${low[axis]} to ${high[axis]}, which encloses nothing`
|
|
612
|
-
});
|
|
613
|
-
}
|
|
614
|
-
for (const box of boxes) {
|
|
615
|
-
for (const axis of AXES) {
|
|
616
|
-
const reach = box.extent[axis] / 2;
|
|
617
|
-
const over = Math.max(box.centre[axis] + reach - high[axis], low[axis] - (box.centre[axis] - reach));
|
|
618
|
-
if (over > SKIN) {
|
|
619
|
-
const mm = round(over);
|
|
620
|
-
push({
|
|
621
|
-
code: 'PART_OUTSIDE_OCCUPANCY',
|
|
622
|
-
part: box.part,
|
|
623
|
-
axis,
|
|
624
|
-
mm,
|
|
625
|
-
detail: `'${box.part}' leaves the declared volume by ${mm} mm on ${axis.toUpperCase()}; on a board the instance is scaled by that volume, so this part lands outside its place`
|
|
626
|
-
});
|
|
627
|
-
}
|
|
628
|
-
}
|
|
629
|
-
}
|
|
630
565
|
/*
|
|
631
566
|
Only an asset that names the face it is mounted on is asked to make the contact, and two things have to hold
|
|
632
567
|
for that face to lie in the mounting plane: its reference point is on the plane, and its plane is the same
|
|
@@ -639,14 +574,12 @@ function inspectOne(asset, graph, geometry, state, push) {
|
|
|
639
574
|
|
|
640
575
|
The plane is Y = 0 in the asset frame, for a floor figure and a ceiling one alike. The origin is where the
|
|
641
576
|
figure is fastened (designer's ruling 2026-09-23); a ceiling figure hangs from it and names its top face.
|
|
642
|
-
Reading the plane off `occupancy.bounds.y.max` moved the thing the figure is mounted on whenever someone
|
|
643
|
-
widened the volume it takes up, which are two unrelated declarations.
|
|
644
577
|
*/
|
|
645
578
|
/* A wall is the plane Z = 0, the figure coming out of it along +Z; the floor and the ceiling are Y = 0 (ADR-0093). */
|
|
646
|
-
if (
|
|
579
|
+
if (placement === 'floor' || placement === 'ceiling' || placement === 'wall') {
|
|
647
580
|
const k = placement === 'wall' ? 2 : 1;
|
|
648
581
|
const axis = placement === 'wall' ? 'z' : 'y';
|
|
649
|
-
const surface = evaluateFigureSurface(values, resolveFigureSurface({ types: graph.outputTypes, writers: nodeWriters(asset), model: asset.document.model, assetFrame: asset.document.capabilities.assetFrame },
|
|
582
|
+
const surface = evaluateFigureSurface(values, resolveFigureSurface({ types: graph.outputTypes, writers: nodeWriters(asset), model: asset.document.model, assetFrame: asset.document.capabilities.assetFrame }, face.surface, 'mountingFace.surface'));
|
|
650
583
|
const part = figureWritersOf(asset).get(surface.placement) ?? surface.placement;
|
|
651
584
|
const off = surface.pose.t[k];
|
|
652
585
|
if (Math.abs(off) > SKIN)
|
package/dist/gate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate.js","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gate.js","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"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"}
|
package/dist/graph-types.d.ts
CHANGED
|
@@ -7,8 +7,8 @@ export type FigureValueType = FigureDimensions | {
|
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
9
|
* Whether something is shown. Produced by a comparison, consumed only by `appearance.visibility`
|
|
10
|
-
* (designer's ruling 2026-09-22). It is deliberately not a number: a flag can never reach a dimension
|
|
11
|
-
*
|
|
10
|
+
* (designer's ruling 2026-09-22). It is deliberately not a number: a flag can never reach a dimension or a
|
|
11
|
+
* pose, so a hidden part computes exactly the dimensions it computes when shown.
|
|
12
12
|
*/
|
|
13
13
|
| {
|
|
14
14
|
kind: 'flag';
|
package/dist/graph.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,IAAI,aAAa,EAA6B,MAAM,eAAe,CAAA;AAC/F,OAAO,KAAK,EAAE,mBAAmB,EAAiI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACtM,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAA;AAIvB;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAAA;AAmBrD;;;;GAIG;AACH,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,IAAI,aAAa,EAA6B,MAAM,eAAe,CAAA;AAC/F,OAAO,KAAK,EAAE,mBAAmB,EAAiI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACtM,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAA;AAIvB;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAAA;AAmBrD;;;;GAIG;AACH,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAErD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EAC7F,KAAK,CAAC,EAAE;IAAE,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;IAAC,SAAS,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,GACnE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,GAAG,SAAS,CAGvD;AACD,OAAO,EAAE,aAAa,EAAE,CAAA;AAwCxB,gGAAgG;AAChG,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAAsD,CAAA;AACpG,6FAA6F;AAC7F,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,UAAU,CAEjE;AAujBD,6GAA6G;AAC7G,eAAO,MAAM,8BAA8B,EAAE,SAAS,MAAM,EAAmE,CAAA;AAE/H,kGAAkG;AAClG,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAEpF,CAAA;AAED,6FAA6F;AAC7F,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAA0F,CAAA;AAE/J,sFAAsF;AACtF,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAAoC,CAAA;AAElF;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAAyE,CAAA;AAElI;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,EAAE,SAAS,MAAM,EAAmC,CAAA;AAmIlG;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,mBAAmB,CAEvE"}
|
package/dist/graph.js
CHANGED
|
@@ -1,18 +1,6 @@
|
|
|
1
1
|
// experimental graph evaluator. Operator semantics are checked at compile and evaluation boundaries.
|
|
2
2
|
import { FigureContractError as ContractError } from "./contract.js";
|
|
3
3
|
import { FIGURE_SHAPE_OPERATORS, figureShapeDescriptionOf, figureShapeFeaturePointOf } from "./shape-ops.js";
|
|
4
|
-
/** An affine-bounds layout read: six groups of candidates, each the number of its terms. */
|
|
5
|
-
function affineLayoutOf(layout, p) {
|
|
6
|
-
if (typeof layout !== 'string')
|
|
7
|
-
fail('PARAM', p, 'layout required');
|
|
8
|
-
/* Parameters are identifiers: `L` then the six groups joined by `.`, each group's term counts joined by `_`. */
|
|
9
|
-
if (!layout.startsWith('L'))
|
|
10
|
-
fail('PARAM', p, 'layout starts with L');
|
|
11
|
-
const groups = layout.slice(1).split('.').map(g => (g === '' ? [] : g.split('_').map(Number)));
|
|
12
|
-
if (groups.length !== 6 || groups.some(g => !g.length || g.some(k => !Number.isSafeInteger(k) || k < 0)))
|
|
13
|
-
fail('PARAM', p, 'layout is six groups of term counts, each with one candidate or more');
|
|
14
|
-
return groups;
|
|
15
|
-
}
|
|
16
4
|
/**
|
|
17
5
|
* The flat faces a shape node declares, from its own params (`figureShapeDescriptionOf`), or undefined when it has
|
|
18
6
|
* none (a sphere) or is not a shape. Given the graph, a centred push's ends are written as ±half its length.
|
|
@@ -189,14 +177,9 @@ const ops = {
|
|
|
189
177
|
run: ([a, b]) => [a >= b]
|
|
190
178
|
},
|
|
191
179
|
/**
|
|
192
|
-
* The largest of its arguments, all of one dimension
|
|
193
|
-
*
|
|
194
|
-
*
|
|
195
|
-
* the instance overtakes a fixed one as the instance grows. Without this the volume would have to be a
|
|
196
|
-
* constant measured at one size, which is only right at that size.
|
|
197
|
-
*
|
|
198
|
-
* Not affine: the graph is a straight line in each input only until the winner changes. The occupancy is a
|
|
199
|
-
* design value and never depends on state, so this does not touch the state coverage basis.
|
|
180
|
+
* The largest of its arguments, all of one dimension: how far a shape reaches when the furthest of several points is
|
|
181
|
+
* not fixed (shape-extreme.ts). Not affine: the graph is a straight line in each input only until the winner changes;
|
|
182
|
+
* the gate's corner basis takes it as monotone (gate.ts).
|
|
200
183
|
*/
|
|
201
184
|
'max@1': {
|
|
202
185
|
ports: ['value'],
|
|
@@ -221,7 +204,7 @@ const ops = {
|
|
|
221
204
|
},
|
|
222
205
|
run: a => [Math.hypot(...a)]
|
|
223
206
|
},
|
|
224
|
-
/** The smallest of its arguments. The pair of `max@1
|
|
207
|
+
/** The smallest of its arguments. The pair of `max@1`. */
|
|
225
208
|
'min@1': {
|
|
226
209
|
ports: ['value'],
|
|
227
210
|
types(t, p) {
|
|
@@ -231,50 +214,6 @@ const ops = {
|
|
|
231
214
|
},
|
|
232
215
|
run: a => [Math.min(...a)]
|
|
233
216
|
},
|
|
234
|
-
/*
|
|
235
|
-
The declared room from its candidates in one node (r3 §5: one operation may own several results). Each of the six
|
|
236
|
-
bounds -- x, y, z low and high -- is the least or the greatest of its candidates, and each candidate is affine:
|
|
237
|
-
a constant plus values times ratios. `layout` says how the arguments group: `L`, then six groups joined by `.` --
|
|
238
|
-
low x, high x, low y, high y, low z, high z -- each its candidates' term counts joined by `_` (`L1_1.1_1.0.2_1…`);
|
|
239
|
-
a candidate takes its constant,
|
|
240
|
-
then a value and a ratio per term. Written by 「부품에 맞추기」: a sum per term per candidate had taken 330 nodes
|
|
241
|
-
for a 16-part lift table, past the document's 512 (2026-09-25).
|
|
242
|
-
*/
|
|
243
|
-
'affine-bounds@1': {
|
|
244
|
-
ports: ['xmin', 'xmax', 'ymin', 'ymax', 'zmin', 'zmax'],
|
|
245
|
-
params: ['layout'],
|
|
246
|
-
types(t, p, n) {
|
|
247
|
-
const groups = affineLayoutOf(n.params.layout, p);
|
|
248
|
-
let i = 0;
|
|
249
|
-
for (const group of groups)
|
|
250
|
-
for (const terms of group) {
|
|
251
|
-
if (!eq(t[i++], length))
|
|
252
|
-
fail('TYPE', p, `candidate constant ${i - 1} is a length`);
|
|
253
|
-
for (let k = 0; k < terms; k++) {
|
|
254
|
-
if (!eq(t[i++], length))
|
|
255
|
-
fail('TYPE', p, `term value ${i - 1} is a length`);
|
|
256
|
-
if (!eq(t[i++], ratio))
|
|
257
|
-
fail('TYPE', p, `term ratio ${i - 1} is a ratio`);
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
if (i !== t.length)
|
|
261
|
-
fail('TYPE', p, `the layout takes ${i} arguments; ${t.length} were given`);
|
|
262
|
-
return Array(6).fill(length);
|
|
263
|
-
},
|
|
264
|
-
run: (a, p, n) => {
|
|
265
|
-
const groups = affineLayoutOf(n.params.layout, p);
|
|
266
|
-
let i = 0;
|
|
267
|
-
return groups.map((group, g) => {
|
|
268
|
-
const values = group.map(terms => {
|
|
269
|
-
let v = a[i++];
|
|
270
|
-
for (let k = 0; k < terms; k++)
|
|
271
|
-
v += a[i++] * a[i++];
|
|
272
|
-
return v;
|
|
273
|
-
});
|
|
274
|
-
return g % 2 === 0 ? Math.min(...values) : Math.max(...values);
|
|
275
|
-
});
|
|
276
|
-
}
|
|
277
|
-
},
|
|
278
217
|
'between@1': {
|
|
279
218
|
ports: ['length', 'center'],
|
|
280
219
|
types(t, p) {
|
|
@@ -676,7 +615,7 @@ for (const [name, op] of Object.entries(ops))
|
|
|
676
615
|
test that holds \`FIGURE_POSE_EXCLUDED_OPERATORS\` still says so.
|
|
677
616
|
*/
|
|
678
617
|
const POSE_FORMS = [
|
|
679
|
-
'add@1', 'mul@1', 'div@1', 'sin@1', 'geomean@1', 'curve@1', 'at-least@1', 'max@1', 'min@1', 'hypot@1', '
|
|
618
|
+
'add@1', 'mul@1', 'div@1', 'sin@1', 'geomean@1', 'curve@1', 'at-least@1', 'max@1', 'min@1', 'hypot@1', 'between@1',
|
|
680
619
|
'assembly@1', 'repeat@1', 'select-item@1', 'rigid@1', 'axis-turn@1', 'axis-slide@1', 'compose@1', 'attach@1',
|
|
681
620
|
'point@1', 'map-point@1', 'distance@1', 'place@1', 'member@1'
|
|
682
621
|
];
|
|
@@ -697,7 +636,7 @@ export const FIGURE_OPERATORS = Object.freeze(Object.keys(ops));
|
|
|
697
636
|
* 8-size regression check's ground away, and the gate's corner-extremal basis treats a non-monotone curve as unproven.
|
|
698
637
|
* Adding another means another ruling, and the test that pins this list goes red until it has happened.
|
|
699
638
|
*/
|
|
700
|
-
export const FIGURE_NON_AFFINE_OPERATORS = Object.freeze(['geomean@1', 'curve@1', 'max@1', 'min@1', '
|
|
639
|
+
export const FIGURE_NON_AFFINE_OPERATORS = Object.freeze(['geomean@1', 'curve@1', 'max@1', 'min@1', 'hypot@1']);
|
|
701
640
|
/**
|
|
702
641
|
* The operators whose output is not affine in a **state** input: a rotation matrix is sin/cos in the joint
|
|
703
642
|
* angle (motion contract, "two corrections"). Rigid in space, so placement stays rigid; the 8-size check is a
|