@hatiolab/figure-model 0.9.4 → 0.9.6

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.
Files changed (95) hide show
  1. package/README.md +1 -1
  2. package/dist/authoring-actions.d.ts.map +1 -1
  3. package/dist/authoring-actions.js +16 -23
  4. package/dist/authoring-actions.js.map +1 -1
  5. package/dist/authoring-fastening.d.ts.map +1 -1
  6. package/dist/authoring-fastening.js +182 -13
  7. package/dist/authoring-fastening.js.map +1 -1
  8. package/dist/authoring-geometry.d.ts +17 -1
  9. package/dist/authoring-geometry.d.ts.map +1 -1
  10. package/dist/authoring-geometry.js +66 -5
  11. package/dist/authoring-geometry.js.map +1 -1
  12. package/dist/authoring-nodes.d.ts +20 -0
  13. package/dist/authoring-nodes.d.ts.map +1 -1
  14. package/dist/authoring-nodes.js +34 -0
  15. package/dist/authoring-nodes.js.map +1 -1
  16. package/dist/authoring-occupancy.d.ts.map +1 -1
  17. package/dist/authoring-occupancy.js +419 -109
  18. package/dist/authoring-occupancy.js.map +1 -1
  19. package/dist/authoring-size.d.ts +5 -10
  20. package/dist/authoring-size.d.ts.map +1 -1
  21. package/dist/authoring-size.js +28 -98
  22. package/dist/authoring-size.js.map +1 -1
  23. package/dist/authoring-types.d.ts +43 -23
  24. package/dist/authoring-types.d.ts.map +1 -1
  25. package/dist/contract.d.ts +4 -16
  26. package/dist/contract.d.ts.map +1 -1
  27. package/dist/contract.js.map +1 -1
  28. package/dist/create.d.ts +5 -3
  29. package/dist/create.d.ts.map +1 -1
  30. package/dist/create.js +3 -7
  31. package/dist/create.js.map +1 -1
  32. package/dist/face-overhang.d.ts +22 -2
  33. package/dist/face-overhang.d.ts.map +1 -1
  34. package/dist/face-overhang.js +139 -1
  35. package/dist/face-overhang.js.map +1 -1
  36. package/dist/fasten-place.d.ts +77 -0
  37. package/dist/fasten-place.d.ts.map +1 -1
  38. package/dist/fasten-place.js +214 -2
  39. package/dist/fasten-place.js.map +1 -1
  40. package/dist/gate.d.ts.map +1 -1
  41. package/dist/gate.js +28 -8
  42. package/dist/gate.js.map +1 -1
  43. package/dist/graph-types.d.ts +15 -2
  44. package/dist/graph-types.d.ts.map +1 -1
  45. package/dist/graph.js +15 -6
  46. package/dist/graph.js.map +1 -1
  47. package/dist/index.d.ts +6 -5
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +4 -3
  50. package/dist/index.js.map +1 -1
  51. package/dist/instance-size.d.ts +58 -32
  52. package/dist/instance-size.d.ts.map +1 -1
  53. package/dist/instance-size.js +155 -41
  54. package/dist/instance-size.js.map +1 -1
  55. package/dist/joint-list.d.ts.map +1 -1
  56. package/dist/joint-list.js +3 -3
  57. package/dist/joint-list.js.map +1 -1
  58. package/dist/joint-writing.d.ts.map +1 -1
  59. package/dist/joint-writing.js +69 -8
  60. package/dist/joint-writing.js.map +1 -1
  61. package/dist/kernel-version.d.ts +1 -1
  62. package/dist/kernel-version.js +1 -1
  63. package/dist/part-edit.d.ts.map +1 -1
  64. package/dist/part-edit.js +2 -2
  65. package/dist/part-edit.js.map +1 -1
  66. package/dist/proposal.js +9 -9
  67. package/dist/proposal.js.map +1 -1
  68. package/dist/recipe-from-parts.js +5 -5
  69. package/dist/recipe-from-parts.js.map +1 -1
  70. package/dist/release-contract.d.ts.map +1 -1
  71. package/dist/release-contract.js +7 -2
  72. package/dist/release-contract.js.map +1 -1
  73. package/dist/release-metrics.d.ts.map +1 -1
  74. package/dist/release-metrics.js +6 -2
  75. package/dist/release-metrics.js.map +1 -1
  76. package/dist/resize-plan.d.ts.map +1 -1
  77. package/dist/resize-plan.js +4 -9
  78. package/dist/resize-plan.js.map +1 -1
  79. package/dist/room.d.ts.map +1 -1
  80. package/dist/room.js +13 -4
  81. package/dist/room.js.map +1 -1
  82. package/dist/shape-edit.d.ts +1 -1
  83. package/dist/shape-edit.js +1 -1
  84. package/dist/shape-extreme.d.ts +55 -4
  85. package/dist/shape-extreme.d.ts.map +1 -1
  86. package/dist/shape-extreme.js +118 -4
  87. package/dist/shape-extreme.js.map +1 -1
  88. package/dist/shape-provider.d.ts.map +1 -1
  89. package/dist/shape-provider.js +4 -3
  90. package/dist/shape-provider.js.map +1 -1
  91. package/dist/size-edit.d.ts +32 -8
  92. package/dist/size-edit.d.ts.map +1 -1
  93. package/dist/size-edit.js +68 -125
  94. package/dist/size-edit.js.map +1 -1
  95. package/package.json +1 -1
@@ -3,12 +3,10 @@ type Axis = 'x' | 'y' | 'z';
3
3
  /** The instance-size inputs, in mm. */
4
4
  export declare const FIGURE_INSTANCE_SIZE_INPUTS: Readonly<Record<Axis, string>>;
5
5
  /**
6
- * The default range: from 1 mm to ten times the authored size; the modeller prefills the same.
6
+ * How far up an open end is looked for: the largest size figures have, in mm. Above it the numerical step below is not
7
+ * known to hold, so a figure that still draws here is taken to have no largest size.
7
8
  */
8
- export declare const FIGURE_INSTANCE_SIZE_DEFAULT: Readonly<{
9
- min: 1;
10
- times: 10;
11
- }>;
9
+ export declare const FIGURE_SIZE_PROBE_MAX = 100000;
12
10
  /**
13
11
  * The step above a spanned length's room at which the evaluated length is still positive in double precision at the
14
12
  * sizes figures have (mm, up to 10⁵). A numerical stability bound, not a minimum part size (designer's ruling 2).
@@ -23,41 +21,16 @@ export type FigureSizeLimit = {
23
21
  axis: Axis;
24
22
  part?: string;
25
23
  } & (
26
- /** A length that is `size − room`: positive only above the room. */
24
+ /** Below `room` the figure is not drawn: a length that is `size − room` is positive only above it. */
27
25
  {
28
26
  kind: 'span';
29
27
  room: number;
30
28
  }
31
- /** A spreading repeat: at least one pitch, at most `cap` before the copy limit. */
32
- | {
33
- kind: 'repeat';
34
- pitch: number;
35
- cap: number;
36
- }
37
- /** Anything else that fails above a size, measured. */
29
+ /** Above `max` the figure is not drawn: a row past its copy limit, or anything else that fails, measured. */
38
30
  | {
39
31
  kind: 'cap';
40
32
  max: number;
41
33
  });
42
- /** A bound the fold moved, with the range as it stood right after — what a report needs to say it. */
43
- export interface FigureSizeRangeMove {
44
- limit: FigureSizeLimit;
45
- bound: 'min' | 'max';
46
- range: {
47
- min: number;
48
- max: number;
49
- };
50
- }
51
- /** The default range around an authored size. */
52
- export declare function defaultInstanceSizeRange(size: Record<Axis, number>): FigureSizeRange;
53
- /**
54
- * The range left once every limit is applied, in the order given, and each bound that moved. A repeat's floor at
55
- * one pitch is applied without a move: it is "at least one copy", not a narrowing.
56
- */
57
- export declare function foldInstanceSizeRange(start: FigureSizeRange, limits: readonly FigureSizeLimit[]): {
58
- range: FigureSizeRange;
59
- moves: FigureSizeRangeMove[];
60
- };
61
34
  /**
62
35
  * The edges of this asset's declared instance size, measured with the kernel: for each axis, the size below which
63
36
  * and above which the graph no longer evaluates, the other axes at their authored size and every state at its
@@ -65,5 +38,58 @@ export declare function foldInstanceSizeRange(start: FigureSizeRange, limits: re
65
38
  * evaluations. `part` is read from the node the kernel refused.
66
39
  */
67
40
  export declare function figureInstanceSizeLimitsOf(asset: FigureAsset, within: FigureSizeRange): FigureSizeLimit[];
41
+ /** The ends of each size axis: as narrowed by the author where given, and where not, as far as the parts allow. */
42
+ export interface FigureInstanceSizeRange {
43
+ /** 0 when nothing limits the size from below. */
44
+ min: number;
45
+ /** Infinity when nothing limits it from above. */
46
+ max: number;
47
+ /** Whether each end is the author's (stored on the size input) rather than computed. */
48
+ narrowed: {
49
+ min: boolean;
50
+ max: boolean;
51
+ };
52
+ /** The part that sets a computed end, when the kernel names one. */
53
+ part?: {
54
+ min?: string;
55
+ max?: string;
56
+ };
57
+ }
58
+ /**
59
+ * The range a board may place the figure at, per declared axis: the author's ends, and the open ones measured from the
60
+ * parts by `figureInstanceSizeLimitsOf`. The one place the range is computed (ADR-0087 decision 6): the modeller, the
61
+ * viewer, the gate and a release all read it here. An axis the figure does not declare is absent.
62
+ */
63
+ export declare function figureInstanceSizeRangeOf(asset: FigureAsset): Partial<Record<Axis, FigureInstanceSizeRange>>;
64
+ /**
65
+ * The asset as a release carries it: each open end the parts limit written onto its size input, so a board reads the
66
+ * whole range from the release (ADR-0087 decision 6). An end nothing limits stays open, as a board reads an absent end.
67
+ * A copy; the asset is left as it is. Writing an asset already written gives it back the same.
68
+ */
69
+ export declare function recordFigureInstanceSize<T extends FigureAsset>(asset: T): T;
70
+ /**
71
+ * A released asset made a draft again: each end that is just what the parts allow now is opened again, so what a release
72
+ * wrote down does not become the author's (ADR-0087 decision 6). An author's end that happens to equal the computed one
73
+ * is opened with it -- it allowed nothing the parts do not. A copy.
74
+ */
75
+ export declare function forgetRecordedInstanceSize<T extends FigureAsset>(asset: T): T;
76
+ /** An end of a size the author narrowed, moved because the parts no longer allow it: what was and what is. */
77
+ export interface FigureSizeRangeFit {
78
+ axis: Axis;
79
+ bound: 'min' | 'max';
80
+ from: number;
81
+ to: number;
82
+ }
83
+ /**
84
+ * The author's ends moved in to what the parts allow (ADR-0087 decision 6): a command that makes a narrowed end
85
+ * impossible is not refused, the end follows the parts. Writes onto the asset and says each move. Only the narrowed
86
+ * ends are evaluated, and only an end the figure fails at is searched.
87
+ */
88
+ export declare function fitNarrowedInstanceSize(asset: FigureAsset): FigureSizeRangeFit[];
89
+ /**
90
+ * What a command did to the author's ends without being asked: the ends of `after` that differ from `before`'s, an
91
+ * axis declared on both. The modeller says these in one line after a command that does not set the range itself.
92
+ */
93
+ export declare function figureSizeRangeFitsOf(before: FigureAsset, after: FigureAsset): FigureSizeRangeFit[];
68
94
  export {};
69
95
  //# sourceMappingURL=instance-size.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instance-size.d.ts","sourceRoot":"","sources":["../src/instance-size.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAgBnD,KAAK,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAG3B,uCAAuC;AACvC,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAA4D,CAAA;AAEnI;;GAEG;AACH,eAAO,MAAM,4BAA4B;;;EAAuC,CAAA;AAEhF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,WAAO,CAAA;AAE7C,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAExE,sGAAsG;AACtG,MAAM,MAAM,eAAe,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;AAC5D,oEAAoE;AAClE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAChC,mFAAmF;GACjF;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE;AAChD,uDAAuD;GACrD;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAC/B,CAAA;AAED,sGAAsG;AACtG,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,eAAe,CAAA;IACtB,KAAK,EAAE,KAAK,GAAG,KAAK,CAAA;IACpB,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,iDAAiD;AACjD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,eAAe,CAIpF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,eAAe,EAAE,GAAG;IAAE,KAAK,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,mBAAmB,EAAE,CAAA;CAAE,CAwB1J;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe,EAAE,CAyDzG"}
1
+ {"version":3,"file":"instance-size.d.ts","sourceRoot":"","sources":["../src/instance-size.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAgBnD,KAAK,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAG3B,uCAAuC;AACvC,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAA4D,CAAA;AAEnI;;;GAGG;AACH,eAAO,MAAM,qBAAqB,SAAM,CAAA;AAExC;;;GAGG;AACH,eAAO,MAAM,yBAAyB,WAAO,CAAA;AAE7C,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAExE,sGAAsG;AACtG,MAAM,MAAM,eAAe,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;AAC5D,sGAAsG;AACpG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAChC,6GAA6G;GAC3G;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAC/B,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe,EAAE,CAyDzG;AAED,mHAAmH;AACnH,MAAM,WAAW,uBAAuB;IACtC,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAA;IACX,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAA;IACX,wFAAwF;IACxF,QAAQ,EAAE;QAAE,GAAG,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,OAAO,CAAA;KAAE,CAAA;IACxC,oEAAoE;IACpE,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACtC;AAID;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC,CA8B5G;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAY3E;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAkB7E;AAID,8GAA8G;AAC9G,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,KAAK,GAAG,KAAK,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;CACX;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,WAAW,GAAG,kBAAkB,EAAE,CA8BhF;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,kBAAkB,EAAE,CAanG"}
@@ -3,53 +3,15 @@ const AXES = ['x', 'y', 'z'];
3
3
  /** The instance-size inputs, in mm. */
4
4
  export const FIGURE_INSTANCE_SIZE_INPUTS = Object.freeze({ x: 'size.x', y: 'size.y', z: 'size.z' });
5
5
  /**
6
- * The default range: from 1 mm to ten times the authored size; the modeller prefills the same.
6
+ * How far up an open end is looked for: the largest size figures have, in mm. Above it the numerical step below is not
7
+ * known to hold, so a figure that still draws here is taken to have no largest size.
7
8
  */
8
- export const FIGURE_INSTANCE_SIZE_DEFAULT = Object.freeze({ min: 1, times: 10 });
9
+ export const FIGURE_SIZE_PROBE_MAX = 1e5;
9
10
  /**
10
11
  * The step above a spanned length's room at which the evaluated length is still positive in double precision at the
11
12
  * sizes figures have (mm, up to 10⁵). A numerical stability bound, not a minimum part size (designer's ruling 2).
12
13
  */
13
14
  export const FIGURE_SIZE_POSITIVE_STEP = 1e-6;
14
- /** The default range around an authored size. */
15
- export function defaultInstanceSizeRange(size) {
16
- const out = {};
17
- for (const a of AXES)
18
- out[a] = { min: FIGURE_INSTANCE_SIZE_DEFAULT.min, max: size[a] * FIGURE_INSTANCE_SIZE_DEFAULT.times };
19
- return out;
20
- }
21
- /**
22
- * The range left once every limit is applied, in the order given, and each bound that moved. A repeat's floor at
23
- * one pitch is applied without a move: it is "at least one copy", not a narrowing.
24
- */
25
- export function foldInstanceSizeRange(start, limits) {
26
- const range = {};
27
- for (const a of AXES)
28
- range[a] = { ...start[a] };
29
- const moves = [];
30
- for (const limit of limits) {
31
- const r = range[limit.axis];
32
- if (limit.kind === 'span') {
33
- const floor = limit.room + FIGURE_SIZE_POSITIVE_STEP;
34
- if (floor > r.min) {
35
- r.min = floor;
36
- moves.push({ limit, bound: 'min', range: { ...r } });
37
- }
38
- }
39
- else if (limit.kind === 'repeat') {
40
- r.min = Math.max(r.min, limit.pitch);
41
- if (r.max > limit.cap) {
42
- r.max = limit.cap;
43
- moves.push({ limit, bound: 'max', range: { ...r } });
44
- }
45
- }
46
- else if (r.max > limit.max) {
47
- r.max = limit.max;
48
- moves.push({ limit, bound: 'max', range: { ...r } });
49
- }
50
- }
51
- return { range, moves };
52
- }
53
15
  /**
54
16
  * The edges of this asset's declared instance size, measured with the kernel: for each axis, the size below which
55
17
  * and above which the graph no longer evaluates, the other axes at their authored size and every state at its
@@ -117,4 +79,156 @@ export function figureInstanceSizeLimitsOf(asset, within) {
117
79
  }
118
80
  return limits;
119
81
  }
82
+ const sizeInputOf = (asset, axis) => asset.document.model.inputs.find(i => i.id === FIGURE_INSTANCE_SIZE_INPUTS[axis]);
83
+ /**
84
+ * The range a board may place the figure at, per declared axis: the author's ends, and the open ones measured from the
85
+ * parts by `figureInstanceSizeLimitsOf`. The one place the range is computed (ADR-0087 decision 6): the modeller, the
86
+ * viewer, the gate and a release all read it here. An axis the figure does not declare is absent.
87
+ */
88
+ export function figureInstanceSizeRangeOf(asset) {
89
+ const out = {};
90
+ const declared = AXES.filter(axis => sizeInputOf(asset, axis) && typeof asset.designInputs[FIGURE_INSTANCE_SIZE_INPUTS[axis]] === 'number');
91
+ if (!declared.length)
92
+ return out;
93
+ const probe = {};
94
+ for (const axis of AXES)
95
+ probe[axis] = { min: FIGURE_SIZE_POSITIVE_STEP, max: FIGURE_SIZE_PROBE_MAX };
96
+ const limits = figureInstanceSizeLimitsOf(asset, probe);
97
+ for (const axis of declared) {
98
+ const input = sizeInputOf(asset, axis);
99
+ const open = { min: 0, max: Infinity };
100
+ const part = {};
101
+ for (const limit of limits) {
102
+ if (limit.axis !== axis)
103
+ continue;
104
+ if (limit.kind === 'span' && limit.room + FIGURE_SIZE_POSITIVE_STEP > open.min) {
105
+ open.min = limit.room + FIGURE_SIZE_POSITIVE_STEP;
106
+ if (limit.part)
107
+ part.min = limit.part;
108
+ }
109
+ else if (limit.kind === 'cap' && limit.max < open.max) {
110
+ open.max = limit.max;
111
+ if (limit.part)
112
+ part.max = limit.part;
113
+ }
114
+ }
115
+ const narrowed = { min: input.min !== undefined, max: input.max !== undefined };
116
+ out[axis] = {
117
+ min: narrowed.min ? Math.max(input.min, open.min) : open.min,
118
+ max: narrowed.max ? Math.min(input.max, open.max) : open.max,
119
+ narrowed,
120
+ ...(part.min && !narrowed.min) || (part.max && !narrowed.max) ? { part: { ...(!narrowed.min && part.min ? { min: part.min } : {}), ...(!narrowed.max && part.max ? { max: part.max } : {}) } } : {}
121
+ };
122
+ }
123
+ return out;
124
+ }
125
+ /**
126
+ * The asset as a release carries it: each open end the parts limit written onto its size input, so a board reads the
127
+ * whole range from the release (ADR-0087 decision 6). An end nothing limits stays open, as a board reads an absent end.
128
+ * A copy; the asset is left as it is. Writing an asset already written gives it back the same.
129
+ */
130
+ export function recordFigureInstanceSize(asset) {
131
+ const range = figureInstanceSizeRangeOf(asset);
132
+ if (!Object.keys(range).length)
133
+ return asset;
134
+ const out = structuredClone(asset);
135
+ for (const axis of AXES) {
136
+ const r = range[axis];
137
+ if (!r)
138
+ continue;
139
+ const input = sizeInputOf(out, axis);
140
+ if (!r.narrowed.min && r.min > 0)
141
+ input.min = r.min;
142
+ if (!r.narrowed.max && Number.isFinite(r.max))
143
+ input.max = r.max;
144
+ }
145
+ return out;
146
+ }
147
+ /**
148
+ * A released asset made a draft again: each end that is just what the parts allow now is opened again, so what a release
149
+ * wrote down does not become the author's (ADR-0087 decision 6). An author's end that happens to equal the computed one
150
+ * is opened with it -- it allowed nothing the parts do not. A copy.
151
+ */
152
+ export function forgetRecordedInstanceSize(asset) {
153
+ const declared = AXES.filter(axis => sizeInputOf(asset, axis));
154
+ if (!declared.length)
155
+ return asset;
156
+ const out = structuredClone(asset);
157
+ for (const axis of declared) {
158
+ const input = sizeInputOf(out, axis);
159
+ delete input.min;
160
+ delete input.max;
161
+ }
162
+ const open = figureInstanceSizeRangeOf(out);
163
+ for (const axis of declared) {
164
+ const was = sizeInputOf(asset, axis);
165
+ const input = sizeInputOf(out, axis);
166
+ const r = open[axis];
167
+ if (was.min !== undefined && !(r && near(was.min, r.min)))
168
+ input.min = was.min;
169
+ if (was.max !== undefined && !(r && near(was.max, r.max)))
170
+ input.max = was.max;
171
+ }
172
+ return out;
173
+ }
174
+ const near = (a, b) => Number.isFinite(b) && Math.abs(a - b) <= 1e-6 * Math.max(1, Math.abs(b));
175
+ /**
176
+ * The author's ends moved in to what the parts allow (ADR-0087 decision 6): a command that makes a narrowed end
177
+ * impossible is not refused, the end follows the parts. Writes onto the asset and says each move. Only the narrowed
178
+ * ends are evaluated, and only an end the figure fails at is searched.
179
+ */
180
+ export function fitNarrowedInstanceSize(asset) {
181
+ const within = {};
182
+ let any = false;
183
+ for (const axis of AXES) {
184
+ const input = sizeInputOf(asset, axis);
185
+ const at = asset.designInputs[FIGURE_INSTANCE_SIZE_INPUTS[axis]];
186
+ if (!input || typeof at !== 'number') {
187
+ within[axis] = { min: 1, max: 1 };
188
+ continue;
189
+ }
190
+ within[axis] = { min: input.min ?? at, max: input.max ?? at };
191
+ any ||= input.min !== undefined || input.max !== undefined;
192
+ }
193
+ if (!any)
194
+ return [];
195
+ const fits = [];
196
+ for (const limit of figureInstanceSizeLimitsOf(asset, within)) {
197
+ const input = sizeInputOf(asset, limit.axis);
198
+ if (limit.kind === 'span' && input.min !== undefined) {
199
+ const to = round6Up(limit.room + FIGURE_SIZE_POSITIVE_STEP);
200
+ if (to > input.min) {
201
+ fits.push({ axis: limit.axis, bound: 'min', from: input.min, to });
202
+ input.min = to;
203
+ }
204
+ }
205
+ else if (limit.kind === 'cap' && input.max !== undefined && limit.max < input.max) {
206
+ const to = Math.floor(limit.max * 1e6) / 1e6;
207
+ fits.push({ axis: limit.axis, bound: 'max', from: input.max, to });
208
+ input.max = to;
209
+ }
210
+ }
211
+ return fits;
212
+ }
213
+ const round6Up = (x) => Math.ceil(x * 1e6) / 1e6;
214
+ /**
215
+ * What a command did to the author's ends without being asked: the ends of `after` that differ from `before`'s, an
216
+ * axis declared on both. The modeller says these in one line after a command that does not set the range itself.
217
+ */
218
+ export function figureSizeRangeFitsOf(before, after) {
219
+ const out = [];
220
+ for (const axis of AXES) {
221
+ const was = sizeInputOf(before, axis);
222
+ const now = sizeInputOf(after, axis);
223
+ if (!was || !now)
224
+ continue;
225
+ for (const bound of ['min', 'max']) {
226
+ const from = was[bound];
227
+ const to = now[bound];
228
+ if (from !== undefined && to !== undefined && from !== to)
229
+ out.push({ axis, bound, from, to });
230
+ }
231
+ }
232
+ return out;
233
+ }
120
234
  //# sourceMappingURL=instance-size.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"instance-size.js","sourceRoot":"","sources":["../src/instance-size.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAkB/C,MAAM,IAAI,GAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAE7C,uCAAuC;AACvC,MAAM,CAAC,MAAM,2BAA2B,GAAmC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;AAEnI;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAA;AAqB7C,iDAAiD;AACjD,MAAM,UAAU,wBAAwB,CAAC,IAA0B;IACjE,MAAM,GAAG,GAAG,EAAqB,CAAA;IACjC,KAAK,MAAM,CAAC,IAAI,IAAI;QAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,4BAA4B,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,4BAA4B,CAAC,KAAK,EAAE,CAAA;IAC3H,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAsB,EAAE,MAAkC;IAC9F,MAAM,KAAK,GAAG,EAAqB,CAAA;IACnC,KAAK,MAAM,CAAC,IAAI,IAAI;QAAE,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;IAChD,MAAM,KAAK,GAA0B,EAAE,CAAA;IACvC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,GAAG,yBAAyB,CAAA;YACpD,IAAI,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBAClB,CAAC,CAAC,GAAG,GAAG,KAAK,CAAA;gBACb,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;YACtD,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;YACpC,IAAI,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;gBACtB,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA;gBACjB,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;YACtD,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;YAC7B,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA;YACjB,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;AACzB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAkB,EAAE,MAAuB;IACpF,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAA;IAC/D,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM;QAAE,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;IAC/H,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACvC,MAAM,IAAI,GAAG,EAAE,GAAG,KAAK,CAAC,YAAY,EAAE,GAAG,KAAK,CAAC,aAAa,EAAE,CAAA;IAC9D,MAAM,MAAM,GAAsB,EAAE,CAAA;IAEpC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAA;QAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,SAAQ;QAC1C,MAAM,OAAO,GAAG,CAAC,CAAS,EAAiB,EAAE;YAC3C,IAAI,CAAC;gBACH,KAAK,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;gBACpC,OAAO,IAAI,CAAA;YACb,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,MAAM,CAAE,CAAuB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;YACpD,CAAC;QACH,CAAC,CAAA;QACD,MAAM,MAAM,GAAG,CAAC,IAAmB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QAE5F,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACrC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YAC7C,IAAI,EAAE,GAAG,QAAQ,CAAA;YACjB,IAAI,EAAE,GAAG,GAAG,CAAA;YACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,yBAAyB,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvE,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;gBACzB,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;gBACtB,IAAI,CAAC,KAAK,IAAI;oBAAE,EAAE,GAAG,GAAG,CAAA;qBACnB,CAAC;oBACJ,EAAE,GAAG,GAAG,CAAA;oBACR,EAAE,GAAG,CAAC,CAAA;gBACR,CAAC;YACH,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QACjE,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACtC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,IAAI,EAAE,GAAG,QAAQ,CAAA;YACjB,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YAC7C,IAAI,EAAE,GAAG,IAAI,CAAA;YACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,yBAAyB,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvE,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;gBACzB,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;gBACtB,IAAI,CAAC,KAAK,IAAI;oBAAE,EAAE,GAAG,GAAG,CAAA;qBACnB,CAAC;oBACJ,EAAE,GAAG,GAAG,CAAA;oBACR,EAAE,GAAG,CAAC,CAAA;gBACR,CAAC;YACH,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAC/D,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"instance-size.js","sourceRoot":"","sources":["../src/instance-size.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"joint-list.d.ts","sourceRoot":"","sources":["../src/joint-list.ts"],"names":[],"mappings":"AAuDA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAKnD,OAAO,KAAK,EAA0D,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE1G,qEAAqE;AACrE,eAAO,MAAM,wBAAwB,IAAI,CAAA;AACzC,0GAA0G;AAC1G,eAAO,MAAM,4BAA4B,IAAI,CAAA;AAE7C,sDAAsD;AACtD,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,IAAI,GAAG,OAAO,CAAA;AACzD,8EAA8E;AAC9E,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,IAAI,CAAA;AAEhD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,WAAW,CAAA;IACxC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,2FAA2F;IAC3F,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,sCAAsC;IACtC,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,oBAAoB,CAAC;QAAC,UAAU,EAAE,qBAAqB,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3H,sBAAsB;IACtB,OAAO,CAAC,EAAE;QAAE,GAAG,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAChF;AAED,sHAAsH;AACtH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,UAAU,CAAA;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,wBAAwB,CAAA;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,iBAAiB,EAAE,CAAA;IAC3B,yGAAyG;IACzG,QAAQ,EAAE,mBAAmB,EAAE,CAAA;CAChC;AAKD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG;IAAE,GAAG,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAGpI;AA2JD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,eAAe,CAElE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,GAAG,OAAO,GAAG,eAAe,CAmEpG;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,MAAM,CAQpH"}
1
+ {"version":3,"file":"joint-list.d.ts","sourceRoot":"","sources":["../src/joint-list.ts"],"names":[],"mappings":"AAuDA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAKnD,OAAO,KAAK,EAA+D,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE/G,qEAAqE;AACrE,eAAO,MAAM,wBAAwB,IAAI,CAAA;AACzC,0GAA0G;AAC1G,eAAO,MAAM,4BAA4B,IAAI,CAAA;AAE7C,sDAAsD;AACtD,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,IAAI,GAAG,OAAO,CAAA;AACzD,8EAA8E;AAC9E,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,IAAI,CAAA;AAEhD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,WAAW,CAAA;IACxC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,2FAA2F;IAC3F,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,sCAAsC;IACtC,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,oBAAoB,CAAC;QAAC,UAAU,EAAE,qBAAqB,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3H,sBAAsB;IACtB,OAAO,CAAC,EAAE;QAAE,GAAG,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAChF;AAED,sHAAsH;AACtH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,UAAU,CAAA;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,wBAAwB,CAAA;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,iBAAiB,EAAE,CAAA;IAC3B,yGAAyG;IACzG,QAAQ,EAAE,mBAAmB,EAAE,CAAA;CAChC;AAKD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG;IAAE,GAAG,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAGpI;AA2JD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,eAAe,CAElE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,GAAG,OAAO,GAAG,eAAe,CAmEpG;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,MAAM,CAQpH"}
@@ -153,7 +153,7 @@ const MOTION_OPS = new Set(['axis-slide@1', 'axis-turn@1']);
153
153
  /** The state inputs a motion reads, in the model's order: what moves a part, by a joint record or by none. */
154
154
  function movingInputsOf(asset, dependence) {
155
155
  const moving = new Set(asset.document.model.nodes.filter(n => MOTION_OPS.has(n.op)).flatMap(n => Object.values(n.outputs).flatMap(ref => dependence[ref] ?? [])));
156
- return asset.document.model.inputs.filter(i => i.role === 'state' && moving.has(i.id));
156
+ return asset.document.model.inputs.filter((i) => i.role === 'state' && moving.has(i.id));
157
157
  }
158
158
  /**
159
159
  * The joint list of a figure, from its validated joint records. Refuses (`JOINT_DRIFT`, or `JOINT_AXIS_UNREAD`
@@ -185,12 +185,12 @@ export function jointListOf(asset, evaluation) {
185
185
  with those controls' ranges widened to 0. Only here -- a board's evaluation, the state defaults and every command
186
186
  still hold a control to its limits.
187
187
  */
188
- const outside = asset.document.model.inputs.some(i => Object.hasOwn(rest, i.id) && !(i.min <= 0 && 0 <= i.max));
188
+ const outside = asset.document.model.inputs.some(i => Object.hasOwn(rest, i.id) && !((i.min ?? 0) <= 0 && 0 <= (i.max ?? 0)));
189
189
  const model = outside ? structuredClone(asset.document.model) : asset.document.model;
190
190
  if (outside)
191
191
  for (const i of model.inputs)
192
192
  if (Object.hasOwn(rest, i.id))
193
- Object.assign(i, { min: Math.min(i.min, 0), max: Math.max(i.max, 0) });
193
+ Object.assign(i, { min: Math.min(i.min ?? 0, 0), max: Math.max(i.max ?? 0, 0) });
194
194
  const plan = compileFigureGraph(model);
195
195
  const list = { schema: FIGURE_JOINT_LIST_SCHEMA, derivation: FIGURE_JOINT_LIST_DERIVATION, joints: [], unlisted: [] };
196
196
  const covered = new Set();
@@ -1 +1 @@
1
- {"version":3,"file":"joint-list.js","sourceRoot":"","sources":["../src/joint-list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"joint-list.js","sourceRoot":"","sources":["../src/joint-list.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"joint-writing.d.ts","sourceRoot":"","sources":["../src/joint-writing.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAKL,KAAK,WAAW,EAGhB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAQlB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC3B,MAAM,sBAAsB,CAAA;AAiC7B,KAAK,OAAO,GAAG,GAAG,CAAA;AAwGlB,kGAAkG;AAClG,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAKrF;AAED,kDAAkD;AAClD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEhF;AAED,eAAO,MAAM,SAAS,GAAI,GAAG,WAAW,WAAwB,CAAA;AAEhE,oGAAoG;AACpG,eAAO,MAAM,cAAc,GAAI,GAAG,WAAW,KAAG,OAAuC,CAAA;AAEvF,wHAAwH;AACxH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAQ/E;AAgeD,8FAA8F;AAC9F,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,QAexD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,CAAC,EAAE,WAAW,GACb,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,aAAa,GAAG,SAAS,CAAC;IAAC,GAAG,EAAE,CAAC,CAAC,EAAE,aAAa,GAAG,SAAS,KAAK,IAAI,CAAA;CAAE,CAAC,CA8C1G;AAED,6FAA6F;AAC7F,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,GAAG,SAAS,EAClC,EAAE,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,qBAAqB,GAC3D,aAAa,GAAG,SAAS,CAK3B;AAsBD,8GAA8G;AAC9G,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,QAwC3C;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,QAsB1D;AAED,sFAAsF;AACtF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,SAAS,QAsDhG;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,QAgCrD;AAqCD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,qBAAqB,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,EAAE,QAAQ,GAAE,OAAe,QA+C7H;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAiB1D;AAED,wBAAgB,SAAS,CACvB,KAAK,EAAE,OAAO,EACd,CAAC,EAAE;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAA;CAAE,GACrE,OAAO,CAwET"}
1
+ {"version":3,"file":"joint-writing.d.ts","sourceRoot":"","sources":["../src/joint-writing.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAKL,KAAK,WAAW,EAGhB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EASlB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC3B,MAAM,sBAAsB,CAAA;AAiC7B,KAAK,OAAO,GAAG,GAAG,CAAA;AAgHlB,kGAAkG;AAClG,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAKrF;AAED,kDAAkD;AAClD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEhF;AAED,eAAO,MAAM,SAAS,GAAI,GAAG,WAAW,WAAwB,CAAA;AAEhE,oGAAoG;AACpG,eAAO,MAAM,cAAc,GAAI,GAAG,WAAW,KAAG,OAAuC,CAAA;AAEvF,wHAAwH;AACxH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAQ/E;AA+fD,8FAA8F;AAC9F,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,QAexD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,CAAC,EAAE,WAAW,GACb,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,aAAa,GAAG,SAAS,CAAC;IAAC,GAAG,EAAE,CAAC,CAAC,EAAE,aAAa,GAAG,SAAS,KAAK,IAAI,CAAA;CAAE,CAAC,CA8C1G;AAED,6FAA6F;AAC7F,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,GAAG,SAAS,EAClC,EAAE,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,qBAAqB,GAC3D,aAAa,GAAG,SAAS,CAK3B;AAsBD,8GAA8G;AAC9G,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,QAwC3C;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,QAsB1D;AAED,sFAAsF;AACtF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,SAAS,QAsDhG;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,QAgCrD;AAqCD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,qBAAqB,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,EAAE,QAAQ,GAAE,OAAe,QAuD7H;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAiB1D;AAED,wBAAgB,SAAS,CACvB,KAAK,EAAE,OAAO,EACd,CAAC,EAAE;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAA;CAAE,GACrE,OAAO,CA6ET"}