@hatiolab/figure-model 0.2.0 → 0.2.2

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.
@@ -4,5 +4,5 @@
4
4
  * different result. Kept equal to package.json's version by `npm version` (the `version` script rewrites this file)
5
5
  * and by `kernel-version.test.ts`.
6
6
  */
7
- export declare const FIGURE_KERNEL_VERSION = "0.2.0";
7
+ export declare const FIGURE_KERNEL_VERSION = "0.2.2";
8
8
  //# sourceMappingURL=kernel-version.d.ts.map
@@ -7,5 +7,5 @@
7
7
  * different result. Kept equal to package.json's version by `npm version` (the `version` script rewrites this file)
8
8
  * and by `kernel-version.test.ts`.
9
9
  */
10
- export const FIGURE_KERNEL_VERSION = '0.2.0';
10
+ export const FIGURE_KERNEL_VERSION = '0.2.2';
11
11
  //# sourceMappingURL=kernel-version.js.map
@@ -50,6 +50,6 @@ export declare const FIGURE_PROPOSAL_GRAMMAR: readonly FigureProposalWord[];
50
50
  /** Taken only through a word of its own (`fit-room` asks the kernel for the proposal it confirms). */
51
51
  type LeftOut = 'declare-occupancy';
52
52
  export type _GrammarComplete = Exhaustive<Exclude<FigureAuthoringAction['kind'] | FigurePartEdit['kind'], LeftOut | (typeof FIGURE_PROPOSAL_KINDS)[number]>>;
53
- export declare const FIGURE_PROPOSAL_KINDS: readonly ["add-part", "set-section-corner", "set-cavity", "set-placement", "attach", "set-joint", "declare-instance-size", "link-dimension", "follow-size", "unlink-dimension", "scale-uniformly", "follow-size-in-proportion", "scale-position", "fix-position", "nudge-part", "detach", "remove-joint", "make-repeat", "set-repeat", "add-design-input", "set-input-range", "publish-input", "unpublish-input", "remove-repeat", "add-binding", "remove-binding", "fit-room", "set-mounting-face", "clear-mounting-face", "set-detail-level", "rename", "set-material", "set-segments", "rename-part", "set-visibility", "remove-part", "duplicate-part", "move-part", "set-capabilities", "set-state-input", "set-state-defaults", "set-driver", "remove-driver", "set-clip"];
53
+ export declare const FIGURE_PROPOSAL_KINDS: readonly ["add-part", "set-section-corner", "set-cavity", "set-section-points", "set-placement", "attach", "set-joint", "declare-instance-size", "link-dimension", "follow-size", "unlink-dimension", "scale-uniformly", "follow-size-in-proportion", "scale-position", "fix-position", "nudge-part", "detach", "remove-joint", "make-repeat", "set-repeat", "add-design-input", "set-input-range", "publish-input", "unpublish-input", "remove-repeat", "add-binding", "remove-binding", "fit-room", "set-mounting-face", "clear-mounting-face", "set-detail-level", "rename", "set-material", "set-segments", "rename-part", "set-visibility", "remove-part", "duplicate-part", "move-part", "set-capabilities", "set-state-input", "set-state-defaults", "set-driver", "remove-driver", "set-clip"];
54
54
  export {};
55
55
  //# sourceMappingURL=proposal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proposal.d.ts","sourceRoot":"","sources":["../src/proposal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAGnF,OAAO,EAAsB,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAC9E,OAAO,EAAkF,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AACnJ,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpE,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAG5F,qGAAqG;AACrG,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,EAAE,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,uBAAuB,CAAC,UAAU,CAAC,CAAA;KAAE,CAAA;CACrG;AACD,iGAAiG;AACjG,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,eAAe,CAAA;CAC3B;AACD,MAAM,MAAM,kBAAkB,GAAG,qBAAqB,GAAG,qBAAqB,GAAG,qBAAqB,GAAG,cAAc,CAAA;AAGvH,QAAA,MAAM,eAAe,kOAciC,CAAA;AACtD,KAAK,UAAU,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAA;AACpC,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAElH;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,kBAAkB,EAAE,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,WAAW,CA2BvI;AAED,mGAAmG;AACnG,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAQD;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,kBAAkB,EA4FhE,CAAA;AAMD,sGAAsG;AACtG,KAAK,OAAO,GAAG,mBAAmB,CAAA;AAClC,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAC5J,eAAO,MAAM,qBAAqB,kvBA6CxB,CAAA"}
1
+ {"version":3,"file":"proposal.d.ts","sourceRoot":"","sources":["../src/proposal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAGnF,OAAO,EAAsB,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAC9E,OAAO,EAAkF,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AACnJ,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpE,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAG5F,qGAAqG;AACrG,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,EAAE,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,uBAAuB,CAAC,UAAU,CAAC,CAAA;KAAE,CAAA;CACrG;AACD,iGAAiG;AACjG,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,eAAe,CAAA;CAC3B;AACD,MAAM,MAAM,kBAAkB,GAAG,qBAAqB,GAAG,qBAAqB,GAAG,qBAAqB,GAAG,cAAc,CAAA;AAGvH,QAAA,MAAM,eAAe,kOAciC,CAAA;AACtD,KAAK,UAAU,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAA;AACpC,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAElH;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,kBAAkB,EAAE,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,WAAW,CA2BvI;AAED,mGAAmG;AACnG,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAQD;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,kBAAkB,EAkGhE,CAAA;AAMD,sGAAsG;AACtG,KAAK,OAAO,GAAG,mBAAmB,CAAA;AAClC,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAC5J,eAAO,MAAM,qBAAqB,wwBA8CxB,CAAA"}
package/dist/proposal.js CHANGED
@@ -97,6 +97,11 @@ export const FIGURE_PROPOSAL_GRAMMAR = [
97
97
  shape: `{ kind: 'set-cavity', part, cavity: { wall: mm | { 'x-', 'x+', 'z-', 'z+' }: mm, start: 'open' | { closed: mm }, end: 'open' | { closed: mm } } | null }`,
98
98
  means: 'An inside space in a box or a cylinder, the same part: its walls, and each end open or closed by that thickness (open at the end and closed at the start is a tote; open at both a pipe). null takes it away. Refused while something is fastened to a face it takes away.'
99
99
  },
100
+ {
101
+ kind: 'set-section-points',
102
+ shape: `{ kind: 'set-section-points', part, points: [{ id, x, z }, …] }`,
103
+ means: "A drawn section's points, all at once, in X-Z: keep a point's id to move it, give a new id (the next p<n>) to add one, leave one out to delete it. Three points or more, sides that do not cross; refused while a point follows another value it would move."
104
+ },
100
105
  {
101
106
  kind: 'attach',
102
107
  shape: `{ kind: 'attach', part, face: ${faces} | 'centre', to: { plane: 'mounting-plane' } | { part, face: ${faces} }, facing?: 'meet' | 'flush', gap?: ${measure}, align?: { ${axes}?: ${alignment} }, twist?: degrees, replace?: true }`,
@@ -175,6 +180,7 @@ export const FIGURE_PROPOSAL_KINDS = [
175
180
  'add-part',
176
181
  'set-section-corner',
177
182
  'set-cavity',
183
+ 'set-section-points',
178
184
  'set-placement',
179
185
  'attach',
180
186
  'set-joint',
@@ -1 +1 @@
1
- {"version":3,"file":"proposal.js","sourceRoot":"","sources":["../src/proposal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proposal.js","sourceRoot":"","sources":["../src/proposal.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type FigureSectionPoint } from './section.ts';
1
2
  import type { Axis } from './words.ts';
2
3
  type Dynamic = any;
3
4
  /** A part's inside, as a command sets it: one wall for every side or one per side, and each end open or closed. */
@@ -18,5 +19,13 @@ export interface FigureCavityRequest {
18
19
  export declare function setFigureSectionCorner(asset: Dynamic, part: string, corner: number | Partial<Record<Axis, number>> | null, drop: (ref: string, owned?: string) => void): void;
19
20
  /** Give a pushed rectangle or ellipse an inside, change it, or take it away (`null`). */
20
21
  export declare function setFigureCavity(asset: Dynamic, part: string, cavity: FigureCavityRequest | null, drop: (ref: string, owned?: string) => void): void;
22
+ /**
23
+ * A drawn section's points, set at once (ADR-0100 §3.2): points moved, added or deleted in one step. A point keeps its
24
+ * id, so a moved point is the same point and its sides keep their names; a new point brings its own id (Q9: the next
25
+ * number, given by the editor). The section must be valid as it stands -- the kernel's own checks, named in the refusal
26
+ * -- and is written counter-clockwise. A coordinate that follows another value is kept when it is not moved and refused
27
+ * when it is, until it is unlinked.
28
+ */
29
+ export declare function setFigureSectionPoints(asset: Dynamic, part: string, points: readonly FigureSectionPoint[], drop: (ref: string, owned?: string) => void): void;
21
30
  export {};
22
31
  //# sourceMappingURL=shape-edit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shape-edit.d.ts","sourceRoot":"","sources":["../src/shape-edit.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEtC,KAAK,OAAO,GAAG,GAAG,CAAA;AAKlB,mHAAmH;AACnH,MAAM,WAAW,mBAAmB;IAClC,gGAAgG;IAChG,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC9C,KAAK,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAClC,GAAG,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CACjC;AAwHD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,EACrD,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,GAC1C,IAAI,CAqCN;AAED,yFAAyF;AACzF,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,mBAAmB,GAAG,IAAI,EAClC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,GAC1C,IAAI,CAmDN"}
1
+ {"version":3,"file":"shape-edit.d.ts","sourceRoot":"","sources":["../src/shape-edit.ts"],"names":[],"mappings":"AAaA,OAAO,EAA8C,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAClG,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEtC,KAAK,OAAO,GAAG,GAAG,CAAA;AAKlB,mHAAmH;AACnH,MAAM,WAAW,mBAAmB;IAClC,gGAAgG;IAChG,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC9C,KAAK,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAClC,GAAG,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CACjC;AAwHD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,EACrD,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,GAC1C,IAAI,CAqCN;AAED,yFAAyF;AACzF,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,mBAAmB,GAAG,IAAI,EAClC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,GAC1C,IAAI,CAmDN;AAqBD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,SAAS,kBAAkB,EAAE,EACrC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,GAC1C,IAAI,CAmCN"}
@@ -8,8 +8,9 @@
8
8
  * passing (ADR-0100 §5). A value that follows something is not overwritten either: it is refused.
9
9
  */
10
10
  import { FigureContractError } from "./contract.js";
11
- import { figureShapeFaces } from "./graph.js";
11
+ import { compileFigureGraph, figureShapeFaces } from "./graph.js";
12
12
  import { figureExtrudeLayoutOf } from "./shape-ops.js";
13
+ import { checkFigureSection, normalizeFigureSection } from "./section.js";
13
14
  const fail = (code, path, message) => {
14
15
  throw new FigureContractError(code, path, message);
15
16
  };
@@ -222,4 +223,70 @@ export function setFigureCavity(asset, part, cavity, drop) {
222
223
  if (!shape.args.includes(ref))
223
224
  drop(ref, ref);
224
225
  }
226
+ /** Make or set the part's own coordinate input (a drawn section's point: any finite number), returning its id. */
227
+ function ownCoordinate(asset, id, value, path) {
228
+ if (!Number.isFinite(value))
229
+ fail('NON_FINITE', path, `a finite coordinate required, not ${value}`);
230
+ const m = asset.document.model;
231
+ const input = m.inputs.find((i) => i.id === id);
232
+ if (input && !(input.role === 'design' && input.unit === 'mm'))
233
+ fail('DUPLICATE_WRITER', path, `${id} is another kind of value`);
234
+ if (!input) {
235
+ if (m.constants.some((c) => c.id === id) ||
236
+ m.nodes.some((n) => n.id === id || Object.values(n.outputs).includes(id)))
237
+ fail('DUPLICATE_WRITER', path, `${id} is already a name in the figure`);
238
+ m.inputs.push({ id, unit: 'mm', min: -Number.MAX_VALUE, max: Number.MAX_VALUE, role: 'design' });
239
+ }
240
+ asset.designInputs[id] = value;
241
+ return id;
242
+ }
243
+ /**
244
+ * A drawn section's points, set at once (ADR-0100 §3.2): points moved, added or deleted in one step. A point keeps its
245
+ * id, so a moved point is the same point and its sides keep their names; a new point brings its own id (Q9: the next
246
+ * number, given by the editor). The section must be valid as it stands -- the kernel's own checks, named in the refusal
247
+ * -- and is written counter-clockwise. A coordinate that follows another value is kept when it is not moved and refused
248
+ * when it is, until it is unlinked.
249
+ */
250
+ export function setFigureSectionPoints(asset, part, points, drop) {
251
+ const path = `${part}.points`;
252
+ const shape = extrudeOf(asset, part, path);
253
+ if (shape.params.section !== 'polygon')
254
+ fail('SECTION_KIND', path, `${part}'s section is a ${shape.params.section}; only a drawn section has points`);
255
+ const L = figureExtrudeLayoutOf(shape.params, shape.id);
256
+ const [a, b] = L.plane;
257
+ const section = { kind: 'polygon', points: points.map(q => ({ id: q.id, [a]: q[a], [b]: q[b] })) };
258
+ const issues = checkFigureSection(section, L.axis);
259
+ if (issues.length)
260
+ fail('SECTION_INVALID', path, `the section is not valid: ${issues.map(i => i.code).join(', ')}`);
261
+ const drawn = normalizeFigureSection(section, L.axis);
262
+ const m = asset.document.model;
263
+ const before = figureShapeFaces(shape) ?? {};
264
+ const slots = slotsOf(shape);
265
+ const old = [...slots].filter(([k]) => k.startsWith('point.')).map(([, ref]) => ref);
266
+ for (const k of [...slots.keys()])
267
+ if (k.startsWith('point.'))
268
+ slots.delete(k);
269
+ const was = slotsOf(shape);
270
+ let values;
271
+ const now = (ref) => (values ??= compileFigureGraph(m).evaluate({ ...asset.designInputs, ...asset.stateDefaults }).values)[ref];
272
+ for (const q of drawn.points)
273
+ for (const x of [a, b]) {
274
+ const key = `point.${q.id}.${x}`;
275
+ const ref = was.get(key);
276
+ const v = q[x];
277
+ if (ref !== undefined && !ownInput(m, part, ref)) {
278
+ if (!(Math.abs(now(ref) - v) <= 1e-9))
279
+ fail('DIMENSION_LINKED', `${path}.${q.id}.${x}`, `${part}'s point ${q.id} ${x} follows ${ref}; unlink it before moving it`);
280
+ slots.set(key, ref);
281
+ }
282
+ else
283
+ slots.set(key, ownCoordinate(asset, ref ?? `${part}.point.${q.id}.${x}`, v, `${path}.${q.id}.${x}`));
284
+ }
285
+ shape.params.points = drawn.points.map(q => q.id).join('.');
286
+ writeSlots(shape, slots);
287
+ keepReferencedFaces(asset, part, shape, before);
288
+ for (const ref of new Set(old))
289
+ if (!shape.args.includes(ref))
290
+ drop(ref, ref);
291
+ }
225
292
  //# sourceMappingURL=shape-edit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shape-edit.js","sourceRoot":"","sources":["../src/shape-edit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shape-edit.js","sourceRoot":"","sources":["../src/shape-edit.ts"],"names":[],"mappings":"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"}
package/dist/words.d.ts CHANGED
@@ -112,10 +112,10 @@ export declare function placeholderType(now?: number): string;
112
112
  /** Whether a type is the temporary name given before anyone names the figure. */
113
113
  export declare function isPlaceholderType(type: string): boolean;
114
114
  /**
115
- * The most nodes one figure's graph may have: an experimental resource limit, not a product capacity policy
116
- * (docs/document-contract.md). Raised from 512 on 2026-09-29, provisionally, pending the designer's ruling on
117
- * docs/shape-contract.md Q10: writing a push as its two ends (Q1) gives every part a start node, and two stored figures
118
- * of 493 and 497 nodes went past 512 when rewritten.
115
+ * The most nodes one figure's graph may have: a fence against a malformed document, set large (designer's ruling,
116
+ * docs/shape-contract.md Q10, 2026-09-29). The 1 MiB document limit binds first -- stored nodes run 125 to 190 bytes, so a
117
+ * mebibyte holds some 5,500 to 8,400 -- and the largest stored figure has 517. A graph this size compiles in about 25 ms and
118
+ * evaluates in about 2 ms.
119
119
  */
120
- export declare const FIGURE_DOCUMENT_NODE_LIMIT = 1024;
120
+ export declare const FIGURE_DOCUMENT_NODE_LIMIT = 8192;
121
121
  //# sourceMappingURL=words.d.ts.map
package/dist/words.js CHANGED
@@ -114,10 +114,10 @@ export function isPlaceholderType(type) {
114
114
  return PLACEHOLDER_TYPE.test(type);
115
115
  }
116
116
  /**
117
- * The most nodes one figure's graph may have: an experimental resource limit, not a product capacity policy
118
- * (docs/document-contract.md). Raised from 512 on 2026-09-29, provisionally, pending the designer's ruling on
119
- * docs/shape-contract.md Q10: writing a push as its two ends (Q1) gives every part a start node, and two stored figures
120
- * of 493 and 497 nodes went past 512 when rewritten.
117
+ * The most nodes one figure's graph may have: a fence against a malformed document, set large (designer's ruling,
118
+ * docs/shape-contract.md Q10, 2026-09-29). The 1 MiB document limit binds first -- stored nodes run 125 to 190 bytes, so a
119
+ * mebibyte holds some 5,500 to 8,400 -- and the largest stored figure has 517. A graph this size compiles in about 25 ms and
120
+ * evaluates in about 2 ms.
121
121
  */
122
- export const FIGURE_DOCUMENT_NODE_LIMIT = 1024;
122
+ export const FIGURE_DOCUMENT_NODE_LIMIT = 8192;
123
123
  //# sourceMappingURL=words.js.map
@@ -35,7 +35,7 @@ JSON Schema는 필드 구조·자료형·기본 enum·버전을 검사한다. op
35
35
  - 알 수 없는 문서/계약 버전과 추가 필드를 거부한다. 현재 capability V3는 transform 또는 표면 참조 pose를 허용한다. V1/V2를 추측 변환하지 않는다.
36
36
  - JSON 키 중복은 마지막 값으로 덮지 않고 거부한다. Unicode escape로 같은 키가 표현된 경우도 포함한다.
37
37
  - 잘린 JSON, 비유한 수, undefined, 함수, Date, 순환, sparse array, accessor·숨겨진 속성 등 JSON으로 손실되는 입력을 거부한다.
38
- - 실험 자원 제한: 1MiB UTF-8, 객체 깊이64, 그래프 node 1024(`FIGURE_DOCUMENT_NODE_LIMIT`, 2026-09-29 512에서 잠정 상향 — shape-contract Q10). 제품 용량 정책으로 확정된 값이 아니다.
38
+ - 실험 자원 제한: 1MiB UTF-8, 객체 깊이64, 그래프 node 8192(`FIGURE_DOCUMENT_NODE_LIMIT`, 2026-09-29 판정 — shape-contract Q10: 충분히 크게. 실제로는 1MiB 가 먼저 걸린다).
39
39
  - 선언 공간(occupancy)의 경계는 `affine-bounds@1` 한 노드의 출력 여섯이다. 압축 인자 모양(`layout` = `L` + 여섯 묶음 + 후보별 항 수)은 [연산 계약 §4](operator-contracts.md#4-연산-catalog)에 적었다 — AI 저작·내보내기는 거기서 풀어 읽는다.
40
40
  - round-trip은 의미·수치·선언 동일성을 대상으로 한다. 원본 JSON의 공백·키 표기·서식은 보존하지 않는다.
41
41
  - 함수는 파일/DB에 직접 쓰지 않는다. 저장 API의 원자성, 권한, 버전 충돌, 마이그레이션은 제품 통합 시 별도로 구현해야 한다.
@@ -62,7 +62,7 @@ What the kernel does now, where it differs from the text below, and why. Branch
62
62
  - **The one-time rewrite:** `scripts/rewrite-shapes.ts` and `scripts/rewrite-shapes-files.ts`. A file is written only
63
63
  when every body's world box and pose agree with the old kernel's (0.1.95) at the drawn values, at half and twice
64
64
  the size, and at each state input's ends. All 24 fixtures agree.
65
- - **Q10 (new, provisional):** the experimental node limit was raised from 512 to 1024 (`FIGURE_DOCUMENT_NODE_LIMIT`).
65
+ - **Q10 (ruled 2026-09-29, "make it large enough"):** the node limit is 8192 (`FIGURE_DOCUMENT_NODE_LIMIT`), a fence against malformed documents; the 1 MiB limit binds first. No start shorthand.
66
66
  A start node per part took two stored figures, of 493 and 497 nodes, past 512. The alternative is a `start` left out
67
67
  for a centred push, which is a stored shorthand and a change of format.
68
68
 
@@ -436,4 +436,4 @@ Joint ends on a cylinder's side faces: `left` 6, `right` 6, `front` 5, `back` 5
436
436
  | Q7 | One cavity per part in the first contract | yes (§3) |
437
437
  | Q8 | Tolerance 1e-6 mm and 256 points, pending the measurement in §6 | yes |
438
438
  | Q9 | A drawn point's id is `p<n>`, a new point takes the highest n + 1, and screens show n, never the point's place in the loop | yes (§4) |
439
- | Q10 | The node limit, 1024 (raised from 512, provisionally), or a centred push written without its start | 1024; the shorthand changes the format (§0) |
439
+ | Q10 | The node limit, or a centred push written without its start | **Ruled: 8192**, no shorthand |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hatiolab/figure-model",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "The figure format (figure-asset-1): a kernel that evaluates a figure from its declared relations, the authoring commands a modeller and an AI share, the release gate and the score.",
5
5
  "keywords": [
6
6
  "figure",
@@ -49,6 +49,7 @@
49
49
  "build": "tsc -p tsconfig.build.json",
50
50
  "check": "tsc -p tsconfig.json --noEmit",
51
51
  "test": "npm run check && node --test src/*.test.ts",
52
+ "test:rewrite": "node --test scripts/*.test.ts",
52
53
  "test:coverage": "node --test --experimental-test-coverage --test-coverage-lines=100 --test-coverage-branches=95 --test-coverage-functions=100 src/*.test.ts",
53
54
  "format": "prettier --write \"src/**/*.ts\" \"docs/**/*.md\" \"*.md\" \"*.json\"",
54
55
  "format:check": "prettier --check \"src/**/*.ts\" \"docs/**/*.md\" \"*.md\" \"*.json\"",