@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,872 @@
1
+ {
2
+ "version": "figure-v3-asset-1",
3
+ "name": "ROLLER",
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": 8000,
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": "twist",
39
+ "unit": "deg",
40
+ "min": -170,
41
+ "max": 170,
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": 800
55
+ },
56
+ {
57
+ "id": "k.base.y.at",
58
+ "unit": "ratio",
59
+ "value": -0.4375
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.125
75
+ },
76
+ {
77
+ "id": "k.roller.x.at",
78
+ "unit": "ratio",
79
+ "value": 0.15
80
+ },
81
+ {
82
+ "id": "k.roller.y.at",
83
+ "unit": "ratio",
84
+ "value": 0.25
85
+ },
86
+ {
87
+ "id": "k.minusHalf",
88
+ "unit": "ratio",
89
+ "value": -0.5
90
+ },
91
+ {
92
+ "id": "k.zero",
93
+ "unit": "mm",
94
+ "value": 0
95
+ },
96
+ {
97
+ "id": "k.hinge.origin.y.offset",
98
+ "unit": "mm",
99
+ "value": 50
100
+ },
101
+ {
102
+ "id": "k.hinge.axis.x",
103
+ "unit": "ratio",
104
+ "value": 1
105
+ },
106
+ {
107
+ "id": "k.hinge.axis.y",
108
+ "unit": "ratio",
109
+ "value": 0
110
+ },
111
+ {
112
+ "id": "k.base.dim.y",
113
+ "unit": "mm",
114
+ "value": 100
115
+ },
116
+ {
117
+ "id": "k.link.dim.x",
118
+ "unit": "mm",
119
+ "value": 80
120
+ },
121
+ {
122
+ "id": "k.link.dim.y",
123
+ "unit": "mm",
124
+ "value": 400
125
+ },
126
+ {
127
+ "id": "k.roller.dim.x",
128
+ "unit": "mm",
129
+ "value": 120
130
+ },
131
+ {
132
+ "id": "k.roller.dim.z",
133
+ "unit": "mm",
134
+ "value": 60
135
+ }
136
+ ],
137
+ "nodes": [
138
+ {
139
+ "id": "scale.x",
140
+ "op": "div@1",
141
+ "args": [
142
+ "size.x",
143
+ "k.base.x"
144
+ ],
145
+ "outputs": {
146
+ "value": "scale.x.value"
147
+ }
148
+ },
149
+ {
150
+ "id": "scale.y",
151
+ "op": "div@1",
152
+ "args": [
153
+ "size.y",
154
+ "k.base.y"
155
+ ],
156
+ "outputs": {
157
+ "value": "scale.y.value"
158
+ }
159
+ },
160
+ {
161
+ "id": "base.y.centre",
162
+ "op": "mul@1",
163
+ "args": [
164
+ "size.y",
165
+ "k.base.y.at"
166
+ ],
167
+ "outputs": {
168
+ "value": "base.y.centre.value"
169
+ }
170
+ },
171
+ {
172
+ "id": "scale.z",
173
+ "op": "div@1",
174
+ "args": [
175
+ "size.z",
176
+ "k.base.x"
177
+ ],
178
+ "outputs": {
179
+ "value": "scale.z.value"
180
+ }
181
+ },
182
+ {
183
+ "id": "base.y.lift",
184
+ "op": "mul@1",
185
+ "args": [
186
+ "size.y",
187
+ "k.half"
188
+ ],
189
+ "outputs": {
190
+ "value": "base.y.lift.value"
191
+ }
192
+ },
193
+ {
194
+ "id": "base.y.fromBottom",
195
+ "op": "add@1",
196
+ "args": [
197
+ "base.y.centre.value",
198
+ "base.y.lift.value"
199
+ ],
200
+ "outputs": {
201
+ "value": "base.y.fromBottom.value"
202
+ }
203
+ },
204
+ {
205
+ "id": "link.y.centre",
206
+ "op": "mul@1",
207
+ "args": [
208
+ "size.y",
209
+ "k.link.y.at"
210
+ ],
211
+ "outputs": {
212
+ "value": "link.y.centre.value"
213
+ }
214
+ },
215
+ {
216
+ "id": "link.y.lift",
217
+ "op": "mul@1",
218
+ "args": [
219
+ "size.y",
220
+ "k.half"
221
+ ],
222
+ "outputs": {
223
+ "value": "link.y.lift.value"
224
+ }
225
+ },
226
+ {
227
+ "id": "link.y.fromBottom",
228
+ "op": "add@1",
229
+ "args": [
230
+ "link.y.centre.value",
231
+ "link.y.lift.value"
232
+ ],
233
+ "outputs": {
234
+ "value": "link.y.fromBottom.value"
235
+ }
236
+ },
237
+ {
238
+ "id": "roller.x.centre",
239
+ "op": "mul@1",
240
+ "args": [
241
+ "size.x",
242
+ "k.roller.x.at"
243
+ ],
244
+ "outputs": {
245
+ "value": "roller.x.centre.value"
246
+ }
247
+ },
248
+ {
249
+ "id": "roller.y.centre",
250
+ "op": "mul@1",
251
+ "args": [
252
+ "size.y",
253
+ "k.roller.y.at"
254
+ ],
255
+ "outputs": {
256
+ "value": "roller.y.centre.value"
257
+ }
258
+ },
259
+ {
260
+ "id": "roller.y.lift",
261
+ "op": "mul@1",
262
+ "args": [
263
+ "size.y",
264
+ "k.half"
265
+ ],
266
+ "outputs": {
267
+ "value": "roller.y.lift.value"
268
+ }
269
+ },
270
+ {
271
+ "id": "roller.y.fromBottom",
272
+ "op": "add@1",
273
+ "args": [
274
+ "roller.y.centre.value",
275
+ "roller.y.lift.value"
276
+ ],
277
+ "outputs": {
278
+ "value": "roller.y.fromBottom.value"
279
+ }
280
+ },
281
+ {
282
+ "id": "occupancy.x.min",
283
+ "op": "mul@1",
284
+ "args": [
285
+ "size.x",
286
+ "k.minusHalf"
287
+ ],
288
+ "outputs": {
289
+ "value": "occupancy.x.min.value"
290
+ }
291
+ },
292
+ {
293
+ "id": "occupancy.x.max",
294
+ "op": "mul@1",
295
+ "args": [
296
+ "size.x",
297
+ "k.half"
298
+ ],
299
+ "outputs": {
300
+ "value": "occupancy.x.max.value"
301
+ }
302
+ },
303
+ {
304
+ "id": "occupancy.z.min",
305
+ "op": "mul@1",
306
+ "args": [
307
+ "size.z",
308
+ "k.minusHalf"
309
+ ],
310
+ "outputs": {
311
+ "value": "occupancy.z.min.value"
312
+ }
313
+ },
314
+ {
315
+ "id": "occupancy.z.max",
316
+ "op": "mul@1",
317
+ "args": [
318
+ "size.z",
319
+ "k.half"
320
+ ],
321
+ "outputs": {
322
+ "value": "occupancy.z.max.value"
323
+ }
324
+ },
325
+ {
326
+ "id": "hinge.origin.x",
327
+ "op": "add@1",
328
+ "args": [
329
+ "k.zero",
330
+ "k.zero"
331
+ ],
332
+ "outputs": {
333
+ "value": "hinge.origin.x.value"
334
+ }
335
+ },
336
+ {
337
+ "id": "hinge.origin.y.offset",
338
+ "op": "mul@1",
339
+ "args": [
340
+ "k.hinge.origin.y.offset",
341
+ "scale.y.value"
342
+ ],
343
+ "outputs": {
344
+ "value": "hinge.origin.y.offset.value"
345
+ }
346
+ },
347
+ {
348
+ "id": "hinge.origin.y",
349
+ "op": "add@1",
350
+ "args": [
351
+ "base.y.fromBottom.value",
352
+ "hinge.origin.y.offset.value"
353
+ ],
354
+ "outputs": {
355
+ "value": "hinge.origin.y.value"
356
+ }
357
+ },
358
+ {
359
+ "id": "hinge.origin.z",
360
+ "op": "add@1",
361
+ "args": [
362
+ "k.zero",
363
+ "k.zero"
364
+ ],
365
+ "outputs": {
366
+ "value": "hinge.origin.z.value"
367
+ }
368
+ },
369
+ {
370
+ "id": "hinge.frameOnParent",
371
+ "op": "rigid@1",
372
+ "args": [
373
+ "hinge.origin.x.value",
374
+ "hinge.origin.y.value",
375
+ "hinge.origin.z.value",
376
+ "k.deg.0",
377
+ "k.deg.0",
378
+ "k.deg.0"
379
+ ],
380
+ "outputs": {
381
+ "pose": "hinge.frameOnParent.value"
382
+ },
383
+ "params": {
384
+ "from": "hinge.onParent",
385
+ "to": "asset"
386
+ }
387
+ },
388
+ {
389
+ "id": "hinge.frameOnChild",
390
+ "op": "rigid@1",
391
+ "args": [
392
+ "hinge.origin.x.value",
393
+ "hinge.origin.y.value",
394
+ "hinge.origin.z.value",
395
+ "k.deg.0",
396
+ "k.deg.0",
397
+ "k.deg.0"
398
+ ],
399
+ "outputs": {
400
+ "pose": "hinge.frameOnChild.value"
401
+ },
402
+ "params": {
403
+ "from": "hinge.onChild",
404
+ "to": "asset.rest"
405
+ }
406
+ },
407
+ {
408
+ "id": "hinge.motion",
409
+ "op": "axis-turn@1",
410
+ "args": [
411
+ "k.hinge.axis.x",
412
+ "k.hinge.axis.y",
413
+ "k.hinge.axis.y",
414
+ "hinge"
415
+ ],
416
+ "outputs": {
417
+ "pose": "hinge.motion.value"
418
+ },
419
+ "params": {
420
+ "from": "hinge.onChild",
421
+ "to": "hinge.onParent"
422
+ }
423
+ },
424
+ {
425
+ "id": "hinge.attach",
426
+ "op": "attach@1",
427
+ "args": [
428
+ "hinge.frameOnParent.value",
429
+ "hinge.motion.value",
430
+ "hinge.frameOnChild.value"
431
+ ],
432
+ "outputs": {
433
+ "pose": "hinge.attach.value"
434
+ }
435
+ },
436
+ {
437
+ "id": "twist.origin.x",
438
+ "op": "add@1",
439
+ "args": [
440
+ "k.zero",
441
+ "k.zero"
442
+ ],
443
+ "outputs": {
444
+ "value": "twist.origin.x.value"
445
+ }
446
+ },
447
+ {
448
+ "id": "twist.origin.y.offset",
449
+ "op": "mul@1",
450
+ "args": [
451
+ "k.base.x",
452
+ "scale.y.value"
453
+ ],
454
+ "outputs": {
455
+ "value": "twist.origin.y.offset.value"
456
+ }
457
+ },
458
+ {
459
+ "id": "twist.origin.y",
460
+ "op": "add@1",
461
+ "args": [
462
+ "link.y.fromBottom.value",
463
+ "twist.origin.y.offset.value"
464
+ ],
465
+ "outputs": {
466
+ "value": "twist.origin.y.value"
467
+ }
468
+ },
469
+ {
470
+ "id": "twist.origin.z",
471
+ "op": "add@1",
472
+ "args": [
473
+ "k.zero",
474
+ "k.zero"
475
+ ],
476
+ "outputs": {
477
+ "value": "twist.origin.z.value"
478
+ }
479
+ },
480
+ {
481
+ "id": "twist.frameOnParent",
482
+ "op": "rigid@1",
483
+ "args": [
484
+ "twist.origin.x.value",
485
+ "twist.origin.y.value",
486
+ "twist.origin.z.value",
487
+ "k.deg.0",
488
+ "k.deg.0",
489
+ "k.deg.0"
490
+ ],
491
+ "outputs": {
492
+ "pose": "twist.frameOnParent.value"
493
+ },
494
+ "params": {
495
+ "from": "twist.onParent",
496
+ "to": "asset.rest"
497
+ }
498
+ },
499
+ {
500
+ "id": "twist.frameOnChild",
501
+ "op": "rigid@1",
502
+ "args": [
503
+ "twist.origin.x.value",
504
+ "twist.origin.y.value",
505
+ "twist.origin.z.value",
506
+ "k.deg.0",
507
+ "k.deg.0",
508
+ "k.deg.0"
509
+ ],
510
+ "outputs": {
511
+ "pose": "twist.frameOnChild.value"
512
+ },
513
+ "params": {
514
+ "from": "twist.onChild",
515
+ "to": "asset.rest"
516
+ }
517
+ },
518
+ {
519
+ "id": "twist.motion",
520
+ "op": "axis-turn@1",
521
+ "args": [
522
+ "k.hinge.axis.y",
523
+ "k.hinge.axis.x",
524
+ "k.hinge.axis.y",
525
+ "twist"
526
+ ],
527
+ "outputs": {
528
+ "pose": "twist.motion.value"
529
+ },
530
+ "params": {
531
+ "from": "twist.onChild",
532
+ "to": "twist.onParent"
533
+ }
534
+ },
535
+ {
536
+ "id": "twist.attach",
537
+ "op": "attach@1",
538
+ "args": [
539
+ "twist.frameOnParent.value",
540
+ "twist.motion.value",
541
+ "twist.frameOnChild.value"
542
+ ],
543
+ "outputs": {
544
+ "pose": "twist.attach.value"
545
+ }
546
+ },
547
+ {
548
+ "id": "twist.chain",
549
+ "op": "compose@1",
550
+ "args": [
551
+ "hinge.attach.value",
552
+ "twist.attach.value"
553
+ ],
554
+ "outputs": {
555
+ "pose": "twist.chain.value"
556
+ }
557
+ },
558
+ {
559
+ "id": "base.dim.x",
560
+ "op": "mul@1",
561
+ "args": [
562
+ "k.base.x",
563
+ "scale.x.value"
564
+ ],
565
+ "outputs": {
566
+ "value": "base.dim.x.value"
567
+ }
568
+ },
569
+ {
570
+ "id": "base.dim.y",
571
+ "op": "mul@1",
572
+ "args": [
573
+ "k.base.dim.y",
574
+ "scale.y.value"
575
+ ],
576
+ "outputs": {
577
+ "value": "base.dim.y.value"
578
+ }
579
+ },
580
+ {
581
+ "id": "base.dim.z",
582
+ "op": "mul@1",
583
+ "args": [
584
+ "k.base.x",
585
+ "scale.z.value"
586
+ ],
587
+ "outputs": {
588
+ "value": "base.dim.z.value"
589
+ }
590
+ },
591
+ {
592
+ "id": "base.shape",
593
+ "op": "box-shape@1",
594
+ "args": [
595
+ "base.dim.x.value",
596
+ "base.dim.y.value",
597
+ "base.dim.z.value"
598
+ ],
599
+ "outputs": {
600
+ "shape": "base.shape.value"
601
+ },
602
+ "params": {
603
+ "frame": "base.local"
604
+ }
605
+ },
606
+ {
607
+ "id": "base.pose",
608
+ "op": "rigid@1",
609
+ "args": [
610
+ "k.zero",
611
+ "base.y.fromBottom.value",
612
+ "k.zero",
613
+ "k.deg.0",
614
+ "k.deg.0",
615
+ "k.deg.0"
616
+ ],
617
+ "outputs": {
618
+ "pose": "base.pose.value"
619
+ },
620
+ "params": {
621
+ "from": "base.local",
622
+ "to": "asset"
623
+ }
624
+ },
625
+ {
626
+ "id": "base",
627
+ "op": "place@1",
628
+ "args": [
629
+ "base.shape.value",
630
+ "base.pose.value"
631
+ ],
632
+ "outputs": {
633
+ "placed": "base.value"
634
+ }
635
+ },
636
+ {
637
+ "id": "link.dim.x",
638
+ "op": "mul@1",
639
+ "args": [
640
+ "k.link.dim.x",
641
+ "scale.x.value"
642
+ ],
643
+ "outputs": {
644
+ "value": "link.dim.x.value"
645
+ }
646
+ },
647
+ {
648
+ "id": "link.dim.y",
649
+ "op": "mul@1",
650
+ "args": [
651
+ "k.link.dim.y",
652
+ "scale.y.value"
653
+ ],
654
+ "outputs": {
655
+ "value": "link.dim.y.value"
656
+ }
657
+ },
658
+ {
659
+ "id": "link.dim.z",
660
+ "op": "mul@1",
661
+ "args": [
662
+ "k.link.dim.x",
663
+ "scale.z.value"
664
+ ],
665
+ "outputs": {
666
+ "value": "link.dim.z.value"
667
+ }
668
+ },
669
+ {
670
+ "id": "link.shape",
671
+ "op": "box-shape@1",
672
+ "args": [
673
+ "link.dim.x.value",
674
+ "link.dim.y.value",
675
+ "link.dim.z.value"
676
+ ],
677
+ "outputs": {
678
+ "shape": "link.shape.value"
679
+ },
680
+ "params": {
681
+ "frame": "link.local"
682
+ }
683
+ },
684
+ {
685
+ "id": "link.pose",
686
+ "op": "rigid@1",
687
+ "args": [
688
+ "k.zero",
689
+ "link.y.fromBottom.value",
690
+ "k.zero",
691
+ "k.deg.0",
692
+ "k.deg.0",
693
+ "k.deg.0"
694
+ ],
695
+ "outputs": {
696
+ "pose": "link.pose.value"
697
+ },
698
+ "params": {
699
+ "from": "link.local",
700
+ "to": "asset.rest"
701
+ }
702
+ },
703
+ {
704
+ "id": "link.moved",
705
+ "op": "compose@1",
706
+ "args": [
707
+ "hinge.attach.value",
708
+ "link.pose.value"
709
+ ],
710
+ "outputs": {
711
+ "pose": "link.moved.value"
712
+ }
713
+ },
714
+ {
715
+ "id": "link",
716
+ "op": "place@1",
717
+ "args": [
718
+ "link.shape.value",
719
+ "link.moved.value"
720
+ ],
721
+ "outputs": {
722
+ "placed": "link.value"
723
+ }
724
+ },
725
+ {
726
+ "id": "roller.dim.x",
727
+ "op": "mul@1",
728
+ "args": [
729
+ "k.roller.dim.x",
730
+ "scale.x.value"
731
+ ],
732
+ "outputs": {
733
+ "value": "roller.dim.x.value"
734
+ }
735
+ },
736
+ {
737
+ "id": "roller.dim.y",
738
+ "op": "mul@1",
739
+ "args": [
740
+ "k.base.x",
741
+ "scale.y.value"
742
+ ],
743
+ "outputs": {
744
+ "value": "roller.dim.y.value"
745
+ }
746
+ },
747
+ {
748
+ "id": "roller.dim.z",
749
+ "op": "mul@1",
750
+ "args": [
751
+ "k.roller.dim.z",
752
+ "scale.z.value"
753
+ ],
754
+ "outputs": {
755
+ "value": "roller.dim.z.value"
756
+ }
757
+ },
758
+ {
759
+ "id": "roller.shape",
760
+ "op": "box-shape@1",
761
+ "args": [
762
+ "roller.dim.x.value",
763
+ "roller.dim.y.value",
764
+ "roller.dim.z.value"
765
+ ],
766
+ "outputs": {
767
+ "shape": "roller.shape.value"
768
+ },
769
+ "params": {
770
+ "frame": "roller.local"
771
+ }
772
+ },
773
+ {
774
+ "id": "roller.pose",
775
+ "op": "rigid@1",
776
+ "args": [
777
+ "roller.x.centre.value",
778
+ "roller.y.fromBottom.value",
779
+ "k.zero",
780
+ "k.deg.0",
781
+ "k.deg.0",
782
+ "k.deg.0"
783
+ ],
784
+ "outputs": {
785
+ "pose": "roller.pose.value"
786
+ },
787
+ "params": {
788
+ "from": "roller.local",
789
+ "to": "asset.rest"
790
+ }
791
+ },
792
+ {
793
+ "id": "roller.moved",
794
+ "op": "compose@1",
795
+ "args": [
796
+ "twist.chain.value",
797
+ "roller.pose.value"
798
+ ],
799
+ "outputs": {
800
+ "pose": "roller.moved.value"
801
+ }
802
+ },
803
+ {
804
+ "id": "roller",
805
+ "op": "place@1",
806
+ "args": [
807
+ "roller.shape.value",
808
+ "roller.moved.value"
809
+ ],
810
+ "outputs": {
811
+ "placed": "roller.value"
812
+ }
813
+ }
814
+ ]
815
+ },
816
+ "capabilities": {
817
+ "version": "r3-capability-3",
818
+ "assetFrame": "asset",
819
+ "bindings": []
820
+ }
821
+ },
822
+ "designInputs": {
823
+ "size.x": 200,
824
+ "size.y": 800,
825
+ "size.z": 200
826
+ },
827
+ "stateDefaults": {
828
+ "hinge": 0,
829
+ "twist": 0
830
+ },
831
+ "palette": {
832
+ "palette.dark": "#333333",
833
+ "palette.primary": "#3366cc"
834
+ },
835
+ "appearance": [
836
+ {
837
+ "target": "base",
838
+ "material": {
839
+ "token": "palette.dark"
840
+ }
841
+ },
842
+ {
843
+ "target": "link",
844
+ "material": {
845
+ "token": "palette.primary"
846
+ }
847
+ },
848
+ {
849
+ "target": "roller",
850
+ "material": {
851
+ "token": "palette.primary"
852
+ }
853
+ }
854
+ ],
855
+ "occupancy": {
856
+ "bounds": {
857
+ "x": {
858
+ "min": "occupancy.x.min.value",
859
+ "max": "occupancy.x.max.value"
860
+ },
861
+ "y": {
862
+ "min": "k.zero",
863
+ "max": "size.y"
864
+ },
865
+ "z": {
866
+ "min": "occupancy.z.min.value",
867
+ "max": "occupancy.z.max.value"
868
+ }
869
+ },
870
+ "placement": "floor"
871
+ }
872
+ }