@things-factory/figure-ui 10.1.68 → 10.1.70

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 (68) hide show
  1. package/client/graphql/index.ts +89 -0
  2. package/client/modeller/figure-v3-links.ts +73 -7
  3. package/client/modeller/figure-v3-parts.ts +153 -2
  4. package/client/modeller/v3-editor.ts +133 -5
  5. package/client/modeller/v3-gizmo.ts +18 -2
  6. package/client/modeller/v3-links.ts +71 -2
  7. package/client/modeller/v3-palette.ts +2 -1
  8. package/client/modeller/v3-product-session.ts +8 -0
  9. package/client/modeller/v3-recipes.ts +69 -0
  10. package/client/pages/figure-recipe-page.ts +338 -0
  11. package/client/pages/figure-v3-modeller-page.ts +25 -2
  12. package/client/route.ts +4 -0
  13. package/dist-client/graphql/index.d.ts +21 -0
  14. package/dist-client/graphql/index.js +75 -0
  15. package/dist-client/graphql/index.js.map +1 -1
  16. package/dist-client/modeller/figure-v3-capability.d.ts +1 -1
  17. package/dist-client/modeller/figure-v3-clips.d.ts +1 -1
  18. package/dist-client/modeller/figure-v3-controls.d.ts +1 -1
  19. package/dist-client/modeller/figure-v3-links.d.ts +11 -1
  20. package/dist-client/modeller/figure-v3-links.js +69 -8
  21. package/dist-client/modeller/figure-v3-links.js.map +1 -1
  22. package/dist-client/modeller/figure-v3-material.d.ts +1 -1
  23. package/dist-client/modeller/figure-v3-parts.d.ts +15 -1
  24. package/dist-client/modeller/figure-v3-parts.js +166 -1
  25. package/dist-client/modeller/figure-v3-parts.js.map +1 -1
  26. package/dist-client/modeller/figure-v3-properties.d.ts +1 -1
  27. package/dist-client/modeller/v3-clips.d.ts +1 -1
  28. package/dist-client/modeller/v3-editor.d.ts +26 -0
  29. package/dist-client/modeller/v3-editor.js +147 -4
  30. package/dist-client/modeller/v3-editor.js.map +1 -1
  31. package/dist-client/modeller/v3-gizmo.d.ts +6 -0
  32. package/dist-client/modeller/v3-gizmo.js +20 -2
  33. package/dist-client/modeller/v3-gizmo.js.map +1 -1
  34. package/dist-client/modeller/v3-links.d.ts +27 -0
  35. package/dist-client/modeller/v3-links.js +68 -2
  36. package/dist-client/modeller/v3-links.js.map +1 -1
  37. package/dist-client/modeller/v3-palette.js +2 -1
  38. package/dist-client/modeller/v3-palette.js.map +1 -1
  39. package/dist-client/modeller/v3-product-session.d.ts +34 -0
  40. package/dist-client/modeller/v3-product-session.js +8 -0
  41. package/dist-client/modeller/v3-product-session.js.map +1 -1
  42. package/dist-client/modeller/v3-recipes.d.ts +26 -0
  43. package/dist-client/modeller/v3-recipes.js +69 -0
  44. package/dist-client/modeller/v3-recipes.js.map +1 -0
  45. package/dist-client/pages/figure-recipe-page.d.ts +41 -0
  46. package/dist-client/pages/figure-recipe-page.js +352 -0
  47. package/dist-client/pages/figure-recipe-page.js.map +1 -0
  48. package/dist-client/pages/figure-v3-modeller-page.d.ts +4 -0
  49. package/dist-client/pages/figure-v3-modeller-page.js +29 -2
  50. package/dist-client/pages/figure-v3-modeller-page.js.map +1 -1
  51. package/dist-client/route.d.ts +1 -1
  52. package/dist-client/route.js +3 -0
  53. package/dist-client/route.js.map +1 -1
  54. package/dist-client/tsconfig.fui.tsbuildinfo +1 -1
  55. package/dist-client/tsconfig.tsbuildinfo +1 -1
  56. package/package.json +5 -5
  57. package/test/browser/modeller-page.js +15 -1
  58. package/test/browser/modeller.check.mjs +217 -2
  59. package/test/modeller-route.test.ts +9 -0
  60. package/test/v3-gizmo.test.ts +44 -0
  61. package/test/v3-links.test.ts +91 -1
  62. package/test/v3-recipes.test.ts +60 -0
  63. package/things-factory.config.js +1 -0
  64. package/translations/en.json +40 -8
  65. package/translations/ja.json +40 -8
  66. package/translations/ko.json +40 -8
  67. package/translations/ms.json +40 -8
  68. package/translations/zh.json +40 -8
@@ -189,7 +189,44 @@
189
189
  "figure.label.part-position": "position (centre)",
190
190
  "figure.label.part-size": "size",
191
191
  "figure.label.parts": "parts",
192
- "figure.label.placement": "position and size",
192
+ "figure.label.gizmo-tools": "drag to change",
193
+ "figure.button.gizmo-translate": "move",
194
+ "figure.button.gizmo-rotate": "turn",
195
+ "figure.button.gizmo-scale": "resize",
196
+ "figure.text.gizmo-not-own": "this part is placed by another part or by the size, so it cannot be dragged",
197
+ "figure.label.shown-when": "shown when",
198
+ "figure.label.shown-always": "always",
199
+ "figure.label.shown-while": "while {control} is at least",
200
+ "figure.label.shown-at-least": "at least",
201
+ "figure.button.follow-size": "follow the figure size",
202
+ "figure.text.size-declared-to-follow": "the figure size to follow was set from its parts: {x} × {y} × {z} mm.",
203
+ "figure.label.recipes": "recipes",
204
+ "figure.text.recipe-needs-a-part": "choose the part to put it on first.",
205
+ "figure.text.recipe-onto": "onto {part}.",
206
+ "figure.button.insert-recipe": "put in",
207
+ "figure.text.recipes-intro": "a recipe is a group of parts made often -- a door, a roller row. In the modeller, choose a part and put it in at once.",
208
+ "figure.text.recipes-empty": "no recipes yet.",
209
+ "figure.label.recipe-draft": "draft",
210
+ "figure.label.recipe-inherited": "parent domain",
211
+ "figure.text.recipe-target-part": "put onto a chosen part",
212
+ "figure.text.recipe-target-figure": "put onto the whole figure",
213
+ "figure.text.recipe-own": "this domain's recipe",
214
+ "figure.text.recipe-inherited": "the {domain} domain's recipe; copy it here to change it",
215
+ "figure.label.recipe-param": "value",
216
+ "figure.label.recipe-default": "default",
217
+ "figure.label.recipe-range": "range",
218
+ "figure.label.yes": "yes",
219
+ "figure.label.no": "no",
220
+ "figure.button.recipe-release": "release",
221
+ "figure.button.recipe-to-draft": "back to draft",
222
+ "figure.button.recipe-delete": "delete",
223
+ "figure.button.recipe-copy-in": "copy to this domain",
224
+ "figure.button.recipe-edit-source": "source (JSON)",
225
+ "figure.text.recipe-edit-source": "saved, it is put into an empty room first and not saved if it does not go in. A new name makes a new recipe.",
226
+ "figure.text.recipe-preview": "put into a 4 x 3 x 6 m room with its defaults, shown with the room resized.",
227
+ "figure.text.recipe-delete-confirm": "delete the {name} recipe. figures already made with it do not change.",
228
+ "figure.title.recipes": "recipes",
229
+ "figure.label.placement": "取り付け",
193
230
  "figure.label.placement-ceiling": "天井基準 (ceiling)",
194
231
  "figure.label.placement-center": "中心基準 (center)",
195
232
  "figure.label.placement-floor": "床基準 (floor)",
@@ -523,13 +560,8 @@
523
560
  "figure.label.field-radius": "半径",
524
561
  "figure.label.field-length": "長さ",
525
562
  "figure.label.field-round": "角の半径",
526
- "figure.label.field-left": "左",
527
- "figure.label.field-right": "右",
528
- "figure.label.field-bottom": "下面",
529
- "figure.label.field-top": "上面",
530
- "figure.label.field-openingLeft": "開口部 左",
531
- "figure.label.field-openingRight": "開口部 右",
532
- "figure.label.field-openingTop": "開口部 上",
563
+ "figure.label.field-jamb": "jamb",
564
+ "figure.label.field-head": "head",
533
565
  "figure.label.field-radiusX": "半径 X",
534
566
  "figure.label.field-radiusY": "半径 Y",
535
567
  "figure.label.field-radiusZ": "半径 Z",
@@ -189,7 +189,44 @@
189
189
  "figure.label.part-position": "위치 (중심)",
190
190
  "figure.label.part-size": "크기",
191
191
  "figure.label.parts": "부품",
192
- "figure.label.placement": "위치와 크기",
192
+ "figure.label.gizmo-tools": "끌어서 바꾸기",
193
+ "figure.button.gizmo-translate": "옮기기",
194
+ "figure.button.gizmo-rotate": "돌리기",
195
+ "figure.button.gizmo-scale": "크기 바꾸기",
196
+ "figure.text.gizmo-not-own": "다른 부품이나 크기에 맞춰 놓인 부품이라 끌어서 바꿀 수 없습니다",
197
+ "figure.label.shown-when": "보이는 때",
198
+ "figure.label.shown-always": "늘 보임",
199
+ "figure.label.shown-while": "{control} 값에 따라",
200
+ "figure.label.shown-at-least": "이 값 이상에서 보임",
201
+ "figure.button.follow-size": "도형 크기를 따라감",
202
+ "figure.text.size-declared-to-follow": "따라갈 도형 크기를 부품에 맞춰 {x} × {y} × {z} mm 로 정했습니다.",
203
+ "figure.label.recipes": "조각",
204
+ "figure.text.recipe-needs-a-part": "붙일 부품을 먼저 고르세요.",
205
+ "figure.text.recipe-onto": "{part} 에 넣습니다.",
206
+ "figure.button.insert-recipe": "넣기",
207
+ "figure.text.recipes-intro": "조각은 문 · 롤러 줄처럼 자주 만드는 부품 묶음입니다. 모델러에서 부품을 고르고 한 번에 넣습니다.",
208
+ "figure.text.recipes-empty": "아직 조각이 없습니다.",
209
+ "figure.label.recipe-draft": "초안",
210
+ "figure.label.recipe-inherited": "상위 도메인",
211
+ "figure.text.recipe-target-part": "고른 부품에 넣습니다",
212
+ "figure.text.recipe-target-figure": "도형 전체에 넣습니다",
213
+ "figure.text.recipe-own": "이 도메인의 조각입니다",
214
+ "figure.text.recipe-inherited": "{domain} 도메인의 조각입니다. 고치려면 이 도메인으로 복사합니다",
215
+ "figure.label.recipe-param": "값",
216
+ "figure.label.recipe-default": "기본값",
217
+ "figure.label.recipe-range": "범위",
218
+ "figure.label.yes": "예",
219
+ "figure.label.no": "아니오",
220
+ "figure.button.recipe-release": "발행",
221
+ "figure.button.recipe-to-draft": "초안으로",
222
+ "figure.button.recipe-delete": "삭제",
223
+ "figure.button.recipe-copy-in": "이 도메인으로 복사",
224
+ "figure.button.recipe-edit-source": "원본 (JSON)",
225
+ "figure.text.recipe-edit-source": "저장하면 빈 방에 넣어 보고, 들어가지 않으면 저장하지 않습니다. 이름을 바꾸면 새 조각이 됩니다.",
226
+ "figure.text.recipe-preview": "4 × 3 × 6 m 방에 기본값으로 넣은 모습입니다. 크기를 바꾼 방과 함께 보입니다.",
227
+ "figure.text.recipe-delete-confirm": "{name} 조각을 지웁니다. 이 조각으로 이미 만든 도형은 바뀌지 않습니다.",
228
+ "figure.title.recipes": "조각",
229
+ "figure.label.placement": "붙이기",
193
230
  "figure.label.placement-ceiling": "천장 기반 (ceiling)",
194
231
  "figure.label.placement-center": "중심 기반 (center)",
195
232
  "figure.label.placement-floor": "바닥 기반 (floor)",
@@ -523,13 +560,8 @@
523
560
  "figure.label.field-radius": "반지름",
524
561
  "figure.label.field-length": "길이",
525
562
  "figure.label.field-round": "모서리 반경",
526
- "figure.label.field-left": "왼쪽",
527
- "figure.label.field-right": "오른쪽",
528
- "figure.label.field-bottom": "아랫면",
529
- "figure.label.field-top": "윗면",
530
- "figure.label.field-openingLeft": "개구부 왼쪽",
531
- "figure.label.field-openingRight": "개구부 오른쪽",
532
- "figure.label.field-openingTop": "개구부 윗면",
563
+ "figure.label.field-jamb": "기둥 두께",
564
+ "figure.label.field-head": "윗틀 두께",
533
565
  "figure.label.field-radiusX": "반지름 X",
534
566
  "figure.label.field-radiusY": "반지름 Y",
535
567
  "figure.label.field-radiusZ": "반지름 Z",
@@ -189,7 +189,44 @@
189
189
  "figure.label.part-position": "position (centre)",
190
190
  "figure.label.part-size": "size",
191
191
  "figure.label.parts": "parts",
192
- "figure.label.placement": "position and size",
192
+ "figure.label.gizmo-tools": "drag to change",
193
+ "figure.button.gizmo-translate": "move",
194
+ "figure.button.gizmo-rotate": "turn",
195
+ "figure.button.gizmo-scale": "resize",
196
+ "figure.text.gizmo-not-own": "this part is placed by another part or by the size, so it cannot be dragged",
197
+ "figure.label.shown-when": "shown when",
198
+ "figure.label.shown-always": "always",
199
+ "figure.label.shown-while": "while {control} is at least",
200
+ "figure.label.shown-at-least": "at least",
201
+ "figure.button.follow-size": "follow the figure size",
202
+ "figure.text.size-declared-to-follow": "the figure size to follow was set from its parts: {x} × {y} × {z} mm.",
203
+ "figure.label.recipes": "recipes",
204
+ "figure.text.recipe-needs-a-part": "choose the part to put it on first.",
205
+ "figure.text.recipe-onto": "onto {part}.",
206
+ "figure.button.insert-recipe": "put in",
207
+ "figure.text.recipes-intro": "a recipe is a group of parts made often -- a door, a roller row. In the modeller, choose a part and put it in at once.",
208
+ "figure.text.recipes-empty": "no recipes yet.",
209
+ "figure.label.recipe-draft": "draft",
210
+ "figure.label.recipe-inherited": "parent domain",
211
+ "figure.text.recipe-target-part": "put onto a chosen part",
212
+ "figure.text.recipe-target-figure": "put onto the whole figure",
213
+ "figure.text.recipe-own": "this domain's recipe",
214
+ "figure.text.recipe-inherited": "the {domain} domain's recipe; copy it here to change it",
215
+ "figure.label.recipe-param": "value",
216
+ "figure.label.recipe-default": "default",
217
+ "figure.label.recipe-range": "range",
218
+ "figure.label.yes": "yes",
219
+ "figure.label.no": "no",
220
+ "figure.button.recipe-release": "release",
221
+ "figure.button.recipe-to-draft": "back to draft",
222
+ "figure.button.recipe-delete": "delete",
223
+ "figure.button.recipe-copy-in": "copy to this domain",
224
+ "figure.button.recipe-edit-source": "source (JSON)",
225
+ "figure.text.recipe-edit-source": "saved, it is put into an empty room first and not saved if it does not go in. A new name makes a new recipe.",
226
+ "figure.text.recipe-preview": "put into a 4 x 3 x 6 m room with its defaults, shown with the room resized.",
227
+ "figure.text.recipe-delete-confirm": "delete the {name} recipe. figures already made with it do not change.",
228
+ "figure.title.recipes": "recipes",
229
+ "figure.label.placement": "lekatan",
193
230
  "figure.label.placement-ceiling": "berasaskan siling (ceiling)",
194
231
  "figure.label.placement-center": "berasaskan pusat (center)",
195
232
  "figure.label.placement-floor": "berasaskan lantai (floor)",
@@ -523,13 +560,8 @@
523
560
  "figure.label.field-radius": "Jejari",
524
561
  "figure.label.field-length": "Panjang",
525
562
  "figure.label.field-round": "Jejari bucu",
526
- "figure.label.field-left": "Kiri",
527
- "figure.label.field-right": "Kanan",
528
- "figure.label.field-bottom": "Bawah",
529
- "figure.label.field-top": "Atas",
530
- "figure.label.field-openingLeft": "Bukaan kiri",
531
- "figure.label.field-openingRight": "Bukaan kanan",
532
- "figure.label.field-openingTop": "Bukaan atas",
563
+ "figure.label.field-jamb": "jamb",
564
+ "figure.label.field-head": "head",
533
565
  "figure.label.field-radiusX": "Jejari X",
534
566
  "figure.label.field-radiusY": "Jejari Y",
535
567
  "figure.label.field-radiusZ": "Jejari Z",
@@ -189,7 +189,44 @@
189
189
  "figure.label.part-position": "position (centre)",
190
190
  "figure.label.part-size": "size",
191
191
  "figure.label.parts": "parts",
192
- "figure.label.placement": "position and size",
192
+ "figure.label.gizmo-tools": "drag to change",
193
+ "figure.button.gizmo-translate": "move",
194
+ "figure.button.gizmo-rotate": "turn",
195
+ "figure.button.gizmo-scale": "resize",
196
+ "figure.text.gizmo-not-own": "this part is placed by another part or by the size, so it cannot be dragged",
197
+ "figure.label.shown-when": "shown when",
198
+ "figure.label.shown-always": "always",
199
+ "figure.label.shown-while": "while {control} is at least",
200
+ "figure.label.shown-at-least": "at least",
201
+ "figure.button.follow-size": "follow the figure size",
202
+ "figure.text.size-declared-to-follow": "the figure size to follow was set from its parts: {x} × {y} × {z} mm.",
203
+ "figure.label.recipes": "recipes",
204
+ "figure.text.recipe-needs-a-part": "choose the part to put it on first.",
205
+ "figure.text.recipe-onto": "onto {part}.",
206
+ "figure.button.insert-recipe": "put in",
207
+ "figure.text.recipes-intro": "a recipe is a group of parts made often -- a door, a roller row. In the modeller, choose a part and put it in at once.",
208
+ "figure.text.recipes-empty": "no recipes yet.",
209
+ "figure.label.recipe-draft": "draft",
210
+ "figure.label.recipe-inherited": "parent domain",
211
+ "figure.text.recipe-target-part": "put onto a chosen part",
212
+ "figure.text.recipe-target-figure": "put onto the whole figure",
213
+ "figure.text.recipe-own": "this domain's recipe",
214
+ "figure.text.recipe-inherited": "the {domain} domain's recipe; copy it here to change it",
215
+ "figure.label.recipe-param": "value",
216
+ "figure.label.recipe-default": "default",
217
+ "figure.label.recipe-range": "range",
218
+ "figure.label.yes": "yes",
219
+ "figure.label.no": "no",
220
+ "figure.button.recipe-release": "release",
221
+ "figure.button.recipe-to-draft": "back to draft",
222
+ "figure.button.recipe-delete": "delete",
223
+ "figure.button.recipe-copy-in": "copy to this domain",
224
+ "figure.button.recipe-edit-source": "source (JSON)",
225
+ "figure.text.recipe-edit-source": "saved, it is put into an empty room first and not saved if it does not go in. A new name makes a new recipe.",
226
+ "figure.text.recipe-preview": "put into a 4 x 3 x 6 m room with its defaults, shown with the room resized.",
227
+ "figure.text.recipe-delete-confirm": "delete the {name} recipe. figures already made with it do not change.",
228
+ "figure.title.recipes": "recipes",
229
+ "figure.label.placement": "附着",
193
230
  "figure.label.placement-ceiling": "天花板基准 (ceiling)",
194
231
  "figure.label.placement-center": "中心基准 (center)",
195
232
  "figure.label.placement-floor": "地面基准 (floor)",
@@ -523,13 +560,8 @@
523
560
  "figure.label.field-radius": "半径",
524
561
  "figure.label.field-length": "长度",
525
562
  "figure.label.field-round": "圆角半径",
526
- "figure.label.field-left": "左",
527
- "figure.label.field-right": "右",
528
- "figure.label.field-bottom": "底面",
529
- "figure.label.field-top": "顶面",
530
- "figure.label.field-openingLeft": "开口 左",
531
- "figure.label.field-openingRight": "开口 右",
532
- "figure.label.field-openingTop": "开口 顶",
563
+ "figure.label.field-jamb": "jamb",
564
+ "figure.label.field-head": "head",
533
565
  "figure.label.field-radiusX": "半径 X",
534
566
  "figure.label.field-radiusY": "半径 Y",
535
567
  "figure.label.field-radiusZ": "半径 Z",