@neolio42/pixel-office 0.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.
- package/LICENSE +21 -0
- package/README.md +136 -0
- package/bin.sh +16 -0
- package/bin.ts +162 -0
- package/next-env.d.ts +6 -0
- package/next.config.ts +7 -0
- package/package.json +51 -0
- package/postcss.config.mjs +7 -0
- package/public/assets/characters/char_0.png +0 -0
- package/public/assets/characters/char_1.png +0 -0
- package/public/assets/characters/char_2.png +0 -0
- package/public/assets/characters/char_3.png +0 -0
- package/public/assets/characters/char_4.png +0 -0
- package/public/assets/characters/char_5.png +0 -0
- package/public/assets/characters.png +0 -0
- package/public/assets/default-layout-1.json +92 -0
- package/public/assets/floors/floor_0.png +0 -0
- package/public/assets/floors/floor_1.png +0 -0
- package/public/assets/floors/floor_2.png +0 -0
- package/public/assets/floors/floor_3.png +0 -0
- package/public/assets/floors/floor_4.png +0 -0
- package/public/assets/floors/floor_5.png +0 -0
- package/public/assets/floors/floor_6.png +0 -0
- package/public/assets/floors/floor_7.png +0 -0
- package/public/assets/floors/floor_8.png +0 -0
- package/public/assets/furniture/BIN/BIN.png +0 -0
- package/public/assets/furniture/BIN/manifest.json +13 -0
- package/public/assets/furniture/BOOKSHELF/BOOKSHELF.png +0 -0
- package/public/assets/furniture/BOOKSHELF/manifest.json +13 -0
- package/public/assets/furniture/CACTUS/CACTUS.png +0 -0
- package/public/assets/furniture/CACTUS/manifest.json +13 -0
- package/public/assets/furniture/CLOCK/CLOCK.png +0 -0
- package/public/assets/furniture/CLOCK/manifest.json +13 -0
- package/public/assets/furniture/COFFEE/COFFEE.png +0 -0
- package/public/assets/furniture/COFFEE/manifest.json +13 -0
- package/public/assets/furniture/COFFEE_TABLE/COFFEE_TABLE.png +0 -0
- package/public/assets/furniture/COFFEE_TABLE/manifest.json +13 -0
- package/public/assets/furniture/CUSHIONED_BENCH/CUSHIONED_BENCH.png +0 -0
- package/public/assets/furniture/CUSHIONED_BENCH/manifest.json +13 -0
- package/public/assets/furniture/CUSHIONED_CHAIR/CUSHIONED_CHAIR_BACK.png +0 -0
- package/public/assets/furniture/CUSHIONED_CHAIR/CUSHIONED_CHAIR_FRONT.png +0 -0
- package/public/assets/furniture/CUSHIONED_CHAIR/CUSHIONED_CHAIR_SIDE.png +0 -0
- package/public/assets/furniture/CUSHIONED_CHAIR/manifest.json +44 -0
- package/public/assets/furniture/DESK/DESK_FRONT.png +0 -0
- package/public/assets/furniture/DESK/DESK_SIDE.png +0 -0
- package/public/assets/furniture/DESK/manifest.json +33 -0
- package/public/assets/furniture/DOUBLE_BOOKSHELF/DOUBLE_BOOKSHELF.png +0 -0
- package/public/assets/furniture/DOUBLE_BOOKSHELF/manifest.json +13 -0
- package/public/assets/furniture/HANGING_PLANT/HANGING_PLANT.png +0 -0
- package/public/assets/furniture/HANGING_PLANT/manifest.json +13 -0
- package/public/assets/furniture/LARGE_PAINTING/LARGE_PAINTING.png +0 -0
- package/public/assets/furniture/LARGE_PAINTING/manifest.json +13 -0
- package/public/assets/furniture/LARGE_PLANT/LARGE_PLANT.png +0 -0
- package/public/assets/furniture/LARGE_PLANT/manifest.json +13 -0
- package/public/assets/furniture/PC/PC_BACK.png +0 -0
- package/public/assets/furniture/PC/PC_FRONT_OFF.png +0 -0
- package/public/assets/furniture/PC/PC_FRONT_ON_1.png +0 -0
- package/public/assets/furniture/PC/PC_FRONT_ON_2.png +0 -0
- package/public/assets/furniture/PC/PC_FRONT_ON_3.png +0 -0
- package/public/assets/furniture/PC/PC_SIDE.png +0 -0
- package/public/assets/furniture/PC/manifest.json +88 -0
- package/public/assets/furniture/PLANT/PLANT.png +0 -0
- package/public/assets/furniture/PLANT/manifest.json +13 -0
- package/public/assets/furniture/PLANT_2/PLANT_2.png +0 -0
- package/public/assets/furniture/PLANT_2/manifest.json +13 -0
- package/public/assets/furniture/POT/POT.png +0 -0
- package/public/assets/furniture/POT/manifest.json +13 -0
- package/public/assets/furniture/SMALL_PAINTING/SMALL_PAINTING.png +0 -0
- package/public/assets/furniture/SMALL_PAINTING/manifest.json +13 -0
- package/public/assets/furniture/SMALL_PAINTING_2/SMALL_PAINTING_2.png +0 -0
- package/public/assets/furniture/SMALL_PAINTING_2/manifest.json +13 -0
- package/public/assets/furniture/SMALL_TABLE/SMALL_TABLE_FRONT.png +0 -0
- package/public/assets/furniture/SMALL_TABLE/SMALL_TABLE_SIDE.png +0 -0
- package/public/assets/furniture/SMALL_TABLE/manifest.json +33 -0
- package/public/assets/furniture/SOFA/SOFA_BACK.png +0 -0
- package/public/assets/furniture/SOFA/SOFA_FRONT.png +0 -0
- package/public/assets/furniture/SOFA/SOFA_SIDE.png +0 -0
- package/public/assets/furniture/SOFA/manifest.json +44 -0
- package/public/assets/furniture/TABLE_FRONT/TABLE_FRONT.png +0 -0
- package/public/assets/furniture/TABLE_FRONT/manifest.json +13 -0
- package/public/assets/furniture/WHITEBOARD/WHITEBOARD.png +0 -0
- package/public/assets/furniture/WHITEBOARD/manifest.json +13 -0
- package/public/assets/furniture/WOODEN_BENCH/WOODEN_BENCH.png +0 -0
- package/public/assets/furniture/WOODEN_BENCH/manifest.json +13 -0
- package/public/assets/furniture/WOODEN_CHAIR/WOODEN_CHAIR_BACK.png +0 -0
- package/public/assets/furniture/WOODEN_CHAIR/WOODEN_CHAIR_FRONT.png +0 -0
- package/public/assets/furniture/WOODEN_CHAIR/WOODEN_CHAIR_SIDE.png +0 -0
- package/public/assets/furniture/WOODEN_CHAIR/manifest.json +44 -0
- package/public/assets/walls/wall_0.png +0 -0
- package/scripts/setup.ts +158 -0
- package/server.ts +53 -0
- package/src/app/api/focus-terminal/route.ts +65 -0
- package/src/app/api/hooks/notification/route.ts +19 -0
- package/src/app/api/hooks/post-tool-use/route.ts +26 -0
- package/src/app/api/hooks/pre-tool-use/route.ts +189 -0
- package/src/app/api/hooks/session-end/route.ts +31 -0
- package/src/app/api/hooks/session-start/route.ts +47 -0
- package/src/app/api/hooks/stop/route.ts +19 -0
- package/src/app/api/hooks/user-prompt/route.ts +92 -0
- package/src/app/favicon.ico +0 -0
- package/src/app/globals.css +14 -0
- package/src/app/layout.tsx +21 -0
- package/src/app/page.tsx +5 -0
- package/src/components/ApprovalToast.tsx +132 -0
- package/src/components/OfficeCanvas.tsx +311 -0
- package/src/components/Terminal.tsx +177 -0
- package/src/components/TerminalTile.tsx +181 -0
- package/src/components/WorkerPanel.tsx +261 -0
- package/src/components/WorkerPopup.tsx +116 -0
- package/src/game/asset-loader.ts +172 -0
- package/src/game/office-layout.ts +287 -0
- package/src/game/renderer.ts +369 -0
- package/src/game/sprites.ts +133 -0
- package/src/game/worker-entity.ts +219 -0
- package/src/hooks/usePixelOffice.ts +318 -0
- package/src/hooks/useRecentCwds.ts +27 -0
- package/src/lib/approval-queue.ts +67 -0
- package/src/lib/pty-manager.ts +267 -0
- package/src/lib/store.ts +181 -0
- package/src/lib/tool-classifier.ts +224 -0
- package/src/lib/transcript.ts +109 -0
- package/src/lib/types.ts +58 -0
- package/src/lib/ws-server.ts +270 -0
- package/tsconfig.json +34 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "CUSHIONED_BENCH",
|
|
3
|
+
"name": "Cushioned Bench",
|
|
4
|
+
"category": "chairs",
|
|
5
|
+
"type": "asset",
|
|
6
|
+
"canPlaceOnWalls": false,
|
|
7
|
+
"canPlaceOnSurfaces": false,
|
|
8
|
+
"backgroundTiles": 0,
|
|
9
|
+
"width": 16,
|
|
10
|
+
"height": 16,
|
|
11
|
+
"footprintW": 1,
|
|
12
|
+
"footprintH": 1
|
|
13
|
+
}
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "CUSHIONED_CHAIR",
|
|
3
|
+
"name": "Cushioned Chair",
|
|
4
|
+
"category": "chairs",
|
|
5
|
+
"type": "group",
|
|
6
|
+
"groupType": "rotation",
|
|
7
|
+
"rotationScheme": "3-way-mirror",
|
|
8
|
+
"canPlaceOnWalls": false,
|
|
9
|
+
"canPlaceOnSurfaces": false,
|
|
10
|
+
"backgroundTiles": 0,
|
|
11
|
+
"members": [
|
|
12
|
+
{
|
|
13
|
+
"type": "asset",
|
|
14
|
+
"id": "CUSHIONED_CHAIR_FRONT",
|
|
15
|
+
"file": "CUSHIONED_CHAIR_FRONT.png",
|
|
16
|
+
"width": 16,
|
|
17
|
+
"height": 16,
|
|
18
|
+
"footprintW": 1,
|
|
19
|
+
"footprintH": 1,
|
|
20
|
+
"orientation": "front"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"type": "asset",
|
|
24
|
+
"id": "CUSHIONED_CHAIR_BACK",
|
|
25
|
+
"file": "CUSHIONED_CHAIR_BACK.png",
|
|
26
|
+
"width": 16,
|
|
27
|
+
"height": 16,
|
|
28
|
+
"footprintW": 1,
|
|
29
|
+
"footprintH": 1,
|
|
30
|
+
"orientation": "back"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"type": "asset",
|
|
34
|
+
"id": "CUSHIONED_CHAIR_SIDE",
|
|
35
|
+
"file": "CUSHIONED_CHAIR_SIDE.png",
|
|
36
|
+
"width": 16,
|
|
37
|
+
"height": 16,
|
|
38
|
+
"footprintW": 1,
|
|
39
|
+
"footprintH": 1,
|
|
40
|
+
"orientation": "side",
|
|
41
|
+
"mirrorSide": true
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
}
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "DESK",
|
|
3
|
+
"name": "Desk",
|
|
4
|
+
"category": "desks",
|
|
5
|
+
"type": "group",
|
|
6
|
+
"groupType": "rotation",
|
|
7
|
+
"rotationScheme": "2-way",
|
|
8
|
+
"canPlaceOnWalls": false,
|
|
9
|
+
"canPlaceOnSurfaces": false,
|
|
10
|
+
"backgroundTiles": 1,
|
|
11
|
+
"members": [
|
|
12
|
+
{
|
|
13
|
+
"type": "asset",
|
|
14
|
+
"id": "DESK_FRONT",
|
|
15
|
+
"file": "DESK_FRONT.png",
|
|
16
|
+
"width": 48,
|
|
17
|
+
"height": 32,
|
|
18
|
+
"footprintW": 3,
|
|
19
|
+
"footprintH": 2,
|
|
20
|
+
"orientation": "front"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"type": "asset",
|
|
24
|
+
"id": "DESK_SIDE",
|
|
25
|
+
"file": "DESK_SIDE.png",
|
|
26
|
+
"width": 16,
|
|
27
|
+
"height": 64,
|
|
28
|
+
"footprintW": 1,
|
|
29
|
+
"footprintH": 4,
|
|
30
|
+
"orientation": "side"
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "DOUBLE_BOOKSHELF",
|
|
3
|
+
"name": "Double Bookshelf",
|
|
4
|
+
"category": "wall",
|
|
5
|
+
"type": "asset",
|
|
6
|
+
"canPlaceOnWalls": true,
|
|
7
|
+
"canPlaceOnSurfaces": false,
|
|
8
|
+
"backgroundTiles": 0,
|
|
9
|
+
"width": 32,
|
|
10
|
+
"height": 32,
|
|
11
|
+
"footprintW": 2,
|
|
12
|
+
"footprintH": 2
|
|
13
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "PC",
|
|
3
|
+
"name": "PC",
|
|
4
|
+
"category": "electronics",
|
|
5
|
+
"type": "group",
|
|
6
|
+
"groupType": "rotation",
|
|
7
|
+
"rotationScheme": "3-way-mirror",
|
|
8
|
+
"canPlaceOnWalls": false,
|
|
9
|
+
"canPlaceOnSurfaces": true,
|
|
10
|
+
"backgroundTiles": 1,
|
|
11
|
+
"members": [
|
|
12
|
+
{
|
|
13
|
+
"type": "group",
|
|
14
|
+
"groupType": "state",
|
|
15
|
+
"orientation": "front",
|
|
16
|
+
"members": [
|
|
17
|
+
{
|
|
18
|
+
"type": "group",
|
|
19
|
+
"groupType": "animation",
|
|
20
|
+
"state": "on",
|
|
21
|
+
"members": [
|
|
22
|
+
{
|
|
23
|
+
"type": "asset",
|
|
24
|
+
"id": "PC_FRONT_ON_1",
|
|
25
|
+
"file": "PC_FRONT_ON_1.png",
|
|
26
|
+
"width": 16,
|
|
27
|
+
"height": 32,
|
|
28
|
+
"footprintW": 1,
|
|
29
|
+
"footprintH": 2,
|
|
30
|
+
"frame": 0
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"type": "asset",
|
|
34
|
+
"id": "PC_FRONT_ON_2",
|
|
35
|
+
"file": "PC_FRONT_ON_2.png",
|
|
36
|
+
"width": 16,
|
|
37
|
+
"height": 32,
|
|
38
|
+
"footprintW": 1,
|
|
39
|
+
"footprintH": 2,
|
|
40
|
+
"frame": 1
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"type": "asset",
|
|
44
|
+
"id": "PC_FRONT_ON_3",
|
|
45
|
+
"file": "PC_FRONT_ON_3.png",
|
|
46
|
+
"width": 16,
|
|
47
|
+
"height": 32,
|
|
48
|
+
"footprintW": 1,
|
|
49
|
+
"footprintH": 2,
|
|
50
|
+
"frame": 2
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"type": "asset",
|
|
56
|
+
"id": "PC_FRONT_OFF",
|
|
57
|
+
"file": "PC_FRONT_OFF.png",
|
|
58
|
+
"width": 16,
|
|
59
|
+
"height": 32,
|
|
60
|
+
"footprintW": 1,
|
|
61
|
+
"footprintH": 2,
|
|
62
|
+
"state": "off"
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"type": "asset",
|
|
68
|
+
"id": "PC_BACK",
|
|
69
|
+
"file": "PC_BACK.png",
|
|
70
|
+
"width": 16,
|
|
71
|
+
"height": 32,
|
|
72
|
+
"footprintW": 1,
|
|
73
|
+
"footprintH": 2,
|
|
74
|
+
"orientation": "back"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"type": "asset",
|
|
78
|
+
"id": "PC_SIDE",
|
|
79
|
+
"file": "PC_SIDE.png",
|
|
80
|
+
"width": 16,
|
|
81
|
+
"height": 32,
|
|
82
|
+
"footprintW": 1,
|
|
83
|
+
"footprintH": 2,
|
|
84
|
+
"orientation": "side",
|
|
85
|
+
"mirrorSide": true
|
|
86
|
+
}
|
|
87
|
+
]
|
|
88
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "SMALL_PAINTING_2",
|
|
3
|
+
"name": "Small Painting",
|
|
4
|
+
"category": "wall",
|
|
5
|
+
"type": "asset",
|
|
6
|
+
"canPlaceOnWalls": true,
|
|
7
|
+
"canPlaceOnSurfaces": false,
|
|
8
|
+
"backgroundTiles": 0,
|
|
9
|
+
"width": 16,
|
|
10
|
+
"height": 32,
|
|
11
|
+
"footprintW": 1,
|
|
12
|
+
"footprintH": 2
|
|
13
|
+
}
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "SMALL_TABLE",
|
|
3
|
+
"name": "Small Table",
|
|
4
|
+
"category": "desks",
|
|
5
|
+
"type": "group",
|
|
6
|
+
"groupType": "rotation",
|
|
7
|
+
"rotationScheme": "2-way",
|
|
8
|
+
"canPlaceOnWalls": false,
|
|
9
|
+
"canPlaceOnSurfaces": false,
|
|
10
|
+
"backgroundTiles": 1,
|
|
11
|
+
"members": [
|
|
12
|
+
{
|
|
13
|
+
"type": "asset",
|
|
14
|
+
"id": "SMALL_TABLE_FRONT",
|
|
15
|
+
"file": "SMALL_TABLE_FRONT.png",
|
|
16
|
+
"width": 32,
|
|
17
|
+
"height": 32,
|
|
18
|
+
"footprintW": 2,
|
|
19
|
+
"footprintH": 2,
|
|
20
|
+
"orientation": "front"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"type": "asset",
|
|
24
|
+
"id": "SMALL_TABLE_SIDE",
|
|
25
|
+
"file": "SMALL_TABLE_SIDE.png",
|
|
26
|
+
"width": 16,
|
|
27
|
+
"height": 48,
|
|
28
|
+
"footprintW": 1,
|
|
29
|
+
"footprintH": 3,
|
|
30
|
+
"orientation": "side"
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "SOFA",
|
|
3
|
+
"name": "Sofa",
|
|
4
|
+
"category": "chairs",
|
|
5
|
+
"type": "group",
|
|
6
|
+
"groupType": "rotation",
|
|
7
|
+
"rotationScheme": "3-way-mirror",
|
|
8
|
+
"canPlaceOnWalls": false,
|
|
9
|
+
"canPlaceOnSurfaces": false,
|
|
10
|
+
"backgroundTiles": 0,
|
|
11
|
+
"members": [
|
|
12
|
+
{
|
|
13
|
+
"type": "asset",
|
|
14
|
+
"id": "SOFA_FRONT",
|
|
15
|
+
"file": "SOFA_FRONT.png",
|
|
16
|
+
"width": 32,
|
|
17
|
+
"height": 16,
|
|
18
|
+
"footprintW": 2,
|
|
19
|
+
"footprintH": 1,
|
|
20
|
+
"orientation": "front"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"type": "asset",
|
|
24
|
+
"id": "SOFA_BACK",
|
|
25
|
+
"file": "SOFA_BACK.png",
|
|
26
|
+
"width": 32,
|
|
27
|
+
"height": 16,
|
|
28
|
+
"footprintW": 2,
|
|
29
|
+
"footprintH": 1,
|
|
30
|
+
"orientation": "back"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"type": "asset",
|
|
34
|
+
"id": "SOFA_SIDE",
|
|
35
|
+
"file": "SOFA_SIDE.png",
|
|
36
|
+
"width": 16,
|
|
37
|
+
"height": 32,
|
|
38
|
+
"footprintW": 1,
|
|
39
|
+
"footprintH": 2,
|
|
40
|
+
"orientation": "side",
|
|
41
|
+
"mirrorSide": true
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "WOODEN_CHAIR",
|
|
3
|
+
"name": "Wooden Chair",
|
|
4
|
+
"category": "chairs",
|
|
5
|
+
"type": "group",
|
|
6
|
+
"groupType": "rotation",
|
|
7
|
+
"rotationScheme": "3-way-mirror",
|
|
8
|
+
"canPlaceOnWalls": false,
|
|
9
|
+
"canPlaceOnSurfaces": false,
|
|
10
|
+
"backgroundTiles": 1,
|
|
11
|
+
"members": [
|
|
12
|
+
{
|
|
13
|
+
"type": "asset",
|
|
14
|
+
"id": "WOODEN_CHAIR_FRONT",
|
|
15
|
+
"file": "WOODEN_CHAIR_FRONT.png",
|
|
16
|
+
"width": 16,
|
|
17
|
+
"height": 32,
|
|
18
|
+
"footprintW": 1,
|
|
19
|
+
"footprintH": 2,
|
|
20
|
+
"orientation": "front"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"type": "asset",
|
|
24
|
+
"id": "WOODEN_CHAIR_BACK",
|
|
25
|
+
"file": "WOODEN_CHAIR_BACK.png",
|
|
26
|
+
"width": 16,
|
|
27
|
+
"height": 32,
|
|
28
|
+
"footprintW": 1,
|
|
29
|
+
"footprintH": 2,
|
|
30
|
+
"orientation": "back"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"type": "asset",
|
|
34
|
+
"id": "WOODEN_CHAIR_SIDE",
|
|
35
|
+
"file": "WOODEN_CHAIR_SIDE.png",
|
|
36
|
+
"width": 16,
|
|
37
|
+
"height": 32,
|
|
38
|
+
"footprintW": 1,
|
|
39
|
+
"footprintH": 2,
|
|
40
|
+
"orientation": "side",
|
|
41
|
+
"mirrorSide": true
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
}
|
|
Binary file
|