@hatiolab/figure-model 0.9.4 → 0.9.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/authoring-actions.js +3 -3
- package/dist/authoring-actions.js.map +1 -1
- package/dist/authoring-fastening.d.ts.map +1 -1
- package/dist/authoring-fastening.js +182 -13
- package/dist/authoring-fastening.js.map +1 -1
- package/dist/authoring-geometry.d.ts +10 -1
- package/dist/authoring-geometry.d.ts.map +1 -1
- package/dist/authoring-geometry.js +41 -3
- package/dist/authoring-geometry.js.map +1 -1
- package/dist/authoring-nodes.d.ts +20 -0
- package/dist/authoring-nodes.d.ts.map +1 -1
- package/dist/authoring-nodes.js +34 -0
- package/dist/authoring-nodes.js.map +1 -1
- package/dist/authoring-occupancy.d.ts.map +1 -1
- package/dist/authoring-occupancy.js +137 -36
- package/dist/authoring-occupancy.js.map +1 -1
- package/dist/authoring-types.d.ts +33 -1
- package/dist/authoring-types.d.ts.map +1 -1
- package/dist/face-overhang.d.ts +22 -2
- package/dist/face-overhang.d.ts.map +1 -1
- package/dist/face-overhang.js +139 -1
- package/dist/face-overhang.js.map +1 -1
- package/dist/fasten-place.d.ts +77 -0
- package/dist/fasten-place.d.ts.map +1 -1
- package/dist/fasten-place.js +214 -2
- package/dist/fasten-place.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/joint-writing.d.ts.map +1 -1
- package/dist/joint-writing.js +60 -4
- package/dist/joint-writing.js.map +1 -1
- package/dist/kernel-version.d.ts +1 -1
- package/dist/kernel-version.js +1 -1
- package/dist/proposal.js +2 -2
- package/dist/proposal.js.map +1 -1
- package/dist/shape-edit.d.ts +1 -1
- package/dist/shape-edit.js +1 -1
- package/dist/shape-extreme.d.ts +55 -4
- package/dist/shape-extreme.d.ts.map +1 -1
- package/dist/shape-extreme.js +118 -4
- package/dist/shape-extreme.js.map +1 -1
- package/dist/size-edit.d.ts +32 -8
- package/dist/size-edit.d.ts.map +1 -1
- package/dist/size-edit.js +68 -125
- package/dist/size-edit.js.map +1 -1
- package/package.json +1 -1
|
@@ -150,16 +150,49 @@ export function facesOfPart(m, id, path) {
|
|
|
150
150
|
fail('EDIT_TARGET', path, `${id} is a ${shape.op}; it has no flat face to fasten by`);
|
|
151
151
|
return { shape, faces: faces };
|
|
152
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* The outward normal `around` degrees round a cylinder's side (ADR-0140 3.9), in its own frame: 0° on the first of its
|
|
155
|
+
* own axes across the push in X, Y, Z order, turning right-handed about the push axis -- push Y: 0° is +X, 90° −Z; push
|
|
156
|
+
* X: 0° is +Y, 90° +Z; push Z: 0° is +X, 90° +Y. `aroundOf` is the way back.
|
|
157
|
+
*/
|
|
158
|
+
export function aroundNormalOf(push, around) {
|
|
159
|
+
const a = AXES.indexOf(push);
|
|
160
|
+
const p0 = a === 0 ? 1 : 0;
|
|
161
|
+
const q = 3 - a - p0;
|
|
162
|
+
/* push × p0 lies along +q when the three are in turn (x y z, y z x, z x y), else along −q. */
|
|
163
|
+
const turn = (a + 1) % 3 === p0 ? 1 : -1;
|
|
164
|
+
const t = (around * Math.PI) / 180;
|
|
165
|
+
const n = [0, 0, 0];
|
|
166
|
+
n[p0] = Math.cos(t);
|
|
167
|
+
n[q] = turn * Math.sin(t);
|
|
168
|
+
return n;
|
|
169
|
+
}
|
|
170
|
+
/** The angle round a cylinder's side a direction across its push points to, in degrees from 0 up to 360 (3.9). */
|
|
171
|
+
export function aroundOf(push, d) {
|
|
172
|
+
const [c, s] = [aroundNormalOf(push, 0), aroundNormalOf(push, 90)].map(n => n.reduce((sum, v, i) => sum + v * d[i], 0));
|
|
173
|
+
const deg = (Math.atan2(s, c) * 180) / Math.PI;
|
|
174
|
+
return ((deg % 360) + 360) % 360;
|
|
175
|
+
}
|
|
153
176
|
/**
|
|
154
177
|
* The axis of the face a joint's child meets: its parent's face by the parent's shape, or the mounting plane's normal
|
|
155
|
-
* (+Z on a wall, +Y otherwise; ADR-0140 3.11).
|
|
178
|
+
* (+Z on a wall, +Y otherwise; ADR-0140 3.11); on a curved surface (3.9), the parent's own axis most along the normal
|
|
179
|
+
* there. None for a joint placed at an origin.
|
|
156
180
|
*/
|
|
157
181
|
export function receivingAxisOf(m, asset, j) {
|
|
158
182
|
if ('plane' in j.body0)
|
|
159
183
|
return figurePlacementOf(asset) === 'wall' ? 'z' : 'y';
|
|
184
|
+
const shape = m.nodes.find((n) => n.id === `${j.body0.part}.shape`);
|
|
185
|
+
if ('surface' in j.body0) {
|
|
186
|
+
const s = j.body0.surface;
|
|
187
|
+
let n;
|
|
188
|
+
if ('toward' in s)
|
|
189
|
+
n = AXES.map(a => s.toward[a] ?? 0);
|
|
190
|
+
else
|
|
191
|
+
n = aroundNormalOf((shape?.params?.axis ?? 'y'), s.around);
|
|
192
|
+
return AXES.reduce((best, a, i) => (Math.abs(n[i]) > Math.abs(n[AXES.indexOf(best)]) + 1e-9 ? a : best), AXES[0]);
|
|
193
|
+
}
|
|
160
194
|
if (!('face' in j.body0))
|
|
161
195
|
return undefined;
|
|
162
|
-
const shape = m.nodes.find((n) => n.id === `${j.body0.part}.shape`);
|
|
163
196
|
return figureShapeFaces(shape, m)?.[j.body0.face]?.axis ?? undefined;
|
|
164
197
|
}
|
|
165
198
|
export const planeOf = (shape, face) => face.plane.map(p => ({ ref: shape.args[p.arg], k: p.k }));
|
|
@@ -253,7 +286,12 @@ export function eulerOfAny(r, exact = false) {
|
|
|
253
286
|
const sy = Math.max(-1, Math.min(1, r[0][2]));
|
|
254
287
|
if (Math.abs(sy) < 1 - 1e-12)
|
|
255
288
|
return [deg(Math.atan2(-r[1][2], r[2][2])), deg(Math.asin(sy)), deg(Math.atan2(-r[0][1], r[0][0]))];
|
|
256
|
-
|
|
289
|
+
/*
|
|
290
|
+
Y a quarter turn: X and Z turn about one axis, Z is taken as 0 and X read from rows 1 and 2 of column 1 -- (sin x,
|
|
291
|
+
cos x) for either sign of Y. Rows 1 of columns 0 and 1 gave the sign of Y to X: at Y −90° a pose was drawn turned the
|
|
292
|
+
other way about X (stage 3, a cylinder's side at 90°, 2026-10-20).
|
|
293
|
+
*/
|
|
294
|
+
return [deg(Math.atan2(r[2][1], r[1][1])), deg(Math.asin(sy)), 0];
|
|
257
295
|
}
|
|
258
296
|
/** XYZ angles in degrees of a rotation written as rigid@1 writes it, Rx·Ry·Rz. */
|
|
259
297
|
export function eulerXYZ(r) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authoring-geometry.js","sourceRoot":"","sources":["../src/authoring-geometry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"authoring-geometry.js","sourceRoot":"","sources":["../src/authoring-geometry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,OAAO,EAAwB,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACpG,OAAO,EAAa,IAAI,EAAE,MAAM,YAAY,CAAA;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EACL,YAAY,EAGZ,IAAI,EAGL,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAYzG,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAmB,EAAc,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAE7E,6FAA6F;AAC7F,SAAS,cAAc,CAAC,KAAc,EAAE,IAAU;IAChD,MAAM,CAAC,GACL,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;IACpH,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAE,CAAC;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAA;IAC/B,MAAM,IAAI,GAAI,CAAqC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAA;IAChE,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAChG,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAU,EAAE,EAAU,EAAE,IAAY;IAC7D,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;IACrC,qFAAqF;IACrF,MAAM,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAA;IACjD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,GAAG,GAAG,EAA0B,CAAA;QACtC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC9B,IAAI,SAAS,IAAI,CAAC;gBAChB,OAAO,IAAI,CACT,aAAa,EACb,IAAI,EACJ,GAAG,EAAE,0FAA0F,CAChG,CAAA;YACH,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAChD,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,OAAO,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,KAAK,CAAC,EAAE,8CAA8C,CAAC,CAAA;AACxG,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,CAAU,EACV,EAAU,EACV,IAAY,EACZ,MAAM,GAAG,KAAK;IAEd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;IACrC,MAAM,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAA;IACjD,IAAI,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,EAAoC,CAAA;QAChD,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACrC,mHAAmH;YACnH,IAAI,KAAK,KAAK,SAAS;gBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAA;;gBAE3E,GAAG,CAAC,IAAI,CAAC,GAAI,KAAmD,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACnH,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;IACnC,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;AAC/C,CAAC;AAED,+GAA+G;AAC/G,MAAM,UAAU,OAAO,CAAC,CAAU,EAAE,KAAc,EAAE,GAAW;IAC7D,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAA;IAC/D,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC,KAAK,CAAA;IACnC,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAA;IACzD,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,IAAI,CAAA;IAC3E,OAAO,IAAI,CAAA;AACb,CAAC;AAED,qIAAqI;AACrI,MAAM,UAAU,MAAM,CAAC,CAAU,EAAE,KAAc,EAAE,EAAU,EAAE,IAAY;IACzE,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC;SACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACrB,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,IAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAEpH;;;;;GAKG;AACH;;;;GAIG;AACH,SAAS,aAAa,CAAC,CAAU,EAAE,KAAc,EAAE,EAAU,EAAE,IAAY,EAAE,MAAe;IAC1F,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;IACvC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO;YACL,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACV,CAAA;IACH,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;QACnG,IAAI,CACF,aAAa,EACb,IAAI,EACJ,GAAG,EAAE,eAAe,QAAQ,CAAC,IAAI,CAAC,0DAA0D,CAC7F,CAAA;IACH,MAAM,CAAC,GAAG,UAAU,CAAC,IAAgB,CAAC,CAAA;IACtC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAA;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACjC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;QACvF,qEAAqE;QACrE,KAAK,MAAM,GAAG,IAAI,GAAG;YAAE,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACzF,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,uHAAuH;AACvH,MAAM,UAAU,UAAU,CAAC,IAAc;IACvC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAA6B,CAAA;IACnF,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAChD,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9C,MAAM,CAAC,GAAG;QACR,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACT,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;KACtB,CAAA;IACD,MAAM,CAAC,GAAG;QACR,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACT,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;KACvB,CAAA;IACD,MAAM,CAAC,GAAG;QACR,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACV,CAAA;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAC5B,CAAC;AACD,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAa,EAAE,CAAa,EAAE,EAAE,CACnD,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AAEtF,MAAM,UAAU,cAAc,CAC5B,CAAU,EACV,KAAc,EACd,EAAU,EACV,IAAY,EACZ,MAAM,GAAG,IAAI;IAEb,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;IACnC,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IACnD,MAAM,QAAQ,GAAG,EAA0B,CAAA;IAC3C,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAA;IACvF,OAAO,QAAQ,CAAA;AACjB,CAAC;AASD,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,GAAU,EAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACjF,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,GAAU,EAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;AACrF,MAAM,KAAK,GAAmC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;AAElH,wGAAwG;AACxG,MAAM,UAAU,WAAW,CACzB,CAAU,EACV,EAAU,EACV,IAAY;IAEZ,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;IACrC,mHAAmH;IACnH,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IACxC,IAAI,CAAC,KAAK;QAAE,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,KAAK,CAAC,EAAE,oCAAoC,CAAC,CAAA;IACjG,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAM,EAAE,CAAA;AACjC,CAAC;AACD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAU,EAAE,MAAc;IACvD,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;IACpB,8FAA8F;IAC9F,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;IAClC,MAAM,CAAC,GAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC7C,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACzB,OAAO,CAAC,CAAA;AACV,CAAC;AAED,kHAAkH;AAClH,MAAM,UAAU,QAAQ,CAAC,IAAU,EAAE,CAAoB;IACvD,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IACxH,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAE,EAAE,CAAE,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAA;IAChD,OAAO,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAA;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,CAAU,EAAE,KAAc,EAAE,CAAc;IACxE,IAAI,OAAO,IAAI,CAAC,CAAC,KAAK;QAAE,OAAO,iBAAiB,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;IAC9E,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAI,CAAC,CAAC,KAA0B,CAAC,IAAI,QAAQ,CAAC,CAAA;IAClG,IAAI,SAAS,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAkB,CAAA;QACpC,IAAI,CAAW,CAAA;QACf,IAAI,QAAQ,IAAI,CAAC;YAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;;YACjD,CAAC,GAAG,cAAc,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,IAAI,GAAG,CAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;QACvE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,CAAA;IACtH,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAC1C,OAAQ,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAE,CAAC,CAAC,KAA0B,CAAC,IAAI,CAAC,EAAE,IAAyB,IAAI,SAAS,CAAA;AAClH,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAc,EAAE,IAAqB,EAAS,EAAE,CACtE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAE3D,2GAA2G;AAC3G,MAAM,UAAU,UAAU,CAAC,CAAU,EAAE,EAAU,EAAE,IAAY;IAC7D,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;IACjD,MAAM,KAAK,GAAgC,EAAE,CAAA;IAC7C,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,EAAE,CAAC,CAAE,CAAC,OAAO,CAAA;IAC3D,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/C,uHAAuH;QACvH,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QAC3B,MAAM,KAAK,GACT,KAAK,IAAI,KAAK,KAAK,SAAS;YAC1B,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,KAAiC,EAAE,CAAC;YAC/E,CAAC,CAAC,SAAS,CAAA;QACf,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;YAAE,SAAQ;QACxB,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK;YAAE,SAAQ;QACpC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,EAAG,CAAC,EAAE,GAAG,GAAG,CAAC,KAAM,CAAC,CAAC,EAC1E,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,EAAG,CAAC,EAAE,GAAG,KAAM,CAAC,CAAA;QACnE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACvF,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAGD;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACV,CAAA;AACD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAa,EAAE,EAAE,CAC1C,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAA;AACnF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC,CAAA;AACvF,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAa,EAAE,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,CAAA;AAC9G,mHAAmH;AACnH,MAAM,CAAC,MAAM,MAAM,GAA+B,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAA;AAEjG,wFAAwF;AACxF,MAAM,UAAU,SAAS,CAAC,MAAqC;IAC7D,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAC7G,CAAC;AACD;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,CAAa;IACjC,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE;QACxB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;QACrC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxB,CAAC,CAAA;IACD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAA;IAChD,MAAM,GAAG,GACP,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK;QACtB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,CAAC,EAAE;QAC/G,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;IAChF,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAC3E,CAAC;AACD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAa,EAAE,EAAE,CAC/C,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;AAExF,8CAA8C;AAC9C,MAAM,UAAU,QAAQ,CAAC,IAAU,EAAE,GAAW;IAC9C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,EACvC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAA;IACrC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IACrD,MAAM,CAAC,GAAG;QACR,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACV,CAAA;IACD,CAAC,CAAC,CAAE,CAAE,CAAC,CAAE,CAAC,GAAG,CAAC,CAAA;IACd,CAAC,CAAC,CAAE,CAAE,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC,CAAA;IACf,CAAC,CAAC,CAAE,CAAE,CAAC,CAAE,CAAC,GAAG,CAAC,CAAA;IACd,CAAC,CAAC,CAAE,CAAE,CAAC,CAAE,CAAC,GAAG,CAAC,CAAA;IACd,OAAO,CAAC,CAAA;AACV,CAAC;AAGD,MAAM,aAAa,GAAiB,CAAC,GAAG,EAAE;IACxC,MAAM,GAAG,GAAiB,EAAE,CAAA;IAC5B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;YAC/B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;gBAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;oBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC5F,CAAC;IACL,OAAO,GAAG,CAAA;AACZ,CAAC,CAAC,EAAE,CAAA;AAEJ,kGAAkG;AAClG,MAAM,UAAU,UAAU,CAAC,CAAa,EAAE,KAAK,GAAG,KAAK;IACrD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE;QACxB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;QAC/F,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxB,CAAC,CAAA;IACD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAA;IAC/C,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK;QAC1B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAA;IAC7G;;;;MAIE;IACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACvE,CAAC;AAID,kFAAkF;AAClF,MAAM,UAAU,QAAQ,CAAC,CAAa;IACpC,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IAC1D,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAA;IAC/C,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACxB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC7F,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAA;AAClG,CAAC"}
|
|
@@ -7,6 +7,26 @@ export declare const fail: (code: string, path: string, message: string, details
|
|
|
7
7
|
export declare const clone: (asset: FigureAsset) => Dynamic;
|
|
8
8
|
export declare const nodeById: (m: Dynamic, id: string) => any;
|
|
9
9
|
export declare const writerOf: (m: Dynamic, ref: string) => any;
|
|
10
|
+
/**
|
|
11
|
+
* The same sum read back through the sums and scalings that make it up, down to what no command rewrites: the inputs,
|
|
12
|
+
* and values that are not a sum (a row's count). A declared room that read a node a joint writes -- where a leg stands,
|
|
13
|
+
* a share of the figure's depth -- was broken by the next fastening, which writes that joint's nodes afresh: the gantry
|
|
14
|
+
* could not be re-fastened once its room was declared (UNKNOWN_REFERENCE, 2026-09-25). Two measures that come to the
|
|
15
|
+
* same sum here come from the same source (ADR-0140 3.9).
|
|
16
|
+
*/
|
|
17
|
+
export declare function throughSums(m: Dynamic, sum: {
|
|
18
|
+
terms: Array<{
|
|
19
|
+
ref: string;
|
|
20
|
+
k: number;
|
|
21
|
+
}>;
|
|
22
|
+
c: number;
|
|
23
|
+
}): {
|
|
24
|
+
terms: Array<{
|
|
25
|
+
ref: string;
|
|
26
|
+
k: number;
|
|
27
|
+
}>;
|
|
28
|
+
c: number;
|
|
29
|
+
};
|
|
10
30
|
/** A part an authoring command can work with, and the pieces of it those commands need. */
|
|
11
31
|
/** The part whose row carries this one -- fastened to it, however far down -- or undefined. */
|
|
12
32
|
export declare function rowHolding(m: Dynamic, id: string): string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authoring-nodes.d.ts","sourceRoot":"","sources":["../src/authoring-nodes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"authoring-nodes.d.ts","sourceRoot":"","sources":["../src/authoring-nodes.ts"],"names":[],"mappings":"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"}
|
package/dist/authoring-nodes.js
CHANGED
|
@@ -15,6 +15,40 @@ export const fail = (code, path, message, details) => {
|
|
|
15
15
|
export const clone = (asset) => structuredClone(asset);
|
|
16
16
|
export const nodeById = (m, id) => m.nodes.find((n) => n.id === id);
|
|
17
17
|
export const writerOf = (m, ref) => m.nodes.find((n) => Object.values(n.outputs).includes(ref));
|
|
18
|
+
/**
|
|
19
|
+
* The same sum read back through the sums and scalings that make it up, down to what no command rewrites: the inputs,
|
|
20
|
+
* and values that are not a sum (a row's count). A declared room that read a node a joint writes -- where a leg stands,
|
|
21
|
+
* a share of the figure's depth -- was broken by the next fastening, which writes that joint's nodes afresh: the gantry
|
|
22
|
+
* could not be re-fastened once its room was declared (UNKNOWN_REFERENCE, 2026-09-25). Two measures that come to the
|
|
23
|
+
* same sum here come from the same source (ADR-0140 3.9).
|
|
24
|
+
*/
|
|
25
|
+
export function throughSums(m, sum) {
|
|
26
|
+
const add = (a, b) => ({ terms: [...a.terms, ...b.terms], c: a.c + b.c });
|
|
27
|
+
const constant = (ref) => m.constants.find((c) => c.id === ref)?.value;
|
|
28
|
+
const ratio = (ref) => m.constants.find((c) => c.id === ref && c.unit === 'ratio')?.value;
|
|
29
|
+
const expand = (ref, k, depth) => {
|
|
30
|
+
const c = constant(ref);
|
|
31
|
+
if (c !== undefined)
|
|
32
|
+
return { terms: [], c: c * k };
|
|
33
|
+
const w = depth < 256 ? writerOf(m, ref) : undefined;
|
|
34
|
+
if (w?.op === 'add@1')
|
|
35
|
+
return w.args.reduce((total, arg) => add(total, expand(arg, k, depth + 1)), { terms: [], c: 0 });
|
|
36
|
+
/* Only a length times a ratio: what is left is then a length, as each term of the room must be. */
|
|
37
|
+
if (w?.op === 'mul@1') {
|
|
38
|
+
const [a, b] = w.args;
|
|
39
|
+
if (ratio(b) !== undefined)
|
|
40
|
+
return expand(a, k * ratio(b), depth + 1);
|
|
41
|
+
if (ratio(a) !== undefined)
|
|
42
|
+
return expand(b, k * ratio(a), depth + 1);
|
|
43
|
+
}
|
|
44
|
+
return { terms: [{ ref, k }], c: 0 };
|
|
45
|
+
};
|
|
46
|
+
const flat = sum.terms.reduce((total, t) => add(total, expand(t.ref, t.k, 0)), { terms: [], c: sum.c });
|
|
47
|
+
const by = new Map();
|
|
48
|
+
for (const t of flat.terms)
|
|
49
|
+
by.set(t.ref, (by.get(t.ref) ?? 0) + t.k);
|
|
50
|
+
return { terms: [...by].filter(([, k]) => k !== 0).map(([ref, k]) => ({ ref, k })), c: flat.c };
|
|
51
|
+
}
|
|
18
52
|
/** A part an authoring command can work with, and the pieces of it those commands need. */
|
|
19
53
|
/** The part whose row carries this one -- fastened to it, however far down -- or undefined. */
|
|
20
54
|
export function rowHolding(m, id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authoring-nodes.js","sourceRoot":"","sources":["../src/authoring-nodes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"authoring-nodes.js","sourceRoot":"","sources":["../src/authoring-nodes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authoring-occupancy.d.ts","sourceRoot":"","sources":["../src/authoring-occupancy.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAqB,MAAM,kBAAkB,CAAA;AAC5F,OAAO,EAEL,KAAK,UAAU,EAGf,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"authoring-occupancy.d.ts","sourceRoot":"","sources":["../src/authoring-occupancy.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAqB,MAAM,kBAAkB,CAAA;AAC5F,OAAO,EAEL,KAAK,UAAU,EAGf,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAA;AA6B7B,KAAK,OAAO,GAAG,GAAG,CAAA;AAitBlB,6GAA6G;AAC7G,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAAO,GACxC,uBAAuB,CAgCzB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,SAAS,EAAE,eAAe,CAAA;CAAE,GAAG,OAAO,CAqB9G;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,OAAO,EACd,CAAC,EAAE,OAAO,CAAC,qBAAqB,EAAE;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,CAAC,GAC/D,OAAO,CAqFT;AAED,uGAAuG;AACvG,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,EACd,CAAC,EAAE;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC/D,OAAO,CAwBT;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAIzD"}
|
|
@@ -10,7 +10,7 @@ import { FigureContractError } from "./contract.js";
|
|
|
10
10
|
import { AXES } from "./words.js";
|
|
11
11
|
import { FIGURE_PLACEMENTS } from "./asset-types.js";
|
|
12
12
|
import { FIGURE_FACES } from "./authoring-types.js";
|
|
13
|
-
import { fail, nodeById, writerOf, rowHolding, partOf, namer, constantOf, dropIfUnused, parentOf, round6, stringsIn } from "./authoring-nodes.js";
|
|
13
|
+
import { fail, nodeById, writerOf, throughSums, rowHolding, partOf, namer, constantOf, dropIfUnused, parentOf, round6, stringsIn } from "./authoring-nodes.js";
|
|
14
14
|
import { isReach, sizeRefsOf, occupiedExtentsOf, angleOf, turnMatrix, mul3, standingRefsOf, half, IDENTITY } from "./authoring-geometry.js";
|
|
15
15
|
/** A figure as one value, for saying "this is the figure I read". The declaration itself is left out of it. */
|
|
16
16
|
function fingerprintOf(asset) {
|
|
@@ -59,34 +59,6 @@ const linOf = (m, ref) => {
|
|
|
59
59
|
const constant = m.constants.find((c) => c.id === ref);
|
|
60
60
|
return constant ? { terms: [], c: constant.value } : { terms: [{ ref, k: 1 }], c: 0 };
|
|
61
61
|
};
|
|
62
|
-
/**
|
|
63
|
-
* The same sum read back through the sums and scalings that make it up, down to what no command rewrites: the inputs,
|
|
64
|
-
* and values that are not a sum (a row's count). A declared room that read a node a joint writes -- where a leg stands,
|
|
65
|
-
* a share of the figure's depth -- was broken by the next fastening, which writes that joint's nodes afresh: the gantry
|
|
66
|
-
* could not be re-fastened once its room was declared (UNKNOWN_REFERENCE, 2026-09-25).
|
|
67
|
-
*/
|
|
68
|
-
function linThroughSums(m, lin) {
|
|
69
|
-
const constant = (ref) => m.constants.find((c) => c.id === ref)?.value;
|
|
70
|
-
const ratio = (ref) => m.constants.find((c) => c.id === ref && c.unit === 'ratio')?.value;
|
|
71
|
-
const expand = (ref, k, depth) => {
|
|
72
|
-
const c = constant(ref);
|
|
73
|
-
if (c !== undefined)
|
|
74
|
-
return { terms: [], c: c * k };
|
|
75
|
-
const w = depth < 256 ? writerOf(m, ref) : undefined;
|
|
76
|
-
if (w?.op === 'add@1')
|
|
77
|
-
return w.args.reduce((sum, arg) => linAdd(sum, expand(arg, k, depth + 1)), { terms: [], c: 0 });
|
|
78
|
-
/* Only a length times a ratio: what is left is then a length, as each term of the room must be. */
|
|
79
|
-
if (w?.op === 'mul@1') {
|
|
80
|
-
const [a, b] = w.args;
|
|
81
|
-
if (ratio(b) !== undefined)
|
|
82
|
-
return expand(a, k * ratio(b), depth + 1);
|
|
83
|
-
if (ratio(a) !== undefined)
|
|
84
|
-
return expand(b, k * ratio(a), depth + 1);
|
|
85
|
-
}
|
|
86
|
-
return { terms: [{ ref, k }], c: 0 };
|
|
87
|
-
};
|
|
88
|
-
return linNorm(lin.terms.reduce((sum, t) => linAdd(sum, expand(t.ref, t.k, 0)), { terms: [], c: lin.c }));
|
|
89
|
-
}
|
|
90
62
|
/**
|
|
91
63
|
* How far a slide has gone when its control is at one end of its range, as a sum: each control at that end, what the
|
|
92
64
|
* figure's sizes make of the rest. A mimic of a leader whose stroke follows a length is the leader's ratio times that
|
|
@@ -304,12 +276,20 @@ function sizeValue(m, ref, seen = 0) {
|
|
|
304
276
|
* How long a value can be, at most, as a sum that holds at every design size: each input's coefficient taken
|
|
305
277
|
* positive. Sound only over inputs that are never below zero (sizes), so any other input makes it unreadable.
|
|
306
278
|
*/
|
|
307
|
-
function magnitudeOf(m,
|
|
279
|
+
function magnitudeOf(m, sum) {
|
|
308
280
|
let out = { terms: [], c: 0 };
|
|
281
|
+
/* Read through its sums first: what cancels there -- a rim's place taken back out of a pose -- is not counted. */
|
|
282
|
+
const lin = throughSums(m, sum);
|
|
309
283
|
for (const t of lin.terms) {
|
|
310
284
|
const a = affineOf(m, t.ref);
|
|
311
|
-
if (!a)
|
|
312
|
-
|
|
285
|
+
if (!a) {
|
|
286
|
+
/* A value held by bounds (`boundsOf`): no larger than its bound -- √(x·y) ≤ (|x| + |y|) / 2, a largest or least ≤ the larger. */
|
|
287
|
+
const bound = boundedMagnitudeOf(m, t.ref);
|
|
288
|
+
if (!bound)
|
|
289
|
+
return null;
|
|
290
|
+
out = linAdd(out, bound, Math.abs(t.k));
|
|
291
|
+
continue;
|
|
292
|
+
}
|
|
313
293
|
for (const u of a.terms) {
|
|
314
294
|
if (!sizeValue(m, u.ref))
|
|
315
295
|
return null;
|
|
@@ -320,6 +300,119 @@ function magnitudeOf(m, lin) {
|
|
|
320
300
|
out.c += Math.abs(lin.c);
|
|
321
301
|
return out;
|
|
322
302
|
}
|
|
303
|
+
/**
|
|
304
|
+
* Places a fastening writes that are not sums (ADR-0140 3.9) are held by bounds, each a few sums (chief architect
|
|
305
|
+
* 2026-10-20): the room takes them as candidates, the least of the lows and the greatest of the highs, so it holds at
|
|
306
|
+
* every design size though it may be wider than the parts by a little -- and says by how much (`bounded`).
|
|
307
|
+
* - where a part lined up with a disc's rim stands, √((R − E)(R + E));
|
|
308
|
+
* - a point of an ellipsoid of two radii, r_i² · n_i / hypot(r·n), written as (r_i · r_i · n_i) / hypot: it lies on the
|
|
309
|
+
* ellipsoid, so between 0 and r_i on the side n_i points to.
|
|
310
|
+
* A root of sizes alone -- the one ratio a figure grows by -- is a size, read as it is (`sizeValue`).
|
|
311
|
+
*/
|
|
312
|
+
function boundedKind(m, ref) {
|
|
313
|
+
const w = writerOf(m, ref);
|
|
314
|
+
if (w?.op === 'geomean@1' && !sizeValue(m, ref))
|
|
315
|
+
return { root: [w.args[0], w.args[1]] };
|
|
316
|
+
if (w?.op !== 'div@1')
|
|
317
|
+
return undefined;
|
|
318
|
+
const top = writerOf(m, w.args[0]);
|
|
319
|
+
const k = top?.op === 'mul@1' ? m.constants.find((c) => c.id === top.args[1] && c.unit === 'ratio')?.value : undefined;
|
|
320
|
+
const square = k ? writerOf(m, top.args[0]) : undefined;
|
|
321
|
+
if (square?.op !== 'mul@1' || square.args[0] !== square.args[1])
|
|
322
|
+
return undefined;
|
|
323
|
+
return { point: { radius: square.args[0], sign: k > 0 ? 1 : -1 } };
|
|
324
|
+
}
|
|
325
|
+
const isBounded = (m, ref) => boundedKind(m, ref) !== undefined;
|
|
326
|
+
/**
|
|
327
|
+
* Sums that bound a value from above (`up`: its greatest is at least the value) or below (its least is at most it):
|
|
328
|
+
* √(x·y) ∈ [min(x, y), (x + y) / 2] a point of an ellipsoid ∈ [0, r_i] on the side n_i points to
|
|
329
|
+
* read through the sums and ratios that make it up; a term with a negative factor bounded the other way. What is
|
|
330
|
+
* inside the root -- the largest of R − E and 0 -- is read as it is, as the room reads any largest.
|
|
331
|
+
*/
|
|
332
|
+
function boundsOf(m, lin, up, seen = 0) {
|
|
333
|
+
const flat = throughSums(m, lin);
|
|
334
|
+
let out = [{ terms: [], c: flat.c }];
|
|
335
|
+
for (const t of flat.terms) {
|
|
336
|
+
let candidates = [{ terms: [t], c: 0 }];
|
|
337
|
+
const kind = seen < 64 ? boundedKind(m, t.ref) : undefined;
|
|
338
|
+
if (kind) {
|
|
339
|
+
const way = t.k > 0 ? up : !up;
|
|
340
|
+
let raw;
|
|
341
|
+
if ('root' in kind) {
|
|
342
|
+
const each = kind.root.map(ref => boundsOf(m, { terms: [{ ref, k: 1 }], c: 0 }, way, seen + 1));
|
|
343
|
+
raw = way ? each[0].flatMap(x => each[1].map(y => linAdd({ terms: [], c: 0 }, linAdd(x, y), 0.5))) : each.flat();
|
|
344
|
+
}
|
|
345
|
+
else {
|
|
346
|
+
/* Toward its side the radius, away from it the middle. */
|
|
347
|
+
const far = kind.point.sign > 0 === way;
|
|
348
|
+
raw = far ? boundsOf(m, { terms: [{ ref: kind.point.radius, k: kind.point.sign }], c: 0 }, way, seen + 1) : [{ terms: [], c: 0 }];
|
|
349
|
+
}
|
|
350
|
+
candidates = raw.map(c => linAdd({ terms: [], c: 0 }, c, t.k));
|
|
351
|
+
}
|
|
352
|
+
out = out.flatMap(o => candidates.map(c => linAdd(o, c)));
|
|
353
|
+
}
|
|
354
|
+
return out.map(linNorm);
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* How large a bounded root can be, as one sum of sizes: √(x·y) no more than (|x| + |y|) / 2; the largest or least of
|
|
358
|
+
* values inside it no more than the larger of them.
|
|
359
|
+
*/
|
|
360
|
+
function boundedMagnitudeOf(m, ref, inside = false) {
|
|
361
|
+
const w = writerOf(m, ref);
|
|
362
|
+
const kind = boundedKind(m, ref);
|
|
363
|
+
if (kind && 'point' in kind)
|
|
364
|
+
return magnitudeOf(m, { terms: [{ ref: kind.point.radius, k: 1 }], c: 0 });
|
|
365
|
+
if (!(kind || (inside && (w?.op === 'max@1' || w?.op === 'min@1'))))
|
|
366
|
+
return null;
|
|
367
|
+
const each = w.args.map(a => {
|
|
368
|
+
const lin = throughSums(m, { terms: [{ ref: a, k: 1 }], c: 0 });
|
|
369
|
+
let out = { terms: [], c: Math.abs(lin.c) };
|
|
370
|
+
for (const t of lin.terms) {
|
|
371
|
+
const size = affineOf(m, t.ref) ? magnitudeOf(m, { terms: [t], c: 0 }) : boundedMagnitudeOf(m, t.ref, true);
|
|
372
|
+
if (!size)
|
|
373
|
+
return null;
|
|
374
|
+
out = linAdd(out, size, Math.abs(t.k));
|
|
375
|
+
}
|
|
376
|
+
return out;
|
|
377
|
+
});
|
|
378
|
+
if (each.some(e => !e))
|
|
379
|
+
return null;
|
|
380
|
+
if (w.op === 'geomean@1')
|
|
381
|
+
return linAdd({ terms: [], c: 0 }, linAdd(each[0], each[1]), 0.5);
|
|
382
|
+
return each.reduce((a, b) => linAtLeast(a, b));
|
|
383
|
+
}
|
|
384
|
+
/** The values held by bounds a part's place reads, up what carries it: its room may be wider than it there. */
|
|
385
|
+
function boundsUnder(m, id) {
|
|
386
|
+
const found = new Set();
|
|
387
|
+
for (let part = id; part; part = parentOf(m, part))
|
|
388
|
+
for (const node of [nodeById(m, `${part}.pose`), nodeById(m, `${part}.seat.rigid`)])
|
|
389
|
+
for (const ref of (node?.args ?? []).slice(0, 3))
|
|
390
|
+
for (const t of throughSums(m, linOf(m, ref)).terms)
|
|
391
|
+
if (isBounded(m, t.ref))
|
|
392
|
+
found.add(t.ref);
|
|
393
|
+
return [...found];
|
|
394
|
+
}
|
|
395
|
+
/**
|
|
396
|
+
* How much wider than a bounded value its room may be, at the figure's values, in mm: the greatest of its bound over
|
|
397
|
+
* the value -- (x + y) / 2 − √(x·y) for a root, r_i − |p_i| for a point of an ellipsoid (chief architect 2026-10-20).
|
|
398
|
+
*/
|
|
399
|
+
function boundedWidthOf(m, values, refs) {
|
|
400
|
+
let most = 0;
|
|
401
|
+
for (const ref of refs) {
|
|
402
|
+
const kind = boundedKind(m, ref);
|
|
403
|
+
const v = Math.abs(values[ref] ?? 0);
|
|
404
|
+
const wide = 'root' in kind ? (values[kind.root[0]] + values[kind.root[1]]) / 2 - v : Math.abs(values[kind.point.radius]) - v;
|
|
405
|
+
most = Math.max(most, wide);
|
|
406
|
+
}
|
|
407
|
+
return Math.round(most * 10) / 10;
|
|
408
|
+
}
|
|
409
|
+
/** Every low candidate bounded from below and every high one from above, so the room holds whatever they come to. */
|
|
410
|
+
function boundedSides(m, low, high) {
|
|
411
|
+
for (const axis of AXES) {
|
|
412
|
+
low[axis] = low[axis].flatMap(l => boundsOf(m, l, false));
|
|
413
|
+
high[axis] = high[axis].flatMap(l => boundsOf(m, l, true));
|
|
414
|
+
}
|
|
415
|
+
}
|
|
323
416
|
/**
|
|
324
417
|
* Where a part carried by a turn can reach: a ball about the point the first turn above it turns about, as wide as
|
|
325
418
|
* every step from there to the part laid end to end, plus the part's own half size on each axis (the triangle
|
|
@@ -406,6 +499,7 @@ function occupancyLins(asset, over) {
|
|
|
406
499
|
const m = asset.document.model;
|
|
407
500
|
const parts = [];
|
|
408
501
|
const skipped = [];
|
|
502
|
+
const bounded = [];
|
|
409
503
|
const low = { x: [], y: [], z: [] };
|
|
410
504
|
const high = { x: [], y: [], z: [] };
|
|
411
505
|
/* Parts carried by the same turn share one ball: its radius the larger of theirs, term by term. */
|
|
@@ -646,7 +740,10 @@ function occupancyLins(asset, over) {
|
|
|
646
740
|
}
|
|
647
741
|
}
|
|
648
742
|
}
|
|
649
|
-
|
|
743
|
+
for (const part of parts)
|
|
744
|
+
if (boundsUnder(m, part).length)
|
|
745
|
+
bounded.push(part);
|
|
746
|
+
return { parts, skipped, bounded, low, high, balls: [...balls.values()] };
|
|
650
747
|
}
|
|
651
748
|
const valueOfLin = (values, l) => l.terms.reduce((s, t) => s + t.k * (values[t.ref] ?? NaN), l.c);
|
|
652
749
|
/** What the parts come to, and what a person is being asked to confirm. Reads the asset; changes nothing. */
|
|
@@ -656,12 +753,13 @@ export function proposeFigureOccupancy(asset, options = {}) {
|
|
|
656
753
|
if (over !== 'rest' && over !== 'range')
|
|
657
754
|
fail('SCHEMA', 'over', `${String(over)} is neither rest nor range`);
|
|
658
755
|
const source = structuredClone(asset);
|
|
659
|
-
const { parts, skipped, low, high, balls } = occupancyLins(source, over);
|
|
756
|
+
const { parts, skipped, bounded, low, high, balls } = occupancyLins(source, over);
|
|
660
757
|
for (const ball of balls)
|
|
661
758
|
for (const axis of AXES) {
|
|
662
759
|
low[axis].push(linAdd(ball.centre[axis], ball.radius, -1));
|
|
663
760
|
high[axis].push(linAdd(ball.centre[axis], ball.radius, 1));
|
|
664
761
|
}
|
|
762
|
+
boundedSides(source.document.model, low, high);
|
|
665
763
|
if (!parts.length)
|
|
666
764
|
fail('OCCUPANCY_NO_PARTS', 'occupancy', `no part could be measured${skipped.length ? `: ${skipped.map(s => `${s.part} — ${s.reason}`).join('; ')}` : ''}`);
|
|
667
765
|
const values = compileFigureGraph(source.document.model).evaluate({ ...source.designInputs, ...source.stateDefaults })
|
|
@@ -673,7 +771,9 @@ export function proposeFigureOccupancy(asset, options = {}) {
|
|
|
673
771
|
max: round6(Math.max(...high[axis].map(l => valueOfLin(values, l))))
|
|
674
772
|
}
|
|
675
773
|
]));
|
|
676
|
-
|
|
774
|
+
const m = source.document.model;
|
|
775
|
+
const held = bounded.map(part => ({ part, mm: boundedWidthOf(m, values, boundsUnder(m, part)) }));
|
|
776
|
+
return { over, at, parts, skipped, ...(held.length ? { bounded: held } : {}), basis: fingerprintOf(source) };
|
|
677
777
|
}
|
|
678
778
|
/**
|
|
679
779
|
* The placement says which plane the mounting plane is. A part fastened to it in a way the new plane does not take --
|
|
@@ -721,6 +821,7 @@ export function declareOccupancy(asset, a) {
|
|
|
721
821
|
low[axis].push(linAdd(ball.centre[axis], ball.radius, -1));
|
|
722
822
|
high[axis].push(linAdd(ball.centre[axis], ball.radius, 1));
|
|
723
823
|
}
|
|
824
|
+
boundedSides(m, low, high);
|
|
724
825
|
for (const axis of AXES) {
|
|
725
826
|
if (!padding[axis])
|
|
726
827
|
continue;
|
|
@@ -733,7 +834,7 @@ export function declareOccupancy(asset, a) {
|
|
|
733
834
|
const args = [];
|
|
734
835
|
const layout = AXES.flatMap(axis => [low[axis], high[axis]]).map(side => side
|
|
735
836
|
.map((l) => {
|
|
736
|
-
const n =
|
|
837
|
+
const n = throughSums(m, l);
|
|
737
838
|
args.push(constantOf(m, 'mm', round6(n.c), 'd'));
|
|
738
839
|
for (const t of n.terms)
|
|
739
840
|
args.push(t.ref, constantOf(m, 'ratio', t.k, 'k'));
|