@hatiolab/figure-model 0.1.54 → 0.1.56

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/index.d.ts CHANGED
@@ -16,7 +16,7 @@ export { V3_OPERATORS, V3_NON_AFFINE_OPERATORS, V3_STATE_NON_AFFINE_OPERATORS, V
16
16
  export { V3_KERNEL_VERSION } from './v3-kernel-version.ts';
17
17
  export { V3_FACE_NORMALS } from './v3-surface.ts';
18
18
  export { v3CostOf, v3TrianglesOf, type V3Cost } from './v3-cost.ts';
19
- export { v3ScoreOf, v3GradeOf, v3MaterialKeyOf, v3IndependentBodiesOf, V3_GRADE_SCALE, V3_BUDGET_KEYS, V3_PER_INSTANCE, type V3Score, type V3BudgetUse, type V3BudgetKey } from './v3-score.ts';
19
+ export { v3ScoreOf, v3PartCountOf, v3PartBudgetOf, v3GradeOf, v3MaterialKeyOf, v3IndependentBodiesOf, V3_GRADE_SCALE, V3_BUDGET_KEYS, V3_PER_INSTANCE, type V3Score, type V3BudgetUse, type V3BudgetKey } from './v3-score.ts';
20
20
  export { applyV3Authoring, proposeV3Occupancy, v3AttachmentsOf, v3BindingsOf, V3_FACES, type V3BindingPlace, type V3AuthoringAction, type V3DimensionSource, type V3Measure, type V3FaceAlignment, type V3Face, type V3MotionRequest, type V3OccupancyProposal } from './v3-authoring-actions.ts';
21
21
  export { convertV2ToV3, compareV2WithV3, v2WorldBoxes, v3WorldBoxes, eulerXYZ, V3_SIZE_INPUTS, SAME_TOLERANCE_MM, SAME_TOLERANCE_DEG, type V3ConversionOptions, type V3ConversionResult, type V3ConversionRefusal, type V3ConversionLoss, type V3ConversionNote, type V2MotionState, type V3CompareOptions, paletteHash, v2ClipDuration, v3StateOverrides, axisAngle, repeatBoundaryScales, type V3ConversionMethod, type V3RangeChange, type V3SameReport, type V3SameDifference, type WorldBox } from './v3-from-v2.ts';
22
22
  export type * from './v3-asset-types.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -28,7 +28,7 @@ export { V3_OPERATORS, V3_NON_AFFINE_OPERATORS, V3_STATE_NON_AFFINE_OPERATORS, V
28
28
  export { V3_KERNEL_VERSION } from "./v3-kernel-version.js";
29
29
  export { V3_FACE_NORMALS } from "./v3-surface.js";
30
30
  export { v3CostOf, v3TrianglesOf } from "./v3-cost.js";
31
- export { v3ScoreOf, v3GradeOf, v3MaterialKeyOf, v3IndependentBodiesOf, V3_GRADE_SCALE, V3_BUDGET_KEYS, V3_PER_INSTANCE } from "./v3-score.js";
31
+ export { v3ScoreOf, v3PartCountOf, v3PartBudgetOf, v3GradeOf, v3MaterialKeyOf, v3IndependentBodiesOf, V3_GRADE_SCALE, V3_BUDGET_KEYS, V3_PER_INSTANCE } from "./v3-score.js";
32
32
  export { applyV3Authoring, proposeV3Occupancy, v3AttachmentsOf, v3BindingsOf, V3_FACES } from "./v3-authoring-actions.js";
33
33
  export { convertV2ToV3, compareV2WithV3, v2WorldBoxes, v3WorldBoxes, eulerXYZ, V3_SIZE_INPUTS, SAME_TOLERANCE_MM, SAME_TOLERANCE_DEG, paletteHash, v2ClipDuration, v3StateOverrides, axisAngle, repeatBoundaryScales } from "./v3-from-v2.js";
34
34
  export { assertV3Json, parseV3Json, v3Utf8ByteLength, V3_JSON_MAX_BYTES, V3_JSON_MAX_DEPTH } from "./v3-json.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -227,6 +227,12 @@ export interface V3Asset {
227
227
  * follow it.
228
228
  */
229
229
  sizing?: 'uniform';
230
+ /**
231
+ * The detail the figure is authored to -- S, M or L -- and so how many parts it takes at most (`PART_LIMIT`, counted
232
+ * as authored: a repeat is one part). V2's budget, carried again at the user's word (2026-09-24): the limit shows
233
+ * before a part is added, not after. Absent: no part limit.
234
+ */
235
+ detailLevel?: 'S' | 'M' | 'L';
230
236
  }
231
237
  export type V3AssetGeometry = V3Geometry & Omit<V3Appearance, 'target' | 'visibility'> & {
232
238
  /** Whether the consumer draws this body. False bodies are still evaluated, placed and gated. */
@@ -1 +1 @@
1
- {"version":3,"file":"v3-asset-types.d.ts","sourceRoot":"","sources":["../src/v3-asset-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"v3-asset-types.d.ts","sourceRoot":"","sources":["../src/v3-asset-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"v3-asset.d.ts","sourceRoot":"","sources":["../src/v3-asset.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAqB,MAAM,qBAAqB,CAAA;AAetF,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,eAAe,CAE/D;AA2ID,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,UAG9C;AACD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIlD;AACD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,OAAO,GAAE;IAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/C,OAAO,CAeT"}
1
+ {"version":3,"file":"v3-asset.d.ts","sourceRoot":"","sources":["../src/v3-asset.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAqB,MAAM,qBAAqB,CAAA;AAetF,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,eAAe,CAE/D;AA6ID,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,UAG9C;AACD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIlD;AACD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,OAAO,GAAE;IAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/C,OAAO,CAeT"}
package/dist/v3-asset.js CHANGED
@@ -25,7 +25,7 @@ function compileAsset(source) {
25
25
  jsonOnly(source);
26
26
  if (v3Utf8ByteLength(JSON.stringify(source)) > MAX_BYTES)
27
27
  fail('DOCUMENT_LIMIT', 'asset', 'over 1 MiB');
28
- fields(source, ['version', 'name', 'document', 'designInputs', 'stateDefaults', 'palette', 'appearance'], ['occupancy', 'drivers', 'stateInputs', 'sizing'], 'asset');
28
+ fields(source, ['version', 'name', 'document', 'designInputs', 'stateDefaults', 'palette', 'appearance'], ['occupancy', 'drivers', 'stateInputs', 'sizing', 'detailLevel'], 'asset');
29
29
  if (source.version !== 'figure-v3-asset-1')
30
30
  fail('VERSION', 'asset', source.version);
31
31
  if (typeof source.name !== 'string' || !source.name.trim())
@@ -33,6 +33,8 @@ function compileAsset(source) {
33
33
  const asset = structuredClone(source), plan = compileDocument(asset.document), model = asset.document.model;
34
34
  const design = model.inputs.filter((i) => i.role !== 'state').map((i) => i.id), state = model.inputs.filter((i) => i.role === 'state').map((i) => i.id);
35
35
  fields(asset.designInputs, design, [], 'designInputs');
36
+ if (asset.detailLevel !== undefined && !['S', 'M', 'L'].includes(asset.detailLevel))
37
+ fail('ASSET_SCHEMA', 'detailLevel', `${String(asset.detailLevel)} is not a detail level; S, M or L`);
36
38
  if (asset.sizing !== undefined) {
37
39
  // The one rule a figure declares for how it grows (chief architect, 2026-09-24): uniform, by one ratio.
38
40
  if (asset.sizing !== 'uniform')
@@ -1 +1 @@
1
- {"version":3,"file":"v3-asset.js","sourceRoot":"","sources":["../src/v3-asset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"v3-asset.js","sourceRoot":"","sources":["../src/v3-asset.ts"],"names":[],"mappings":"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"}
@@ -184,6 +184,39 @@ export type V3AuthoringAction =
184
184
  | {
185
185
  kind: 'scale-uniformly';
186
186
  }
187
+ /** "This figure is authored to this detail": S, M or L, and so its part limit (`PART_LIMIT`). `null` declares none. */
188
+ | {
189
+ kind: 'set-detail-level';
190
+ level: 'S' | 'M' | 'L' | null;
191
+ }
192
+ /**
193
+ * "The copies of this repeated part stand this far apart." A row that fills the length it is given (V2's
194
+ * `repeat: { axis, pitch }`) takes as many copies as fit at the pitch; the pitch becomes the part's own number,
195
+ * `<part>.repeat.pitch`, so it is edited, dragged and undone as any other value. Its lowest value keeps the copy
196
+ * count within the kernel's limit at the largest size the figure takes. A row of a fixed count is refused for now:
197
+ * its pitch is built into its length.
198
+ */
199
+ | {
200
+ kind: 'set-repeat';
201
+ part: string;
202
+ pitch: number;
203
+ }
204
+ /**
205
+ * "Move this part by so much, turn it by so much" -- a drag on the canvas. The part keeps how its place is worked out
206
+ * (V2's anchor rules, as the converter wrote them, follow the figure's size) and gets the drag added as its own
207
+ * number: `<part>.position.nudge.<axis>` beside a worked-out place, the part's own `<part>.position.<axis>` where it
208
+ * had a plain number. Turns likewise, in degrees. `grow` multiplies a measure by the drag's factor and keeps how it
209
+ * is worked out: `<part>.dimension.scale.<axis>` beside the measure's rule, so the part still follows the figure's
210
+ * size, times what the author gave it (V2 scaled any part's authored size the same way). A cylinder's X and Z are its
211
+ * one radius. A part carried by a joint or fastened to another is placed by that and is refused.
212
+ */
213
+ | {
214
+ kind: 'nudge-part';
215
+ part: string;
216
+ by?: Partial<Record<Axis, number>>;
217
+ turn?: Partial<Record<Axis, number>>;
218
+ grow?: Partial<Record<Axis, number>>;
219
+ }
187
220
  /**
188
221
  * "Things are held here." A seat (things rest on it) or a grip (things are held in it), on a face of a part. The
189
222
  * place is that face as the part stands, so it follows the part through its resizes and its motion: a grip on a
@@ -1 +1 @@
1
- {"version":3,"file":"v3-authoring-actions.d.ts","sourceRoot":"","sources":["../src/v3-authoring-actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"v3-authoring-actions.d.ts","sourceRoot":"","sources":["../src/v3-authoring-actions.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ import { compileV3Asset } from "./v3-asset.js";
25
25
  import { compileV3Graph } from "./v3-graph.js";
26
26
  import { V3ContractError } from "./v3-contract.js";
27
27
  import { AXES } from "./types.js";
28
- import { foldInstanceSizeRange, v3InstanceSizeLimitsOf, V3_INSTANCE_SIZE_INPUTS } from "./v3-instance-size.js";
28
+ import { foldInstanceSizeRange, v3InstanceSizeLimitsOf, V3_INSTANCE_SIZE_DEFAULT, V3_INSTANCE_SIZE_INPUTS } from "./v3-instance-size.js";
29
29
  const fail = (code, path, message) => {
30
30
  throw new V3ContractError(code, path, message);
31
31
  };
@@ -548,6 +548,20 @@ export function applyV3Authoring(source, action) {
548
548
  case 'scale-uniformly':
549
549
  scaleUniformly(asset);
550
550
  break;
551
+ case 'set-detail-level':
552
+ if (action.level === null)
553
+ delete asset.detailLevel;
554
+ else if (['S', 'M', 'L'].includes(action.level))
555
+ asset.detailLevel = action.level;
556
+ else
557
+ fail('SCHEMA', 'detailLevel', `${String(action.level)} is not a detail level`);
558
+ break;
559
+ case 'set-repeat':
560
+ setRepeat(asset, action);
561
+ break;
562
+ case 'nudge-part':
563
+ nudgePart(asset, action);
564
+ break;
551
565
  case 'clear-mounting-face':
552
566
  clearMountingFace(asset);
553
567
  break;
@@ -568,7 +582,7 @@ export function applyV3Authoring(source, action) {
568
582
  fail('SCHEMA', 'action', `${String(action.kind)} is not an authoring action`);
569
583
  }
570
584
  compileV3Asset(asset);
571
- holdsOverDeclaredSize(asset);
585
+ holdsOverDeclaredSize(asset, source);
572
586
  return asset;
573
587
  }
574
588
  /* ----------------------------------------------------------- instance size */
@@ -619,21 +633,45 @@ function declareInstanceSize(asset, a) {
619
633
  * makes a part 200 mm shorter than the instance is caught when the instance may be 1 mm wide — the kernel alone
620
634
  * accepts it, and the board then fails to draw the figure at small sizes.
621
635
  */
622
- function holdsOverDeclaredSize(asset) {
636
+ /** Where the declared size range reaches past what the figure holds: per axis, the bound it would need, and who sets it. */
637
+ function sizeRangeGaps(asset) {
623
638
  const m = asset.document.model;
624
639
  if (!AXES.every(axis => sizeInputOf(m, axis)))
625
- return;
640
+ return [];
626
641
  const range = Object.fromEntries(AXES.map(axis => [axis, { min: sizeInputOf(m, axis).min, max: sizeInputOf(m, axis).max }]));
627
642
  const limits = v3InstanceSizeLimitsOf(asset, range);
628
643
  const { range: holds } = foldInstanceSizeRange(range, limits);
644
+ const gaps = [];
629
645
  for (const axis of AXES) {
630
- const path = V3_INSTANCE_SIZE_INPUTS[axis];
631
646
  const who = limits.find(l => l.axis === axis)?.part;
632
- const by = who ? ` (${who})` : '';
633
647
  if (holds[axis].min > range[axis].min)
634
- fail('INSTANCE_SIZE_RANGE', path, `below ${round6(holds[axis].min)} mm a length goes to zero${by}; declare the smallest size at ${round6(holds[axis].min)} mm or more`);
648
+ gaps.push({ axis, bound: 'min', need: holds[axis].min, declared: range[axis].min, who });
635
649
  if (holds[axis].max < range[axis].max)
636
- fail('INSTANCE_SIZE_RANGE', path, `above ${round6(holds[axis].max)} mm the figure cannot be drawn${by}; declare the largest size at ${round6(holds[axis].max)} mm or less`);
650
+ gaps.push({ axis, bound: 'max', need: holds[axis].max, declared: range[axis].max, who });
651
+ }
652
+ return gaps;
653
+ }
654
+ /**
655
+ * After a command, the declared size range must still hold at its ends. A gap the figure already had before the
656
+ * command -- a range the conversion declared too wide (FORMATION_TRAY: X from 1 mm, its cells gone below 8.8 mm) -- is
657
+ * not the command's doing: it is refused only if it made a gap or widened one. Refusing every command for it had
658
+ * blocked even choosing a detail level (user, 2026-09-24).
659
+ */
660
+ function holdsOverDeclaredSize(asset, before) {
661
+ const now = sizeRangeGaps(asset);
662
+ if (!now.length)
663
+ return;
664
+ const was = before ? sizeRangeGaps(before) : [];
665
+ for (const gap of now) {
666
+ const prior = was.find(g => g.axis === gap.axis && g.bound === gap.bound);
667
+ const worse = !prior || (gap.bound === 'min' ? gap.need > prior.need + 1e-9 || gap.declared < prior.declared : gap.need < prior.need - 1e-9 || gap.declared > prior.declared);
668
+ if (!worse)
669
+ continue;
670
+ const path = V3_INSTANCE_SIZE_INPUTS[gap.axis];
671
+ const by = gap.who ? ` (${gap.who})` : '';
672
+ if (gap.bound === 'min')
673
+ fail('INSTANCE_SIZE_RANGE', path, `below ${round6(gap.need)} mm a length goes to zero${by}; declare the smallest size at ${round6(gap.need)} mm or more`);
674
+ fail('INSTANCE_SIZE_RANGE', path, `above ${round6(gap.need)} mm the figure cannot be drawn${by}; declare the largest size at ${round6(gap.need)} mm or less`);
637
675
  }
638
676
  }
639
677
  /** What each part is fastened to, for a reader that wants the structure rather than the graph. */
@@ -1057,6 +1095,129 @@ function clearMountingFace(asset) {
1057
1095
  delete asset.occupancy.contact;
1058
1096
  return asset;
1059
1097
  }
1098
+ function nudgePart(asset, a) {
1099
+ const m = asset.document.model;
1100
+ const path = a.part;
1101
+ const { pose } = partOf(m, a.part, path);
1102
+ if (pose.op !== 'rigid@1')
1103
+ fail('EDIT_TARGET', path, `${a.part} is not posed by a rigid@1 this command can move`);
1104
+ if (pose.params?.to !== 'asset')
1105
+ fail('EDIT_TARGET', path, `${a.part} is carried by a joint or a seat, which places it`);
1106
+ if (parentOf(m, a.part))
1107
+ fail('EDIT_TARGET', path, `${a.part} is fastened to ${parentOf(m, a.part)}, which places it; detach it first`);
1108
+ const shift = (slot, by, unit, kind, axis) => {
1109
+ if (!by)
1110
+ return;
1111
+ if (!Number.isFinite(by))
1112
+ fail('SCHEMA', `${path}.${kind}.${axis}`, 'a finite amount required');
1113
+ const was = pose.args[slot];
1114
+ const own = `${a.part}.${kind}.${axis}`;
1115
+ /* Already the part's own number: add to it. */
1116
+ if (was === own && m.inputs.some((i) => i.id === own && i.role === 'design')) {
1117
+ asset.designInputs[own] = round6(asset.designInputs[own] + by);
1118
+ return;
1119
+ }
1120
+ const constant = m.constants.find((c) => c.id === was);
1121
+ const free = (id) => !m.inputs.some((i) => i.id === id) && !m.nodes.some((n) => n.id === id || Object.values(n.outputs).includes(id));
1122
+ const input = (id, value) => {
1123
+ m.inputs.push({ id, unit, min: -Number.MAX_VALUE, max: Number.MAX_VALUE, role: 'design' });
1124
+ asset.designInputs[id] = round6(value);
1125
+ };
1126
+ /* A plain number becomes the part's own, moved. */
1127
+ if (constant && free(own)) {
1128
+ input(own, constant.value + by);
1129
+ pose.args = pose.args.map((r, k) => (k === slot ? own : r));
1130
+ return;
1131
+ }
1132
+ /* A worked-out place keeps its rule and takes the drag beside it. */
1133
+ const nudge = `${a.part}.${kind}.nudge.${axis}`;
1134
+ if (m.inputs.some((i) => i.id === nudge)) {
1135
+ asset.designInputs[nudge] = round6(asset.designInputs[nudge] + by);
1136
+ return;
1137
+ }
1138
+ input(nudge, by);
1139
+ const id = namer(m, `${a.part}.${kind}`)(`nudged.${axis}`);
1140
+ m.nodes.push({ id, op: 'add@1', args: [was, nudge], outputs: { value: `${id}.value` } });
1141
+ pose.args = pose.args.map((r, k) => (k === slot ? `${id}.value` : r));
1142
+ };
1143
+ AXES.forEach((axis, i) => shift(i, a.by?.[axis] ?? 0, 'mm', 'position', axis));
1144
+ AXES.forEach((axis, i) => shift(3 + i, a.turn?.[axis] ?? 0, 'deg', 'rotation', axis));
1145
+ /* Sizes: the measure's own node carries a factor beside its rule (`stableDimension` routes every measure through one). */
1146
+ const shape = partOf(m, a.part, path).shape;
1147
+ const measures = shape.op === 'cylinder-shape@1' ? ['x', 'y'] : AXES.filter((_, i) => shape.args[i] !== undefined);
1148
+ for (const axis of measures) {
1149
+ /* A cylinder's radius answers to the cross axis the drag moved more. */
1150
+ const factor = shape.op === 'cylinder-shape@1' && axis === 'x' ? mostChanged(a.grow?.x, a.grow?.z) : a.grow?.[axis];
1151
+ if (factor === undefined || factor === 1)
1152
+ continue;
1153
+ if (!(Number.isFinite(factor) && factor > 0))
1154
+ fail('GEOMETRY_DOMAIN', `${path}.dimension.${axis}`, 'a positive factor required');
1155
+ stableDimension(m, a.part, axis, `${path}.dimension.${axis}`);
1156
+ const node = nodeById(m, `${a.part}.dimension.${axis}`);
1157
+ const id = `${a.part}.dimension.scale.${axis}`;
1158
+ if (node.args[1] === id)
1159
+ asset.designInputs[id] = round6(asset.designInputs[id] * factor);
1160
+ else {
1161
+ if (m.inputs.some((i) => i.id === id))
1162
+ fail('DUPLICATE_WRITER', path, `${id} already exists`);
1163
+ m.inputs.push({ id, unit: 'ratio', min: Number.MIN_VALUE, max: Number.MAX_VALUE, role: 'design' });
1164
+ const was = m.constants.find((c) => c.id === node.args[1])?.value ?? 1;
1165
+ asset.designInputs[id] = round6(was * factor);
1166
+ node.args = [node.args[0], id];
1167
+ }
1168
+ }
1169
+ return asset;
1170
+ }
1171
+ const mostChanged = (a, b) => {
1172
+ const pick = [a, b].filter((v) => v !== undefined);
1173
+ return pick.length ? pick.reduce((x, y) => (Math.abs(y - 1) > Math.abs(x - 1) ? y : x), 1) : undefined;
1174
+ };
1175
+ function setRepeat(asset, a) {
1176
+ const m = asset.document.model;
1177
+ const path = `${a.part}.repeat`;
1178
+ const layout = nodeById(m, `${a.part}.layout`);
1179
+ if (!layout || !nodeById(m, `${a.part}.repeat`))
1180
+ fail('EDIT_TARGET', path, `${a.part} is not a repeated part`);
1181
+ if (layout.op === 'fixed-count@1')
1182
+ fail('EDIT_TARGET', path, `${a.part} repeats a fixed count; its pitch is built into its length and cannot be set yet`);
1183
+ if (layout.op !== 'fit-pitch@1')
1184
+ fail('EDIT_TARGET', path, `${a.part} lays its copies out by ${layout.op}, which has no pitch`);
1185
+ if (!(Number.isFinite(a.pitch) && a.pitch > 0))
1186
+ fail('GEOMETRY_DOMAIN', path, 'a positive pitch is required');
1187
+ /*
1188
+ One number, the pitch: copies = floor(row length / pitch), at most `limit` of them (the kernel's copy cap, V2's).
1189
+ So the longest row the figure may be placed at is limit x pitch -- the converter set the length's upper bound that
1190
+ way from the V2 pitch. A new pitch moves that bound with it; the pitch is refused only when the length the figure
1191
+ is authored at would already hold more copies than the cap.
1192
+ */
1193
+ const values = compileV3Graph(m).evaluate({ ...asset.designInputs, ...asset.stateDefaults }).values;
1194
+ const lengthRef = layout.args[0];
1195
+ const authored = values[lengthRef];
1196
+ const limit = (values[layout.args[6]] ?? m.constants.find((c) => c.id === layout.args[6])?.value);
1197
+ const smallest = Math.ceil((authored / limit) * 1000) / 1000;
1198
+ if (a.pitch < smallest)
1199
+ fail('INPUT_RANGE', path, `at the length it is authored (${round6(authored)} mm) a pitch under ${smallest} mm makes more than ${limit} copies`);
1200
+ const id = `${a.part}.repeat.pitch`;
1201
+ if (!m.inputs.some((i) => i.id === id)) {
1202
+ if (m.nodes.some((n) => n.id === id || Object.values(n.outputs).includes(id)))
1203
+ fail('DUPLICATE_WRITER', path, `${id} already exists`);
1204
+ m.inputs.push({ id, unit: 'mm', min: Number.MIN_VALUE, max: Number.MAX_VALUE, role: 'design' });
1205
+ const was = [layout.args[3], layout.args[4]];
1206
+ layout.args = layout.args.map((r, k) => (k === 3 || k === 4 ? id : r));
1207
+ for (const ref of new Set(was))
1208
+ dropIfUnused(asset, ref);
1209
+ }
1210
+ asset.designInputs[id] = a.pitch;
1211
+ /* The longest length follows the pitch, within the default range (ten times the authored length). */
1212
+ const length = m.inputs.find((i) => i.id === lengthRef && i.role === 'design');
1213
+ if (length) {
1214
+ const longest = Math.min(round6(limit * a.pitch), round6(authored * V3_INSTANCE_SIZE_DEFAULT.times));
1215
+ length.max = Math.max(longest, authored);
1216
+ if (length.min > length.max)
1217
+ length.min = Math.min(length.min, authored);
1218
+ }
1219
+ return asset;
1220
+ }
1060
1221
  function scaleUniformly(asset) {
1061
1222
  const m = asset.document.model;
1062
1223
  if (asset.sizing === 'uniform')