@operato/board 10.0.0-beta.9 → 10.1.0

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 (89) hide show
  1. package/CHANGELOG.md +538 -0
  2. package/dist/src/component/container.js +18 -3
  3. package/dist/src/component/container.js.map +1 -1
  4. package/dist/src/component/conveyance.d.ts +2 -0
  5. package/dist/src/component/conveyance.js +38 -0
  6. package/dist/src/component/conveyance.js.map +1 -0
  7. package/dist/src/component/etc.js +2 -10
  8. package/dist/src/component/etc.js.map +1 -1
  9. package/dist/src/component/facility.d.ts +2 -0
  10. package/dist/src/component/facility.js +35 -0
  11. package/dist/src/component/facility.js.map +1 -0
  12. package/dist/src/component/index.d.ts +5 -0
  13. package/dist/src/component/index.js +5 -0
  14. package/dist/src/component/index.js.map +1 -1
  15. package/dist/src/component/line.js +4 -28
  16. package/dist/src/component/line.js.map +1 -1
  17. package/dist/src/component/manufacturing.d.ts +2 -0
  18. package/dist/src/component/manufacturing.js +41 -0
  19. package/dist/src/component/manufacturing.js.map +1 -0
  20. package/dist/src/component/register-default-groups.js +19 -2
  21. package/dist/src/component/register-default-groups.js.map +1 -1
  22. package/dist/src/component/shape.js +5 -29
  23. package/dist/src/component/shape.js.map +1 -1
  24. package/dist/src/component/storage.d.ts +2 -0
  25. package/dist/src/component/storage.js +27 -0
  26. package/dist/src/component/storage.js.map +1 -0
  27. package/dist/src/component/text-and-media.js +2 -25
  28. package/dist/src/component/text-and-media.js.map +1 -1
  29. package/dist/src/component/transport.d.ts +2 -0
  30. package/dist/src/component/transport.js +36 -0
  31. package/dist/src/component/transport.js.map +1 -0
  32. package/dist/src/component/warehouse.d.ts +1 -0
  33. package/dist/src/component/warehouse.js +8 -1
  34. package/dist/src/component/warehouse.js.map +1 -1
  35. package/dist/src/data-storage/board-model-cache.d.ts +30 -0
  36. package/dist/src/data-storage/board-model-cache.js +93 -0
  37. package/dist/src/data-storage/board-model-cache.js.map +1 -0
  38. package/dist/src/graphql/data-subscription.js +5 -1
  39. package/dist/src/graphql/data-subscription.js.map +1 -1
  40. package/dist/src/graphql/playback-buffer.d.ts +79 -0
  41. package/dist/src/graphql/playback-buffer.js +139 -0
  42. package/dist/src/graphql/playback-buffer.js.map +1 -0
  43. package/dist/src/graphql/playback-buffer.test.d.ts +1 -0
  44. package/dist/src/graphql/playback-buffer.test.js +261 -0
  45. package/dist/src/graphql/playback-buffer.test.js.map +1 -0
  46. package/dist/src/graphql/playback-subscription.d.ts +33 -18
  47. package/dist/src/graphql/playback-subscription.js +158 -91
  48. package/dist/src/graphql/playback-subscription.js.map +1 -1
  49. package/dist/src/index.d.ts +3 -0
  50. package/dist/src/index.js +2 -0
  51. package/dist/src/index.js.map +1 -1
  52. package/dist/src/modeller/bulk-create-dialog.d.ts +51 -0
  53. package/dist/src/modeller/bulk-create-dialog.js +531 -0
  54. package/dist/src/modeller/bulk-create-dialog.js.map +1 -0
  55. package/dist/src/modeller/bulk-create.d.ts +101 -0
  56. package/dist/src/modeller/bulk-create.js +199 -0
  57. package/dist/src/modeller/bulk-create.js.map +1 -0
  58. package/dist/src/modeller/component-toolbar/component-menu.js +8 -1
  59. package/dist/src/modeller/component-toolbar/component-menu.js.map +1 -1
  60. package/dist/src/modeller/edit-toolbar.d.ts +16 -16
  61. package/dist/src/modeller/edit-toolbar.js +248 -208
  62. package/dist/src/modeller/edit-toolbar.js.map +1 -1
  63. package/dist/src/modeller/scene-viewer/ox-scene-viewer.d.ts +2 -1
  64. package/dist/src/modeller/scene-viewer/ox-scene-viewer.js +6 -1
  65. package/dist/src/modeller/scene-viewer/ox-scene-viewer.js.map +1 -1
  66. package/dist/src/ox-board-modeller.d.ts +8 -1
  67. package/dist/src/ox-board-modeller.js +125 -6
  68. package/dist/src/ox-board-modeller.js.map +1 -1
  69. package/dist/src/ox-board-preview.d.ts +36 -0
  70. package/dist/src/ox-board-preview.js +114 -0
  71. package/dist/src/ox-board-preview.js.map +1 -0
  72. package/dist/src/ox-board-template-list.d.ts +1 -0
  73. package/dist/src/ox-board-template-list.js +19 -1
  74. package/dist/src/ox-board-template-list.js.map +1 -1
  75. package/dist/src/ox-board-viewer.d.ts +8 -1
  76. package/dist/src/ox-board-viewer.js +99 -32
  77. package/dist/src/ox-board-viewer.js.map +1 -1
  78. package/dist/src/ox-playback-controls.d.ts +8 -0
  79. package/dist/src/ox-playback-controls.js +114 -18
  80. package/dist/src/ox-playback-controls.js.map +1 -1
  81. package/dist/src/selector/ox-board-selector.js +11 -1
  82. package/dist/src/selector/ox-board-selector.js.map +1 -1
  83. package/dist/tsconfig.tsbuildinfo +1 -1
  84. package/package.json +21 -16
  85. package/translations/en.json +19 -1
  86. package/translations/ja.json +19 -1
  87. package/translations/ko.json +19 -1
  88. package/translations/ms.json +19 -1
  89. package/translations/zh.json +19 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,544 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [10.1.0](https://github.com/hatiolab/operato/compare/v10.0.0...v10.1.0) (2026-07-30)
7
+
8
+ **Note:** Version bump only for package @operato/board
9
+
10
+
11
+
12
+
13
+
14
+ ## [10.0.0](https://github.com/hatiolab/operato/compare/v10.0.0-beta.68...v10.0.0) (2026-07-29)
15
+
16
+ **Note:** Version bump only for package @operato/board
17
+
18
+
19
+
20
+
21
+
22
+ ## [10.0.0-beta.68](https://github.com/hatiolab/operato/compare/v10.0.0-beta.67...v10.0.0-beta.68) (2026-07-26)
23
+
24
+ **Note:** Version bump only for package @operato/board
25
+
26
+
27
+
28
+
29
+
30
+ ## [10.0.0-beta.67](https://github.com/hatiolab/operato/compare/v10.0.0-beta.66...v10.0.0-beta.67) (2026-07-24)
31
+
32
+ **Note:** Version bump only for package @operato/board
33
+
34
+
35
+
36
+
37
+
38
+ ## [10.0.0-beta.66](https://github.com/hatiolab/operato/compare/v10.0.0-beta.65...v10.0.0-beta.66) (2026-07-12)
39
+
40
+ **Note:** Version bump only for package @operato/board
41
+
42
+
43
+
44
+
45
+
46
+ ## [10.0.0-beta.65](https://github.com/hatiolab/operato/compare/v10.0.0-beta.64...v10.0.0-beta.65) (2026-07-10)
47
+
48
+ **Note:** Version bump only for package @operato/board
49
+
50
+
51
+
52
+
53
+
54
+ ## [10.0.0-beta.64](https://github.com/hatiolab/operato/compare/v10.0.0-beta.63...v10.0.0-beta.64) (2026-07-08)
55
+
56
+ **Note:** Version bump only for package @operato/board
57
+
58
+
59
+
60
+
61
+
62
+ ## [10.0.0-beta.63](https://github.com/hatiolab/operato/compare/v10.0.0-beta.62...v10.0.0-beta.63) (2026-07-07)
63
+
64
+ **Note:** Version bump only for package @operato/board
65
+
66
+
67
+
68
+
69
+
70
+ ## [10.0.0-beta.62](https://github.com/hatiolab/operato/compare/v10.0.0-beta.61...v10.0.0-beta.62) (2026-07-04)
71
+
72
+ **Note:** Version bump only for package @operato/board
73
+
74
+
75
+
76
+
77
+
78
+ ## [10.0.0-beta.61](https://github.com/hatiolab/operato/compare/v10.0.0-beta.60...v10.0.0-beta.61) (2026-06-25)
79
+
80
+
81
+ ### :rocket: New Features
82
+
83
+ * **data-subscription:** query+record publish ts for data-lag monitoring ([d3e5bf9](https://github.com/hatiolab/operato/commit/d3e5bf9b1689f72049fc8333762cd5045f5d90ce))
84
+
85
+
86
+
87
+ ## [10.0.0-beta.60](https://github.com/hatiolab/operato/compare/v10.0.0-beta.59...v10.0.0-beta.60) (2026-06-08)
88
+
89
+ **Note:** Version bump only for package @operato/board
90
+
91
+
92
+
93
+
94
+
95
+ ## [10.0.0-beta.59](https://github.com/hatiolab/operato/compare/v10.0.0-beta.58...v10.0.0-beta.59) (2026-06-03)
96
+
97
+ **Note:** Version bump only for package @operato/board
98
+
99
+
100
+
101
+
102
+
103
+ ## [10.0.0-beta.58](https://github.com/hatiolab/operato/compare/v10.0.0-beta.57...v10.0.0-beta.58) (2026-05-28)
104
+
105
+ **Note:** Version bump only for package @operato/board
106
+
107
+
108
+
109
+
110
+
111
+ ## [10.0.0-beta.57](https://github.com/hatiolab/operato/compare/v10.0.0-beta.56...v10.0.0-beta.57) (2026-05-27)
112
+
113
+ **Note:** Version bump only for package @operato/board
114
+
115
+
116
+
117
+
118
+
119
+ ## [10.0.0-beta.56](https://github.com/hatiolab/operato/compare/v10.0.0-beta.55...v10.0.0-beta.56) (2026-05-27)
120
+
121
+ **Note:** Version bump only for package @operato/board
122
+
123
+
124
+
125
+
126
+
127
+ ## [10.0.0-beta.55](https://github.com/hatiolab/operato/compare/v10.0.0-beta.54...v10.0.0-beta.55) (2026-05-27)
128
+
129
+ **Note:** Version bump only for package @operato/board
130
+
131
+
132
+
133
+
134
+
135
+ ## [10.0.0-beta.54](https://github.com/hatiolab/operato/compare/v10.0.0-beta.53...v10.0.0-beta.54) (2026-05-27)
136
+
137
+ **Note:** Version bump only for package @operato/board
138
+
139
+
140
+
141
+
142
+
143
+ ## [10.0.0-beta.53](https://github.com/hatiolab/operato/compare/v10.0.0-beta.52...v10.0.0-beta.53) (2026-05-24)
144
+
145
+ **Note:** Version bump only for package @operato/board
146
+
147
+
148
+
149
+
150
+
151
+ ## [10.0.0-beta.52](https://github.com/hatiolab/operato/compare/v10.0.0-beta.51...v10.0.0-beta.52) (2026-05-22)
152
+
153
+ **Note:** Version bump only for package @operato/board
154
+
155
+
156
+
157
+
158
+
159
+ ## [10.0.0-beta.51](https://github.com/hatiolab/operato/compare/v10.0.0-beta.50...v10.0.0-beta.51) (2026-05-12)
160
+
161
+
162
+ ### :bug: Bug Fix
163
+
164
+ * **board:** bulk-paste 시 원본 크기 보존 — type-aware bounds derive ([353d0ab](https://github.com/hatiolab/operato/commit/353d0ab5f59ba7e559a5def3cd31badd2571f27b))
165
+
166
+
167
+ ### :house: Code Refactoring
168
+
169
+ * **board:** bulk-create helpers 를 local 구현으로 (things-scene 분리) ([e36e096](https://github.com/hatiolab/operato/commit/e36e096bb89d24f17267dc19ecd22acf44857735))
170
+
171
+
172
+
173
+ ## [10.0.0-beta.50](https://github.com/hatiolab/operato/compare/v10.0.0-beta.49...v10.0.0-beta.50) (2026-05-12)
174
+
175
+
176
+ ### :rocket: New Features
177
+
178
+ * **board:** bulk-paste (Ctrl+Shift+V) + zorder Photoshop 컨벤션 ([9a1bb03](https://github.com/hatiolab/operato/commit/9a1bb031e157b15cabff0403ad27fbdeb559fa55)), closes [#4a9](https://github.com/hatiolab/operato/issues/4a9)
179
+
180
+
181
+ ### :mega: Other
182
+
183
+ * **board:** bulk-paste dialog 디버깅 console.log 제거 ([e1b88d5](https://github.com/hatiolab/operato/commit/e1b88d511ebdc106a1cda77ee6893f79775afd99))
184
+
185
+
186
+ ### :house: Code Refactoring
187
+
188
+ * **board:** bulk-paste 영역 드래그를 things-scene AddLayer 로 위임 ([9efdac7](https://github.com/hatiolab/operato/commit/9efdac7831a47072a81e5d4122ecf321de47c378)), closes [#2964c2](https://github.com/hatiolab/operato/issues/2964c2)
189
+
190
+
191
+ ### :bug: Bug Fix
192
+
193
+ * **board:** bulk-create-dialog 4꼭지점 흰색 사각형 제거 ([e8bd653](https://github.com/hatiolab/operato/commit/e8bd653a81a1c2c4886546a9c9a261bfb0159795))
194
+
195
+
196
+
197
+ ## [10.0.0-beta.49](https://github.com/hatiolab/operato/compare/v10.0.0-beta.48...v10.0.0-beta.49) (2026-05-07)
198
+
199
+ **Note:** Version bump only for package @operato/board
200
+
201
+
202
+
203
+
204
+
205
+ ## [10.0.0-beta.48](https://github.com/hatiolab/operato/compare/v10.0.0-beta.47...v10.0.0-beta.48) (2026-05-05)
206
+
207
+
208
+ ### :rocket: New Features
209
+
210
+ * **property-panel:** generic-object 타입 변환 UI를 specifics 탭 전용 에디터로 이동 ([4b90f57](https://github.com/hatiolab/operato/commit/4b90f574c29f1677eb0dacc73b05e9fd10c9d2b2))
211
+
212
+
213
+
214
+ ## [10.0.0-beta.47](https://github.com/hatiolab/operato/compare/v10.0.0-beta.46...v10.0.0-beta.47) (2026-05-03)
215
+
216
+
217
+ ### :rocket: New Features
218
+
219
+ * **modeller:** popup-container palette + inline-popup tap actions ([737b081](https://github.com/hatiolab/operato/commit/737b0819c287d7703f404db266e79b12281070d3))
220
+
221
+
222
+
223
+ ## [10.0.0-beta.46](https://github.com/hatiolab/operato/compare/v10.0.0-beta.45...v10.0.0-beta.46) (2026-05-01)
224
+
225
+ **Note:** Version bump only for package @operato/board
226
+
227
+
228
+
229
+
230
+
231
+ ## [10.0.0-beta.45](https://github.com/hatiolab/operato/compare/v10.0.0-beta.44...v10.0.0-beta.45) (2026-04-30)
232
+
233
+
234
+ ### :rocket: New Features
235
+
236
+ * **board,property-panel:** logistics group split + NaN-safe number inputs ([aa3aa37](https://github.com/hatiolab/operato/commit/aa3aa376802d2296ee9a8315b4490b8a2a34b223))
237
+ * **board,property-panel:** manufacturing group + dynamic nature refresh ([a82cab7](https://github.com/hatiolab/operato/commit/a82cab79dded6b5996c554dfbcaf6f578f303861))
238
+
239
+
240
+
241
+ ## [10.0.0-beta.44](https://github.com/hatiolab/operato/compare/v10.0.0-beta.43...v10.0.0-beta.44) (2026-04-28)
242
+
243
+ **Note:** Version bump only for package @operato/board
244
+
245
+
246
+
247
+
248
+
249
+ ## [10.0.0-beta.43](https://github.com/hatiolab/operato/compare/v10.0.0-beta.42...v10.0.0-beta.43) (2026-04-24)
250
+
251
+ **Note:** Version bump only for package @operato/board
252
+
253
+
254
+
255
+
256
+
257
+ ## [10.0.0-beta.42](https://github.com/hatiolab/operato/compare/v10.0.0-beta.41...v10.0.0-beta.42) (2026-04-18)
258
+
259
+ **Note:** Version bump only for package @operato/board
260
+
261
+
262
+
263
+
264
+
265
+ ## [10.0.0-beta.41](https://github.com/hatiolab/operato/compare/v10.0.0-beta.40...v10.0.0-beta.41) (2026-04-18)
266
+
267
+ **Note:** Version bump only for package @operato/board
268
+
269
+
270
+
271
+
272
+
273
+ ## [10.0.0-beta.40](https://github.com/hatiolab/operato/compare/v10.0.0-beta.39...v10.0.0-beta.40) (2026-04-18)
274
+
275
+ **Note:** Version bump only for package @operato/board
276
+
277
+
278
+
279
+
280
+
281
+ ## [10.0.0-beta.39](https://github.com/hatiolab/operato/compare/v10.0.0-beta.38...v10.0.0-beta.39) (2026-04-18)
282
+
283
+ **Note:** Version bump only for package @operato/board
284
+
285
+
286
+
287
+
288
+
289
+ ## [10.0.0-beta.38](https://github.com/hatiolab/operato/compare/v10.0.0-beta.37...v10.0.0-beta.38) (2026-04-17)
290
+
291
+ **Note:** Version bump only for package @operato/board
292
+
293
+
294
+
295
+
296
+
297
+ ## [10.0.0-beta.36](https://github.com/hatiolab/operato/compare/v10.0.0-beta.35...v10.0.0-beta.36) (2026-04-17)
298
+
299
+ **Note:** Version bump only for package @operato/board
300
+
301
+
302
+
303
+
304
+
305
+ ## [10.0.0-beta.35](https://github.com/hatiolab/operato/compare/v10.0.0-beta.34...v10.0.0-beta.35) (2026-04-16)
306
+
307
+
308
+ ### :bug: Bug Fix
309
+
310
+ * **board:** iOS에서 뷰어 FAB 버튼 표시 — fullscreen만 숨김 ([dfde2b7](https://github.com/hatiolab/operato/commit/dfde2b707f6d8992141dde6e6efbfcae92374a30))
311
+
312
+
313
+
314
+ ## [10.0.0-beta.34](https://github.com/hatiolab/operato/compare/v10.0.0-beta.33...v10.0.0-beta.34) (2026-04-16)
315
+
316
+ **Note:** Version bump only for package @operato/board
317
+
318
+
319
+
320
+
321
+
322
+ ## [10.0.0-beta.33](https://github.com/hatiolab/operato/compare/v10.0.0-beta.32...v10.0.0-beta.33) (2026-04-16)
323
+
324
+ **Note:** Version bump only for package @operato/board
325
+
326
+
327
+
328
+
329
+
330
+ ## [10.0.0-beta.32](https://github.com/hatiolab/operato/compare/v10.0.0-beta.31...v10.0.0-beta.32) (2026-04-15)
331
+
332
+ **Note:** Version bump only for package @operato/board
333
+
334
+
335
+
336
+
337
+
338
+ ## [10.0.0-beta.31](https://github.com/hatiolab/operato/compare/v10.0.0-beta.30...v10.0.0-beta.31) (2026-04-15)
339
+
340
+ **Note:** Version bump only for package @operato/board
341
+
342
+
343
+
344
+
345
+
346
+ ## [10.0.0-beta.30](https://github.com/hatiolab/operato/compare/v10.0.0-beta.29...v10.0.0-beta.30) (2026-04-14)
347
+
348
+ **Note:** Version bump only for package @operato/board
349
+
350
+
351
+
352
+
353
+
354
+ ## [10.0.0-beta.29](https://github.com/hatiolab/operato/compare/v10.0.0-beta.28...v10.0.0-beta.29) (2026-04-13)
355
+
356
+
357
+ ### :rocket: New Features
358
+
359
+ * **board:** 플레이백 YouTube 스트리밍 방식 — PlaybackBuffer + 청크 기반 Provider ([dda8b0b](https://github.com/hatiolab/operato/commit/dda8b0b675472c4e606730195e608667a4919010))
360
+
361
+
362
+ ### :mega: Other
363
+
364
+ * **board:** @types/jest 의존성 추가 — playback-buffer 테스트 빌드 오류 해결 ([c68cfb0](https://github.com/hatiolab/operato/commit/c68cfb0a75f2b7ab10e32c9d3f2446ae766a87e7))
365
+
366
+
367
+
368
+ ## [10.0.0-beta.28](https://github.com/hatiolab/operato/compare/v10.0.0-beta.27...v10.0.0-beta.28) (2026-04-11)
369
+
370
+
371
+ ### :house: Code Refactoring
372
+
373
+ * **board:** text/image 컴포넌트 템플릿 기본값 정리 — 불필요한 default 속성 제거 ([dadbb54](https://github.com/hatiolab/operato/commit/dadbb54c9fb347402e7fdd5a42a19934973d764a))
374
+ * **board:** 컴포넌트 템플릿 기본값 정리 — 불필요한 default 속성 제거 ([9716220](https://github.com/hatiolab/operato/commit/97162201f2330ada26bc35711da8f05d9222acc7))
375
+
376
+
377
+
378
+ ## [10.0.0-beta.27](https://github.com/hatiolab/operato/compare/v10.0.0-beta.26...v10.0.0-beta.27) (2026-04-09)
379
+
380
+
381
+ ### :rocket: New Features
382
+
383
+ * **board:** 보드 모델 JSON 편집기 — F10으로 토글, ox-input-code(CodeMirror) 사용 ([e1f9ad8](https://github.com/hatiolab/operato/commit/e1f9ad88ee064077ec85f5f8a9882383a3af8ec3))
384
+
385
+
386
+
387
+ ## [10.0.0-beta.26](https://github.com/hatiolab/operato/compare/v10.0.0-beta.25...v10.0.0-beta.26) (2026-04-09)
388
+
389
+ **Note:** Version bump only for package @operato/board
390
+
391
+
392
+
393
+
394
+
395
+ ## [10.0.0-beta.25](https://github.com/hatiolab/operato/compare/v10.0.0-beta.24...v10.0.0-beta.25) (2026-04-08)
396
+
397
+ **Note:** Version bump only for package @operato/board
398
+
399
+
400
+
401
+
402
+
403
+ ## [10.0.0-beta.24](https://github.com/hatiolab/operato/compare/v10.0.0-beta.23...v10.0.0-beta.24) (2026-04-06)
404
+
405
+ **Note:** Version bump only for package @operato/board
406
+
407
+
408
+
409
+
410
+
411
+ ## [10.0.0-beta.23](https://github.com/hatiolab/operato/compare/v10.0.0-beta.22...v10.0.0-beta.23) (2026-04-06)
412
+
413
+
414
+ ### :bug: Bug Fix
415
+
416
+ * **board:** _is3dMode to use rootModel.is3dMode instead of state.threed ([774e142](https://github.com/hatiolab/operato/commit/774e14274a11eee4288efadded053a942f84a7fc))
417
+ * **board:** 3D 토글에서 root.threed setter 사용 (모델 저장 방지) ([e2bc3d2](https://github.com/hatiolab/operato/commit/e2bc3d2cd08d3fde42cf48efb2e2cc17dbb5b3f5))
418
+
419
+
420
+
421
+ ## [10.0.0-beta.22](https://github.com/hatiolab/operato/compare/v10.0.0-beta.21...v10.0.0-beta.22) (2026-04-02)
422
+
423
+
424
+ ### :rocket: New Features
425
+
426
+ * **board:** 3D 그룹에 floor-plate, wall 컴포넌트 등록 ([da56cc8](https://github.com/hatiolab/operato/commit/da56cc86fefcba19cd80b0e8b40849b6b72c159a))
427
+
428
+
429
+
430
+ ## [10.0.0-beta.21](https://github.com/hatiolab/operato/compare/v10.0.0-beta.20...v10.0.0-beta.21) (2026-04-02)
431
+
432
+ **Note:** Version bump only for package @operato/board
433
+
434
+
435
+
436
+
437
+
438
+ ## [10.0.0-beta.20](https://github.com/hatiolab/operato/compare/v10.0.0-beta.19...v10.0.0-beta.20) (2026-03-29)
439
+
440
+
441
+ ### :house: Code Refactoring
442
+
443
+ * **board:** fab를 expand/collapse 패턴으로 통일 ([ef369ef](https://github.com/hatiolab/operato/commit/ef369ef959780f52499a3ce08fae3f10a7d2a910))
444
+
445
+
446
+
447
+ ## [10.0.0-beta.19](https://github.com/hatiolab/operato/compare/v10.0.0-beta.18...v10.0.0-beta.19) (2026-03-29)
448
+
449
+
450
+ ### :rocket: New Features
451
+
452
+ * **board:** viewer 3D 토글 fab 추가, 보드 선택 카드 강조 + 자동 스크롤 ([9c5c14c](https://github.com/hatiolab/operato/commit/9c5c14c9dfcb69d3830f8e50c1e5a6d82de5f419))
453
+
454
+
455
+
456
+ ## [10.0.0-beta.18](https://github.com/hatiolab/operato/compare/v10.0.0-beta.17...v10.0.0-beta.18) (2026-03-25)
457
+
458
+ **Note:** Version bump only for package @operato/board
459
+
460
+
461
+
462
+
463
+
464
+ ## [10.0.0-beta.17](https://github.com/hatiolab/operato/compare/v10.0.0-beta.16...v10.0.0-beta.17) (2026-03-23)
465
+
466
+
467
+ ### :rocket: New Features
468
+
469
+ * **board:** add board model cache (IndexedDB) ([122036d](https://github.com/hatiolab/operato/commit/122036d19063a4f9e47d5f4d325615f6e895a328))
470
+
471
+
472
+
473
+ ## [10.0.0-beta.16](https://github.com/hatiolab/operato/compare/v10.0.0-beta.15...v10.0.0-beta.16) (2026-03-23)
474
+
475
+
476
+ ### :rocket: New Features
477
+
478
+ * **board:** scene monitor 연동 — load tracker/overlay 통합 ([265a716](https://github.com/hatiolab/operato/commit/265a7167b21337b3842d2bae5ef95ba3d071053c))
479
+
480
+
481
+
482
+ ## [10.0.0-beta.15](https://github.com/hatiolab/operato/compare/v10.0.0-beta.14...v10.0.0-beta.15) (2026-03-22)
483
+
484
+
485
+ ### :rocket: New Features
486
+
487
+ * **board:** 데이터바인딩 팝업 에디터 + property 콤보박스 + D키 핫키 ([d467180](https://github.com/hatiolab/operato/commit/d467180e106b1d268099bf9895082e2c6cf8d07b))
488
+
489
+
490
+ ### :bug: Bug Fix
491
+
492
+ * **board:** 데이터바인딩 팝업 모델 반영 + GLTF animations 트리 + 사이드바 저장 조건 완화 ([46fe68e](https://github.com/hatiolab/operato/commit/46fe68ea8c3af43c5c4275a42cd7bb5e761ec118))
493
+
494
+
495
+
496
+ ## [10.0.0-beta.14](https://github.com/hatiolab/operato/compare/v10.0.0-beta.13...v10.0.0-beta.14) (2026-03-20)
497
+
498
+
499
+ ### :rocket: New Features
500
+
501
+ * **board:** 모델러에 snap-guide-layer 추가 ([85e091b](https://github.com/hatiolab/operato/commit/85e091b4f3486845ef9804610d9237f5d8902de3))
502
+
503
+
504
+ ### :house: Code Refactoring
505
+
506
+ * **board:** 모델러에서 guide-layer 제거 ([dbfd8fe](https://github.com/hatiolab/operato/commit/dbfd8fe19a0739671e6e27849dd6f3b1d3b53c97))
507
+
508
+
509
+
510
+ ## [10.0.0-beta.13](https://github.com/hatiolab/operato/compare/v10.0.0-beta.12...v10.0.0-beta.13) (2026-03-19)
511
+
512
+
513
+ ### :bug: Bug Fix
514
+
515
+ * **board:** 편집 툴바 조건부 버튼 이벤트 바인딩 + dimension 초기화 ([e642ffa](https://github.com/hatiolab/operato/commit/e642ffa8be05cf4305f857fd4bef633611401c42))
516
+
517
+
518
+
519
+ ## [10.0.0-beta.12](https://github.com/hatiolab/operato/compare/v10.0.0-beta.11...v10.0.0-beta.12) (2026-03-17)
520
+
521
+ **Note:** Version bump only for package @operato/board
522
+
523
+
524
+
525
+
526
+
527
+ ## [10.0.0-beta.11](https://github.com/hatiolab/operato/compare/v10.0.0-beta.10...v10.0.0-beta.11) (2026-03-15)
528
+
529
+
530
+ ### :bug: Bug Fix
531
+
532
+ * **board:** 프리뷰 팝업에 preventCloseOnBlur 옵션 추가 ([c73cd97](https://github.com/hatiolab/operato/commit/c73cd97210bb280b932b10fca125ef2022c6766e))
533
+
534
+
535
+
536
+ ## [10.0.0-beta.10](https://github.com/hatiolab/operato/compare/v10.0.0-beta.9...v10.0.0-beta.10) (2026-03-14)
537
+
538
+ **Note:** Version bump only for package @operato/board
539
+
540
+
541
+
542
+
543
+
6
544
  ## [10.0.0-beta.9](https://github.com/hatiolab/operato/compare/v10.0.0-beta.8...v10.0.0-beta.9) (2026-03-13)
7
545
 
8
546
 
@@ -34,9 +34,7 @@ export const container = {
34
34
  strokeStyle: '#999',
35
35
  alpha: 1,
36
36
  hidden: false,
37
- lineWidth: 1,
38
- lineDash: 'solid',
39
- lineCap: 'butt'
37
+ lineWidth: 1
40
38
  }
41
39
  },
42
40
  {
@@ -54,6 +52,23 @@ export const container = {
54
52
  strokeStyle: 'DarkGoldenRod',
55
53
  hidden: true
56
54
  }
55
+ },
56
+ {
57
+ type: 'popup-container',
58
+ description: 'popup template — modeled in board, fresh instance per popup show',
59
+ icon: popup,
60
+ group: 'container',
61
+ model: {
62
+ type: 'popup-container',
63
+ left: 100,
64
+ top: 100,
65
+ width: 320,
66
+ height: 200,
67
+ fillStyle: '#fff',
68
+ strokeStyle: '#999',
69
+ lineWidth: 1,
70
+ position: 'popup'
71
+ }
57
72
  }
58
73
  ]
59
74
  };
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sourceRoot":"","sources":["../../../src/component/container.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,yCAAyC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;AAC9F,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,qCAAqC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;AAElF,MAAM,IAAI,GAAG;;;;;;;;;;;;;CAaZ,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAmB;IACvC,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,+BAA+B;IAC5C,IAAI;IACJ,SAAS,EAAE;QACT;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,mBAAmB;YAChC,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE;gBACL,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,GAAG;gBACT,GAAG,EAAE,GAAG;gBACR,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,MAAM;gBACjB,WAAW,EAAE,MAAM;gBACnB,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,KAAK;gBACb,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,MAAM;aAChB;SACF;QACD;YACE,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,cAAc;YAC3B,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,GAAG;gBACT,GAAG,EAAE,GAAG;gBACR,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,MAAM;gBACjB,WAAW,EAAE,eAAe;gBAC5B,MAAM,EAAE,IAAI;aACb;SACF;KACF;CACF,CAAA","sourcesContent":["import { ComponentGroup } from '../types.js'\n\nconst iconContainer = new URL('../../../icons/components/container.png', import.meta.url).href\nconst popup = new URL('../../../icons/components/popup.png', import.meta.url).href\n\nconst icon = `\n<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">\n <style type=\"text/css\">\n .st0{fill:{{strokeColor}};}\n .st3{fill:none;stroke:{{strokeColor}};stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}\n .st9{fill:none;stroke:{{strokeColor}};stroke-miterlimit:10;}\n </style>\n <g>\n <rect x=\"2.8\" y=\"10.3\" class=\"st9\" width=\"24.4\" height=\"13.8\"/>\n <polygon class=\"st0\" points=\"27.7,9.8 2.3,9.8 7.8,5.9 22.2,5.9\"/>\n <line class=\"st3\" x1=\"10.9\" y1=\"15.5\" x2=\"19.1\" y2=\"15.5\"/>\n </g>\n</svg>\n`\n\nexport const container: ComponentGroup = {\n name: 'container',\n description: 'a group of various containers',\n icon,\n templates: [\n {\n type: 'container',\n description: 'general container',\n icon: iconContainer,\n group: 'container',\n model: {\n type: 'container',\n left: 100,\n top: 100,\n width: 100,\n height: 100,\n fillStyle: '#fff',\n strokeStyle: '#999',\n alpha: 1,\n hidden: false,\n lineWidth: 1,\n lineDash: 'solid',\n lineCap: 'butt'\n }\n },\n {\n type: 'popup',\n description: 'popup window',\n icon: popup,\n group: 'container',\n model: {\n type: 'popup',\n left: 100,\n top: 100,\n width: 100,\n height: 100,\n fillStyle: '#fff',\n strokeStyle: 'DarkGoldenRod',\n hidden: true\n }\n }\n ]\n}\n"]}
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../../../src/component/container.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,yCAAyC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;AAC9F,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,qCAAqC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;AAElF,MAAM,IAAI,GAAG;;;;;;;;;;;;;CAaZ,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAmB;IACvC,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,+BAA+B;IAC5C,IAAI;IACJ,SAAS,EAAE;QACT;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,mBAAmB;YAChC,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE;gBACL,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,GAAG;gBACT,GAAG,EAAE,GAAG;gBACR,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,MAAM;gBACjB,WAAW,EAAE,MAAM;gBACnB,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,KAAK;gBACb,SAAS,EAAE,CAAC;aACb;SACF;QACD;YACE,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,cAAc;YAC3B,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,GAAG;gBACT,GAAG,EAAE,GAAG;gBACR,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,MAAM;gBACjB,WAAW,EAAE,eAAe;gBAC5B,MAAM,EAAE,IAAI;aACb;SACF;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,WAAW,EAAE,kEAAkE;YAC/E,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE;gBACL,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,GAAG;gBACT,GAAG,EAAE,GAAG;gBACR,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,MAAM;gBACjB,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,OAAO;aAClB;SACF;KACF;CACF,CAAA","sourcesContent":["import { ComponentGroup } from '../types.js'\n\nconst iconContainer = new URL('../../../icons/components/container.png', import.meta.url).href\nconst popup = new URL('../../../icons/components/popup.png', import.meta.url).href\n\nconst icon = `\n<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">\n <style type=\"text/css\">\n .st0{fill:{{strokeColor}};}\n .st3{fill:none;stroke:{{strokeColor}};stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}\n .st9{fill:none;stroke:{{strokeColor}};stroke-miterlimit:10;}\n </style>\n <g>\n <rect x=\"2.8\" y=\"10.3\" class=\"st9\" width=\"24.4\" height=\"13.8\"/>\n <polygon class=\"st0\" points=\"27.7,9.8 2.3,9.8 7.8,5.9 22.2,5.9\"/>\n <line class=\"st3\" x1=\"10.9\" y1=\"15.5\" x2=\"19.1\" y2=\"15.5\"/>\n </g>\n</svg>\n`\n\nexport const container: ComponentGroup = {\n name: 'container',\n description: 'a group of various containers',\n icon,\n templates: [\n {\n type: 'container',\n description: 'general container',\n icon: iconContainer,\n group: 'container',\n model: {\n type: 'container',\n left: 100,\n top: 100,\n width: 100,\n height: 100,\n fillStyle: '#fff',\n strokeStyle: '#999',\n alpha: 1,\n hidden: false,\n lineWidth: 1\n }\n },\n {\n type: 'popup',\n description: 'popup window',\n icon: popup,\n group: 'container',\n model: {\n type: 'popup',\n left: 100,\n top: 100,\n width: 100,\n height: 100,\n fillStyle: '#fff',\n strokeStyle: 'DarkGoldenRod',\n hidden: true\n }\n },\n {\n type: 'popup-container',\n description: 'popup template — modeled in board, fresh instance per popup show',\n icon: popup,\n group: 'container',\n model: {\n type: 'popup-container',\n left: 100,\n top: 100,\n width: 320,\n height: 200,\n fillStyle: '#fff',\n strokeStyle: '#999',\n lineWidth: 1,\n position: 'popup'\n }\n }\n ]\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import { ComponentGroup } from '../types.js';
2
+ export declare const conveyance: ComponentGroup;
@@ -0,0 +1,38 @@
1
+ // Conveyance group icon — belt section with end drums, a parcel riding
2
+ // on top, and a flow arrow above. Same stroke-weight family as the other
3
+ // logistics group icons (heavy 2.5 for the dominant feature, light 1.0
4
+ // for outline detail, fill for emphasized solids).
5
+ const icon = `
6
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 30 30" style="enable-background:new 0 0 30 30;" xml:space="preserve">
7
+ <style type="text/css">
8
+ .st0{fill:{{strokeColor}};}
9
+ .st14{fill:none;stroke:{{strokeColor}};stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
10
+ .st15{fill:none;stroke:{{strokeColor}};stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
11
+ </style>
12
+ <g>
13
+ <!-- flow arrow (direction of travel) -->
14
+ <line class="st15" x1="9" y1="5.5" x2="20.5" y2="5.5"/>
15
+ <polyline class="st15" points="18,3 21,5.5 18,8"/>
16
+ <!-- parcel sitting on the belt (fill-detail, the visual focal point) -->
17
+ <rect class="st0" x="11.5" y="11" width="7" height="5"/>
18
+ <!-- belt top surface (heavy stroke, anchors the silhouette) -->
19
+ <line class="st14" x1="6" y1="17" x2="24" y2="17"/>
20
+ <!-- end drums -->
21
+ <circle class="st15" cx="6" cy="20" r="3.2"/>
22
+ <circle class="st15" cx="24" cy="20" r="3.2"/>
23
+ <circle class="st0" cx="6" cy="20" r="0.9"/>
24
+ <circle class="st0" cx="24" cy="20" r="0.9"/>
25
+ <!-- frame legs / ground -->
26
+ <line class="st15" x1="6" y1="23.4" x2="6" y2="26.5"/>
27
+ <line class="st15" x1="24" y1="23.4" x2="24" y2="26.5"/>
28
+ <line class="st15" x1="2.5" y1="26.5" x2="27.5" y2="26.5"/>
29
+ </g>
30
+ </svg>
31
+ `;
32
+ export const conveyance = {
33
+ name: 'conveyance',
34
+ description: 'conveyors, sorters, chutes, and induct stations — components that move parcels along a path',
35
+ icon,
36
+ templates: []
37
+ };
38
+ //# sourceMappingURL=conveyance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conveyance.js","sourceRoot":"","sources":["../../../src/component/conveyance.ts"],"names":[],"mappings":"AAEA,uEAAuE;AACvE,yEAAyE;AACzE,uEAAuE;AACvE,mDAAmD;AACnD,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BZ,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAmB;IACxC,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,6FAA6F;IAC1G,IAAI;IACJ,SAAS,EAAE,EAAE;CACd,CAAA","sourcesContent":["import { ComponentGroup } from '../types.js'\n\n// Conveyance group icon — belt section with end drums, a parcel riding\n// on top, and a flow arrow above. Same stroke-weight family as the other\n// logistics group icons (heavy 2.5 for the dominant feature, light 1.0\n// for outline detail, fill for emphasized solids).\nconst icon = `\n<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">\n <style type=\"text/css\">\n .st0{fill:{{strokeColor}};}\n .st14{fill:none;stroke:{{strokeColor}};stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}\n .st15{fill:none;stroke:{{strokeColor}};stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}\n </style>\n <g>\n <!-- flow arrow (direction of travel) -->\n <line class=\"st15\" x1=\"9\" y1=\"5.5\" x2=\"20.5\" y2=\"5.5\"/>\n <polyline class=\"st15\" points=\"18,3 21,5.5 18,8\"/>\n <!-- parcel sitting on the belt (fill-detail, the visual focal point) -->\n <rect class=\"st0\" x=\"11.5\" y=\"11\" width=\"7\" height=\"5\"/>\n <!-- belt top surface (heavy stroke, anchors the silhouette) -->\n <line class=\"st14\" x1=\"6\" y1=\"17\" x2=\"24\" y2=\"17\"/>\n <!-- end drums -->\n <circle class=\"st15\" cx=\"6\" cy=\"20\" r=\"3.2\"/>\n <circle class=\"st15\" cx=\"24\" cy=\"20\" r=\"3.2\"/>\n <circle class=\"st0\" cx=\"6\" cy=\"20\" r=\"0.9\"/>\n <circle class=\"st0\" cx=\"24\" cy=\"20\" r=\"0.9\"/>\n <!-- frame legs / ground -->\n <line class=\"st15\" x1=\"6\" y1=\"23.4\" x2=\"6\" y2=\"26.5\"/>\n <line class=\"st15\" x1=\"24\" y1=\"23.4\" x2=\"24\" y2=\"26.5\"/>\n <line class=\"st15\" x1=\"2.5\" y1=\"26.5\" x2=\"27.5\" y2=\"26.5\"/>\n </g>\n</svg>\n`\n\nexport const conveyance: ComponentGroup = {\n name: 'conveyance',\n description: 'conveyors, sorters, chutes, and induct stations — components that move parcels along a path',\n icon,\n templates: []\n}\n"]}
@@ -50,11 +50,7 @@ export const etc = {
50
50
  height: 100,
51
51
  fillStyle: '#fff',
52
52
  strokeStyle: '#000',
53
- alpha: 1,
54
- hidden: false,
55
- lineWidth: 1,
56
- lineDash: 'solid',
57
- lineCap: 'butt'
53
+ lineWidth: 1
58
54
  }
59
55
  },
60
56
  {
@@ -70,11 +66,7 @@ export const etc = {
70
66
  height: 100,
71
67
  fillStyle: '#fff',
72
68
  strokeStyle: '#000',
73
- alpha: 1,
74
- hidden: false,
75
- lineWidth: 1,
76
- lineDash: 'solid',
77
- lineCap: 'butt'
69
+ lineWidth: 1
78
70
  }
79
71
  }
80
72
  ]