@hatiolab/figure-model 0.1.66 → 0.1.68

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
@@ -17,7 +17,7 @@ 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
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
- export { applyV3Authoring, proposeV3Occupancy, v3AttachmentsOf, v3BindingsOf, V3_FACES, type V3BindingPlace, type V3AuthoringAction, type V3DimensionSource, type V3Measure, type V3FaceAlignment, type V3Face, type V3MotionRequest, type V3OccupancyProposal, type V3Joint, type V3JointType, type V3JointAxis, V3_JOINT_TYPES, checkV3Joints } from './v3-authoring-actions.ts';
20
+ export { applyV3Authoring, proposeV3Occupancy, proposeV3Proportion, type V3ProportionPlan, v3AttachmentsOf, v3BindingsOf, V3_FACES, type V3BindingPlace, type V3AuthoringAction, type V3DimensionSource, type V3Measure, type V3FaceAlignment, type V3Face, type V3MotionRequest, type V3OccupancyProposal, type V3Joint, type V3JointType, type V3JointAxis, V3_JOINT_TYPES, checkV3Joints } 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';
23
23
  export type { V3Unit, V3Dimensions, V3ValueType, V3GraphInput, V3GraphConstant, V3GraphNode, V3Graph, V3Pose, V3Shape, V3PlacedValue, V3PlacedGeometry, V3ScalarGeometry, V3Geometry, V3RuntimeValue, V3GraphEvaluation, V3CompiledGraph } from './v3-graph-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
@@ -29,7 +29,7 @@ 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
31
  export { v3ScoreOf, v3PartCountOf, v3PartBudgetOf, v3GradeOf, v3MaterialKeyOf, v3IndependentBodiesOf, V3_GRADE_SCALE, V3_BUDGET_KEYS, V3_PER_INSTANCE } from "./v3-score.js";
32
- export { applyV3Authoring, proposeV3Occupancy, v3AttachmentsOf, v3BindingsOf, V3_FACES, V3_JOINT_TYPES, checkV3Joints } from "./v3-authoring-actions.js";
32
+ export { applyV3Authoring, proposeV3Occupancy, proposeV3Proportion, v3AttachmentsOf, v3BindingsOf, V3_FACES, V3_JOINT_TYPES, checkV3Joints } 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";
35
35
  export { validate } from "./validate.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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"}
@@ -92,7 +92,7 @@ export interface V3Joint {
92
92
  */
93
93
  repeat?: {
94
94
  axis: V3JointAxis;
95
- pitch: number;
95
+ pitch: V3Measure;
96
96
  count?: number;
97
97
  };
98
98
  }
@@ -286,6 +286,16 @@ export type V3AuthoringAction =
286
286
  | {
287
287
  kind: 'scale-uniformly';
288
288
  }
289
+ /**
290
+ * "Every length follows the one ratio." For a figure that grows by one ratio (`scale-uniformly` first): each part's
291
+ * own measure, each fastening's offset and gap in millimetres, and each row's pitch become their value now over the
292
+ * size the figure is at now, times that size -- written as the links a person would write one by one, so any part
293
+ * can be given its own number again (`unlink-dimension`). A measure that already follows something is left, and
294
+ * named (`proposeV3Proportion`). Angles, ratios and counts are not lengths (chief architect's ruling 2026-09-25).
295
+ */
296
+ | {
297
+ kind: 'follow-size-in-proportion';
298
+ }
289
299
  /** "This figure is authored to this detail": S, M or L, and so its part limit (`PART_LIMIT`). `null` declares none. */
290
300
  | {
291
301
  kind: 'set-detail-level';
@@ -495,4 +505,27 @@ export interface V3BindingPlace {
495
505
  region: Record<Axis, number> | null;
496
506
  }
497
507
  export declare function v3BindingsOf(asset: V3Asset): V3BindingPlace[];
508
+ /** What 「every length follows the one ratio」 changes, and what it leaves and why. */
509
+ export interface V3ProportionPlan {
510
+ /** A part's own measure on a shape axis, and the share of the figure's size on that axis it becomes. */
511
+ dimensions: Array<{
512
+ part: string;
513
+ axis: Axis;
514
+ times: number;
515
+ }>;
516
+ /** A fastening's length in millimetres: an offset along a face axis, the gap, or a row's pitch. */
517
+ lengths: Array<{
518
+ joint: string;
519
+ at: 'gap' | 'pitch' | Axis;
520
+ axis: Axis;
521
+ times: number;
522
+ }>;
523
+ /** What stays as it is, with why: it follows something already, or it is a length this command does not write. */
524
+ skipped: Array<{
525
+ what: string;
526
+ reason: string;
527
+ }>;
528
+ }
529
+ /** Reads the asset; changes nothing. Refused for a figure that does not grow by one ratio. */
530
+ export declare function proposeV3Proportion(asset: V3Asset): V3ProportionPlan;
498
531
  //# sourceMappingURL=v3-authoring-actions.d.ts.map
@@ -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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"}
@@ -248,6 +248,13 @@ function sumOf(m, name, terms, hint) {
248
248
  }
249
249
  return out;
250
250
  }
251
+ /** The size one axis reads once the figure grows by one ratio: u times its authored size (`scaleUniformly`). */
252
+ function uniformSizeOf(m, axis, path) {
253
+ const node = nodeById(m, `sizing.size.${axis}`);
254
+ if (!node)
255
+ fail('TARGET_ABSENT', path, `the figure grows by one ratio but has no sizing.size.${axis}`);
256
+ return node.outputs.value;
257
+ }
251
258
  function sourceRef(m, asset, source, path) {
252
259
  if (!source || typeof source !== 'object')
253
260
  fail('SCHEMA', path, 'a dimension source is required');
@@ -255,7 +262,8 @@ function sourceRef(m, asset, source, path) {
255
262
  const id = `size.${source.axis}`;
256
263
  if (!m.inputs.some((i) => i.id === id))
257
264
  fail('TARGET_ABSENT', path, `the instance has no ${id}; declare it before following it`);
258
- return id;
265
+ /* A figure that grows by one ratio is read at that ratio's size: a link made after it had read the raw size. */
266
+ return asset.sizing === 'uniform' ? uniformSizeOf(m, source.axis, path) : id;
259
267
  }
260
268
  if (source.of === 'input') {
261
269
  const input = m.inputs.find((i) => i.id === source.input);
@@ -793,6 +801,9 @@ export function applyV3Authoring(source, action) {
793
801
  case 'scale-uniformly':
794
802
  scaleUniformly(asset);
795
803
  break;
804
+ case 'follow-size-in-proportion':
805
+ followSizeInProportion(asset);
806
+ break;
796
807
  case 'set-detail-level':
797
808
  if (action.level === null)
798
809
  delete asset.detailLevel;
@@ -1048,8 +1059,8 @@ function checkJoint(asset, j) {
1048
1059
  fail('JOINT_SCHEMA', row, `a row runs along X, Y or Z, not ${String(r.axis)}`);
1049
1060
  if (r.axis.toLowerCase() === V3_FACES[j.body1.face])
1050
1061
  fail('JOINT_SCHEMA', row, `a row runs across the face it is fastened to; ${r.axis} is out of that face`);
1051
- if (!(Number.isFinite(r.pitch) && r.pitch > 0))
1052
- fail('GEOMETRY_DOMAIN', row, 'a row has a positive pitch');
1062
+ if (typeof r.pitch === 'number' ? !(Number.isFinite(r.pitch) && r.pitch > 0) : !(r.pitch && typeof r.pitch === 'object' && r.pitch.from))
1063
+ fail('GEOMETRY_DOMAIN', row, 'a row has a positive pitch, or one that follows a length');
1053
1064
  if (r.count !== undefined && !(Number.isSafeInteger(r.count) && r.count >= 1 && r.count <= REPEAT_LIMIT))
1054
1065
  fail('GEOMETRY_DOMAIN', row, `a row has 1 to ${REPEAT_LIMIT} copies`);
1055
1066
  const held = others.filter(o => 'part' in o.body0 && o.body0.part === j.body1.part).map(o => o.body1.part);
@@ -1311,7 +1322,7 @@ function repeatPart(asset, j) {
1311
1322
  const limit = constantOf(m, 'count', REPEAT_LIMIT, 'limit');
1312
1323
  const count = j.repeat.count;
1313
1324
  m.nodes.push(count === undefined
1314
- ? { id: `${part}.layout`, op: 'fit-pitch@1', args: [length, zero, zero, extent, constantOf(m, 'mm', j.repeat.pitch, 'pitch'), centred, limit], outputs: { layout: `${part}.layout.value` } }
1325
+ ? { id: `${part}.layout`, op: 'fit-pitch@1', args: [length, zero, zero, extent, measureRef(m, asset, name, j.repeat.pitch, 'pitch', path), centred, limit], outputs: { layout: `${part}.layout.value` } }
1315
1326
  : { id: `${part}.layout`, op: 'fixed-count@1', args: [constantOf(m, 'count', count, 'count'), length, zero, zero, extent, centred, limit], outputs: { layout: `${part}.layout.value` } });
1316
1327
  /* The part is the row's template now: a member, drawn only through the row. */
1317
1328
  place.op = 'member@1';
@@ -1762,37 +1773,83 @@ const linOf = (m, ref) => {
1762
1773
  const constant = m.constants.find((c) => c.id === ref);
1763
1774
  return constant ? { terms: [], c: constant.value } : { terms: [{ ref, k: 1 }], c: 0 };
1764
1775
  };
1765
- /** How far a slide has gone when its control is at one end of its range. */
1776
+ /**
1777
+ * The same sum read back through the sums and scalings that make it up, down to what no command rewrites: the inputs,
1778
+ * 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,
1779
+ * a share of the figure's depth -- was broken by the next fastening, which writes that joint's nodes afresh: the gantry
1780
+ * could not be re-fastened once its room was declared (UNKNOWN_REFERENCE, 2026-09-25).
1781
+ */
1782
+ function linThroughSums(m, lin) {
1783
+ const constant = (ref) => m.constants.find((c) => c.id === ref)?.value;
1784
+ const ratio = (ref) => m.constants.find((c) => c.id === ref && c.unit === 'ratio')?.value;
1785
+ const expand = (ref, k, depth) => {
1786
+ const c = constant(ref);
1787
+ if (c !== undefined)
1788
+ return { terms: [], c: c * k };
1789
+ const w = depth < 256 ? writerOf(m, ref) : undefined;
1790
+ if (w?.op === 'add@1')
1791
+ return w.args.reduce((sum, arg) => linAdd(sum, expand(arg, k, depth + 1)), { terms: [], c: 0 });
1792
+ /* Only a length times a ratio: what is left is then a length, as each term of the room must be. */
1793
+ if (w?.op === 'mul@1') {
1794
+ const [a, b] = w.args;
1795
+ if (ratio(b) !== undefined)
1796
+ return expand(a, k * ratio(b), depth + 1);
1797
+ if (ratio(a) !== undefined)
1798
+ return expand(b, k * ratio(a), depth + 1);
1799
+ }
1800
+ return { terms: [{ ref, k }], c: 0 };
1801
+ };
1802
+ return linNorm(lin.terms.reduce((sum, t) => linAdd(sum, expand(t.ref, t.k, 0)), { terms: [], c: lin.c }));
1803
+ }
1804
+ /**
1805
+ * 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
1806
+ * figure's sizes make of the rest. A mimic of a leader whose stroke follows a length is the leader's ratio times that
1807
+ * length times its multiplier -- read through, not refused: the telescopic conveyor's second and third stages were
1808
+ * left out of its declared room, 2600 and 5200 mm past it (2026-09-25).
1809
+ */
1766
1810
  function travelAt(m, asset, motion, bound) {
1767
1811
  const pick = (i) => (bound === 'start' ? (asset.stateDefaults[i.id] ?? i.min) : bound === 'min' ? i.min : i.max);
1768
- /* A control's value, or a mimic's: the leader's value times a constant, plus a constant. */
1769
- const valueOf = (ref) => {
1770
- const state = m.inputs.find((i) => i.id === ref && i.role === 'state');
1812
+ const constant = (r) => m.constants.find((c) => c.id === r)?.value;
1813
+ const stateOf = (r) => m.inputs.find((i) => i.id === r && i.role === 'state');
1814
+ /* A value no control reaches: it is the same at either end, so it stays a term of the sum. */
1815
+ const still = (ref, depth = 0) => {
1816
+ if (stateOf(ref))
1817
+ return false;
1818
+ const w = depth < 256 ? writerOf(m, ref) : undefined;
1819
+ return !w || w.args.every((a) => typeof a !== 'string' || still(a, depth + 1));
1820
+ };
1821
+ const read = (ref, depth = 0) => {
1822
+ const c = constant(ref);
1823
+ if (c !== undefined)
1824
+ return { terms: [], c };
1825
+ const state = stateOf(ref);
1771
1826
  if (state)
1772
- return pick(state);
1773
- const w = writerOf(m, ref);
1774
- const constant = (r) => m.constants.find((c) => c.id === r)?.value;
1775
- if (w?.op === 'mul@1' && w.args.length === 2 && constant(w.args[1]) !== undefined) {
1776
- const v = valueOf(w.args[0]);
1777
- return v === null ? null : v * constant(w.args[1]);
1827
+ return { terms: [], c: pick(state) };
1828
+ const w = depth < 256 ? writerOf(m, ref) : undefined;
1829
+ if (w?.op === 'add@1') {
1830
+ let out = { terms: [], c: 0 };
1831
+ for (const arg of w.args) {
1832
+ const l = read(arg, depth + 1);
1833
+ if (!l)
1834
+ return null;
1835
+ out = linAdd(out, l);
1836
+ }
1837
+ return out;
1778
1838
  }
1779
- if (w?.op === 'add@1' && w.args.length === 2 && constant(w.args[1]) !== undefined) {
1780
- const v = valueOf(w.args[0]);
1781
- return v === null ? null : v + constant(w.args[1]);
1839
+ if (w?.op === 'mul@1' && w.args.length === 2) {
1840
+ const [a, b] = w.args.map(arg => read(arg, depth + 1));
1841
+ if (!a || !b)
1842
+ return null;
1843
+ // One side a number: a product of two sizes is not a length.
1844
+ if (!a.terms.length)
1845
+ return linAdd({ terms: [], c: 0 }, b, a.c);
1846
+ if (!b.terms.length)
1847
+ return linAdd({ terms: [], c: 0 }, a, b.c);
1848
+ return null;
1782
1849
  }
1783
- return null;
1850
+ return still(ref) ? { terms: [{ ref, k: 1 }], c: 0 } : null;
1784
1851
  };
1785
- const quantity = motion.args[3];
1786
- const direct = valueOf(quantity);
1787
- if (direct !== null)
1788
- return { terms: [], c: direct };
1789
- const writer = writerOf(m, quantity);
1790
- if (writer?.op === 'mul@1' && writer.args.length === 2) {
1791
- const v = valueOf(writer.args[0]);
1792
- if (v !== null)
1793
- return { terms: [{ ref: writer.args[1], k: v }], c: 0 };
1794
- }
1795
- return null;
1852
+ return read(motion.args[3]);
1796
1853
  }
1797
1854
  /** Where a part's centre is on one axis, as a sum, following whatever it is fastened to. */
1798
1855
  function centreLin(m, asset, id, axis, bound) {
@@ -1888,7 +1945,7 @@ function magnitudeOf(m, lin) {
1888
1945
  * ball is the pivot plus and minus its radius on each axis. Read by the proposal; the release gate still checks
1889
1946
  * the parts against it.
1890
1947
  */
1891
- function reachOf(m, asset, id, freezeless = true) {
1948
+ function reachOf(m, asset, id, ends, freezeless = true) {
1892
1949
  const chain = [];
1893
1950
  for (let part = id; part; part = parentOf(m, part))
1894
1951
  chain.push(part);
@@ -1935,32 +1992,39 @@ function reachOf(m, asset, id, freezeless = true) {
1935
1992
  }
1936
1993
  }
1937
1994
  }
1938
- // The pivot: where the topmost turn is fastened, and everything above it, which neither turns nor slides.
1995
+ /*
1996
+ The pivot: where the topmost turn is fastened, and everything above it. Above it nothing turns, but a slide may
1997
+ carry it -- the telescopic conveyor's nose turns at the end of its third stage -- so the pivot is read at each
1998
+ end of the controls, a ball at each: a slide is a straight line, so the balls at its two ends bound it all the
1999
+ way (it had been refused, and the nose left out of the room).
2000
+ */
1939
2001
  const pivotPart = chain[top];
1940
- const centre = {};
1941
- for (const axis of AXES) {
1942
- const k = AXES.indexOf(axis);
1943
- let at = { terms: [], c: 0 };
1944
- const seat = nodeById(m, `${pivotPart}.seat.rigid`);
1945
- if (seat)
1946
- at = linAdd(at, linOf(m, seat.args[k]));
1947
- for (let part = parentOf(m, pivotPart); part; part = parentOf(m, part)) {
1948
- const pose = nodeById(m, `${part}.pose`);
1949
- if (!pose)
1950
- return `${part} has no pose this command can read`;
1951
- for (const ref of pose.args.slice(3, 6))
1952
- if (angleOf(m, asset, ref) !== 0)
1953
- return `${part} is turned, so where ${pivotPart} turns is not a point this command can add up`;
1954
- if (nodeById(m, `${part}.motion`))
1955
- return `${part} moves, and so does the point ${pivotPart} turns about`;
1956
- at = linAdd(at, linOf(m, pose.args[k]));
1957
- const above = nodeById(m, `${part}.seat.rigid`);
1958
- if (above)
1959
- at = linAdd(at, linOf(m, above.args[k]));
2002
+ const parent = parentOf(m, pivotPart);
2003
+ if (parent) {
2004
+ const pose = nodeById(m, `${parent}.pose`);
2005
+ if (!pose)
2006
+ return `${parent} has no pose this command can read`;
2007
+ for (const ref of pose.args.slice(3, 6))
2008
+ if (angleOf(m, asset, ref) !== 0)
2009
+ return `${parent} is turned, so where ${pivotPart} turns is not a point this command can add up`;
2010
+ }
2011
+ const seat = nodeById(m, `${pivotPart}.seat.rigid`);
2012
+ const centres = [];
2013
+ for (const end of ends) {
2014
+ const centre = {};
2015
+ for (const axis of AXES) {
2016
+ let at = seat ? linOf(m, seat.args[AXES.indexOf(axis)]) : { terms: [], c: 0 };
2017
+ if (parent) {
2018
+ const above = centreLin(m, asset, parent, axis, end);
2019
+ if (typeof above === 'string')
2020
+ return above;
2021
+ at = linAdd(at, above);
2022
+ }
2023
+ centre[axis] = at;
1960
2024
  }
1961
- centre[axis] = at;
2025
+ centres.push(centre);
1962
2026
  }
1963
- return { centre, radius };
2027
+ return { centres, radius };
1964
2028
  }
1965
2029
  /** A sum written as graph nodes: each term scaled, then added up, then the constant. */
1966
2030
  function emitLin(m, name, l, hint) {
@@ -2009,16 +2073,18 @@ function occupancyLins(asset, over) {
2009
2073
  return false;
2010
2074
  })();
2011
2075
  if (turns) {
2012
- const reach = reachOf(m, asset, place.id);
2076
+ const reach = reachOf(m, asset, place.id, over === 'rest' ? ['start'] : ['min', 'max']);
2013
2077
  if (typeof reach === 'string') {
2014
2078
  skipped.push({ part: place.id, reason: reach });
2015
2079
  continue;
2016
2080
  }
2017
2081
  parts.push(place.id);
2018
- const centre = Object.fromEntries(AXES.map(a => [a, linNorm(reach.centre[a])]));
2019
- const key = JSON.stringify(centre);
2020
- const ball = balls.get(key);
2021
- balls.set(key, { centre, radius: ball ? linAtLeast(ball.radius, reach.radius) : linNorm(reach.radius) });
2082
+ for (const at of reach.centres) {
2083
+ const centre = Object.fromEntries(AXES.map(a => [a, linNorm(at[a])]));
2084
+ const key = JSON.stringify(centre);
2085
+ const ball = balls.get(key);
2086
+ balls.set(key, { centre, radius: ball ? linAtLeast(ball.radius, reach.radius) : linNorm(reach.radius) });
2087
+ }
2022
2088
  continue;
2023
2089
  }
2024
2090
  /*
@@ -2105,7 +2171,7 @@ function declareOccupancy(asset, a) {
2105
2171
  const args = [];
2106
2172
  const layout = AXES.flatMap(axis => [low[axis], high[axis]]).map(side => side
2107
2173
  .map((l) => {
2108
- const n = linNorm(l);
2174
+ const n = linThroughSums(m, l);
2109
2175
  args.push(constantOf(m, 'mm', round6(n.c), 'd'));
2110
2176
  for (const t of n.terms)
2111
2177
  args.push(t.ref, constantOf(m, 'ratio', t.k, 'k'));
@@ -2430,6 +2496,89 @@ function scaleUniformly(asset) {
2430
2496
  asset.sizing = 'uniform';
2431
2497
  return asset;
2432
2498
  }
2499
+ /** Reads the asset; changes nothing. Refused for a figure that does not grow by one ratio. */
2500
+ export function proposeV3Proportion(asset) {
2501
+ return proportionPlan(asset);
2502
+ }
2503
+ function proportionPlan(asset) {
2504
+ const m = asset.document.model;
2505
+ if (asset.sizing !== 'uniform')
2506
+ fail('SIZING_UNDECLARED', 'sizing', 'the figure does not grow by one ratio; declare that first (scale-uniformly), then every length can follow it');
2507
+ const values = compileV3Graph(m).evaluate({ ...asset.designInputs, ...asset.stateDefaults }).values;
2508
+ const sizeNow = Object.fromEntries(AXES.map(axis => [axis, values[uniformSizeOf(m, axis, 'sizing')]]));
2509
+ const plan = { dimensions: [], lengths: [], skipped: [] };
2510
+ /* To nine places: the ratio's own mean is kept to six, and its noise is not the author's (0.1, not 0.0999999999787). */
2511
+ const share = (value, axis) => Math.round((value / sizeNow[axis]) * 1e9) / 1e9;
2512
+ const describe = (ref) => {
2513
+ const w = writerOf(m, ref);
2514
+ return String(w?.args?.[0] ?? ref).replace(/\.value$/, '');
2515
+ };
2516
+ const parts = m.nodes.filter((n) => n.op === 'place@1' || (n.op === 'member@1' && nodeById(m, `${n.id}.repeat`))).map((n) => n.id);
2517
+ for (const part of parts) {
2518
+ const shape = writerOf(m, nodeById(m, part).args[0]);
2519
+ const measures = shape?.op === 'box-shape@1' || shape?.op === 'rounded-box@1' ? 3 : shape?.op === 'cylinder-shape@1' ? 2 : 0;
2520
+ if (!measures) {
2521
+ plan.skipped.push({ what: part, reason: `a ${String(shape?.op ?? 'shape').replace(/-shape@1$|@1$/, '')}'s measures are not linked by this command` });
2522
+ continue;
2523
+ }
2524
+ for (let i = 0; i < measures; i++) {
2525
+ const axis = AXES[i];
2526
+ const from = dimensionSource(m, part, axis) ?? shape.args[i];
2527
+ if (!ownInput(m, part, from)) {
2528
+ plan.skipped.push({ what: `${part}.${axis}`, reason: `follows ${describe(from)}` });
2529
+ continue;
2530
+ }
2531
+ plan.dimensions.push({ part, axis, times: share(values[from], axis) });
2532
+ }
2533
+ }
2534
+ for (const j of (asset.joints ?? [])) {
2535
+ const faceAxis = V3_FACES[j.body1.face];
2536
+ const gap = j.origin?.gap;
2537
+ if (typeof gap === 'number' && gap !== 0)
2538
+ plan.lengths.push({ joint: j.id, at: 'gap', axis: faceAxis, times: share(gap, faceAxis) });
2539
+ else if (gap && typeof gap === 'object')
2540
+ plan.skipped.push({ what: `${j.id}.gap`, reason: 'follows a length already' });
2541
+ for (const [axis, how] of Object.entries(j.origin?.align ?? {})) {
2542
+ if (!how || typeof how !== 'object')
2543
+ continue;
2544
+ if (typeof how.mm === 'number') {
2545
+ if (how.mm !== 0)
2546
+ plan.lengths.push({ joint: j.id, at: axis, axis, times: share(how.mm, axis) });
2547
+ }
2548
+ else
2549
+ plan.skipped.push({ what: `${j.id}.${axis}`, reason: 'follows a length already' });
2550
+ }
2551
+ if (j.repeat && j.repeat.count === undefined) {
2552
+ const axis = j.repeat.axis.toLowerCase();
2553
+ if (typeof j.repeat.pitch === 'number')
2554
+ plan.lengths.push({ joint: j.id, at: 'pitch', axis, times: share(j.repeat.pitch, axis) });
2555
+ else
2556
+ plan.skipped.push({ what: `${j.id}.pitch`, reason: 'follows a length already' });
2557
+ }
2558
+ if (j.type === 'prismatic' && !j.travel && !j.mimic)
2559
+ plan.skipped.push({ what: `${j.id}.motion`, reason: 'a slide in millimetres; make its travel follow the size where the motion is changed' });
2560
+ if (j.type === 'prismatic' && j.mimic?.offset)
2561
+ plan.skipped.push({ what: `${j.id}.offset`, reason: 'a follower\'s offset in millimetres' });
2562
+ }
2563
+ return plan;
2564
+ }
2565
+ function followSizeInProportion(asset) {
2566
+ const plan = proportionPlan(asset);
2567
+ for (const d of plan.dimensions)
2568
+ linkDimension(asset, { kind: 'link-dimension', part: d.part, axis: d.axis, source: { of: 'instance', axis: d.axis }, times: d.times });
2569
+ const follows = (axis, times) => ({ from: { of: 'instance', axis }, times });
2570
+ for (const l of plan.lengths) {
2571
+ const j = asset.joints.find(o => o.id === l.joint);
2572
+ if (l.at === 'gap')
2573
+ j.origin = { ...j.origin, gap: follows(l.axis, l.times) };
2574
+ else if (l.at === 'pitch')
2575
+ j.repeat = { ...j.repeat, pitch: follows(l.axis, l.times) };
2576
+ else
2577
+ j.origin = { ...j.origin, align: { ...j.origin.align, [l.at]: { mm: follows(l.axis, l.times) } } };
2578
+ }
2579
+ // The joints' nodes are made again from these records after the command, as after every command.
2580
+ return asset;
2581
+ }
2433
2582
  function scalePosition(asset, a) {
2434
2583
  const m = asset.document.model;
2435
2584
  const path = `${a.part}.${a.axis}`;