@operato/scene-storage 10.0.0-beta.37 → 10.0.0-beta.38

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,15 @@
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.0.0-beta.38](https://github.com/things-scene/operato-scene/compare/v10.0.0-beta.37...v10.0.0-beta.38) (2026-05-16)
7
+
8
+
9
+ ### :bug: Bug Fix
10
+
11
+ * **conveyance:** induct ↔ sorter hand-off 좌표 + race + carrier 선택 결함 fix ([4d74573](https://github.com/things-scene/operato-scene/commit/4d74573c53e8d2aa99de7a904f40bce588ae770b))
12
+
13
+
14
+
6
15
  ## [10.0.0-beta.37](https://github.com/things-scene/operato-scene/compare/v10.0.0-beta.36...v10.0.0-beta.37) (2026-05-15)
7
16
 
8
17
  **Note:** Version bump only for package @operato/scene-storage
@@ -32,6 +32,7 @@ declare const _default: ({
32
32
  width: number;
33
33
  height: number;
34
34
  material: string;
35
+ depth?: undefined;
35
36
  levels?: undefined;
36
37
  bays?: undefined;
37
38
  rows?: undefined;
@@ -56,6 +57,33 @@ declare const _default: ({
56
57
  left: number;
57
58
  width: number;
58
59
  height: number;
60
+ depth: number;
61
+ material: string;
62
+ levels?: undefined;
63
+ bays?: undefined;
64
+ rows?: undefined;
65
+ columns?: undefined;
66
+ shelves?: undefined;
67
+ zone?: undefined;
68
+ locPattern?: undefined;
69
+ sectionDigits?: undefined;
70
+ unitDigits?: undefined;
71
+ status?: undefined;
72
+ carriageHeight?: undefined;
73
+ components?: undefined;
74
+ };
75
+ } | {
76
+ type: string;
77
+ description: string;
78
+ group: string;
79
+ icon: string;
80
+ model: {
81
+ type: string;
82
+ top: number;
83
+ left: number;
84
+ width: number;
85
+ height: number;
86
+ depth: number;
59
87
  material?: undefined;
60
88
  levels?: undefined;
61
89
  bays?: undefined;
@@ -84,6 +112,7 @@ declare const _default: ({
84
112
  levels: number;
85
113
  bays: number;
86
114
  material?: undefined;
115
+ depth?: undefined;
87
116
  rows?: undefined;
88
117
  columns?: undefined;
89
118
  shelves?: undefined;
@@ -114,6 +143,7 @@ declare const _default: ({
114
143
  sectionDigits: number;
115
144
  unitDigits: number;
116
145
  material?: undefined;
146
+ depth?: undefined;
117
147
  levels?: undefined;
118
148
  bays?: undefined;
119
149
  status?: undefined;
@@ -134,6 +164,7 @@ declare const _default: ({
134
164
  status: string;
135
165
  carriageHeight: number;
136
166
  material?: undefined;
167
+ depth?: undefined;
137
168
  levels?: undefined;
138
169
  bays?: undefined;
139
170
  rows?: undefined;
@@ -178,6 +209,7 @@ declare const _default: ({
178
209
  bays?: undefined;
179
210
  })[];
180
211
  material?: undefined;
212
+ depth?: undefined;
181
213
  levels?: undefined;
182
214
  bays?: undefined;
183
215
  rows?: undefined;
@@ -17,7 +17,7 @@ const rack = new URL('../../icons/storage-rack.png', import.meta.url).href;
17
17
  const crane = new URL('../../icons/crane.png', import.meta.url).href;
18
18
  export default [
19
19
  {
20
- type: 'pallet',
20
+ type: 'wood pallet',
21
21
  description: 'wood pallet (EUR / EPAL)',
22
22
  group: 'storage',
23
23
  icon: pallet,
@@ -31,7 +31,7 @@ export default [
31
31
  }
32
32
  },
33
33
  {
34
- type: 'pallet',
34
+ type: 'plastic pallet',
35
35
  description: 'plastic pallet',
36
36
  group: 'storage',
37
37
  icon: pallet,
@@ -41,11 +41,12 @@ export default [
41
41
  left: 250,
42
42
  width: 80,
43
43
  height: 80,
44
+ depth: 4,
44
45
  material: 'plastic'
45
46
  }
46
47
  },
47
48
  {
48
- type: 'box',
49
+ type: 'wood box',
49
50
  description: 'wood crate',
50
51
  group: 'storage',
51
52
  icon: box,
@@ -59,7 +60,7 @@ export default [
59
60
  }
60
61
  },
61
62
  {
62
- type: 'box',
63
+ type: 'plastic box',
63
64
  description: 'plastic tote',
64
65
  group: 'storage',
65
66
  icon: box,
@@ -69,6 +70,7 @@ export default [
69
70
  left: 520,
70
71
  width: 80,
71
72
  height: 80,
73
+ depth: 60,
72
74
  material: 'plastic'
73
75
  }
74
76
  },
@@ -81,8 +83,9 @@ export default [
81
83
  type: 'parcel',
82
84
  top: 100,
83
85
  left: 640,
84
- width: 60,
85
- height: 80
86
+ width: 10,
87
+ height: 10,
88
+ depth: 10
86
89
  }
87
90
  },
88
91
  {
@@ -176,7 +179,7 @@ export default [
176
179
  top: 140,
177
180
  left: 420,
178
181
  width: 60,
179
- height: 220,
182
+ height: 60,
180
183
  status: 'idle',
181
184
  carriageHeight: 0
182
185
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * things-scene catalog templates for the storage domain.\n *\n * Components:\n * - pallet / box / parcel — carriers\n * - rack — multi-level storage shelf (bays × levels)\n * - rack-table — bulk layout (rows × columns × shelves) helper\n * - crane — stacker picker (Mover + CarrierHolder + ContainerCapacity)\n * - mobile-rack — Mover(Rack), an AGV-mounted / cart-mounted moving rack\n * - spot — virtual placement marker\n */\nimport spot from './spot.js'\nconst pallet = new URL('../../icons/pallet.png', import.meta.url).href\nconst box = new URL('../../icons/box.png', import.meta.url).href\nconst parcel = new URL('../../icons/parcel.png', import.meta.url).href\nconst rack = new URL('../../icons/storage-rack.png', import.meta.url).href\nconst crane = new URL('../../icons/crane.png', import.meta.url).href\n\nexport default [\n {\n type: 'pallet',\n description: 'wood pallet (EUR / EPAL)',\n group: 'storage',\n icon: pallet,\n model: {\n type: 'pallet',\n top: 100,\n left: 100,\n width: 80,\n height: 80,\n material: 'wood'\n }\n },\n {\n type: 'pallet',\n description: 'plastic pallet',\n group: 'storage',\n icon: pallet,\n model: {\n type: 'pallet',\n top: 100,\n left: 250,\n width: 80,\n height: 80,\n material: 'plastic'\n }\n },\n {\n type: 'box',\n description: 'wood crate',\n group: 'storage',\n icon: box,\n model: {\n type: 'box',\n top: 100,\n left: 400,\n width: 80,\n height: 80,\n material: 'wood'\n }\n },\n {\n type: 'box',\n description: 'plastic tote',\n group: 'storage',\n icon: box,\n model: {\n type: 'box',\n top: 100,\n left: 520,\n width: 80,\n height: 80,\n material: 'plastic'\n }\n },\n {\n type: 'parcel',\n description: 'cardboard parcel',\n group: 'storage',\n icon: parcel,\n model: {\n type: 'parcel',\n top: 100,\n left: 640,\n width: 60,\n height: 80\n }\n },\n {\n type: 'storage-rack',\n description: 'storage rack — multi-level shelves',\n group: 'storage',\n icon: rack,\n model: {\n type: 'storage-rack',\n top: 300,\n left: 100,\n width: 800,\n height: 200,\n levels: 4,\n bays: 5\n }\n },\n {\n type: 'rack-grid',\n description: 'rack table — N×M rack layout + auto location IDs',\n group: 'storage',\n icon: rack,\n model: {\n type: 'rack-grid',\n top: 100,\n left: 100,\n width: 1200,\n height: 600,\n rows: 2,\n columns: 4,\n shelves: 4,\n zone: 'A',\n locPattern: '{z}{s}-{u}-{sh}',\n sectionDigits: 2,\n unitDigits: 2\n }\n },\n {\n type: 'crane',\n description: 'stacker crane — picker actor',\n group: 'storage',\n icon: crane,\n model: {\n type: 'crane',\n top: 550,\n left: 400,\n width: 100,\n height: 200,\n status: 'idle',\n carriageHeight: 100\n }\n },\n {\n type: 'mobile-storage-rack',\n description: 'mobile rack — Mover(Rack), AGV/cart-mounted',\n group: 'storage',\n icon: rack,\n model: {\n type: 'mobile-storage-rack',\n top: 300,\n left: 100,\n width: 400,\n height: 200,\n levels: 3,\n bays: 3\n }\n },\n {\n type: 'group',\n description: 'storage aisle — rack pair + crane',\n group: 'storage',\n icon: rack,\n model: {\n type: 'group',\n top: 100,\n left: 100,\n width: 840,\n height: 220,\n components: [\n {\n type: 'storage-rack',\n top: 100,\n left: 100,\n width: 800,\n height: 80,\n levels: 4,\n bays: 8\n },\n {\n type: 'crane',\n top: 140,\n left: 420,\n width: 60,\n height: 220,\n status: 'idle',\n carriageHeight: 0\n },\n {\n type: 'storage-rack',\n top: 320,\n left: 100,\n width: 800,\n height: 80,\n levels: 4,\n bays: 8\n }\n ]\n }\n },\n spot\n]\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * things-scene catalog templates for the storage domain.\n *\n * Components:\n * - pallet / box / parcel — carriers\n * - rack — multi-level storage shelf (bays × levels)\n * - rack-table — bulk layout (rows × columns × shelves) helper\n * - crane — stacker picker (Mover + CarrierHolder + ContainerCapacity)\n * - mobile-rack — Mover(Rack), an AGV-mounted / cart-mounted moving rack\n * - spot — virtual placement marker\n */\nimport spot from './spot.js'\nconst pallet = new URL('../../icons/pallet.png', import.meta.url).href\nconst box = new URL('../../icons/box.png', import.meta.url).href\nconst parcel = new URL('../../icons/parcel.png', import.meta.url).href\nconst rack = new URL('../../icons/storage-rack.png', import.meta.url).href\nconst crane = new URL('../../icons/crane.png', import.meta.url).href\n\nexport default [\n {\n type: 'wood pallet',\n description: 'wood pallet (EUR / EPAL)',\n group: 'storage',\n icon: pallet,\n model: {\n type: 'pallet',\n top: 100,\n left: 100,\n width: 80,\n height: 80,\n material: 'wood'\n }\n },\n {\n type: 'plastic pallet',\n description: 'plastic pallet',\n group: 'storage',\n icon: pallet,\n model: {\n type: 'pallet',\n top: 100,\n left: 250,\n width: 80,\n height: 80,\n depth: 4,\n material: 'plastic'\n }\n },\n {\n type: 'wood box',\n description: 'wood crate',\n group: 'storage',\n icon: box,\n model: {\n type: 'box',\n top: 100,\n left: 400,\n width: 80,\n height: 80,\n material: 'wood'\n }\n },\n {\n type: 'plastic box',\n description: 'plastic tote',\n group: 'storage',\n icon: box,\n model: {\n type: 'box',\n top: 100,\n left: 520,\n width: 80,\n height: 80,\n depth: 60,\n material: 'plastic'\n }\n },\n {\n type: 'parcel',\n description: 'cardboard parcel',\n group: 'storage',\n icon: parcel,\n model: {\n type: 'parcel',\n top: 100,\n left: 640,\n width: 10,\n height: 10,\n depth: 10\n }\n },\n {\n type: 'storage-rack',\n description: 'storage rack — multi-level shelves',\n group: 'storage',\n icon: rack,\n model: {\n type: 'storage-rack',\n top: 300,\n left: 100,\n width: 800,\n height: 200,\n levels: 4,\n bays: 5\n }\n },\n {\n type: 'rack-grid',\n description: 'rack table — N×M rack layout + auto location IDs',\n group: 'storage',\n icon: rack,\n model: {\n type: 'rack-grid',\n top: 100,\n left: 100,\n width: 1200,\n height: 600,\n rows: 2,\n columns: 4,\n shelves: 4,\n zone: 'A',\n locPattern: '{z}{s}-{u}-{sh}',\n sectionDigits: 2,\n unitDigits: 2\n }\n },\n {\n type: 'crane',\n description: 'stacker crane — picker actor',\n group: 'storage',\n icon: crane,\n model: {\n type: 'crane',\n top: 550,\n left: 400,\n width: 100,\n height: 200,\n status: 'idle',\n carriageHeight: 100\n }\n },\n {\n type: 'mobile-storage-rack',\n description: 'mobile rack — Mover(Rack), AGV/cart-mounted',\n group: 'storage',\n icon: rack,\n model: {\n type: 'mobile-storage-rack',\n top: 300,\n left: 100,\n width: 400,\n height: 200,\n levels: 3,\n bays: 3\n }\n },\n {\n type: 'group',\n description: 'storage aisle — rack pair + crane',\n group: 'storage',\n icon: rack,\n model: {\n type: 'group',\n top: 100,\n left: 100,\n width: 840,\n height: 220,\n components: [\n {\n type: 'storage-rack',\n top: 100,\n left: 100,\n width: 800,\n height: 80,\n levels: 4,\n bays: 8\n },\n {\n type: 'crane',\n top: 140,\n left: 420,\n width: 60,\n height: 60,\n status: 'idle',\n carriageHeight: 0\n },\n {\n type: 'storage-rack',\n top: 320,\n left: 100,\n width: 800,\n height: 80,\n levels: 4,\n bays: 8\n }\n ]\n }\n },\n spot\n]\n"]}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@operato/scene-storage",
3
3
  "description": "Storage-domain components for things-scene (smart factory / logistics) — pallet, box, parcel; AS/RS and shelves planned.",
4
4
  "author": "heartyoh",
5
- "version": "10.0.0-beta.37",
5
+ "version": "10.0.0-beta.38",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
8
8
  "module": "dist/index.js",
@@ -45,5 +45,5 @@
45
45
  "typescript": "^5.0.4"
46
46
  },
47
47
  "prettier": "@hatiolab/prettier-config",
48
- "gitHead": "73ed7b04e2ac536818f9c113d52fdf7d4a4c44bd"
48
+ "gitHead": "b2b275023423f44510a21f3b8d9a927baa5b5f63"
49
49
  }
@@ -18,7 +18,7 @@ const crane = new URL('../../icons/crane.png', import.meta.url).href
18
18
 
19
19
  export default [
20
20
  {
21
- type: 'pallet',
21
+ type: 'wood pallet',
22
22
  description: 'wood pallet (EUR / EPAL)',
23
23
  group: 'storage',
24
24
  icon: pallet,
@@ -32,7 +32,7 @@ export default [
32
32
  }
33
33
  },
34
34
  {
35
- type: 'pallet',
35
+ type: 'plastic pallet',
36
36
  description: 'plastic pallet',
37
37
  group: 'storage',
38
38
  icon: pallet,
@@ -42,11 +42,12 @@ export default [
42
42
  left: 250,
43
43
  width: 80,
44
44
  height: 80,
45
+ depth: 4,
45
46
  material: 'plastic'
46
47
  }
47
48
  },
48
49
  {
49
- type: 'box',
50
+ type: 'wood box',
50
51
  description: 'wood crate',
51
52
  group: 'storage',
52
53
  icon: box,
@@ -60,7 +61,7 @@ export default [
60
61
  }
61
62
  },
62
63
  {
63
- type: 'box',
64
+ type: 'plastic box',
64
65
  description: 'plastic tote',
65
66
  group: 'storage',
66
67
  icon: box,
@@ -70,6 +71,7 @@ export default [
70
71
  left: 520,
71
72
  width: 80,
72
73
  height: 80,
74
+ depth: 60,
73
75
  material: 'plastic'
74
76
  }
75
77
  },
@@ -82,8 +84,9 @@ export default [
82
84
  type: 'parcel',
83
85
  top: 100,
84
86
  left: 640,
85
- width: 60,
86
- height: 80
87
+ width: 10,
88
+ height: 10,
89
+ depth: 10
87
90
  }
88
91
  },
89
92
  {
@@ -177,7 +180,7 @@ export default [
177
180
  top: 140,
178
181
  left: 420,
179
182
  width: 60,
180
- height: 220,
183
+ height: 60,
181
184
  status: 'idle',
182
185
  carriageHeight: 0
183
186
  },