@things-factory/figure-service 10.1.205 → 10.1.206

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 (77) hide show
  1. package/dist-server/service/figure/event-subscriber.js +5 -0
  2. package/dist-server/service/figure/event-subscriber.js.map +1 -1
  3. package/dist-server/service/figure/figure-format.d.ts +7 -0
  4. package/dist-server/service/figure/figure-format.js +25 -3
  5. package/dist-server/service/figure/figure-format.js.map +1 -1
  6. package/dist-server/service/figure/figure-mutation.js +2 -0
  7. package/dist-server/service/figure/figure-mutation.js.map +1 -1
  8. package/dist-server/service/figure/figure-query.js +3 -5
  9. package/dist-server/service/figure/figure-query.js.map +1 -1
  10. package/dist-server/service/figure/figure-revert.js +1 -1
  11. package/dist-server/service/figure/figure-revert.js.map +1 -1
  12. package/dist-server/tsconfig.tsbuildinfo +1 -1
  13. package/package.json +8 -8
  14. package/recipes/base-frame/recipe.json +4 -8
  15. package/recipes/belt-surface/recipe.json +2 -4
  16. package/recipes/bin-row/recipe.json +1 -2
  17. package/recipes/bollard-row/recipe.json +1 -2
  18. package/recipes/cabinet-doors/recipe.json +5 -10
  19. package/recipes/cable-tray/recipe.json +3 -6
  20. package/recipes/canopy/recipe.json +2 -4
  21. package/recipes/cart-handle/recipe.json +1 -2
  22. package/recipes/ceiling-rail-carriage/recipe.json +1 -2
  23. package/recipes/chain-rails/recipe.json +2 -4
  24. package/recipes/column-row/recipe.json +1 -2
  25. package/recipes/conveyor-skirts/recipe.json +4 -8
  26. package/recipes/double-hinged-door/recipe.json +6 -12
  27. package/recipes/drawer-stack/recipe.json +13 -26
  28. package/recipes/drip-tray/recipe.json +2 -4
  29. package/recipes/end-covers/recipe.json +4 -8
  30. package/recipes/ffu-row/recipe.json +1 -2
  31. package/recipes/floor-zone/recipe.json +4 -8
  32. package/recipes/folding-door/recipe.json +3 -6
  33. package/recipes/gantry-frame/recipe.json +1 -2
  34. package/recipes/guard-cover/recipe.json +2 -4
  35. package/recipes/handrail/recipe.json +2 -4
  36. package/recipes/hatch/recipe.json +4 -8
  37. package/recipes/hinged-door/recipe.json +4 -8
  38. package/recipes/hopper/recipe.json +1 -2
  39. package/recipes/ladder/recipe.json +3 -6
  40. package/recipes/lift-updown/recipe.json +2 -4
  41. package/recipes/linear-guide/recipe.json +1 -2
  42. package/recipes/locker-row/recipe.json +1 -2
  43. package/recipes/observation-window/recipe.json +4 -8
  44. package/recipes/operator-panel/recipe.json +4 -8
  45. package/recipes/partition-wall/recipe.json +3 -6
  46. package/recipes/peg-board/facts.md +1 -1
  47. package/recipes/peg-board/recipe.json +1 -2
  48. package/recipes/pipe-run/recipe.json +1 -2
  49. package/recipes/platform/recipe.json +2 -4
  50. package/recipes/pull-cord/recipe.json +1 -2
  51. package/recipes/roll-up-shutter/recipe.json +3 -6
  52. package/recipes/roller-row/recipe.json +2 -4
  53. package/recipes/room-shell/recipe.json +6 -12
  54. package/recipes/safety-fence/recipe.json +2 -4
  55. package/recipes/safety-mat/recipe.json +1 -2
  56. package/recipes/shelf-tiers/recipe.json +5 -10
  57. package/recipes/side-guides/recipe.json +2 -4
  58. package/recipes/sign-board/recipe.json +1 -2
  59. package/recipes/sliding-door/recipe.json +7 -14
  60. package/recipes/stairs/recipe.json +1 -2
  61. package/recipes/stopper/recipe.json +1 -2
  62. package/recipes/suction-pads/recipe.json +1 -2
  63. package/recipes/tank/recipe.json +2 -4
  64. package/recipes/toe-board/recipe.json +1 -2
  65. package/recipes/traffic-cones/recipe.json +1 -2
  66. package/recipes/transfer-belts/recipe.json +2 -4
  67. package/recipes/trough/recipe.json +1 -2
  68. package/recipes/turntable/recipe.json +1 -2
  69. package/recipes/workbench-top/recipe.json +2 -4
  70. package/server/service/figure/event-subscriber.ts +4 -0
  71. package/server/service/figure/figure-blueprint-query.test.ts +3 -0
  72. package/server/service/figure/figure-context.test.ts +1 -1
  73. package/server/service/figure/figure-format.ts +27 -5
  74. package/server/service/figure/figure-mutation.ts +2 -0
  75. package/server/service/figure/figure-query.ts +3 -6
  76. package/server/service/figure/figure-release-size-db.test.ts +156 -0
  77. package/server/service/figure/figure-revert.ts +2 -2
@@ -85,8 +85,7 @@
85
85
  },
86
86
  "times": {
87
87
  "param": "share"
88
- },
89
- "narrowRange": true
88
+ }
90
89
  },
91
90
  {
92
91
  "kind": "link-dimension",
@@ -99,8 +98,7 @@
99
98
  },
100
99
  "times": {
101
100
  "param": "height"
102
- },
103
- "narrowRange": true
101
+ }
104
102
  },
105
103
  {
106
104
  "kind": "link-dimension",
@@ -111,8 +109,7 @@
111
109
  "part": "{id}-frame",
112
110
  "axis": "x"
113
111
  },
114
- "plus": -70,
115
- "narrowRange": true
112
+ "plus": -70
116
113
  },
117
114
  {
118
115
  "kind": "link-dimension",
@@ -123,8 +120,7 @@
123
120
  "part": "{id}-frame",
124
121
  "axis": "y"
125
122
  },
126
- "plus": -35,
127
- "narrowRange": true
123
+ "plus": -35
128
124
  },
129
125
  {
130
126
  "kind": "set-joint",
@@ -101,8 +101,7 @@
101
101
  },
102
102
  "times": {
103
103
  "param": "share"
104
- },
105
- "narrowRange": true
104
+ }
106
105
  },
107
106
  {
108
107
  "kind": "link-dimension",
@@ -115,8 +114,7 @@
115
114
  },
116
115
  "times": {
117
116
  "param": "height"
118
- },
119
- "narrowRange": true
117
+ }
120
118
  },
121
119
  {
122
120
  "kind": "link-dimension",
@@ -127,8 +125,7 @@
127
125
  "part": "{id}-frame",
128
126
  "axis": "x"
129
127
  },
130
- "plus": -210,
131
- "narrowRange": true
128
+ "plus": -210
132
129
  },
133
130
  {
134
131
  "kind": "link-dimension",
@@ -139,8 +136,7 @@
139
136
  "part": "{id}-frame",
140
137
  "axis": "y"
141
138
  },
142
- "plus": -110,
143
- "narrowRange": true
139
+ "plus": -110
144
140
  },
145
141
  {
146
142
  "kind": "set-joint",
@@ -68,8 +68,7 @@
68
68
  },
69
69
  "times": {
70
70
  "param": "mouth"
71
- },
72
- "narrowRange": true
71
+ }
73
72
  },
74
73
  {
75
74
  "kind": "set-joint",
@@ -76,8 +76,7 @@
76
76
  "of": "part",
77
77
  "part": "{target}",
78
78
  "axis": "y"
79
- },
80
- "narrowRange": true
79
+ }
81
80
  },
82
81
  {
83
82
  "kind": "link-dimension",
@@ -87,8 +86,7 @@
87
86
  "of": "part",
88
87
  "part": "{target}",
89
88
  "axis": "y"
90
- },
91
- "narrowRange": true
89
+ }
92
90
  },
93
91
  {
94
92
  "kind": "set-joint",
@@ -151,8 +149,7 @@
151
149
  "param": "pitch"
152
150
  }
153
151
  }
154
- },
155
- "narrowRange": true
152
+ }
156
153
  },
157
154
  {
158
155
  "kind": "set-material",
@@ -54,8 +54,7 @@
54
54
  "part": "{target}",
55
55
  "axis": "x"
56
56
  },
57
- "times": 0.9,
58
- "narrowRange": true
57
+ "times": 0.9
59
58
  },
60
59
  {
61
60
  "kind": "link-dimension",
@@ -66,8 +65,7 @@
66
65
  "part": "{target}",
67
66
  "axis": "z"
68
67
  },
69
- "times": 0.9,
70
- "narrowRange": true
68
+ "times": 0.9
71
69
  },
72
70
  {
73
71
  "kind": "set-joint",
@@ -68,8 +68,7 @@
68
68
  },
69
69
  "times": {
70
70
  "param": "length"
71
- },
72
- "narrowRange": true
71
+ }
73
72
  },
74
73
  {
75
74
  "kind": "set-joint",
@@ -64,8 +64,7 @@
64
64
  "param": "pitch"
65
65
  }
66
66
  }
67
- },
68
- "narrowRange": true
67
+ }
69
68
  },
70
69
  {
71
70
  "kind": "set-material",
@@ -84,8 +84,7 @@
84
84
  },
85
85
  "times": {
86
86
  "param": "share"
87
- },
88
- "narrowRange": true
87
+ }
89
88
  },
90
89
  {
91
90
  "kind": "link-dimension",
@@ -98,8 +97,7 @@
98
97
  },
99
98
  "times": {
100
99
  "param": "height"
101
- },
102
- "narrowRange": true
100
+ }
103
101
  },
104
102
  {
105
103
  "kind": "link-dimension",
@@ -110,8 +108,7 @@
110
108
  "part": "{id}-frame",
111
109
  "axis": "x"
112
110
  },
113
- "plus": -120,
114
- "narrowRange": true
111
+ "plus": -120
115
112
  },
116
113
  {
117
114
  "kind": "link-dimension",
@@ -122,8 +119,7 @@
122
119
  "part": "{id}-frame",
123
120
  "axis": "y"
124
121
  },
125
- "plus": -60,
126
- "narrowRange": true
122
+ "plus": -60
127
123
  },
128
124
  {
129
125
  "kind": "set-joint",
@@ -103,8 +103,7 @@
103
103
  "pitch": 90,
104
104
  "count": 5
105
105
  }
106
- },
107
- "narrowRange": true
106
+ }
108
107
  },
109
108
  {
110
109
  "when": {
@@ -128,8 +127,7 @@
128
127
  "pitch": 90,
129
128
  "count": 4
130
129
  }
131
- },
132
- "narrowRange": true
130
+ }
133
131
  },
134
132
  {
135
133
  "when": {
@@ -153,8 +151,7 @@
153
151
  "pitch": 90,
154
152
  "count": 3
155
153
  }
156
- },
157
- "narrowRange": true
154
+ }
158
155
  },
159
156
  {
160
157
  "when": {
@@ -178,8 +175,7 @@
178
175
  "pitch": 90,
179
176
  "count": 2
180
177
  }
181
- },
182
- "narrowRange": true
178
+ }
183
179
  },
184
180
  {
185
181
  "kind": "set-material",
@@ -83,8 +83,7 @@
83
83
  "axis": "x"
84
84
  },
85
85
  "times": 0.5,
86
- "plus": -600,
87
- "narrowRange": true
86
+ "plus": -600
88
87
  },
89
88
  {
90
89
  "kind": "link-dimension",
@@ -96,8 +95,7 @@
96
95
  "axis": "x"
97
96
  },
98
97
  "times": 0.5,
99
- "plus": -600,
100
- "narrowRange": true
98
+ "plus": -600
101
99
  },
102
100
  {
103
101
  "kind": "link-dimension",
@@ -108,8 +106,7 @@
108
106
  "part": "{id}-wall-left",
109
107
  "axis": "y"
110
108
  },
111
- "plus": -2200,
112
- "narrowRange": true
109
+ "plus": -2200
113
110
  },
114
111
  {
115
112
  "kind": "set-joint",
@@ -1,3 +1,3 @@
1
1
  # peg-board — facts (not shown on screen; the guide's basis and our review)
2
2
 
3
- 앞면 가운데. 판 1200×800×15. 걸이 10×10×80 판 앞면, make-repeat x pitch, narrowRange. 간격 50~600.
3
+ 앞면 가운데. 판 1200×800×15. 걸이 10×10×80 판 앞면, make-repeat x pitch. 간격 50~600.
@@ -91,8 +91,7 @@
91
91
  "param": "pitch"
92
92
  }
93
93
  }
94
- },
95
- "narrowRange": true
94
+ }
96
95
  },
97
96
  {
98
97
  "kind": "set-material",
@@ -53,8 +53,7 @@
53
53
  "of": "part",
54
54
  "part": "{target}",
55
55
  "axis": "z"
56
- },
57
- "narrowRange": true
56
+ }
58
57
  },
59
58
  {
60
59
  "kind": "set-joint",
@@ -109,8 +109,7 @@
109
109
  "of": "part",
110
110
  "part": "{target}",
111
111
  "axis": "x"
112
- },
113
- "narrowRange": true
112
+ }
114
113
  },
115
114
  {
116
115
  "kind": "link-dimension",
@@ -120,8 +119,7 @@
120
119
  "of": "part",
121
120
  "part": "{target}",
122
121
  "axis": "z"
123
- },
124
- "narrowRange": true
122
+ }
125
123
  },
126
124
  {
127
125
  "kind": "set-joint",
@@ -37,8 +37,7 @@
37
37
  "of": "part",
38
38
  "part": "{target}",
39
39
  "axis": "x"
40
- },
41
- "narrowRange": true
40
+ }
42
41
  },
43
42
  {
44
43
  "kind": "set-joint",
@@ -83,8 +83,7 @@
83
83
  },
84
84
  "times": {
85
85
  "param": "share"
86
- },
87
- "narrowRange": true
86
+ }
88
87
  },
89
88
  {
90
89
  "kind": "link-dimension",
@@ -97,8 +96,7 @@
97
96
  },
98
97
  "times": {
99
98
  "param": "height"
100
- },
101
- "narrowRange": true
99
+ }
102
100
  },
103
101
  {
104
102
  "kind": "link-dimension",
@@ -109,8 +107,7 @@
109
107
  "part": "{id}-curtain",
110
108
  "axis": "x"
111
109
  },
112
- "plus": 100,
113
- "narrowRange": true
110
+ "plus": 100
114
111
  },
115
112
  {
116
113
  "kind": "set-joint",
@@ -70,8 +70,7 @@
70
70
  "part": "{target}",
71
71
  "axis": "z"
72
72
  },
73
- "times": 0.9,
74
- "narrowRange": true
73
+ "times": 0.9
75
74
  },
76
75
  {
77
76
  "kind": "set-joint",
@@ -106,8 +105,7 @@
106
105
  "param": "pitch"
107
106
  }
108
107
  }
109
- },
110
- "narrowRange": true
108
+ }
111
109
  },
112
110
  {
113
111
  "kind": "set-material",
@@ -109,8 +109,7 @@
109
109
  "of": "part",
110
110
  "part": "{target}",
111
111
  "axis": "x"
112
- },
113
- "narrowRange": true
112
+ }
114
113
  },
115
114
  {
116
115
  "kind": "link-dimension",
@@ -120,8 +119,7 @@
120
119
  "of": "part",
121
120
  "part": "{target}",
122
121
  "axis": "x"
123
- },
124
- "narrowRange": true
122
+ }
125
123
  },
126
124
  {
127
125
  "kind": "link-dimension",
@@ -132,8 +130,7 @@
132
130
  "part": "{target}",
133
131
  "axis": "z"
134
132
  },
135
- "plus": -200,
136
- "narrowRange": true
133
+ "plus": -200
137
134
  },
138
135
  {
139
136
  "kind": "link-dimension",
@@ -144,8 +141,7 @@
144
141
  "part": "{target}",
145
142
  "axis": "z"
146
143
  },
147
- "plus": -200,
148
- "narrowRange": true
144
+ "plus": -200
149
145
  },
150
146
  {
151
147
  "kind": "link-dimension",
@@ -155,8 +151,7 @@
155
151
  "of": "part",
156
152
  "part": "{target}",
157
153
  "axis": "x"
158
- },
159
- "narrowRange": true
154
+ }
160
155
  },
161
156
  {
162
157
  "kind": "link-dimension",
@@ -166,8 +161,7 @@
166
161
  "of": "part",
167
162
  "part": "{target}",
168
163
  "axis": "z"
169
- },
170
- "narrowRange": true
164
+ }
171
165
  },
172
166
  {
173
167
  "kind": "set-joint",
@@ -85,8 +85,7 @@
85
85
  "of": "part",
86
86
  "part": "{target}",
87
87
  "axis": "x"
88
- },
89
- "narrowRange": true
88
+ }
90
89
  },
91
90
  {
92
91
  "kind": "set-joint",
@@ -111,8 +110,7 @@
111
110
  "param": "pitch"
112
111
  }
113
112
  }
114
- },
115
- "narrowRange": true
113
+ }
116
114
  },
117
115
  {
118
116
  "kind": "set-joint",
@@ -56,8 +56,7 @@
56
56
  },
57
57
  "times": {
58
58
  "param": "width"
59
- },
60
- "narrowRange": true
59
+ }
61
60
  },
62
61
  {
63
62
  "kind": "set-joint",
@@ -75,8 +75,7 @@
75
75
  "part": "{target}",
76
76
  "axis": "x"
77
77
  },
78
- "times": 0.96,
79
- "narrowRange": true
78
+ "times": 0.96
80
79
  },
81
80
  {
82
81
  "when": {
@@ -100,8 +99,7 @@
100
99
  "pitch": 400,
101
100
  "count": 5
102
101
  }
103
- },
104
- "narrowRange": true
102
+ }
105
103
  },
106
104
  {
107
105
  "when": {
@@ -125,8 +123,7 @@
125
123
  "pitch": 400,
126
124
  "count": 4
127
125
  }
128
- },
129
- "narrowRange": true
126
+ }
130
127
  },
131
128
  {
132
129
  "when": {
@@ -150,8 +147,7 @@
150
147
  "pitch": 400,
151
148
  "count": 3
152
149
  }
153
- },
154
- "narrowRange": true
150
+ }
155
151
  },
156
152
  {
157
153
  "when": {
@@ -175,8 +171,7 @@
175
171
  "pitch": 400,
176
172
  "count": 2
177
173
  }
178
- },
179
- "narrowRange": true
174
+ }
180
175
  },
181
176
  {
182
177
  "kind": "set-material",
@@ -69,8 +69,7 @@
69
69
  "of": "part",
70
70
  "part": "{target}",
71
71
  "axis": "x"
72
- },
73
- "narrowRange": true
72
+ }
74
73
  },
75
74
  {
76
75
  "kind": "link-dimension",
@@ -80,8 +79,7 @@
80
79
  "of": "part",
81
80
  "part": "{target}",
82
81
  "axis": "x"
83
- },
84
- "narrowRange": true
82
+ }
85
83
  },
86
84
  {
87
85
  "kind": "set-joint",
@@ -56,8 +56,7 @@
56
56
  },
57
57
  "times": {
58
58
  "param": "width"
59
- },
60
- "narrowRange": true
59
+ }
61
60
  },
62
61
  {
63
62
  "kind": "set-joint",
@@ -166,8 +166,7 @@
166
166
  },
167
167
  "times": {
168
168
  "param": "share"
169
- },
170
- "narrowRange": true
169
+ }
171
170
  },
172
171
  {
173
172
  "kind": "link-dimension",
@@ -180,8 +179,7 @@
180
179
  },
181
180
  "times": {
182
181
  "param": "height"
183
- },
184
- "narrowRange": true
182
+ }
185
183
  },
186
184
  {
187
185
  "when": {
@@ -196,8 +194,7 @@
196
194
  "part": "{id}-frame",
197
195
  "axis": "x"
198
196
  },
199
- "plus": -600,
200
- "narrowRange": true
197
+ "plus": -600
201
198
  },
202
199
  {
203
200
  "when": {
@@ -213,8 +210,7 @@
213
210
  "axis": "x"
214
211
  },
215
212
  "times": 0.5,
216
- "plus": -300,
217
- "narrowRange": true
213
+ "plus": -300
218
214
  },
219
215
  {
220
216
  "kind": "link-dimension",
@@ -225,8 +221,7 @@
225
221
  "part": "{id}-frame",
226
222
  "axis": "y"
227
223
  },
228
- "plus": -700,
229
- "narrowRange": true
224
+ "plus": -700
230
225
  },
231
226
  {
232
227
  "when": {
@@ -240,8 +235,7 @@
240
235
  "of": "part",
241
236
  "part": "{id}-left",
242
237
  "axis": "x"
243
- },
244
- "narrowRange": true
238
+ }
245
239
  },
246
240
  {
247
241
  "when": {
@@ -255,8 +249,7 @@
255
249
  "of": "part",
256
250
  "part": "{id}-left",
257
251
  "axis": "y"
258
- },
259
- "narrowRange": true
252
+ }
260
253
  },
261
254
  {
262
255
  "kind": "set-joint",
@@ -92,8 +92,7 @@
92
92
  }
93
93
  }
94
94
  }
95
- },
96
- "narrowRange": true
95
+ }
97
96
  },
98
97
  {
99
98
  "kind": "set-material",
@@ -54,8 +54,7 @@
54
54
  "part": "{target}",
55
55
  "axis": "z"
56
56
  },
57
- "times": 0.75,
58
- "narrowRange": true
57
+ "times": 0.75
59
58
  },
60
59
  {
61
60
  "kind": "set-joint",
@@ -63,8 +63,7 @@
63
63
  "param": "pitch"
64
64
  }
65
65
  }
66
- },
67
- "narrowRange": true
66
+ }
68
67
  },
69
68
  {
70
69
  "kind": "set-material",
@@ -55,8 +55,7 @@
55
55
  },
56
56
  "times": {
57
57
  "param": "size"
58
- },
59
- "narrowRange": true
58
+ }
60
59
  },
61
60
  {
62
61
  "kind": "link-dimension",
@@ -67,8 +66,7 @@
67
66
  "part": "{target}",
68
67
  "axis": "x"
69
68
  },
70
- "times": 0.9,
71
- "narrowRange": true
69
+ "times": 0.9
72
70
  },
73
71
  {
74
72
  "kind": "set-joint",
@@ -55,8 +55,7 @@
55
55
  "of": "part",
56
56
  "part": "{target}",
57
57
  "axis": "x"
58
- },
59
- "narrowRange": true
58
+ }
60
59
  },
61
60
  {
62
61
  "kind": "set-joint",