@hatiolab/figure-model 0.4.1 → 0.4.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAA;AAgBlE,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,GAAG,0BAA0B,CAE1G"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAA;AAkBlE,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,GAAG,0BAA0B,CAE1G"}
@@ -3,6 +3,8 @@ import { compileFigureGraph as compile } from "./graph.js";
3
3
  import { FigureContractError as ContractError } from "./contract.js";
4
4
  import { CAPABILITY_NEEDS, FIGURE_CAPABILITIES } from "./words.js";
5
5
  import { resolveFigureSurface, evaluateFigureSurface } from "./surface.js";
6
+ import { persistenceIssues, slotFrame, validateSlotLayout } from "./slot-layout.js";
7
+ import { figureSlotPlacesOf } from "./slot-places.js";
6
8
  const fail = (code, path, message) => {
7
9
  throw new ContractError(code, path, message);
8
10
  };
@@ -26,7 +28,7 @@ export function compileFigureCapabilities(model, declaration) {
26
28
  function compileInternal(model, declaration) {
27
29
  const plan = compile(model), doc = structuredClone(declaration), types = plan.outputTypes;
28
30
  const writers = new Map(model.nodes.flatMap((n) => Object.values(n.outputs).map((ref) => [ref, structuredClone(n)]))), surfaces = new Map();
29
- fields(doc, ['version', 'assetFrame', 'bindings'], ['names'], 'capabilities');
31
+ fields(doc, ['version', 'assetFrame', 'bindings'], ['names', 'slotLayout'], 'capabilities');
30
32
  if (doc.version !== 'r3-capability-3')
31
33
  fail('VERSION', 'capabilities', doc.version);
32
34
  name(doc.assetFrame, 'assetFrame');
@@ -108,6 +110,79 @@ function compileInternal(model, declaration) {
108
110
  surfaces.set(b.id, compiled);
109
111
  }
110
112
  }
113
+ /*
114
+ Slots laid out by a rule (ADR-0118): checked, then unfolded into places told as bindings are. The anchors are faces
115
+ of the figure's parts; the count and the ids of the slots are the declaration's. A place keeps its tier's placement
116
+ on its anchor, its slot's offset in the tier and its turn.
117
+ */
118
+ const slotPlaces = [];
119
+ if (doc.slotLayout !== undefined) {
120
+ const sl = doc.slotLayout;
121
+ fields(sl, ['label', 'role', 'anchors', 'layout'], [], 'slotLayout');
122
+ name(sl.label, 'slotLayout.label');
123
+ if (!['seat', 'grip'].includes(sl.role))
124
+ fail('ROLE', 'slotLayout', 'explicit seat or grip required; slot is ambiguous');
125
+ if (!Array.isArray(sl.anchors) || !sl.anchors.length)
126
+ fail('SCHEMA', 'slotLayout.anchors', 'at least one anchor required');
127
+ const anchorFaces = new Map();
128
+ sl.anchors.forEach((a, i) => {
129
+ const path = `slotLayout.anchors[${i}]`;
130
+ fields(a, ['id', 'frame', 'pose'], [], path);
131
+ name(a.id, `${path}.id`);
132
+ name(a.frame, `${path}.frame`);
133
+ if (anchorFaces.has(a.id))
134
+ fail('SCHEMA', `${path}.id`, `duplicate anchor ${a.id}`);
135
+ if (typeof a.pose === 'string')
136
+ fail('SLOT_LAYOUT_FACE', `${path}.pose`, 'an anchor is a face of a part');
137
+ const surface = resolveSurface(a.pose, path);
138
+ if (surface.frame !== a.frame)
139
+ fail('FRAME_TYPE', path, 'anchor frame must be the selected feature frame');
140
+ const up = surface.normal[1];
141
+ if (!up)
142
+ fail('SLOT_LAYOUT_FACE', `${path}.pose`, 'an anchor is a horizontal face (its normal along Y)');
143
+ anchorFaces.set(a.id, { surface, up });
144
+ });
145
+ const issues = validateSlotLayout(sl.layout, { anchors: anchorFaces.keys() });
146
+ const problems = issues.length ? issues : persistenceIssues(sl.layout);
147
+ if (problems.length)
148
+ fail('SLOT_LAYOUT', `slotLayout.layout.${problems[0].path}`, problems.map(i => `${i.code} at ${i.path}`).join('; '));
149
+ for (const place of figureSlotPlacesOf(sl)) {
150
+ // A figure's slot names what it takes (ADR-0087 decision 3): the common layout's "left out takes any" is not a figure's.
151
+ if (!place.accepts.length)
152
+ fail('SCHEMA', place.id, 'nonempty accepts required');
153
+ place.accepts.forEach((x) => name(x, place.id));
154
+ if (new Set(place.accepts).size !== place.accepts.length)
155
+ fail('SCHEMA', place.id, 'duplicate accepted type');
156
+ if (!Number.isSafeInteger(place.capacity) || place.capacity < 1)
157
+ fail('CAPACITY', place.id, 'positive integer capacity required');
158
+ if (ids.has(place.id))
159
+ fail('DUPLICATE_BINDING', place.id, 'duplicate id');
160
+ ids.add(place.id);
161
+ const face = anchorFaces.get(place.anchorId);
162
+ poses.set(place.id, face.surface);
163
+ slotPlaces.push({ ...place, up: face.up });
164
+ }
165
+ }
166
+ /* Every place the figure has: its declared bindings, then its unfolded slots. */
167
+ const places = [...doc.bindings, ...slotPlaces];
168
+ /*
169
+ A slot's pose: its anchor face's, moved by the tier's placement and the slot's offset in it (Y away from the face),
170
+ turned about Y by the tier's and the slot's turns.
171
+ */
172
+ function slotPose(bound, place) {
173
+ const r = bound.pose.r;
174
+ const frame = slotFrame(place);
175
+ const local = [frame.position.x, frame.position.y * place.up, frame.position.z];
176
+ const t = r.map((row, j) => bound.pose.t[j] + row.reduce((v, x, i) => v + x * local[i], 0));
177
+ const a = (frame.rotation * Math.PI) / 180, c = Math.cos(a), sn = Math.sin(a);
178
+ const turn = [
179
+ [c, 0, sn],
180
+ [0, 1, 0],
181
+ [-sn, 0, c]
182
+ ];
183
+ const turned = r.map(row => turn[0].map((_, k) => row.reduce((v, x, i) => v + x * turn[i][k], 0)));
184
+ return { ...bound, pose: { r: turned, t } };
185
+ }
111
186
  /* The graph's evaluation given, then the places told from it: the same for a whole evaluation and an instance's own. */
112
187
  /*
113
188
  One place as an evaluation tells it, from the values it reads. An evaluation and a pose step (ADR-0108) both tell a
@@ -116,7 +191,9 @@ function compileInternal(model, declaration) {
116
191
  function placeOf(b, values, requests) {
117
192
  const evaluateSurface = (s) => evaluateFigureSurface(values, s);
118
193
  let region = null;
119
- if (b.region) {
194
+ if (b.allowed)
195
+ region = { kind: 'centered-box', dimensions: [b.allowed.width, b.allowed.height, b.allowed.depth] };
196
+ else if (b.region) {
120
197
  const dimensions = b.region.dimensions.map((ref) => values[ref]);
121
198
  if (dimensions.some((x) => !Number.isFinite(x) || x <= 0))
122
199
  fail('REGION_DOMAIN', b.id, 'positive region dimensions required');
@@ -136,7 +213,7 @@ function compileInternal(model, declaration) {
136
213
  reasons.push('CAPACITY_FULL');
137
214
  eligibility = { status: reasons.length ? 'failed' : 'satisfied', reasons };
138
215
  }
139
- const contacts = (surfaces.get(b.id) ?? []).map(evaluateSurface), bound = poses.has(b.id) ? evaluateSurface(poses.get(b.id)) : null;
216
+ const contacts = (surfaces.get(b.id) ?? []).map(evaluateSurface), surface = poses.has(b.id) ? evaluateSurface(poses.get(b.id)) : null, bound = surface && b.allowed ? slotPose(surface, b) : surface;
140
217
  return {
141
218
  id: b.id,
142
219
  label: b.label,
@@ -161,12 +238,12 @@ function compileInternal(model, declaration) {
161
238
  return told(graph.evaluate(input), requests);
162
239
  }
163
240
  function told(result, requests) {
164
- const bindings = doc.bindings.map((b) => placeOf(b, result.values, requests));
241
+ const bindings = places.map((b) => placeOf(b, result.values, requests));
165
242
  return { geometry: result.geometry, bindings, values: result.values };
166
243
  }
167
244
  /* The values each place reads, and what outside the graph reads at all (ADR-0108): a pose step must know both. */
168
245
  const surfaceRefs = (s) => [s.placement, s.feature, ...(s.selection ? [s.selection.collection, s.selection.index] : [])];
169
- const placeReads = new Map(doc.bindings.map((b) => [
246
+ const placeReads = new Map(places.map((b) => [
170
247
  b.id,
171
248
  [
172
249
  ...(typeof b.pose === 'string' ? [b.pose] : surfaceRefs(poses.get(b.id))),
@@ -175,7 +252,7 @@ function compileInternal(model, declaration) {
175
252
  ]
176
253
  ]));
177
254
  const reads = {
178
- forbidden: Object.fromEntries(doc.bindings.flatMap((b) => (b.region?.dimensions ?? []).map((ref) => [ref, `region of ${b.id}`]))),
255
+ forbidden: Object.fromEntries(places.flatMap((b) => (b.region?.dimensions ?? []).map((ref) => [ref, `region of ${b.id}`]))),
179
256
  external: [...new Set([...placeReads.values()].flat())]
180
257
  };
181
258
  return {
@@ -207,15 +284,15 @@ function compileInternal(model, declaration) {
207
284
  after it tells every place again.
208
285
  */
209
286
  if (step.kind === 'changes') {
210
- const places = doc.bindings
287
+ const told = places
211
288
  .filter((b) => asked || step.structure || placeReads.get(b.id).some(ref => step.changed(ref)))
212
289
  .map((b) => placeOf(b, Object.fromEntries(placeReads.get(b.id).map(ref => [ref, step.read(ref)])), requests));
213
- return { ...step, places };
290
+ return { ...step, places: told };
214
291
  }
215
- const places = doc.bindings
292
+ const moved = places
216
293
  .filter((b) => placeReads.get(b.id).some(ref => step.changed(ref)))
217
294
  .map((b) => placeOf(b, Object.fromEntries(placeReads.get(b.id).map(ref => [ref, step.read(ref)])), requests));
218
- return { kind: 'poses', generation: step.generation, bodies: step.bodies, poses: step.poses, places };
295
+ return { kind: 'poses', generation: step.generation, bodies: step.bodies, poses: step.poses, places: moved };
219
296
  },
220
297
  poseInputs: () => graph.poseInputs(),
221
298
  /**
@@ -223,7 +300,7 @@ function compileInternal(model, declaration) {
223
300
  * -- no snapshot is made. The caller's to keep. Refused before the first evaluation and after a refusal.
224
301
  */
225
302
  place: (id, requests = {}) => {
226
- const b = doc.bindings.find((x) => x.id === id);
303
+ const b = places.find((x) => x.id === id);
227
304
  if (!b)
228
305
  fail('TARGET_ABSENT', id, 'no such place');
229
306
  fields(requests, [], [...ids], 'requests');
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -49,4 +49,6 @@ export { quadrupedRobotFigure, mobileManipulatorFigure, scaraRobotFigure, humano
49
49
  export { settleFigureClips, FigureClipsDroppedError, type FigureClipConsent, type FigureClipLoss, type FigurePartRenamed } from './clip-keeping.ts';
50
50
  export { previewFigureCommand, seedFigureEvaluation, figurePartFaceOf, figureBodyOwnerOf, figureRowOf, figureFaceOverhangOf, type FigureFaceOverhang, type FigureCommandPreview, type FigureBodyMove, type FigureFaceArea, type FigureRowReading } from './command-preview.ts';
51
51
  export { figureWork, measureFigureWork } from './work-counter.ts';
52
+ export * from './slot-layout.ts';
53
+ export { figureSlotPlacesOf, type FigureSlotLayoutDeclaration, type FigureSlotPlace } from './slot-places.ts';
52
54
  //# sourceMappingURL=index.d.ts.map
@@ -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
@@ -56,4 +56,6 @@ export { quadrupedRobotFigure, mobileManipulatorFigure, scaraRobotFigure, humano
56
56
  export { settleFigureClips, FigureClipsDroppedError } from "./clip-keeping.js";
57
57
  export { previewFigureCommand, seedFigureEvaluation, figurePartFaceOf, figureBodyOwnerOf, figureRowOf, figureFaceOverhangOf } from "./command-preview.js";
58
58
  export { figureWork, measureFigureWork } from "./work-counter.js";
59
+ export * from "./slot-layout.js";
60
+ export { figureSlotPlacesOf } from "./slot-places.js";
59
61
  //# sourceMappingURL=index.js.map
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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"}
@@ -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.4.1";
7
+ export declare const FIGURE_KERNEL_VERSION = "0.4.3";
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.4.1';
10
+ export const FIGURE_KERNEL_VERSION = '0.4.3';
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-section", "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", "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", "set-slot-layout", "remove-slot-layout", "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;AASD;;;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,iwBA8CxB,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;AASD;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,kBAAkB,EAwGhE,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,0yBAgDxB,CAAA"}
package/dist/proposal.js CHANGED
@@ -157,6 +157,12 @@ export const FIGURE_PROPOSAL_GRAMMAR = [
157
157
  means: 'A place things are held: a seat things rest on, a grip things are held in, on a face of a part; it follows the part. accepts names the types it takes.'
158
158
  },
159
159
  { kind: 'remove-binding', shape: `{ kind: 'remove-binding', id }`, means: 'The place goes.' },
160
+ {
161
+ kind: 'set-slot-layout',
162
+ shape: `{ kind: 'set-slot-layout', label, role: 'seat' | 'grip', anchors: [{ id, part, face: 'top' | 'bottom' }], layout: { tiers: [{ tierNo, anchorId, mount: 'ON' | 'IN' | 'HANG', position: { x, y, z }, rotation, layout: { pattern: 'SINGLE' | 'ROW' | 'GRID' | 'CUSTOM', ... } }] } }`,
163
+ means: 'Slots laid out by a rule on the top or bottom of a part, each a place t{tier}_s{slot} that names the types it takes. Its count and ids do not follow the size.'
164
+ },
165
+ { kind: 'remove-slot-layout', shape: `{ kind: 'remove-slot-layout' }`, means: 'The slot layout and its slots go.' },
160
166
  { kind: 'set-placement', shape: `{ kind: 'set-placement', placement: ${FIGURE_PLACEMENTS.map(p => `'${p}'`).join(' | ')} }`, means: 'Say what the figure is authored from -- the floor, the ceiling, a wall, or its centre. It needs no part; do it first when the figure is not a floor one.' },
161
167
  { kind: 'fit-room', shape: `{ kind: 'fit-room', placement: ${FIGURE_PLACEMENTS.map(p => `'${p}'`).join(' | ')} }`, means: 'Declare the room the figure takes up, fitted to its parts, and what it is placed on. Do it last, after the parts and their motions.' },
162
168
  { kind: 'set-mounting-face', shape: `{ kind: 'set-mounting-face', part, face: ${faces} }`, means: 'The face that lies on the mounting plane (after the room is declared).' },
@@ -205,6 +211,8 @@ export const FIGURE_PROPOSAL_KINDS = [
205
211
  'remove-repeat',
206
212
  'add-binding',
207
213
  'remove-binding',
214
+ 'set-slot-layout',
215
+ 'remove-slot-layout',
208
216
  'fit-room',
209
217
  'set-mounting-face',
210
218
  'clear-mounting-face',
@@ -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,5 +1,5 @@
1
1
  import type { FigureAsset } from './asset-types.ts';
2
- export type FigureContractChangeCode = 'placement-changed' | 'size-inputs-gone' | 'size-inputs-added' | 'size-range-narrowed' | 'authored-size-changed' | 'state-input-gone' | 'state-unit-changed' | 'state-range-narrowed' | 'state-input-added' | 'clip-gone' | 'clip-added' | 'binding-gone' | 'binding-role-changed' | 'binding-capacity-reduced' | 'binding-accepts-narrowed' | 'binding-added' | 'capability-gone' | 'capability-added' | 'occupancy-changed' | 'contact-face-changed' | 'public-input-gone' | 'public-input-range-narrowed' | 'public-input-added' | 'state-input-joints-changed' | 'joint-axis-changed' | 'joint-child-changed' | 'joint-motion-unit-changed' | 'joint-list-unread';
2
+ export type FigureContractChangeCode = 'placement-changed' | 'size-inputs-gone' | 'size-inputs-added' | 'size-range-narrowed' | 'authored-size-changed' | 'state-input-gone' | 'state-unit-changed' | 'state-range-narrowed' | 'state-input-added' | 'clip-gone' | 'clip-added' | 'binding-gone' | 'binding-role-changed' | 'binding-capacity-reduced' | 'binding-accepts-narrowed' | 'binding-added' | 'slot-moved' | 'slot-anchor-gone' | 'slot-anchor-moved' | 'capability-gone' | 'capability-added' | 'occupancy-changed' | 'contact-face-changed' | 'public-input-gone' | 'public-input-range-narrowed' | 'public-input-added' | 'state-input-joints-changed' | 'joint-axis-changed' | 'joint-child-changed' | 'joint-motion-unit-changed' | 'joint-list-unread';
3
3
  export interface FigureContractChange {
4
4
  code: FigureContractChangeCode;
5
5
  /** True refuses the release. */
@@ -1 +1 @@
1
- {"version":3,"file":"release-contract.d.ts","sourceRoot":"","sources":["../src/release-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAA4B,MAAM,kBAAkB,CAAA;AAwC7E,MAAM,MAAM,wBAAwB,GAChC,mBAAmB,GACnB,kBAAkB,GAClB,mBAAmB,GACnB,qBAAqB,GACrB,uBAAuB,GACvB,kBAAkB,GAClB,oBAAoB,GACpB,sBAAsB,GACtB,mBAAmB,GACnB,WAAW,GACX,YAAY,GACZ,cAAc,GACd,sBAAsB,GACtB,0BAA0B,GAC1B,0BAA0B,GAC1B,eAAe,GACf,iBAAiB,GACjB,kBAAkB,GAClB,mBAAmB,GACnB,sBAAsB,GACtB,mBAAmB,GACnB,6BAA6B,GAC7B,oBAAoB,GACpB,4BAA4B,GAC5B,oBAAoB,GACpB,qBAAqB,GACrB,2BAA2B,GAC3B,mBAAmB,CAAA;AAEvB,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,wBAAwB,CAAA;IAC9B,gCAAgC;IAChC,QAAQ,EAAE,OAAO,CAAA;IACjB,gGAAgG;IAChG,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;IACvC,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAA;CACf;AAkDD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,oBAAoB,EAAE,CAiMrG"}
1
+ {"version":3,"file":"release-contract.d.ts","sourceRoot":"","sources":["../src/release-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAyCnD,MAAM,MAAM,wBAAwB,GAChC,mBAAmB,GACnB,kBAAkB,GAClB,mBAAmB,GACnB,qBAAqB,GACrB,uBAAuB,GACvB,kBAAkB,GAClB,oBAAoB,GACpB,sBAAsB,GACtB,mBAAmB,GACnB,WAAW,GACX,YAAY,GACZ,cAAc,GACd,sBAAsB,GACtB,0BAA0B,GAC1B,0BAA0B,GAC1B,eAAe,GACf,YAAY,GACZ,kBAAkB,GAClB,mBAAmB,GACnB,iBAAiB,GACjB,kBAAkB,GAClB,mBAAmB,GACnB,sBAAsB,GACtB,mBAAmB,GACnB,6BAA6B,GAC7B,oBAAoB,GACpB,4BAA4B,GAC5B,oBAAoB,GACpB,qBAAqB,GACrB,2BAA2B,GAC3B,mBAAmB,CAAA;AAEvB,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,wBAAwB,CAAA;IAC9B,gCAAgC;IAChC,QAAQ,EAAE,OAAO,CAAA;IACjB,gGAAgG;IAChG,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;IACvC,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAA;CACf;AAyGD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,oBAAoB,EAAE,CAiOrG"}
@@ -1,3 +1,4 @@
1
+ import { figureSlotPlacesOf } from "./slot-places.js";
1
2
  import { FIGURE_SIZE_INPUTS } from "./words.js";
2
3
  import { figurePlacementOf } from "./asset.js";
3
4
  import { compileFigureGraph } from "./graph.js";
@@ -10,7 +11,40 @@ const sizeInputs = (asset) => {
10
11
  return found.length === ids.length && allStored ? new Map(found.map(i => [i.id, i])) : null;
11
12
  };
12
13
  const clipsOf = (asset) => new Set((asset.drivers ?? []).map(d => d.clip));
13
- const bindingsOf = (asset) => new Map(asset.document.capabilities.bindings.map(b => [b.id, b]));
14
+ /** A figure's places by id: its declared bindings, and the slots its slot layout unfolds into (ADR-0118). */
15
+ const bindingsOf = (asset) => new Map([
16
+ ...asset.document.capabilities.bindings.map(b => [b.id, b]),
17
+ ...figureSlotPlacesOf(asset.document.capabilities.slotLayout).map(p => [
18
+ p.id,
19
+ {
20
+ ...p,
21
+ slot: { anchorId: p.anchorId, tierPosition: p.tierPosition, tierRotation: p.tierRotation, offset: p.offset, rotation: p.rotation }
22
+ }
23
+ ])
24
+ ]);
25
+ const sameSpot = (a, b) => a.anchorId === b.anchorId &&
26
+ a.tierPosition.x === b.tierPosition.x &&
27
+ a.tierPosition.y === b.tierPosition.y &&
28
+ a.tierPosition.z === b.tierPosition.z &&
29
+ a.tierRotation === b.tierRotation &&
30
+ a.offset.x === b.offset.x &&
31
+ a.offset.z === b.offset.z &&
32
+ a.rotation === b.rotation;
33
+ /**
34
+ * A slot layout's anchors by id, each as the part and the face it is -- read through the graph, so the same face
35
+ * re-chosen is the same anchor -- and whether a tier stands on it.
36
+ */
37
+ function slotAnchorsOf(asset) {
38
+ const declaration = asset.document.capabilities.slotLayout;
39
+ const nodes = asset.document.model.nodes;
40
+ const writer = (ref) => nodes.find(n => Object.values(n.outputs).includes(ref));
41
+ const used = new Set(declaration?.layout.tiers.map(t => t.anchorId) ?? []);
42
+ return new Map((declaration?.anchors ?? []).map(a => {
43
+ const part = nodes.find(n => n.op === 'place@1' && n.outputs.placed === a.pose.placement)?.id ?? a.pose.placement;
44
+ const face = String(writer(a.pose.feature)?.params?.name ?? a.pose.feature);
45
+ return [a.id, { face: `${part}.${face}`, used: used.has(a.id) }];
46
+ }));
47
+ }
14
48
  const capabilitiesOf = (asset) => new Set(asset.document.capabilities.names ?? []);
15
49
  /** Whether the new range leaves out part of the old one, on either side. */
16
50
  function narrowed(was, now) {
@@ -181,6 +215,40 @@ export function figureContractChanges(before, after) {
181
215
  detail: `binding ${id} no longer accepts ${dropped.join(', ')}`
182
216
  });
183
217
  }
218
+ /*
219
+ The same slot id somewhere else (numbering order, slot 1's corner, pitch): what is stored against that id now
220
+ means another spot. Said, not refused (ADR-0118, open).
221
+ */
222
+ if (was.slot && now.slot && !sameSpot(was.slot, now.slot)) {
223
+ push({
224
+ code: 'slot-moved',
225
+ blocking: false,
226
+ subject: id,
227
+ values: { binding: label },
228
+ detail: `slot ${id} is somewhere else on its anchor`
229
+ });
230
+ }
231
+ }
232
+ /*
233
+ A slot layout's anchors (ADR-0118): one a tier stood on is gone -- refused, as what was placed on it has nowhere to
234
+ be. The same anchor id on another part or face -- said: its slots are somewhere else.
235
+ */
236
+ const nowAnchors = slotAnchorsOf(after);
237
+ for (const [id, was] of slotAnchorsOf(before)) {
238
+ const now = nowAnchors.get(id);
239
+ if (!now) {
240
+ if (was.used)
241
+ push({ code: 'slot-anchor-gone', blocking: true, subject: id, values: { anchor: id }, detail: `slot anchor ${id} is gone` });
242
+ }
243
+ else if (now.face !== was.face) {
244
+ push({
245
+ code: 'slot-anchor-moved',
246
+ blocking: false,
247
+ subject: id,
248
+ values: { anchor: id, before: was.face, after: now.face },
249
+ detail: `slot anchor ${id} moved: ${was.face} → ${now.face}`
250
+ });
251
+ }
184
252
  }
185
253
  for (const [id, now] of nowBindings) {
186
254
  if (!wasBindings.has(id))
@@ -243,10 +311,14 @@ export function figureContractChanges(before, after) {
243
311
  jointChanges(before, after, wasState, nowState, push);
244
312
  return changes;
245
313
  }
246
- /** Types a binding accepted before and does not now. An empty list afterwards means "anything", which is wider. */
314
+ /**
315
+ * Types a place took before and does not now. A place names what it takes (ADR-0087 decision 3) and an empty list is
316
+ * refused when a figure is compiled, so an empty list can only be a release from before that rule, where it meant
317
+ * "anything": naming types after it narrows to them ('*' stands for the anything that went).
318
+ */
247
319
  function acceptsDropped(was, now) {
248
- if (!was.accepts.length || !now.accepts.length)
249
- return [];
320
+ if (!was.accepts.length)
321
+ return now.accepts.length ? ['*'] : [];
250
322
  return was.accepts.filter(type => !now.accepts.includes(type));
251
323
  }
252
324
  /**