@things-factory/figure-ui 10.1.65 → 10.1.67

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 (176) hide show
  1. package/client/graphql/index.ts +0 -45
  2. package/client/modeller/figure-history-panel.ts +6 -145
  3. package/client/modeller/figure-v3-capability.ts +2 -2
  4. package/client/modeller/figure-v3-clips.ts +2 -2
  5. package/client/modeller/figure-v3-controls.ts +2 -2
  6. package/client/modeller/figure-v3-first-save.ts +1 -1
  7. package/client/modeller/figure-v3-links.ts +6 -6
  8. package/client/modeller/figure-v3-material.ts +11 -11
  9. package/client/modeller/figure-v3-parts.ts +7 -10
  10. package/client/modeller/figure-v3-preview.ts +3 -3
  11. package/client/modeller/figure-v3-properties.ts +5 -6
  12. package/client/modeller/figure-v3-verdict.ts +9 -10
  13. package/client/modeller/figure-view.ts +2 -3
  14. package/client/modeller/modeller-route.ts +2 -3
  15. package/client/modeller/scene-budget.ts +0 -14
  16. package/client/modeller/side-panel-styles.ts +5 -5
  17. package/client/modeller/v3-align.ts +16 -6
  18. package/client/modeller/v3-canvas.ts +12 -12
  19. package/client/modeller/v3-clips.ts +1 -1
  20. package/client/modeller/v3-controls.ts +1 -1
  21. package/client/modeller/v3-editor.ts +21 -21
  22. package/client/modeller/v3-fields.ts +1 -1
  23. package/client/modeller/v3-figure-facts.ts +1 -1
  24. package/client/modeller/v3-first-save.ts +3 -4
  25. package/client/modeller/v3-gizmo.ts +5 -5
  26. package/client/modeller/v3-help.ts +1 -1
  27. package/client/modeller/v3-joint-fan.ts +4 -5
  28. package/client/modeller/v3-keys.ts +1 -1
  29. package/client/modeller/v3-links.ts +9 -12
  30. package/client/modeller/v3-maturity.ts +22 -26
  31. package/client/modeller/v3-refusals.ts +17 -0
  32. package/client/modeller/v3-renderer.ts +1 -1
  33. package/client/modeller/v3-stage-model.ts +2 -2
  34. package/client/modeller/v3-thumbnail.ts +1 -3
  35. package/client/pages/figure-v3-modeller-page.ts +8 -11
  36. package/client/types.ts +2 -31
  37. package/dist-client/graphql/index.js +0 -45
  38. package/dist-client/graphql/index.js.map +1 -1
  39. package/dist-client/modeller/figure-history-panel.d.ts +4 -37
  40. package/dist-client/modeller/figure-history-panel.js +8 -154
  41. package/dist-client/modeller/figure-history-panel.js.map +1 -1
  42. package/dist-client/modeller/figure-v3-capability.d.ts +1 -1
  43. package/dist-client/modeller/figure-v3-capability.js +1 -1
  44. package/dist-client/modeller/figure-v3-capability.js.map +1 -1
  45. package/dist-client/modeller/figure-v3-clips.d.ts +2 -2
  46. package/dist-client/modeller/figure-v3-clips.js +2 -2
  47. package/dist-client/modeller/figure-v3-clips.js.map +1 -1
  48. package/dist-client/modeller/figure-v3-controls.d.ts +1 -1
  49. package/dist-client/modeller/figure-v3-controls.js +2 -2
  50. package/dist-client/modeller/figure-v3-controls.js.map +1 -1
  51. package/dist-client/modeller/figure-v3-first-save.d.ts +1 -1
  52. package/dist-client/modeller/figure-v3-first-save.js +1 -1
  53. package/dist-client/modeller/figure-v3-first-save.js.map +1 -1
  54. package/dist-client/modeller/figure-v3-links.d.ts +5 -5
  55. package/dist-client/modeller/figure-v3-links.js +6 -6
  56. package/dist-client/modeller/figure-v3-links.js.map +1 -1
  57. package/dist-client/modeller/figure-v3-material.d.ts +6 -6
  58. package/dist-client/modeller/figure-v3-material.js +11 -11
  59. package/dist-client/modeller/figure-v3-material.js.map +1 -1
  60. package/dist-client/modeller/figure-v3-parts.d.ts +6 -8
  61. package/dist-client/modeller/figure-v3-parts.js +1 -1
  62. package/dist-client/modeller/figure-v3-parts.js.map +1 -1
  63. package/dist-client/modeller/figure-v3-preview.js.map +1 -1
  64. package/dist-client/modeller/figure-v3-properties.d.ts +4 -5
  65. package/dist-client/modeller/figure-v3-properties.js +5 -6
  66. package/dist-client/modeller/figure-v3-properties.js.map +1 -1
  67. package/dist-client/modeller/figure-v3-verdict.d.ts +2 -2
  68. package/dist-client/modeller/figure-v3-verdict.js +9 -10
  69. package/dist-client/modeller/figure-v3-verdict.js.map +1 -1
  70. package/dist-client/modeller/figure-view.d.ts +2 -3
  71. package/dist-client/modeller/figure-view.js.map +1 -1
  72. package/dist-client/modeller/modeller-route.d.ts +2 -3
  73. package/dist-client/modeller/modeller-route.js +2 -3
  74. package/dist-client/modeller/modeller-route.js.map +1 -1
  75. package/dist-client/modeller/scene-budget.d.ts +0 -11
  76. package/dist-client/modeller/scene-budget.js +0 -12
  77. package/dist-client/modeller/scene-budget.js.map +1 -1
  78. package/dist-client/modeller/side-panel-styles.d.ts +2 -2
  79. package/dist-client/modeller/side-panel-styles.js +5 -5
  80. package/dist-client/modeller/side-panel-styles.js.map +1 -1
  81. package/dist-client/modeller/v3-align.d.ts +9 -5
  82. package/dist-client/modeller/v3-align.js +13 -3
  83. package/dist-client/modeller/v3-align.js.map +1 -1
  84. package/dist-client/modeller/v3-canvas.d.ts +4 -4
  85. package/dist-client/modeller/v3-canvas.js +9 -9
  86. package/dist-client/modeller/v3-canvas.js.map +1 -1
  87. package/dist-client/modeller/v3-clips.js.map +1 -1
  88. package/dist-client/modeller/v3-controls.js.map +1 -1
  89. package/dist-client/modeller/v3-editor.d.ts +13 -13
  90. package/dist-client/modeller/v3-editor.js +19 -18
  91. package/dist-client/modeller/v3-editor.js.map +1 -1
  92. package/dist-client/modeller/v3-fields.js.map +1 -1
  93. package/dist-client/modeller/v3-figure-facts.d.ts +1 -1
  94. package/dist-client/modeller/v3-figure-facts.js +1 -1
  95. package/dist-client/modeller/v3-figure-facts.js.map +1 -1
  96. package/dist-client/modeller/v3-first-save.js +3 -4
  97. package/dist-client/modeller/v3-first-save.js.map +1 -1
  98. package/dist-client/modeller/v3-gizmo.d.ts +5 -5
  99. package/dist-client/modeller/v3-gizmo.js +1 -1
  100. package/dist-client/modeller/v3-gizmo.js.map +1 -1
  101. package/dist-client/modeller/v3-help.d.ts +1 -1
  102. package/dist-client/modeller/v3-help.js +1 -1
  103. package/dist-client/modeller/v3-help.js.map +1 -1
  104. package/dist-client/modeller/v3-joint-fan.js +4 -5
  105. package/dist-client/modeller/v3-joint-fan.js.map +1 -1
  106. package/dist-client/modeller/v3-keys.js.map +1 -1
  107. package/dist-client/modeller/v3-links.d.ts +5 -7
  108. package/dist-client/modeller/v3-links.js +6 -8
  109. package/dist-client/modeller/v3-links.js.map +1 -1
  110. package/dist-client/modeller/v3-maturity.d.ts +7 -7
  111. package/dist-client/modeller/v3-maturity.js +20 -24
  112. package/dist-client/modeller/v3-maturity.js.map +1 -1
  113. package/dist-client/modeller/v3-refusals.d.ts +6 -0
  114. package/dist-client/modeller/v3-refusals.js +18 -0
  115. package/dist-client/modeller/v3-refusals.js.map +1 -1
  116. package/dist-client/modeller/v3-renderer.js +1 -1
  117. package/dist-client/modeller/v3-renderer.js.map +1 -1
  118. package/dist-client/modeller/v3-stage-model.js.map +1 -1
  119. package/dist-client/modeller/v3-thumbnail.js +1 -3
  120. package/dist-client/modeller/v3-thumbnail.js.map +1 -1
  121. package/dist-client/pages/figure-v3-modeller-page.d.ts +4 -5
  122. package/dist-client/pages/figure-v3-modeller-page.js +8 -11
  123. package/dist-client/pages/figure-v3-modeller-page.js.map +1 -1
  124. package/dist-client/route.d.ts +1 -1
  125. package/dist-client/tsconfig.fui.tsbuildinfo +1 -1
  126. package/dist-client/tsconfig.tsbuildinfo +1 -1
  127. package/dist-client/types.d.ts +2 -29
  128. package/dist-client/types.js +3 -0
  129. package/dist-client/types.js.map +1 -1
  130. package/docs/v3-product-cutover.md +14 -24
  131. package/package.json +5 -5
  132. package/test/browser/modeller-page.js +6 -7
  133. package/test/browser/modeller.check.mjs +9 -16
  134. package/test/fixtures/joint-column.json +1138 -0
  135. package/test/fixtures/joint-roller.json +872 -0
  136. package/test/fixtures/robot-arm-6dof.json +2776 -0
  137. package/test/i18n-prefix-guard.test.ts +0 -31
  138. package/test/modeller-route.test.ts +2 -3
  139. package/test/v3-align.test.ts +9 -4
  140. package/test/v3-clips.test.ts +1 -1
  141. package/test/v3-controls.test.ts +1 -1
  142. package/test/v3-fields.test.ts +4 -4
  143. package/test/v3-first-save.test.ts +1 -1
  144. package/test/v3-gizmo.test.ts +5 -5
  145. package/test/v3-joint-fan.test.ts +12 -42
  146. package/test/v3-keys.test.ts +1 -1
  147. package/test/v3-layout.test.ts +4 -5
  148. package/test/v3-links.test.ts +3 -3
  149. package/test/v3-material.test.ts +3 -3
  150. package/test/v3-maturity.test.ts +8 -9
  151. package/test/v3-parts-wiring.test.ts +3 -3
  152. package/test/v3-preview.test.ts +1 -1
  153. package/test/v3-product-write.test.ts +1 -1
  154. package/test/v3-properties.test.ts +3 -3
  155. package/test/v3-refusals.test.ts +12 -0
  156. package/test/v3-release-panel.test.ts +5 -5
  157. package/test/v3-scene-canvas.test.ts +2 -2
  158. package/test/v3-theme.test.ts +2 -2
  159. package/test/v3-verdict.test.ts +2 -2
  160. package/test/v3-view.test.ts +2 -2
  161. package/translations/en.json +2 -143
  162. package/translations/ja.json +2 -143
  163. package/translations/ko.json +2 -143
  164. package/translations/ms.json +2 -143
  165. package/translations/zh.json +2 -143
  166. package/client/modeller/figure-source.ts +0 -437
  167. package/client/modeller/part-edits.ts +0 -312
  168. package/dist-client/modeller/figure-source.d.ts +0 -238
  169. package/dist-client/modeller/figure-source.js +0 -193
  170. package/dist-client/modeller/figure-source.js.map +0 -1
  171. package/dist-client/modeller/part-edits.d.ts +0 -89
  172. package/dist-client/modeller/part-edits.js +0 -270
  173. package/dist-client/modeller/part-edits.js.map +0 -1
  174. package/test/expect.ts +0 -57
  175. package/test/figure-source.test.ts +0 -511
  176. package/test/part-edits.test.ts +0 -350
@@ -0,0 +1,1138 @@
1
+ {
2
+ "version": "figure-v3-asset-1",
3
+ "name": "COLUMN",
4
+ "document": {
5
+ "version": "figure-v3-prototype-1",
6
+ "model": {
7
+ "version": "r3-spatial-1",
8
+ "inputs": [
9
+ {
10
+ "id": "size.x",
11
+ "unit": "mm",
12
+ "min": 1,
13
+ "max": 2000,
14
+ "role": "design"
15
+ },
16
+ {
17
+ "id": "size.y",
18
+ "unit": "mm",
19
+ "min": 1,
20
+ "max": 7000,
21
+ "role": "design"
22
+ },
23
+ {
24
+ "id": "size.z",
25
+ "unit": "mm",
26
+ "min": 1,
27
+ "max": 2000,
28
+ "role": "design"
29
+ },
30
+ {
31
+ "id": "hinge",
32
+ "unit": "deg",
33
+ "min": -90,
34
+ "max": 60,
35
+ "role": "state"
36
+ },
37
+ {
38
+ "id": "wrist",
39
+ "unit": "deg",
40
+ "min": -120,
41
+ "max": 120,
42
+ "role": "state"
43
+ }
44
+ ],
45
+ "constants": [
46
+ {
47
+ "id": "k.base.x",
48
+ "unit": "mm",
49
+ "value": 200
50
+ },
51
+ {
52
+ "id": "k.base.y",
53
+ "unit": "mm",
54
+ "value": 700
55
+ },
56
+ {
57
+ "id": "k.base.y.at",
58
+ "unit": "ratio",
59
+ "value": -0.428571
60
+ },
61
+ {
62
+ "id": "k.half",
63
+ "unit": "ratio",
64
+ "value": 0.5
65
+ },
66
+ {
67
+ "id": "k.deg.0",
68
+ "unit": "deg",
69
+ "value": 0
70
+ },
71
+ {
72
+ "id": "k.link.y.at",
73
+ "unit": "ratio",
74
+ "value": -0.071429
75
+ },
76
+ {
77
+ "id": "k.tip.y.at",
78
+ "unit": "ratio",
79
+ "value": 0.357143
80
+ },
81
+ {
82
+ "id": "k.housing.y.at",
83
+ "unit": "ratio",
84
+ "value": 0.214286
85
+ },
86
+ {
87
+ "id": "k.badge.x.at",
88
+ "unit": "ratio",
89
+ "value": 0.3
90
+ },
91
+ {
92
+ "id": "k.minusHalf",
93
+ "unit": "ratio",
94
+ "value": -0.5
95
+ },
96
+ {
97
+ "id": "k.zero",
98
+ "unit": "mm",
99
+ "value": 0
100
+ },
101
+ {
102
+ "id": "k.hinge.origin.y.offset",
103
+ "unit": "mm",
104
+ "value": 50
105
+ },
106
+ {
107
+ "id": "k.hinge.axis.x",
108
+ "unit": "ratio",
109
+ "value": 1
110
+ },
111
+ {
112
+ "id": "k.hinge.axis.y",
113
+ "unit": "ratio",
114
+ "value": 0
115
+ },
116
+ {
117
+ "id": "k.base.dim.y",
118
+ "unit": "mm",
119
+ "value": 100
120
+ },
121
+ {
122
+ "id": "k.link.dim.x",
123
+ "unit": "mm",
124
+ "value": 80
125
+ },
126
+ {
127
+ "id": "k.link.dim.y",
128
+ "unit": "mm",
129
+ "value": 400
130
+ },
131
+ {
132
+ "id": "k.tip.dim.x",
133
+ "unit": "mm",
134
+ "value": 60
135
+ },
136
+ {
137
+ "id": "k.badge.dim.x",
138
+ "unit": "mm",
139
+ "value": 10
140
+ },
141
+ {
142
+ "id": "k.badge.dim.y",
143
+ "unit": "mm",
144
+ "value": 40
145
+ }
146
+ ],
147
+ "nodes": [
148
+ {
149
+ "id": "scale.x",
150
+ "op": "div@1",
151
+ "args": [
152
+ "size.x",
153
+ "k.base.x"
154
+ ],
155
+ "outputs": {
156
+ "value": "scale.x.value"
157
+ }
158
+ },
159
+ {
160
+ "id": "scale.y",
161
+ "op": "div@1",
162
+ "args": [
163
+ "size.y",
164
+ "k.base.y"
165
+ ],
166
+ "outputs": {
167
+ "value": "scale.y.value"
168
+ }
169
+ },
170
+ {
171
+ "id": "base.y.centre",
172
+ "op": "mul@1",
173
+ "args": [
174
+ "size.y",
175
+ "k.base.y.at"
176
+ ],
177
+ "outputs": {
178
+ "value": "base.y.centre.value"
179
+ }
180
+ },
181
+ {
182
+ "id": "scale.z",
183
+ "op": "div@1",
184
+ "args": [
185
+ "size.z",
186
+ "k.base.x"
187
+ ],
188
+ "outputs": {
189
+ "value": "scale.z.value"
190
+ }
191
+ },
192
+ {
193
+ "id": "base.y.lift",
194
+ "op": "mul@1",
195
+ "args": [
196
+ "size.y",
197
+ "k.half"
198
+ ],
199
+ "outputs": {
200
+ "value": "base.y.lift.value"
201
+ }
202
+ },
203
+ {
204
+ "id": "base.y.fromBottom",
205
+ "op": "add@1",
206
+ "args": [
207
+ "base.y.centre.value",
208
+ "base.y.lift.value"
209
+ ],
210
+ "outputs": {
211
+ "value": "base.y.fromBottom.value"
212
+ }
213
+ },
214
+ {
215
+ "id": "link.y.centre",
216
+ "op": "mul@1",
217
+ "args": [
218
+ "size.y",
219
+ "k.link.y.at"
220
+ ],
221
+ "outputs": {
222
+ "value": "link.y.centre.value"
223
+ }
224
+ },
225
+ {
226
+ "id": "link.y.lift",
227
+ "op": "mul@1",
228
+ "args": [
229
+ "size.y",
230
+ "k.half"
231
+ ],
232
+ "outputs": {
233
+ "value": "link.y.lift.value"
234
+ }
235
+ },
236
+ {
237
+ "id": "link.y.fromBottom",
238
+ "op": "add@1",
239
+ "args": [
240
+ "link.y.centre.value",
241
+ "link.y.lift.value"
242
+ ],
243
+ "outputs": {
244
+ "value": "link.y.fromBottom.value"
245
+ }
246
+ },
247
+ {
248
+ "id": "tip.y.centre",
249
+ "op": "mul@1",
250
+ "args": [
251
+ "size.y",
252
+ "k.tip.y.at"
253
+ ],
254
+ "outputs": {
255
+ "value": "tip.y.centre.value"
256
+ }
257
+ },
258
+ {
259
+ "id": "tip.y.lift",
260
+ "op": "mul@1",
261
+ "args": [
262
+ "size.y",
263
+ "k.half"
264
+ ],
265
+ "outputs": {
266
+ "value": "tip.y.lift.value"
267
+ }
268
+ },
269
+ {
270
+ "id": "tip.y.fromBottom",
271
+ "op": "add@1",
272
+ "args": [
273
+ "tip.y.centre.value",
274
+ "tip.y.lift.value"
275
+ ],
276
+ "outputs": {
277
+ "value": "tip.y.fromBottom.value"
278
+ }
279
+ },
280
+ {
281
+ "id": "housing.y.centre",
282
+ "op": "mul@1",
283
+ "args": [
284
+ "size.y",
285
+ "k.housing.y.at"
286
+ ],
287
+ "outputs": {
288
+ "value": "housing.y.centre.value"
289
+ }
290
+ },
291
+ {
292
+ "id": "housing.y.lift",
293
+ "op": "mul@1",
294
+ "args": [
295
+ "size.y",
296
+ "k.half"
297
+ ],
298
+ "outputs": {
299
+ "value": "housing.y.lift.value"
300
+ }
301
+ },
302
+ {
303
+ "id": "housing.y.fromBottom",
304
+ "op": "add@1",
305
+ "args": [
306
+ "housing.y.centre.value",
307
+ "housing.y.lift.value"
308
+ ],
309
+ "outputs": {
310
+ "value": "housing.y.fromBottom.value"
311
+ }
312
+ },
313
+ {
314
+ "id": "badge.x.centre",
315
+ "op": "mul@1",
316
+ "args": [
317
+ "size.x",
318
+ "k.badge.x.at"
319
+ ],
320
+ "outputs": {
321
+ "value": "badge.x.centre.value"
322
+ }
323
+ },
324
+ {
325
+ "id": "badge.y.centre",
326
+ "op": "mul@1",
327
+ "args": [
328
+ "size.y",
329
+ "k.link.y.at"
330
+ ],
331
+ "outputs": {
332
+ "value": "badge.y.centre.value"
333
+ }
334
+ },
335
+ {
336
+ "id": "badge.y.lift",
337
+ "op": "mul@1",
338
+ "args": [
339
+ "size.y",
340
+ "k.half"
341
+ ],
342
+ "outputs": {
343
+ "value": "badge.y.lift.value"
344
+ }
345
+ },
346
+ {
347
+ "id": "badge.y.fromBottom",
348
+ "op": "add@1",
349
+ "args": [
350
+ "badge.y.centre.value",
351
+ "badge.y.lift.value"
352
+ ],
353
+ "outputs": {
354
+ "value": "badge.y.fromBottom.value"
355
+ }
356
+ },
357
+ {
358
+ "id": "occupancy.x.min",
359
+ "op": "mul@1",
360
+ "args": [
361
+ "size.x",
362
+ "k.minusHalf"
363
+ ],
364
+ "outputs": {
365
+ "value": "occupancy.x.min.value"
366
+ }
367
+ },
368
+ {
369
+ "id": "occupancy.x.max",
370
+ "op": "mul@1",
371
+ "args": [
372
+ "size.x",
373
+ "k.half"
374
+ ],
375
+ "outputs": {
376
+ "value": "occupancy.x.max.value"
377
+ }
378
+ },
379
+ {
380
+ "id": "occupancy.z.min",
381
+ "op": "mul@1",
382
+ "args": [
383
+ "size.z",
384
+ "k.minusHalf"
385
+ ],
386
+ "outputs": {
387
+ "value": "occupancy.z.min.value"
388
+ }
389
+ },
390
+ {
391
+ "id": "occupancy.z.max",
392
+ "op": "mul@1",
393
+ "args": [
394
+ "size.z",
395
+ "k.half"
396
+ ],
397
+ "outputs": {
398
+ "value": "occupancy.z.max.value"
399
+ }
400
+ },
401
+ {
402
+ "id": "hinge.origin.x",
403
+ "op": "add@1",
404
+ "args": [
405
+ "k.zero",
406
+ "k.zero"
407
+ ],
408
+ "outputs": {
409
+ "value": "hinge.origin.x.value"
410
+ }
411
+ },
412
+ {
413
+ "id": "hinge.origin.y.offset",
414
+ "op": "mul@1",
415
+ "args": [
416
+ "k.hinge.origin.y.offset",
417
+ "scale.y.value"
418
+ ],
419
+ "outputs": {
420
+ "value": "hinge.origin.y.offset.value"
421
+ }
422
+ },
423
+ {
424
+ "id": "hinge.origin.y",
425
+ "op": "add@1",
426
+ "args": [
427
+ "base.y.fromBottom.value",
428
+ "hinge.origin.y.offset.value"
429
+ ],
430
+ "outputs": {
431
+ "value": "hinge.origin.y.value"
432
+ }
433
+ },
434
+ {
435
+ "id": "hinge.origin.z",
436
+ "op": "add@1",
437
+ "args": [
438
+ "k.zero",
439
+ "k.zero"
440
+ ],
441
+ "outputs": {
442
+ "value": "hinge.origin.z.value"
443
+ }
444
+ },
445
+ {
446
+ "id": "hinge.frameOnParent",
447
+ "op": "rigid@1",
448
+ "args": [
449
+ "hinge.origin.x.value",
450
+ "hinge.origin.y.value",
451
+ "hinge.origin.z.value",
452
+ "k.deg.0",
453
+ "k.deg.0",
454
+ "k.deg.0"
455
+ ],
456
+ "outputs": {
457
+ "pose": "hinge.frameOnParent.value"
458
+ },
459
+ "params": {
460
+ "from": "hinge.onParent",
461
+ "to": "asset"
462
+ }
463
+ },
464
+ {
465
+ "id": "hinge.frameOnChild",
466
+ "op": "rigid@1",
467
+ "args": [
468
+ "hinge.origin.x.value",
469
+ "hinge.origin.y.value",
470
+ "hinge.origin.z.value",
471
+ "k.deg.0",
472
+ "k.deg.0",
473
+ "k.deg.0"
474
+ ],
475
+ "outputs": {
476
+ "pose": "hinge.frameOnChild.value"
477
+ },
478
+ "params": {
479
+ "from": "hinge.onChild",
480
+ "to": "asset.rest"
481
+ }
482
+ },
483
+ {
484
+ "id": "hinge.motion",
485
+ "op": "axis-turn@1",
486
+ "args": [
487
+ "k.hinge.axis.x",
488
+ "k.hinge.axis.y",
489
+ "k.hinge.axis.y",
490
+ "hinge"
491
+ ],
492
+ "outputs": {
493
+ "pose": "hinge.motion.value"
494
+ },
495
+ "params": {
496
+ "from": "hinge.onChild",
497
+ "to": "hinge.onParent"
498
+ }
499
+ },
500
+ {
501
+ "id": "hinge.attach",
502
+ "op": "attach@1",
503
+ "args": [
504
+ "hinge.frameOnParent.value",
505
+ "hinge.motion.value",
506
+ "hinge.frameOnChild.value"
507
+ ],
508
+ "outputs": {
509
+ "pose": "hinge.attach.value"
510
+ }
511
+ },
512
+ {
513
+ "id": "wrist.origin.x",
514
+ "op": "add@1",
515
+ "args": [
516
+ "k.zero",
517
+ "k.zero"
518
+ ],
519
+ "outputs": {
520
+ "value": "wrist.origin.x.value"
521
+ }
522
+ },
523
+ {
524
+ "id": "wrist.origin.y.offset",
525
+ "op": "mul@1",
526
+ "args": [
527
+ "k.base.x",
528
+ "scale.y.value"
529
+ ],
530
+ "outputs": {
531
+ "value": "wrist.origin.y.offset.value"
532
+ }
533
+ },
534
+ {
535
+ "id": "wrist.origin.y",
536
+ "op": "add@1",
537
+ "args": [
538
+ "link.y.fromBottom.value",
539
+ "wrist.origin.y.offset.value"
540
+ ],
541
+ "outputs": {
542
+ "value": "wrist.origin.y.value"
543
+ }
544
+ },
545
+ {
546
+ "id": "wrist.origin.z",
547
+ "op": "add@1",
548
+ "args": [
549
+ "k.zero",
550
+ "k.zero"
551
+ ],
552
+ "outputs": {
553
+ "value": "wrist.origin.z.value"
554
+ }
555
+ },
556
+ {
557
+ "id": "wrist.frameOnParent",
558
+ "op": "rigid@1",
559
+ "args": [
560
+ "wrist.origin.x.value",
561
+ "wrist.origin.y.value",
562
+ "wrist.origin.z.value",
563
+ "k.deg.0",
564
+ "k.deg.0",
565
+ "k.deg.0"
566
+ ],
567
+ "outputs": {
568
+ "pose": "wrist.frameOnParent.value"
569
+ },
570
+ "params": {
571
+ "from": "wrist.onParent",
572
+ "to": "asset.rest"
573
+ }
574
+ },
575
+ {
576
+ "id": "wrist.frameOnChild",
577
+ "op": "rigid@1",
578
+ "args": [
579
+ "wrist.origin.x.value",
580
+ "wrist.origin.y.value",
581
+ "wrist.origin.z.value",
582
+ "k.deg.0",
583
+ "k.deg.0",
584
+ "k.deg.0"
585
+ ],
586
+ "outputs": {
587
+ "pose": "wrist.frameOnChild.value"
588
+ },
589
+ "params": {
590
+ "from": "wrist.onChild",
591
+ "to": "asset.rest"
592
+ }
593
+ },
594
+ {
595
+ "id": "wrist.motion",
596
+ "op": "axis-turn@1",
597
+ "args": [
598
+ "k.hinge.axis.y",
599
+ "k.hinge.axis.y",
600
+ "k.hinge.axis.x",
601
+ "wrist"
602
+ ],
603
+ "outputs": {
604
+ "pose": "wrist.motion.value"
605
+ },
606
+ "params": {
607
+ "from": "wrist.onChild",
608
+ "to": "wrist.onParent"
609
+ }
610
+ },
611
+ {
612
+ "id": "wrist.attach",
613
+ "op": "attach@1",
614
+ "args": [
615
+ "wrist.frameOnParent.value",
616
+ "wrist.motion.value",
617
+ "wrist.frameOnChild.value"
618
+ ],
619
+ "outputs": {
620
+ "pose": "wrist.attach.value"
621
+ }
622
+ },
623
+ {
624
+ "id": "wrist.chain",
625
+ "op": "compose@1",
626
+ "args": [
627
+ "hinge.attach.value",
628
+ "wrist.attach.value"
629
+ ],
630
+ "outputs": {
631
+ "pose": "wrist.chain.value"
632
+ }
633
+ },
634
+ {
635
+ "id": "base.dim.x",
636
+ "op": "mul@1",
637
+ "args": [
638
+ "k.base.x",
639
+ "scale.x.value"
640
+ ],
641
+ "outputs": {
642
+ "value": "base.dim.x.value"
643
+ }
644
+ },
645
+ {
646
+ "id": "base.dim.y",
647
+ "op": "mul@1",
648
+ "args": [
649
+ "k.base.dim.y",
650
+ "scale.y.value"
651
+ ],
652
+ "outputs": {
653
+ "value": "base.dim.y.value"
654
+ }
655
+ },
656
+ {
657
+ "id": "base.dim.z",
658
+ "op": "mul@1",
659
+ "args": [
660
+ "k.base.x",
661
+ "scale.z.value"
662
+ ],
663
+ "outputs": {
664
+ "value": "base.dim.z.value"
665
+ }
666
+ },
667
+ {
668
+ "id": "base.shape",
669
+ "op": "box-shape@1",
670
+ "args": [
671
+ "base.dim.x.value",
672
+ "base.dim.y.value",
673
+ "base.dim.z.value"
674
+ ],
675
+ "outputs": {
676
+ "shape": "base.shape.value"
677
+ },
678
+ "params": {
679
+ "frame": "base.local"
680
+ }
681
+ },
682
+ {
683
+ "id": "base.pose",
684
+ "op": "rigid@1",
685
+ "args": [
686
+ "k.zero",
687
+ "base.y.fromBottom.value",
688
+ "k.zero",
689
+ "k.deg.0",
690
+ "k.deg.0",
691
+ "k.deg.0"
692
+ ],
693
+ "outputs": {
694
+ "pose": "base.pose.value"
695
+ },
696
+ "params": {
697
+ "from": "base.local",
698
+ "to": "asset"
699
+ }
700
+ },
701
+ {
702
+ "id": "base",
703
+ "op": "place@1",
704
+ "args": [
705
+ "base.shape.value",
706
+ "base.pose.value"
707
+ ],
708
+ "outputs": {
709
+ "placed": "base.value"
710
+ }
711
+ },
712
+ {
713
+ "id": "link.dim.x",
714
+ "op": "mul@1",
715
+ "args": [
716
+ "k.link.dim.x",
717
+ "scale.x.value"
718
+ ],
719
+ "outputs": {
720
+ "value": "link.dim.x.value"
721
+ }
722
+ },
723
+ {
724
+ "id": "link.dim.y",
725
+ "op": "mul@1",
726
+ "args": [
727
+ "k.link.dim.y",
728
+ "scale.y.value"
729
+ ],
730
+ "outputs": {
731
+ "value": "link.dim.y.value"
732
+ }
733
+ },
734
+ {
735
+ "id": "link.dim.z",
736
+ "op": "mul@1",
737
+ "args": [
738
+ "k.link.dim.x",
739
+ "scale.z.value"
740
+ ],
741
+ "outputs": {
742
+ "value": "link.dim.z.value"
743
+ }
744
+ },
745
+ {
746
+ "id": "link.shape",
747
+ "op": "box-shape@1",
748
+ "args": [
749
+ "link.dim.x.value",
750
+ "link.dim.y.value",
751
+ "link.dim.z.value"
752
+ ],
753
+ "outputs": {
754
+ "shape": "link.shape.value"
755
+ },
756
+ "params": {
757
+ "frame": "link.local"
758
+ }
759
+ },
760
+ {
761
+ "id": "link.pose",
762
+ "op": "rigid@1",
763
+ "args": [
764
+ "k.zero",
765
+ "link.y.fromBottom.value",
766
+ "k.zero",
767
+ "k.deg.0",
768
+ "k.deg.0",
769
+ "k.deg.0"
770
+ ],
771
+ "outputs": {
772
+ "pose": "link.pose.value"
773
+ },
774
+ "params": {
775
+ "from": "link.local",
776
+ "to": "asset.rest"
777
+ }
778
+ },
779
+ {
780
+ "id": "link.moved",
781
+ "op": "compose@1",
782
+ "args": [
783
+ "hinge.attach.value",
784
+ "link.pose.value"
785
+ ],
786
+ "outputs": {
787
+ "pose": "link.moved.value"
788
+ }
789
+ },
790
+ {
791
+ "id": "link",
792
+ "op": "place@1",
793
+ "args": [
794
+ "link.shape.value",
795
+ "link.moved.value"
796
+ ],
797
+ "outputs": {
798
+ "placed": "link.value"
799
+ }
800
+ },
801
+ {
802
+ "id": "tip.dim.x",
803
+ "op": "mul@1",
804
+ "args": [
805
+ "k.tip.dim.x",
806
+ "scale.x.value"
807
+ ],
808
+ "outputs": {
809
+ "value": "tip.dim.x.value"
810
+ }
811
+ },
812
+ {
813
+ "id": "tip.dim.y",
814
+ "op": "mul@1",
815
+ "args": [
816
+ "k.base.x",
817
+ "scale.y.value"
818
+ ],
819
+ "outputs": {
820
+ "value": "tip.dim.y.value"
821
+ }
822
+ },
823
+ {
824
+ "id": "tip.dim.z",
825
+ "op": "mul@1",
826
+ "args": [
827
+ "k.tip.dim.x",
828
+ "scale.z.value"
829
+ ],
830
+ "outputs": {
831
+ "value": "tip.dim.z.value"
832
+ }
833
+ },
834
+ {
835
+ "id": "tip.shape",
836
+ "op": "box-shape@1",
837
+ "args": [
838
+ "tip.dim.x.value",
839
+ "tip.dim.y.value",
840
+ "tip.dim.z.value"
841
+ ],
842
+ "outputs": {
843
+ "shape": "tip.shape.value"
844
+ },
845
+ "params": {
846
+ "frame": "tip.local"
847
+ }
848
+ },
849
+ {
850
+ "id": "tip.pose",
851
+ "op": "rigid@1",
852
+ "args": [
853
+ "k.zero",
854
+ "tip.y.fromBottom.value",
855
+ "k.zero",
856
+ "k.deg.0",
857
+ "k.deg.0",
858
+ "k.deg.0"
859
+ ],
860
+ "outputs": {
861
+ "pose": "tip.pose.value"
862
+ },
863
+ "params": {
864
+ "from": "tip.local",
865
+ "to": "asset.rest"
866
+ }
867
+ },
868
+ {
869
+ "id": "tip.moved",
870
+ "op": "compose@1",
871
+ "args": [
872
+ "wrist.chain.value",
873
+ "tip.pose.value"
874
+ ],
875
+ "outputs": {
876
+ "pose": "tip.moved.value"
877
+ }
878
+ },
879
+ {
880
+ "id": "tip",
881
+ "op": "place@1",
882
+ "args": [
883
+ "tip.shape.value",
884
+ "tip.moved.value"
885
+ ],
886
+ "outputs": {
887
+ "placed": "tip.value"
888
+ }
889
+ },
890
+ {
891
+ "id": "housing.dim.x",
892
+ "op": "mul@1",
893
+ "args": [
894
+ "k.base.dim.y",
895
+ "scale.x.value"
896
+ ],
897
+ "outputs": {
898
+ "value": "housing.dim.x.value"
899
+ }
900
+ },
901
+ {
902
+ "id": "housing.dim.y",
903
+ "op": "mul@1",
904
+ "args": [
905
+ "k.base.dim.y",
906
+ "scale.y.value"
907
+ ],
908
+ "outputs": {
909
+ "value": "housing.dim.y.value"
910
+ }
911
+ },
912
+ {
913
+ "id": "housing.dim.z",
914
+ "op": "mul@1",
915
+ "args": [
916
+ "k.base.dim.y",
917
+ "scale.z.value"
918
+ ],
919
+ "outputs": {
920
+ "value": "housing.dim.z.value"
921
+ }
922
+ },
923
+ {
924
+ "id": "housing.shape",
925
+ "op": "box-shape@1",
926
+ "args": [
927
+ "housing.dim.x.value",
928
+ "housing.dim.y.value",
929
+ "housing.dim.z.value"
930
+ ],
931
+ "outputs": {
932
+ "shape": "housing.shape.value"
933
+ },
934
+ "params": {
935
+ "frame": "housing.local"
936
+ }
937
+ },
938
+ {
939
+ "id": "housing.pose",
940
+ "op": "rigid@1",
941
+ "args": [
942
+ "k.zero",
943
+ "housing.y.fromBottom.value",
944
+ "k.zero",
945
+ "k.deg.0",
946
+ "k.deg.0",
947
+ "k.deg.0"
948
+ ],
949
+ "outputs": {
950
+ "pose": "housing.pose.value"
951
+ },
952
+ "params": {
953
+ "from": "housing.local",
954
+ "to": "asset.rest"
955
+ }
956
+ },
957
+ {
958
+ "id": "housing.moved",
959
+ "op": "compose@1",
960
+ "args": [
961
+ "hinge.attach.value",
962
+ "housing.pose.value"
963
+ ],
964
+ "outputs": {
965
+ "pose": "housing.moved.value"
966
+ }
967
+ },
968
+ {
969
+ "id": "housing",
970
+ "op": "place@1",
971
+ "args": [
972
+ "housing.shape.value",
973
+ "housing.moved.value"
974
+ ],
975
+ "outputs": {
976
+ "placed": "housing.value"
977
+ }
978
+ },
979
+ {
980
+ "id": "badge.dim.x",
981
+ "op": "mul@1",
982
+ "args": [
983
+ "k.badge.dim.x",
984
+ "scale.x.value"
985
+ ],
986
+ "outputs": {
987
+ "value": "badge.dim.x.value"
988
+ }
989
+ },
990
+ {
991
+ "id": "badge.dim.y",
992
+ "op": "mul@1",
993
+ "args": [
994
+ "k.badge.dim.y",
995
+ "scale.y.value"
996
+ ],
997
+ "outputs": {
998
+ "value": "badge.dim.y.value"
999
+ }
1000
+ },
1001
+ {
1002
+ "id": "badge.dim.z",
1003
+ "op": "mul@1",
1004
+ "args": [
1005
+ "k.badge.dim.y",
1006
+ "scale.z.value"
1007
+ ],
1008
+ "outputs": {
1009
+ "value": "badge.dim.z.value"
1010
+ }
1011
+ },
1012
+ {
1013
+ "id": "badge.shape",
1014
+ "op": "box-shape@1",
1015
+ "args": [
1016
+ "badge.dim.x.value",
1017
+ "badge.dim.y.value",
1018
+ "badge.dim.z.value"
1019
+ ],
1020
+ "outputs": {
1021
+ "shape": "badge.shape.value"
1022
+ },
1023
+ "params": {
1024
+ "frame": "badge.local"
1025
+ }
1026
+ },
1027
+ {
1028
+ "id": "badge.pose",
1029
+ "op": "rigid@1",
1030
+ "args": [
1031
+ "badge.x.centre.value",
1032
+ "badge.y.fromBottom.value",
1033
+ "k.zero",
1034
+ "k.deg.0",
1035
+ "k.deg.0",
1036
+ "k.deg.0"
1037
+ ],
1038
+ "outputs": {
1039
+ "pose": "badge.pose.value"
1040
+ },
1041
+ "params": {
1042
+ "from": "badge.local",
1043
+ "to": "asset.rest"
1044
+ }
1045
+ },
1046
+ {
1047
+ "id": "badge.moved",
1048
+ "op": "compose@1",
1049
+ "args": [
1050
+ "hinge.attach.value",
1051
+ "badge.pose.value"
1052
+ ],
1053
+ "outputs": {
1054
+ "pose": "badge.moved.value"
1055
+ }
1056
+ },
1057
+ {
1058
+ "id": "badge",
1059
+ "op": "place@1",
1060
+ "args": [
1061
+ "badge.shape.value",
1062
+ "badge.moved.value"
1063
+ ],
1064
+ "outputs": {
1065
+ "placed": "badge.value"
1066
+ }
1067
+ }
1068
+ ]
1069
+ },
1070
+ "capabilities": {
1071
+ "version": "r3-capability-3",
1072
+ "assetFrame": "asset",
1073
+ "bindings": []
1074
+ }
1075
+ },
1076
+ "designInputs": {
1077
+ "size.x": 200,
1078
+ "size.y": 700,
1079
+ "size.z": 200
1080
+ },
1081
+ "stateDefaults": {
1082
+ "hinge": 0,
1083
+ "wrist": 0
1084
+ },
1085
+ "palette": {
1086
+ "palette.dark": "#333333",
1087
+ "palette.primary": "#3366cc"
1088
+ },
1089
+ "appearance": [
1090
+ {
1091
+ "target": "base",
1092
+ "material": {
1093
+ "token": "palette.dark"
1094
+ }
1095
+ },
1096
+ {
1097
+ "target": "link",
1098
+ "material": {
1099
+ "token": "palette.primary"
1100
+ }
1101
+ },
1102
+ {
1103
+ "target": "tip",
1104
+ "material": {
1105
+ "token": "palette.primary"
1106
+ }
1107
+ },
1108
+ {
1109
+ "target": "housing",
1110
+ "material": {
1111
+ "token": "palette.dark"
1112
+ }
1113
+ },
1114
+ {
1115
+ "target": "badge",
1116
+ "material": {
1117
+ "token": "palette.dark"
1118
+ }
1119
+ }
1120
+ ],
1121
+ "occupancy": {
1122
+ "bounds": {
1123
+ "x": {
1124
+ "min": "occupancy.x.min.value",
1125
+ "max": "occupancy.x.max.value"
1126
+ },
1127
+ "y": {
1128
+ "min": "k.zero",
1129
+ "max": "size.y"
1130
+ },
1131
+ "z": {
1132
+ "min": "occupancy.z.min.value",
1133
+ "max": "occupancy.z.max.value"
1134
+ }
1135
+ },
1136
+ "placement": "floor"
1137
+ }
1138
+ }