@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"motion-groups.js","sourceRoot":"","sources":["../src/motion-groups.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type FigureClipConsent } from './clip-keeping.ts';
2
- import type { FigureAsset, FigureMaterial } from './asset-types.ts';
2
+ import type { FigureAsset, FigureDataBinding, FigureDataField, FigureMaterial, FigureMotionGroup, FigureStatusPort } from './asset-types.ts';
3
3
  import { type RemovalNotice } from './authoring-types.ts';
4
4
  export type FigurePartEdit =
5
5
  /**
@@ -53,10 +53,14 @@ export type FigurePartEdit =
53
53
  values: Record<string, number>;
54
54
  }
55
55
  /**
56
- * "This control plays like this". One driver per control: given for a control that has one, it
57
- * replaces it. `clip` is the playback group; every driver in a clip shares its duration, so a new driver joins an
58
- * existing clip at that clip's duration unless `duration` is given, which then applies to the whole clip. Keys are
59
- * seconds from the clip's start, turned into the format's fractions of the duration here.
56
+ * "This control plays like this in this clip". A track is the clip and the control together: given for a pair that
57
+ * has one, it replaces that track only, and the control's tracks in other clips stay (ADR-0051 §3.2 -- walk and run
58
+ * on the same knee). Every driver in a clip shares its duration, so a new track joins an existing clip at that
59
+ * clip's duration unless `duration` is given, which then applies to the whole clip. Keys are seconds from the clip's
60
+ * start, turned into the format's fractions of the duration here. A track keeps the id it was made with.
61
+ *
62
+ * `group` puts the clip in that motion group in the same step, so a new clip can take a control the group's other
63
+ * clips already play (run on walk's knee); a clip already in another group is refused, not moved.
60
64
  */
61
65
  | {
62
66
  kind: 'set-driver';
@@ -70,19 +74,74 @@ export type FigurePartEdit =
70
74
  interpolation?: 'linear' | 'step';
71
75
  loop?: 'wrap' | 'hold';
72
76
  accumulates?: boolean;
77
+ group?: string;
73
78
  }
74
- /** "This control is not played any more." */
79
+ /**
80
+ * "This control is not played in this clip any more." Without `clip`, only when one clip plays the control; when
81
+ * several do, which one is meant cannot be told and the edit is refused (`DRIVER_AMBIGUOUS`).
82
+ */
75
83
  | {
76
84
  kind: 'remove-driver';
77
85
  state: string;
86
+ clip?: string;
78
87
  }
79
- /** A clip renamed, or its length changed -- for every driver in it, since one clip is one clock. */
88
+ /**
89
+ * A clip renamed, or its length changed -- for every driver in it, since one clip is one clock. A rename is a new id:
90
+ * the motion group that holds the clip, and every data lookup that selects it, follow it in the same step.
91
+ */
80
92
  | {
81
93
  kind: 'set-clip';
82
94
  clip: string;
83
95
  name?: string;
84
96
  duration?: number;
85
97
  }
98
+ /**
99
+ * Clips of which one plays at a time (ADR-0051 §3.2): added, or replaced by its id. A clip in another group, or a
100
+ * state a clip outside the group also writes, is refused, not moved.
101
+ */
102
+ | {
103
+ kind: 'set-motion-group';
104
+ group: FigureMotionGroup;
105
+ }
106
+ /** The group goes. Refused while two of its clips write one control -- no track is taken away in passing. */
107
+ | {
108
+ kind: 'remove-motion-group';
109
+ id: string;
110
+ }
111
+ /**
112
+ * The data the figure takes, as a schema in the site's field names (ADR-0051 §8): replaced whole. A field a binding
113
+ * reads may not go; the binding is named (`data-accessor-invalid`).
114
+ */
115
+ | {
116
+ kind: 'set-data-schema';
117
+ schema: FigureDataField[];
118
+ }
119
+ /** A field's name, with every accessor that goes through it. The site's data names it, so a release says so. */
120
+ | {
121
+ kind: 'rename-data-field';
122
+ accessor: string;
123
+ to: string;
124
+ }
125
+ /** What a value of the data moves inside the figure: added, or replaced by its id. */
126
+ | {
127
+ kind: 'set-data-binding';
128
+ binding: FigureDataBinding;
129
+ }
130
+ /** The binding goes. */
131
+ | {
132
+ kind: 'remove-data-binding';
133
+ id: string;
134
+ }
135
+ /** Where a status is shown -- colour tokens, parts for effects, a motion group: added, or replaced by its id. */
136
+ | {
137
+ kind: 'set-status-port';
138
+ port: FigureStatusPort;
139
+ }
140
+ /** The port goes. Refused while a binding reads it; those are named (`data-port-bound`). */
141
+ | {
142
+ kind: 'remove-status-port';
143
+ id: string;
144
+ }
86
145
  /**
87
146
  * A second part like this one, named `<part>-copy` (or `-copy-2`, …), listed right after it, in the same place. What the part owns (its values under its own name) is copied; what it shares with other
88
147
  * parts — an instance size it follows, a face it is fastened to — stays shared, so the copy follows the same things.
@@ -1 +1 @@
1
- {"version":3,"file":"part-edit.d.ts","sourceRoot":"","sources":["../src/part-edit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"part-edit.d.ts","sourceRoot":"","sources":["../src/part-edit.ts"],"names":[],"mappings":"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"}
package/dist/part-edit.js CHANGED
@@ -1,5 +1,6 @@
1
- import { settleFigureClips } from "./clip-keeping.js";
1
+ import { holdingMotionAndData, settleFigureClips } from "./clip-keeping.js";
2
2
  import { keepPublicInputs, renamePublicInputs } from "./public-inputs.js";
3
+ import { renameDataField, renameDataInterfaceClip } from "./data-interface.js";
3
4
  import { compileFigureAsset, upgradeFigurePlacement } from "./asset.js";
4
5
  import { FigureContractError } from "./contract.js";
5
6
  import { FIGURE_PART_ID, figurePartCopyIdOf, figurePartIdFree } from "./part-ids.js";
@@ -8,15 +9,28 @@ import { copyFigurePartJoint, dropDeadDanglers, releaseFigurePartJoints, renameF
8
9
  import { proposeFigureOccupancy } from "./authoring-occupancy.js";
9
10
  import {} from "./authoring-types.js";
10
11
  import { SEGMENT_PRESETS, FIGURE_CAPABILITIES } from "./words.js";
12
+ /* Edits of the clips, groups and data interface themselves: they say what becomes of the clips, so none is settled after. */
13
+ const CLIP_AND_DATA_EDITS = new Set([
14
+ 'set-driver',
15
+ 'remove-driver',
16
+ 'set-clip',
17
+ 'set-motion-group',
18
+ 'remove-motion-group',
19
+ 'set-data-schema',
20
+ 'rename-data-field',
21
+ 'set-data-binding',
22
+ 'remove-data-binding',
23
+ 'set-status-port',
24
+ 'remove-status-port'
25
+ ]);
11
26
  /** Pure, validated structural edit. References are never silently retargeted or cascaded. */
12
27
  export function editFigurePart(source, edit, consent) {
13
28
  const before = upgradeFigurePlacement(source);
14
- const after = partEdit(before, edit);
15
29
  /* An edit of the clips themselves says what becomes of them; any other edit keeps them, or asks (clip-keeping.ts). */
16
- if (edit.kind === 'set-driver' || edit.kind === 'remove-driver' || edit.kind === 'set-clip')
17
- return after;
30
+ if (CLIP_AND_DATA_EDITS.has(edit.kind))
31
+ return partEdit(before, edit);
18
32
  const renamed = edit.kind === 'rename-part' && typeof edit.name === 'string' && edit.name.trim() !== edit.target ? { from: edit.target, to: edit.name.trim() } : undefined;
19
- return settleFigureClips(before, after, consent, renamed);
33
+ return holdingMotionAndData(before, bare => settleFigureClips(before, partEdit(bare, edit), consent, renamed), renamed);
20
34
  }
21
35
  function partEdit(source, edit) {
22
36
  source = upgradeFigurePlacement(source);
@@ -98,8 +112,9 @@ function partEdit(source, edit) {
98
112
  const clip = typeof edit.clip === 'string' ? edit.clip.trim() : '';
99
113
  if (!clip)
100
114
  throw new FigureContractError('DRIVER', edit.state, 'a clip is named');
101
- const others = (asset.drivers ?? []).filter(d => d.state !== edit.state);
102
- const previous = (asset.drivers ?? []).find(d => d.state === edit.state);
115
+ const track = (d) => d.clip === clip && d.state === edit.state;
116
+ const others = (asset.drivers ?? []).filter(d => !track(d));
117
+ const previous = (asset.drivers ?? []).find(track);
103
118
  /* The clip's length: given, or the clip's own -- held by another driver in it, or by this one when it is alone. */
104
119
  const shared = others.find(d => d.clip === clip)?.time.duration ?? (previous?.clip === clip ? previous.time.duration : undefined);
105
120
  const duration = edit.duration ?? shared;
@@ -112,7 +127,7 @@ function partEdit(source, edit) {
112
127
  asset.drivers = [
113
128
  ...others.map(d => (d.clip === clip ? { ...d, time: { unit: 's', duration } } : d)),
114
129
  {
115
- id: previous?.id ?? `${clip}/${edit.state}`,
130
+ id: previous?.id ?? freeDriverId(others, `${clip}/${edit.state}`),
116
131
  clip,
117
132
  state: edit.state,
118
133
  time: { unit: 's', duration },
@@ -122,13 +137,30 @@ function partEdit(source, edit) {
122
137
  accumulates: edit.accumulates ?? previous?.accumulates ?? false
123
138
  }
124
139
  ];
140
+ if (edit.group !== undefined) {
141
+ const group = asset.motionGroups?.find(g => g.id === edit.group);
142
+ if (!group)
143
+ throw new FigureContractError('TARGET_ABSENT', String(edit.group), 'no motion group by this id');
144
+ const holder = asset.motionGroups.find(g => g.clips.includes(clip));
145
+ if (holder && holder !== group)
146
+ throw new FigureContractError('MOTION_GROUP', String(edit.group), `${clip} is in ${holder.id}; a clip is in one group`, { reason: 'motion-clip-shared', clip, groups: [holder.id, group.id] });
147
+ if (!holder)
148
+ group.clips = [...group.clips, clip];
149
+ }
125
150
  compileFigureAsset(asset);
126
151
  return asset;
127
152
  }
128
153
  if (edit.kind === 'remove-driver') {
129
- if (!(asset.drivers ?? []).some(d => d.state === edit.state))
154
+ const playing = (asset.drivers ?? []).filter(d => d.state === edit.state);
155
+ if (!playing.length)
130
156
  throw new FigureContractError('TARGET_ABSENT', String(edit.state), 'this control is not played');
131
- asset.drivers = asset.drivers.filter(d => d.state !== edit.state);
157
+ const clips = playing.map(d => d.clip);
158
+ if (edit.clip === undefined && clips.length > 1)
159
+ throw new FigureContractError('DRIVER_AMBIGUOUS', String(edit.state), `${clips.join(', ')} all play ${edit.state}; say which clip`, { reason: 'driver-clip-required', state: edit.state, clips });
160
+ const clip = edit.clip ?? clips[0];
161
+ if (!clips.includes(clip))
162
+ throw new FigureContractError('TARGET_ABSENT', String(edit.state), `clip ${clip} does not play this control`);
163
+ asset.drivers = asset.drivers.filter(d => !(d.state === edit.state && d.clip === clip));
132
164
  if (!asset.drivers.length)
133
165
  delete asset.drivers;
134
166
  compileFigureAsset(asset);
@@ -147,6 +179,42 @@ function partEdit(source, edit) {
147
179
  throw new FigureContractError('DRIVER_TIME', edit.clip, 'a clip runs for a positive number of seconds');
148
180
  /* Keys are fractions of the duration: a longer clip plays the same keys more slowly. */
149
181
  asset.drivers = asset.drivers.map(d => d.clip === edit.clip ? { ...d, clip: name, time: { unit: 's', duration: edit.duration ?? d.time.duration } } : d);
182
+ if (name !== edit.clip) {
183
+ const group = asset.motionGroups?.find(g => g.clips.includes(edit.clip));
184
+ if (group) {
185
+ group.clips = group.clips.map(c => (c === edit.clip ? name : c));
186
+ if (group.defaultClip === edit.clip)
187
+ group.defaultClip = name;
188
+ renameDataInterfaceClip(asset, group.id, edit.clip, name);
189
+ }
190
+ }
191
+ compileFigureAsset(asset);
192
+ return asset;
193
+ }
194
+ if (edit.kind === 'set-motion-group' || edit.kind === 'remove-motion-group') {
195
+ const groups = asset.motionGroups ?? [];
196
+ if (edit.kind === 'set-motion-group') {
197
+ const group = edit.group;
198
+ if (!group || typeof group !== 'object')
199
+ throw new FigureContractError('SCHEMA', 'group', 'a motion group');
200
+ const at = groups.findIndex(g => g.id === group.id);
201
+ asset.motionGroups = at < 0 ? [...groups, structuredClone(group)] : groups.map((g, i) => (i === at ? structuredClone(group) : g));
202
+ }
203
+ else {
204
+ if (!groups.some(g => g.id === edit.id))
205
+ throw new FigureContractError('TARGET_ABSENT', String(edit.id), 'no motion group by this id');
206
+ asset.motionGroups = groups.filter(g => g.id !== edit.id);
207
+ }
208
+ if (!asset.motionGroups.length)
209
+ delete asset.motionGroups;
210
+ compileFigureAsset(asset);
211
+ return asset;
212
+ }
213
+ if (isDataEdit(edit)) {
214
+ asset.dataInterface = editDataInterface(asset.dataInterface ?? { version: 'figure-data-interface-2', schema: [], bindings: [] }, edit);
215
+ const di = asset.dataInterface;
216
+ if (!di.schema.length && !di.bindings.length && !di.ports?.length)
217
+ delete asset.dataInterface;
150
218
  compileFigureAsset(asset);
151
219
  return asset;
152
220
  }
@@ -248,8 +316,14 @@ function partEdit(source, edit) {
248
316
  * controls made, the mounting face given up. `editFigurePart` is this without the notice.
249
317
  */
250
318
  export function removePart(source, edit, consent) {
251
- const removed = removeThePart(source, edit);
252
- return { ...removed, asset: settleFigureClips(upgradeFigurePlacement(source), removed.asset, consent) };
319
+ const before = upgradeFigurePlacement(source);
320
+ let notice;
321
+ const asset = holdingMotionAndData(before, bare => {
322
+ const removed = removeThePart(bare, edit);
323
+ notice = removed.notice;
324
+ return settleFigureClips(before, removed.asset, consent);
325
+ });
326
+ return { asset, notice };
253
327
  }
254
328
  function removeThePart(source, edit) {
255
329
  source = upgradeFigurePlacement(source);
@@ -374,6 +448,7 @@ function sweepNewlyUnread(before, after) {
374
448
  ...strings(asset.document.capabilities),
375
449
  ...strings(asset.drivers),
376
450
  ...strings(asset.publicInputs),
451
+ ...strings(asset.dataInterface),
377
452
  ...strings(asset.joints),
378
453
  ...Object.keys(asset.stateInputs ?? {})
379
454
  ]);
@@ -559,4 +634,71 @@ function dropUnread(asset, value) {
559
634
  queue.push(arg);
560
635
  }
561
636
  }
637
+ /** A driver id not yet taken: the one asked for, or the first `-2`, `-3`, … of it. Made once; an edit never changes it. */
638
+ function freeDriverId(drivers, wanted) {
639
+ const taken = new Set(drivers.map(d => d.id));
640
+ if (!taken.has(wanted))
641
+ return wanted;
642
+ let n = 2;
643
+ while (taken.has(`${wanted}-${n}`))
644
+ n++;
645
+ return `${wanted}-${n}`;
646
+ }
647
+ const DATA_EDITS = new Set(['set-data-schema', 'rename-data-field', 'set-data-binding', 'remove-data-binding', 'set-status-port', 'remove-status-port']);
648
+ const isDataEdit = (edit) => DATA_EDITS.has(edit.kind);
649
+ /**
650
+ * The data interface after one edit of it. A port a binding still reads is not taken away (`data-port-bound`), and a
651
+ * renamed field carries its accessors along. Whether the result holds -- every accessor down the schema, every
652
+ * behavior there, every rule carrying the whole domain -- is the asset's check, run right after.
653
+ */
654
+ function editDataInterface(di, edit) {
655
+ const out = structuredClone(di);
656
+ if (edit.kind === 'set-data-schema') {
657
+ if (!Array.isArray(edit.schema))
658
+ throw new FigureContractError('SCHEMA', 'schema', 'a list of fields');
659
+ out.schema = structuredClone(edit.schema);
660
+ }
661
+ else if (edit.kind === 'rename-data-field') {
662
+ return renameDataField(out, edit.accessor, edit.to);
663
+ }
664
+ else if (edit.kind === 'set-data-binding') {
665
+ const b = edit.binding;
666
+ if (!b || typeof b !== 'object')
667
+ throw new FigureContractError('SCHEMA', 'binding', 'a data binding');
668
+ const at = out.bindings.findIndex(one => one.id === b.id);
669
+ if (at < 0)
670
+ out.bindings.push(structuredClone(b));
671
+ else
672
+ out.bindings[at] = structuredClone(b);
673
+ }
674
+ else if (edit.kind === 'remove-data-binding') {
675
+ if (!out.bindings.some(b => b.id === edit.id))
676
+ throw new FigureContractError('TARGET_ABSENT', String(edit.id), 'no data binding by this id');
677
+ out.bindings = out.bindings.filter(b => b.id !== edit.id);
678
+ }
679
+ else if (edit.kind === 'set-status-port') {
680
+ const p = edit.port;
681
+ if (!p || typeof p !== 'object')
682
+ throw new FigureContractError('SCHEMA', 'port', 'a status port');
683
+ const ports = out.ports ?? [];
684
+ const at = ports.findIndex(one => one.id === p.id);
685
+ if (at < 0)
686
+ ports.push(structuredClone(p));
687
+ else
688
+ ports[at] = structuredClone(p);
689
+ out.ports = ports;
690
+ }
691
+ else {
692
+ const ports = out.ports ?? [];
693
+ if (!ports.some(p => p.id === edit.id))
694
+ throw new FigureContractError('TARGET_ABSENT', String(edit.id), 'no status port by this id');
695
+ const reading = out.bindings.filter(b => b.behavior.kind === 'status' && b.behavior.port === edit.id).map(b => b.id);
696
+ if (reading.length)
697
+ throw new FigureContractError('DATA_INTERFACE', `dataInterface.ports.${edit.id}`, `${reading.join(', ')} read ${edit.id}; take them away first`, { reason: 'data-port-bound', port: edit.id, bindings: reading });
698
+ out.ports = ports.filter(p => p.id !== edit.id);
699
+ if (!out.ports.length)
700
+ delete out.ports;
701
+ }
702
+ return out;
703
+ }
562
704
  //# sourceMappingURL=part-edit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"part-edit.js","sourceRoot":"","sources":["../src/part-edit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"part-edit.js","sourceRoot":"","sources":["../src/part-edit.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@ export interface FigureProposalFitRoom {
28
28
  placement: FigurePlacement;
29
29
  }
30
30
  export type FigureProposalStep = FigureProposalAddPart | FigureProposalFitRoom | FigureAuthoringAction | FigurePartEdit;
31
- declare const PART_EDIT_KINDS: readonly ["set-material", "set-segments", "remove-part", "set-capabilities", "set-state-input", "set-state-defaults", "set-driver", "remove-driver", "set-clip", "duplicate-part", "move-part", "rename-part", "set-visibility"];
31
+ declare const PART_EDIT_KINDS: readonly ["set-material", "set-segments", "remove-part", "set-capabilities", "set-state-input", "set-state-defaults", "set-driver", "remove-driver", "set-clip", "set-motion-group", "remove-motion-group", "set-data-schema", "rename-data-field", "set-data-binding", "remove-data-binding", "set-status-port", "remove-status-port", "duplicate-part", "move-part", "rename-part", "set-visibility"];
32
32
  type Exhaustive<T extends never> = T;
33
33
  export type _PartEditKindsComplete = Exhaustive<Exclude<FigurePartEdit['kind'], (typeof PART_EDIT_KINDS)[number]>>;
34
34
  /**
@@ -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", "set-slot-layout", "remove-slot-layout", "set-carrier", "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", "set-carrier", "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", "set-motion-group", "remove-motion-group", "set-data-schema", "rename-data-field", "set-data-binding", "remove-data-binding", "set-status-port", "remove-status-port"];
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;AAG9E,OAAO,EAAoC,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AACnG,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,CA4BvI;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,EA6GhE,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,yzBAiDxB,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;AAG9E,OAAO,EAAoC,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AACnG,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,yYAsBiC,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,CA4BvI;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,EAiIhE,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,g+BAyDxB,CAAA"}