@hatiolab/figure-model 0.6.4 → 0.6.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 (66) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/asset-types.d.ts +142 -2
  3. package/dist/asset-types.d.ts.map +1 -1
  4. package/dist/asset.d.ts.map +1 -1
  5. package/dist/asset.js +5 -1
  6. package/dist/asset.js.map +1 -1
  7. package/dist/authoring-actions.d.ts.map +1 -1
  8. package/dist/authoring-actions.js +2 -2
  9. package/dist/authoring-actions.js.map +1 -1
  10. package/dist/clip-keeping.d.ts +9 -0
  11. package/dist/clip-keeping.d.ts.map +1 -1
  12. package/dist/clip-keeping.js +34 -0
  13. package/dist/clip-keeping.js.map +1 -1
  14. package/dist/contract.d.ts +97 -0
  15. package/dist/contract.d.ts.map +1 -1
  16. package/dist/contract.js.map +1 -1
  17. package/dist/data-interface.d.ts +81 -0
  18. package/dist/data-interface.d.ts.map +1 -0
  19. package/dist/data-interface.js +723 -0
  20. package/dist/data-interface.js.map +1 -0
  21. package/dist/driver.d.ts +3 -0
  22. package/dist/driver.d.ts.map +1 -1
  23. package/dist/driver.js +22 -6
  24. package/dist/driver.js.map +1 -1
  25. package/dist/graph.d.ts +5 -1
  26. package/dist/graph.d.ts.map +1 -1
  27. package/dist/graph.js +6 -0
  28. package/dist/graph.js.map +1 -1
  29. package/dist/index.d.ts +5 -2
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +5 -2
  32. package/dist/index.js.map +1 -1
  33. package/dist/item-seats.d.ts +50 -0
  34. package/dist/item-seats.d.ts.map +1 -0
  35. package/dist/item-seats.js +92 -0
  36. package/dist/item-seats.js.map +1 -0
  37. package/dist/joint-part-edits.d.ts.map +1 -1
  38. package/dist/joint-part-edits.js +3 -0
  39. package/dist/joint-part-edits.js.map +1 -1
  40. package/dist/kernel-version.d.ts +1 -1
  41. package/dist/kernel-version.js +1 -1
  42. package/dist/motion-groups.d.ts +74 -0
  43. package/dist/motion-groups.d.ts.map +1 -0
  44. package/dist/motion-groups.js +241 -0
  45. package/dist/motion-groups.js.map +1 -0
  46. package/dist/part-edit.d.ts +66 -7
  47. package/dist/part-edit.d.ts.map +1 -1
  48. package/dist/part-edit.js +154 -12
  49. package/dist/part-edit.js.map +1 -1
  50. package/dist/proposal.d.ts +2 -2
  51. package/dist/proposal.d.ts.map +1 -1
  52. package/dist/proposal.js +40 -4
  53. package/dist/proposal.js.map +1 -1
  54. package/dist/release-contract.d.ts +1 -1
  55. package/dist/release-contract.d.ts.map +1 -1
  56. package/dist/release-contract.js +83 -0
  57. package/dist/release-contract.js.map +1 -1
  58. package/dist/robots.d.ts +46 -0
  59. package/dist/robots.d.ts.map +1 -1
  60. package/dist/robots.js +137 -0
  61. package/dist/robots.js.map +1 -1
  62. package/dist/room.d.ts.map +1 -1
  63. package/dist/room.js +1 -0
  64. package/dist/room.js.map +1 -1
  65. package/docs/motion-contract.md +30 -2
  66. package/package.json +1 -1
package/dist/proposal.js CHANGED
@@ -31,6 +31,14 @@ const PART_EDIT_KINDS = [
31
31
  'set-driver',
32
32
  'remove-driver',
33
33
  'set-clip',
34
+ 'set-motion-group',
35
+ 'remove-motion-group',
36
+ 'set-data-schema',
37
+ 'rename-data-field',
38
+ 'set-data-binding',
39
+ 'remove-data-binding',
40
+ 'set-status-port',
41
+ 'remove-status-port',
34
42
  'duplicate-part',
35
43
  'move-part',
36
44
  'rename-part',
@@ -187,9 +195,29 @@ export const FIGURE_PROPOSAL_GRAMMAR = [
187
195
  { kind: 'set-capabilities', shape: `{ kind: 'set-capabilities', names: string[] }`, means: 'What the figure can do, by name, for a scene to attach behaviour.' },
188
196
  { kind: 'set-state-input', shape: `{ kind: 'set-state-input', input, label?, sweep?, min?, max?, start? }`, means: 'A control: the words a person sees, how long it takes to travel, its range and where it starts.' },
189
197
  { kind: 'set-state-defaults', shape: `{ kind: 'set-state-defaults', values: { [control]: number } }`, means: 'The pose the figure stands in.' },
190
- { kind: 'set-driver', shape: `{ kind: 'set-driver', state, clip, duration?, keys: [{ seconds, value }], interpolation?: 'linear' | 'step', loop?: 'wrap' | 'hold', accumulates? }`, means: 'A control played over time in a clip.' },
191
- { kind: 'remove-driver', shape: `{ kind: 'remove-driver', state }`, means: 'The control is not played any more.' },
192
- { kind: 'set-clip', shape: `{ kind: 'set-clip', clip, name?, duration? }`, means: 'A clip renamed, or its length changed.' }
198
+ { kind: 'set-driver', shape: `{ kind: 'set-driver', state, clip, duration?, keys: [{ seconds, value }], interpolation?: 'linear' | 'step', loop?: 'wrap' | 'hold', accumulates?, group? }`, means: 'A control played over time in a clip. group puts a new clip in that motion group, so it may play a control the group already plays.' },
199
+ { kind: 'remove-driver', shape: `{ kind: 'remove-driver', state, clip? }`, means: 'The control is not played in that clip any more. Name the clip when several clips play the control.' },
200
+ { kind: 'set-clip', shape: `{ kind: 'set-clip', clip, name?, duration? }`, means: 'A clip renamed, or its length changed.' },
201
+ {
202
+ kind: 'set-motion-group',
203
+ shape: `{ kind: 'set-motion-group', group: { id, label, clips: string[], defaultClip, transitionSeconds } }`,
204
+ means: 'Clips of which one plays at a time, on the same controls -- idle, walk, run. Only clips of one group may play the same control.'
205
+ },
206
+ { kind: 'remove-motion-group', shape: `{ kind: 'remove-motion-group', id }`, means: 'The group goes; refused while two of its clips play one control.' },
207
+ {
208
+ kind: 'set-data-schema',
209
+ shape: `{ kind: 'set-data-schema', schema: [{ name, label?, kind: 'object', fields } | { name, label?, kind: 'list', item } | { name, label?, kind: 'number', unit?, min?, max?, default? } | { name, label?, kind: 'boolean', default? } | { name, label?, kind: 'text', values?, default? }, json?: true] }`,
210
+ means: "The data the figure takes, in the site's own field names: objects, lists and values. Replaced whole; a field a binding reads may not go."
211
+ },
212
+ { kind: 'rename-data-field', shape: `{ kind: 'rename-data-field', accessor, to }`, means: "A field's name, and every binding that reads through it." },
213
+ {
214
+ kind: 'set-data-binding',
215
+ shape: `{ kind: 'set-data-binding', binding: { id, accessor: 'A.B' | 'L[0].F' | 'L', behavior: { kind: 'state', input: control, sourceMode: 'observed' | 'commanded' } | { kind: 'palette', token } | { kind: 'motion-clip' | 'motion-speed' | 'motion-paused', group } | { kind: 'status', port } | { kind: 'pose', axis: 'x' | 'y' | 'z' | 'heading', seconds? } | { kind: 'items', slot?, id?, type?, place?, stack?, status? }, rule: 'value' | 'map' | 'range' | 'scale', param? } }`,
216
+ means: "What a value of the data moves, by the board's rules: as it is, one result per value (map, with a default), one per interval ('from~to'), or scale × value + offset."
217
+ },
218
+ { kind: 'remove-data-binding', shape: `{ kind: 'remove-data-binding', id }`, means: 'The binding goes.' },
219
+ { kind: 'set-status-port', shape: `{ kind: 'set-status-port', port: { id, label, tokens: string[], parts: string[], group? } }`, means: "Where a status is shown: the colours a template's colour goes to, the parts its blinking goes to." },
220
+ { kind: 'remove-status-port', shape: `{ kind: 'remove-status-port', id }`, means: 'The port goes; refused while a binding reads it.' }
193
221
  ];
194
222
  export const FIGURE_PROPOSAL_KINDS = [
195
223
  'add-part',
@@ -239,6 +267,14 @@ export const FIGURE_PROPOSAL_KINDS = [
239
267
  'set-state-defaults',
240
268
  'set-driver',
241
269
  'remove-driver',
242
- 'set-clip'
270
+ 'set-clip',
271
+ 'set-motion-group',
272
+ 'remove-motion-group',
273
+ 'set-data-schema',
274
+ 'rename-data-field',
275
+ 'set-data-binding',
276
+ 'remove-data-binding',
277
+ 'set-status-port',
278
+ 'remove-status-port'
243
279
  ];
244
280
  //# sourceMappingURL=proposal.js.map
@@ -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' | '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' | 'carrier-gone' | 'carrier-added' | 'carrier-type-changed' | 'carrier-dimensions-changed';
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' | 'carrier-gone' | 'carrier-added' | 'carrier-type-changed' | 'carrier-dimensions-changed' | 'data-field-gone' | 'data-field-kind-changed' | 'data-field-narrowed' | 'data-field-added' | 'data-field-label-changed' | 'data-field-default-changed' | 'data-bindings-changed' | 'motion-group-gone' | 'motion-group-clip-removed' | 'motion-clip-group-changed' | 'motion-group-added' | 'motion-group-clip-added' | 'motion-group-default-changed' | 'motion-group-transition-changed';
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,EAAE,MAAM,kBAAkB,CAAA;AA2CnD,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,GACnB,cAAc,GACd,eAAe,GACf,sBAAsB,GACtB,4BAA4B,CAAA;AAEhC,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,CA2PrG"}
1
+ {"version":3,"file":"release-contract.d.ts","sourceRoot":"","sources":["../src/release-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,kBAAkB,CAAA;AAgDnE,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,GACnB,cAAc,GACd,eAAe,GACf,sBAAsB,GACtB,4BAA4B,GAC5B,iBAAiB,GACjB,yBAAyB,GACzB,qBAAqB,GACrB,kBAAkB,GAClB,0BAA0B,GAC1B,4BAA4B,GAC5B,uBAAuB,GACvB,mBAAmB,GACnB,2BAA2B,GAC3B,2BAA2B,GAC3B,oBAAoB,GACpB,yBAAyB,GACzB,8BAA8B,GAC9B,iCAAiC,CAAA;AAErC,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,CA8PrG"}
@@ -1,3 +1,4 @@
1
+ import { figureDataRows } from "./data-interface.js";
1
2
  import { figureSlotPlacesOf } from "./slot-places.js";
2
3
  import { FIGURE_SIZE_INPUTS } from "./words.js";
3
4
  import { figurePlacementOf } from "./asset.js";
@@ -332,10 +333,92 @@ export function figureContractChanges(before, after) {
332
333
  detail: `carrier dimensions changed: ${size(wasCarrier)} → ${size(nowCarrier)} mm`
333
334
  });
334
335
  }
336
+ dataChanges(before, after, push);
337
+ motionGroupChanges(before, after, push);
335
338
  /* ── joints ────────────────────────────────────────────────────────────── */
336
339
  jointChanges(before, after, wasState, nowState, push);
337
340
  return changes;
338
341
  }
342
+ /** What a site's data leans on: the schema's paths, each one's kind, unit and the values it takes. */
343
+ function dataChanges(before, after, push) {
344
+ const rows = (a) => new Map((a.dataInterface ? figureDataRows(a.dataInterface) : []).map(r => [r.path, r]));
345
+ const was = rows(before);
346
+ const now = rows(after);
347
+ const say = (n) => (n.kind === 'number' && n.unit ? `number ${n.unit}` : n.kind);
348
+ for (const [path, a] of was) {
349
+ const b = now.get(path);
350
+ if (!b) {
351
+ push({ code: 'data-field-gone', blocking: true, subject: path, values: { id: path }, detail: `data field ${path} is gone` });
352
+ continue;
353
+ }
354
+ if (say(a.node) !== say(b.node) || a.json !== b.json) {
355
+ push({ code: 'data-field-kind-changed', blocking: true, subject: path, values: { id: path, before: say(a.node), after: say(b.node) }, detail: `data field ${path} changed: ${say(a.node)} → ${say(b.node)}` });
356
+ continue;
357
+ }
358
+ const x = a.node;
359
+ const y = b.node;
360
+ if (x.kind === 'number' && y.kind === 'number') {
361
+ const lower = (v) => v ?? -Infinity;
362
+ const upper = (v) => v ?? Infinity;
363
+ if (lower(y.min) > lower(x.min) || upper(y.max) < upper(x.max))
364
+ push({ code: 'data-field-narrowed', blocking: true, subject: path, values: { id: path, before: `${x.min ?? ''}…${x.max ?? ''}`, after: `${y.min ?? ''}…${y.max ?? ''}` }, detail: `data field ${path} narrowed` });
365
+ }
366
+ if (x.kind === 'text' && y.kind === 'text' && y.values) {
367
+ const dropped = x.values ? x.values.filter(v => !y.values.includes(v)) : ['(any)'];
368
+ if (dropped.length)
369
+ push({ code: 'data-field-narrowed', blocking: true, subject: path, values: { id: path, before: x.values?.join(', ') ?? '', after: y.values.join(', ') }, detail: `data field ${path} no longer takes ${dropped.join(', ')}` });
370
+ }
371
+ if ((a.label ?? '') !== (b.label ?? ''))
372
+ push({ code: 'data-field-label-changed', blocking: false, subject: path, values: { id: path, before: a.label ?? '', after: b.label ?? '' }, detail: `data field ${path} label changed` });
373
+ const d = (n) => ('default' in n && n.default !== undefined ? String(n.default) : '');
374
+ if (d(x) !== d(y))
375
+ push({ code: 'data-field-default-changed', blocking: false, subject: path, values: { id: path, before: d(x), after: d(y) }, detail: `data field ${path} default changed: ${d(x)} → ${d(y)}` });
376
+ }
377
+ for (const path of now.keys())
378
+ if (!was.has(path))
379
+ push({ code: 'data-field-added', blocking: false, subject: path, values: { id: path }, detail: `data field ${path} is new` });
380
+ /* What the data moves: a new pose, colour, clip or item place for the same data, said and not refused. */
381
+ const moved = (a) => JSON.stringify([[...(a.dataInterface?.bindings ?? [])].sort((p, q) => (p.id < q.id ? -1 : p.id > q.id ? 1 : 0)), a.dataInterface?.ports ?? []]);
382
+ if (moved(before) !== moved(after))
383
+ push({ code: 'data-bindings-changed', blocking: false, values: {}, detail: 'what the data moves changed' });
384
+ }
385
+ /** What a board's selection leans on: the group ids, the clips each holds, which group a clip is in. */
386
+ function motionGroupChanges(before, after, push) {
387
+ const was = new Map((before.motionGroups ?? []).map(g => [g.id, g]));
388
+ const now = new Map((after.motionGroups ?? []).map(g => [g.id, g]));
389
+ for (const [id, a] of was) {
390
+ const b = now.get(id);
391
+ if (!b) {
392
+ push({ code: 'motion-group-gone', blocking: true, subject: id, values: { group: id }, detail: `motion group ${id} is gone` });
393
+ continue;
394
+ }
395
+ for (const clip of a.clips)
396
+ if (!b.clips.includes(clip))
397
+ push({ code: 'motion-group-clip-removed', blocking: true, subject: id, values: { group: id, clip }, detail: `motion group ${id} no longer holds ${clip}` });
398
+ for (const clip of b.clips)
399
+ if (!a.clips.includes(clip))
400
+ push({ code: 'motion-group-clip-added', blocking: false, subject: id, values: { group: id, clip }, detail: `motion group ${id} now holds ${clip}` });
401
+ if (a.defaultClip !== b.defaultClip)
402
+ push({ code: 'motion-group-default-changed', blocking: false, subject: id, values: { group: id, before: a.defaultClip, after: b.defaultClip }, detail: `motion group ${id} starts with ${b.defaultClip}, was ${a.defaultClip}` });
403
+ if (a.transitionSeconds !== b.transitionSeconds)
404
+ push({ code: 'motion-group-transition-changed', blocking: false, subject: id, values: { group: id, before: a.transitionSeconds, after: b.transitionSeconds }, detail: `motion group ${id} changes clip over ${b.transitionSeconds} s, was ${a.transitionSeconds} s` });
405
+ }
406
+ for (const id of now.keys())
407
+ if (!was.has(id))
408
+ push({ code: 'motion-group-added', blocking: false, subject: id, values: { group: id }, detail: `motion group ${id} is new` });
409
+ /*
410
+ A clip of both releases that played on its own and is in a group now: the board's `clips` played it, and now the
411
+ group's selection does. A clip that left a group is said above, as the group gone or the clip removed from it.
412
+ */
413
+ const nowGroup = new Map((after.motionGroups ?? []).flatMap(g => g.clips.map(c => [c, g.id])));
414
+ const wasGrouped = new Set((before.motionGroups ?? []).flatMap(g => g.clips));
415
+ const nowClips = clipsOf(after);
416
+ for (const clip of clipsOf(before)) {
417
+ const group = nowGroup.get(clip);
418
+ if (nowClips.has(clip) && group !== undefined && !wasGrouped.has(clip))
419
+ push({ code: 'motion-clip-group-changed', blocking: true, subject: clip, values: { clip, group }, detail: `clip ${clip} played on its own and is now in motion group ${group}` });
420
+ }
421
+ }
339
422
  /**
340
423
  * Types a place took before and does not now. A place names what it takes (ADR-0087 decision 3) and an empty list is
341
424
  * refused when a figure is compiled, so an empty list can only be a release from before that rule, where it meant
@@ -1 +1 @@
1
- {"version":3,"file":"release-contract.js","sourceRoot":"","sources":["../src/release-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"release-contract.js","sourceRoot":"","sources":["../src/release-contract.ts"],"names":[],"mappings":"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"}
package/dist/robots.d.ts CHANGED
@@ -43,6 +43,52 @@ export declare const COBOT_CHAIN: {
43
43
  max: number;
44
44
  };
45
45
  }[];
46
+ /**
47
+ * The robot dog's walk and run. Each leg runs the same cycle -- stance, the foot on the ground sweeping from front to back
48
+ * and pushing the body toward the head, then swing, the knee lifting the foot and the thigh carrying it forward again --
49
+ * started at its own point: `touchdown` is the fraction of the stride at which that leg's foot comes down. `duty` is the
50
+ * part of the cycle a foot is on the ground, `swing` how far a thigh turns either side of straight (+ is toward the head),
51
+ * `bend` how far a knee lifts the foot at the middle of its swing, `seconds` how long a stride takes.
52
+ *
53
+ * The walk is a four-beat lateral sequence: hind left, front left, hind right, front right, a quarter apart, three feet
54
+ * down at a time. The run is a trot: the diagonal pairs -- front left with hind right, front right with hind left -- come
55
+ * down together, half a stride apart, with a longer stride and a higher knee.
56
+ */
57
+ export declare const ROBOT_DOG_GAITS: {
58
+ readonly walk: {
59
+ readonly seconds: 1.2;
60
+ readonly swing: 15;
61
+ readonly bend: 40;
62
+ readonly duty: 0.75;
63
+ readonly touchdown: {
64
+ readonly hl: 0;
65
+ readonly fl: 0.25;
66
+ readonly hr: 0.5;
67
+ readonly fr: 0.75;
68
+ };
69
+ };
70
+ readonly run: {
71
+ readonly seconds: 0.5;
72
+ readonly swing: 25;
73
+ readonly bend: 70;
74
+ readonly duty: 0.5;
75
+ readonly touchdown: {
76
+ readonly fl: 0;
77
+ readonly hr: 0;
78
+ readonly fr: 0.5;
79
+ readonly hl: 0.5;
80
+ };
81
+ };
82
+ };
83
+ /**
84
+ * The four-legged robot made the example of ADR-0051 §5 (detail design §9): a head that turns, walk and run on the same
85
+ * thighs and knees with idle holding the legs straight, one motion group selecting among them, public data properties
86
+ * -- mode, cadence, headAngle, batteryLow -- and two box places on its back. Every step is a shared command. The walk and
87
+ * the run are two gaits, not one played faster (ROBOT_DOG_GAITS); the numbers are for seeing it move, not a machine's.
88
+ */
89
+ export declare function robotDogFigure(): RobotFigure;
90
+ /** The item type the robot dog's back takes: an example's own, not a carrier type of any site. */
91
+ export declare const ROBOT_DOG_BOX = "EXAMPLE-BOX";
46
92
  /**
47
93
  * An autonomous mobile robot carrying a six-axis arm: a chassis on two drive wheels and two casters, a laser scanner on
48
94
  * its front, the arm's base on its top at the rear. Each drive wheel turns without end on its own value; the arm is
@@ -1 +1 @@
1
- {"version":3,"file":"robots.d.ts","sourceRoot":"","sources":["../src/robots.ts"],"names":[],"mappings":"AAUA,OAAO,EAAyC,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAA;AACjG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAExE,KAAK,IAAI,GAAG,uBAAuB,CAAA;AAUnC,iFAAiF;AACjF,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAC5B;AAgCD,sHAAsH;AACtH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;EAKjB,CAAA;AAMV;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,WAAW,CA6BlD;AAID,qGAAqG;AACrG,eAAO,MAAM,WAAW,EAAE;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EAWhH,CAAA;AAmBD;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,WAAW,CAiCrD;AAMD;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,WAAW,CAoB9C;AAMD;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,CA6BjD;AAMD;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,WAAW,CA0BnD"}
1
+ {"version":3,"file":"robots.d.ts","sourceRoot":"","sources":["../src/robots.ts"],"names":[],"mappings":"AAUA,OAAO,EAAyC,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAA;AACjG,OAAO,KAAK,EAAE,WAAW,EAAsC,MAAM,kBAAkB,CAAA;AAGvF,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAExE,KAAK,IAAI,GAAG,uBAAuB,CAAA;AAUnC,iFAAiF;AACjF,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAC5B;AAgCD,sHAAsH;AACtH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;EAKjB,CAAA;AAMV;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,WAAW,CA6BlD;AAID,qGAAqG;AACrG,eAAO,MAAM,WAAW,EAAE;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EAWhH,CAAA;AAiBD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;CAGlB,CAAA;AAwCV;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,WAAW,CAgF5C;AACD,kGAAkG;AAClG,eAAO,MAAM,aAAa,gBAAgB,CAAA;AAM1C;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,WAAW,CAiCrD;AAMD;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,WAAW,CAoB9C;AAMD;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,CA6BjD;AAMD;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,WAAW,CA0BnD"}
package/dist/robots.js CHANGED
@@ -9,6 +9,7 @@ import { applyFigureAuthoring } from "./authoring-actions.js";
9
9
  import { proposeFigureOccupancy } from "./authoring-occupancy.js";
10
10
  import {} from "./authoring-types.js";
11
11
  import { addFigurePrimitive, createFigureAsset } from "./create.js";
12
+ import { editFigurePart } from "./part-edit.js";
12
13
  import { figureJointsOf } from "./joint-list.js";
13
14
  const at = { x: 0, y: 0, z: 0 };
14
15
  const metal = (token) => ({ token, preset: 'metal' });
@@ -112,6 +113,142 @@ function addArm(r, on) {
112
113
  r.joint({ id: 'arm-grip', type: 'prismatic', body0: { part: 'arm-palm', face: 'top' }, body1: { part: 'arm-finger-left', face: 'bottom' }, origin: { align: { x: 'min' } }, axis: 'X', lowerLimit: 0, upperLimit: 40 });
113
114
  r.joint({ id: 'arm-grip-mirror', type: 'prismatic', body0: { part: 'arm-palm', face: 'top' }, body1: { part: 'arm-finger-right', face: 'bottom' }, origin: { align: { x: 'max' } }, axis: 'X', mimic: { joint: 'arm-grip', multiplier: -1 } });
114
115
  }
116
+ /* ---------------------------------------------------------------- the robot dog: data, motion, items (ADR-0051) */
117
+ /**
118
+ * The robot dog's walk and run. Each leg runs the same cycle -- stance, the foot on the ground sweeping from front to back
119
+ * and pushing the body toward the head, then swing, the knee lifting the foot and the thigh carrying it forward again --
120
+ * started at its own point: `touchdown` is the fraction of the stride at which that leg's foot comes down. `duty` is the
121
+ * part of the cycle a foot is on the ground, `swing` how far a thigh turns either side of straight (+ is toward the head),
122
+ * `bend` how far a knee lifts the foot at the middle of its swing, `seconds` how long a stride takes.
123
+ *
124
+ * The walk is a four-beat lateral sequence: hind left, front left, hind right, front right, a quarter apart, three feet
125
+ * down at a time. The run is a trot: the diagonal pairs -- front left with hind right, front right with hind left -- come
126
+ * down together, half a stride apart, with a longer stride and a higher knee.
127
+ */
128
+ export const ROBOT_DOG_GAITS = {
129
+ walk: { seconds: 1.2, swing: 15, bend: 40, duty: 0.75, touchdown: { hl: 0, fl: 0.25, hr: 0.5, fr: 0.75 } },
130
+ run: { seconds: 0.5, swing: 25, bend: 70, duty: 0.5, touchdown: { fl: 0, hr: 0, fr: 0.5, hl: 0.5 } }
131
+ };
132
+ /** A looped track's value at a fraction of its cycle, read along its keys as the format does (linear). */
133
+ function keyValue(keys, at) {
134
+ const i = keys.findIndex(k => k.at >= at);
135
+ if (i <= 0)
136
+ return keys[Math.max(i, 0)].value;
137
+ const from = keys[i - 1], to = keys[i];
138
+ return from.value + ((at - from.at) / (to.at - from.at)) * (to.value - from.value);
139
+ }
140
+ /** The same looped track started `shift` of a cycle later: keys moved along and wrapped, with the cut at 0 and 1. */
141
+ function shiftedKeys(keys, shift) {
142
+ const cut = { at: 0, value: keyValue(keys, (1 - shift) % 1) };
143
+ const moved = keys.slice(0, -1).map(k => ({ at: (k.at + shift) % 1, value: k.value }));
144
+ return [cut, ...moved.filter(k => k.at > 0), { at: 1, value: cut.value }].sort((a, b) => a.at - b.at);
145
+ }
146
+ /** One leg's cycle from its touchdown: thigh and knee keys over fractions of the stride. */
147
+ function legCycle(swing, bend, duty) {
148
+ /* Stance: the foot straight and on the ground, swept at an even pace from front (+swing) to back (-swing). */
149
+ const thigh = [{ at: 0, value: swing }];
150
+ const knee = [{ at: 0, value: 0 }];
151
+ /*
152
+ * Swing, in eighths: the knee rises and falls once while the thigh eases forward again. The knee bends the foot toward
153
+ * the head, so the thigh draws back by half the bend to keep the lifted foot under the hip: the leg folds up and then
154
+ * reaches forward, instead of kicking the foot out in front.
155
+ */
156
+ for (let q = 0; q <= 8; q++) {
157
+ const at = duty + ((1 - duty) * q) / 8;
158
+ const lift = Math.sin((Math.PI * q) / 8);
159
+ thigh.push({ at, value: -swing * Math.cos((Math.PI * q) / 8) - (bend / 2) * lift });
160
+ knee.push({ at, value: bend * lift });
161
+ }
162
+ const round = (keys) => keys.map(k => ({ at: k.at, value: Math.round(k.value * 1000) / 1000 }));
163
+ return { thigh: round(thigh), knee: round(knee) };
164
+ }
165
+ /**
166
+ * The four-legged robot made the example of ADR-0051 §5 (detail design §9): a head that turns, walk and run on the same
167
+ * thighs and knees with idle holding the legs straight, one motion group selecting among them, public data properties
168
+ * -- mode, cadence, headAngle, batteryLow -- and two box places on its back. Every step is a shared command. The walk and
169
+ * the run are two gaits, not one played faster (ROBOT_DOG_GAITS); the numbers are for seeing it move, not a machine's.
170
+ */
171
+ export function robotDogFigure() {
172
+ const dog = quadrupedRobotFigure();
173
+ let asset = dog.asset;
174
+ const step = (edit) => (asset = editFigurePart(asset, edit));
175
+ /* The head turns about the vertical where it meets the body, ±45°. */
176
+ asset = applyFigureAuthoring(asset, {
177
+ kind: 'set-joint',
178
+ joint: { id: 'head', type: 'revolute', body0: { part: 'body', face: 'right' }, body1: { part: 'head', face: 'left' }, axis: 'Y', lowerLimit: -45, upperLimit: 45 }
179
+ });
180
+ /* A lamp colour the battery state chooses, on the sensor head. */
181
+ step({ kind: 'set-material', target: 'head', material: { token: 'palette.battery', preset: 'plastic' }, palette: { 'palette.battery': '#22aa66' } });
182
+ const legs = QUADRUPED_LEGS.map(l => l.leg);
183
+ /* Every leg's thigh and knee tracks for one gait: the one leg cycle, each leg's started at its own touchdown. */
184
+ const gait = (clip, group) => {
185
+ const { seconds, swing, bend, duty, touchdown } = ROBOT_DOG_GAITS[clip];
186
+ const cycle = legCycle(swing, bend, duty);
187
+ const track = (state, keys) => ({
188
+ kind: 'set-driver',
189
+ state,
190
+ clip,
191
+ duration: seconds,
192
+ keys: keys.map(k => ({ seconds: k.at * seconds, value: k.value })),
193
+ ...(group ? { group } : {})
194
+ });
195
+ return legs.flatMap(leg => [track(`${leg}-thigh`, shiftedKeys(cycle.thigh, touchdown[leg])), track(`${leg}-knee`, shiftedKeys(cycle.knee, touchdown[leg]))]);
196
+ };
197
+ gait('walk').forEach(step);
198
+ step({ kind: 'set-motion-group', group: { id: 'locomotion', label: '보행', clips: ['walk'], defaultClip: 'walk', transitionSeconds: 0.2 } });
199
+ gait('run', 'locomotion').forEach(step);
200
+ /* Idle holds every leg straight: a short clip whose keys stay at the rest pose. */
201
+ const straight = [{ seconds: 0, value: 0 }, { seconds: 0.5, value: 0 }];
202
+ legs.forEach(leg => [`${leg}-thigh`, `${leg}-knee`].forEach(state => step({ kind: 'set-driver', state, clip: 'idle', duration: 0.5, keys: straight, loop: 'hold', group: 'locomotion' })));
203
+ step({ kind: 'set-motion-group', group: { id: 'locomotion', label: '보행', clips: ['idle', 'walk', 'run'], defaultClip: 'idle', transitionSeconds: 0.2 } });
204
+ /* The data a site sends it, in the site's own names, and what each value moves (ADR-0051 §8). */
205
+ const schema = [
206
+ { name: 'mode', label: '동작', kind: 'text', values: ['idle', 'walk', 'run'], default: 'idle' },
207
+ { name: 'cadence', label: '동작 속도', kind: 'number', unit: 'ratio', min: 0, max: 3, default: 1 },
208
+ { name: 'headAngle', label: '머리 각도', kind: 'number', unit: 'deg', min: -45, max: 45, default: 0 },
209
+ { name: 'batteryLow', label: '배터리 부족', kind: 'boolean', default: false },
210
+ { name: 'status', label: '상태', kind: 'text' },
211
+ { name: 'position', label: '위치', kind: 'object', fields: [{ name: 'x', kind: 'number', unit: 'mm' }, { name: 'z', kind: 'number', unit: 'mm' }] },
212
+ { name: 'heading', label: '방향', kind: 'number', unit: 'deg' },
213
+ { name: 'load', label: '등 짐', kind: 'list', item: { kind: 'object', fields: [{ name: 'id', kind: 'text' }, { name: 'slot', kind: 'text' }] } }
214
+ ];
215
+ step({ kind: 'set-data-schema', schema });
216
+ step({ kind: 'set-status-port', port: { id: 'state', label: '몸체 상태', tokens: ['palette.body'], parts: ['body'] } });
217
+ const bindings = [
218
+ { id: 'mode-locomotion', accessor: 'mode', behavior: { kind: 'motion-clip', group: 'locomotion' }, rule: 'value' },
219
+ { id: 'cadence-locomotion', accessor: 'cadence', behavior: { kind: 'motion-speed', group: 'locomotion' }, rule: 'value' },
220
+ { id: 'head-angle', accessor: 'headAngle', behavior: { kind: 'state', input: 'head', sourceMode: 'observed' }, rule: 'value' },
221
+ { id: 'battery-colour', accessor: 'batteryLow', behavior: { kind: 'palette', token: 'palette.battery' }, rule: 'map', param: { false: '#22aa66', true: '#cc3344' } },
222
+ { id: 'body-status', accessor: 'status', behavior: { kind: 'status', port: 'state' }, rule: 'value' },
223
+ { id: 'at-x', accessor: 'position.x', behavior: { kind: 'pose', axis: 'x', seconds: 1 }, rule: 'value' },
224
+ { id: 'at-z', accessor: 'position.z', behavior: { kind: 'pose', axis: 'z', seconds: 1 }, rule: 'value' },
225
+ { id: 'facing', accessor: 'heading', behavior: { kind: 'pose', axis: 'heading', seconds: 1 }, rule: 'value' },
226
+ { id: 'back-load', accessor: 'load', behavior: { kind: 'items', id: 'id', place: 'slot' }, rule: 'value' }
227
+ ];
228
+ /* Two box places side by side on the back, 240 apart along the body. */
229
+ asset = applyFigureAuthoring(asset, {
230
+ kind: 'set-slot-layout',
231
+ label: '등 적재',
232
+ role: 'seat',
233
+ anchors: [{ id: 'back-load', part: 'body', face: 'top' }],
234
+ layout: {
235
+ tiers: [
236
+ {
237
+ tierNo: 1,
238
+ anchorId: 'back-load',
239
+ mount: 'ON',
240
+ position: { x: 0, y: 0, z: 0 },
241
+ rotation: 0,
242
+ layout: { pattern: 'ROW', count: 2, pitch: 240, axis: 'X', slot: { allowed: { width: 200, depth: 220, height: 150 }, accepts: [ROBOT_DOG_BOX], stackLimit: 1 } }
243
+ }
244
+ ]
245
+ }
246
+ });
247
+ bindings.forEach(binding => step({ kind: 'set-data-binding', binding }));
248
+ return { asset, joints: figureJointsOf(asset).joints };
249
+ }
250
+ /** The item type the robot dog's back takes: an example's own, not a carrier type of any site. */
251
+ export const ROBOT_DOG_BOX = 'EXAMPLE-BOX';
115
252
  /* ---------------------------------------------------------------- mobile manipulator */
116
253
  const AMR = { length: 1000, height: 280, width: 700, clearance: 50, wheel: 110 };
117
254
  /**