@netforge/asset-library 0.0.0-stage → 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/LICENSES/CC0-1.0.txt +121 -0
- package/NOTICE +60 -0
- package/README.md +73 -2
- package/manifest/audio.json +22 -0
- package/manifest/gallery.ts +440 -0
- package/manifest/lowpoly.json +4486 -0
- package/manifest/packs.json +212 -0
- package/manifest/pixel.json +1209 -0
- package/manifest/ps1.json +245 -0
- package/manifest/voxel.json +4539 -0
- package/package.json +56 -3
- package/src/audio.ts +43 -0
- package/src/guide.ts +54 -0
- package/src/index.ts +20 -0
- package/src/library.ts +199 -0
- package/src/look.ts +112 -0
- package/src/paths.ts +34 -0
- package/src/restyle.ts +23 -0
- package/src/rigs.ts +140 -0
- package/src/schema.ts +200 -0
- package/src/three/animator.ts +85 -0
- package/src/three/client.ts +191 -0
- package/src/three/crowd.ts +216 -0
- package/src/three/index.ts +13 -0
- package/src/three/parts.ts +149 -0
- package/src/three/prepare.ts +207 -0
- package/src/vite.ts +89 -0
- package/src/voxel.ts +25 -0
|
@@ -0,0 +1,440 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The example gallery: ready-made looks per style, each a library model and an optional
|
|
3
|
+
* appearance, with a name, a short line and a thumbnail (rendered by `pnpm shoot thumbs`).
|
|
4
|
+
* The Launcher shows these as "pick a starting look". Plain data with no imports, so the
|
|
5
|
+
* Launcher can bundle it without the rest of the library; library.ts validates it.
|
|
6
|
+
*/
|
|
7
|
+
export interface GalleryItem {
|
|
8
|
+
readonly id: string;
|
|
9
|
+
readonly name: string;
|
|
10
|
+
readonly line: string;
|
|
11
|
+
readonly model: string;
|
|
12
|
+
readonly appearance?: { readonly tint?: string; readonly accent?: string; readonly scale?: number; readonly parts?: readonly string[] };
|
|
13
|
+
readonly thumb: string;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export const GALLERY: Readonly<Record<string, readonly GalleryItem[]>> = {
|
|
17
|
+
lowpoly: [
|
|
18
|
+
{
|
|
19
|
+
id: "wayfinder",
|
|
20
|
+
name: "Wayfinder",
|
|
21
|
+
line: "Explorer with a pack",
|
|
22
|
+
model: "style.lowpoly.adventurer",
|
|
23
|
+
thumb: "thumbs/lowpoly/wayfinder.png"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
id: "trooper",
|
|
27
|
+
name: "Trooper",
|
|
28
|
+
line: "Armored rifle hero",
|
|
29
|
+
model: "style.lowpoly.soldier",
|
|
30
|
+
thumb: "thumbs/lowpoly/trooper.png"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
id: "townie",
|
|
34
|
+
name: "Townie",
|
|
35
|
+
line: "Small cartoon hero",
|
|
36
|
+
model: "style.lowpoly.mini_female_a",
|
|
37
|
+
thumb: "thumbs/lowpoly/townie.png"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
id: "monarch",
|
|
41
|
+
name: "Monarch",
|
|
42
|
+
line: "Crowned ruler",
|
|
43
|
+
model: "style.lowpoly.monarch",
|
|
44
|
+
thumb: "thumbs/lowpoly/monarch.png"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
id: "gloop",
|
|
48
|
+
name: "Gloop",
|
|
49
|
+
line: "Grinning green slime",
|
|
50
|
+
model: "style.lowpoly.slime_green",
|
|
51
|
+
thumb: "thumbs/lowpoly/gloop.png"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
id: "wisp",
|
|
55
|
+
name: "Wisp",
|
|
56
|
+
line: "Floating sheet ghost",
|
|
57
|
+
model: "style.lowpoly.ghost",
|
|
58
|
+
thumb: "thumbs/lowpoly/wisp.png"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
id: "ember_whelp",
|
|
62
|
+
name: "Ember Whelp",
|
|
63
|
+
line: "Small winged dragon",
|
|
64
|
+
model: "style.lowpoly.dragon_whelp",
|
|
65
|
+
appearance: {
|
|
66
|
+
tint: "#ff7a3d"
|
|
67
|
+
},
|
|
68
|
+
thumb: "thumbs/lowpoly/ember_whelp.png"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
id: "cap_lord",
|
|
72
|
+
name: "Cap Lord",
|
|
73
|
+
line: "Giant mushroom boss",
|
|
74
|
+
model: "style.lowpoly.mushroom_king",
|
|
75
|
+
thumb: "thumbs/lowpoly/cap_lord.png"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
id: "static_fox",
|
|
79
|
+
name: "Static Fox",
|
|
80
|
+
line: "Blue fox with a charge",
|
|
81
|
+
model: "style.lowpoly.shiba",
|
|
82
|
+
appearance: {
|
|
83
|
+
tint: "#5ec8ff",
|
|
84
|
+
parts: [
|
|
85
|
+
"antenna",
|
|
86
|
+
"tail_bolt"
|
|
87
|
+
]
|
|
88
|
+
},
|
|
89
|
+
thumb: "thumbs/lowpoly/static_fox.png"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
id: "bolt_walker",
|
|
93
|
+
name: "Bolt Walker",
|
|
94
|
+
line: "Walking robot",
|
|
95
|
+
model: "style.lowpoly.robot_walker",
|
|
96
|
+
thumb: "thumbs/lowpoly/bolt_walker.png"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
id: "horned_brute",
|
|
100
|
+
name: "Horned Brute",
|
|
101
|
+
line: "Red demon brute",
|
|
102
|
+
model: "style.lowpoly.demon",
|
|
103
|
+
thumb: "thumbs/lowpoly/horned_brute.png"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
id: "big_wheel",
|
|
107
|
+
name: "Big Wheel",
|
|
108
|
+
line: "Truck on giant wheels",
|
|
109
|
+
model: "style.lowpoly.monster_truck",
|
|
110
|
+
thumb: "thumbs/lowpoly/big_wheel.png"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
id: "iron_tortoise",
|
|
114
|
+
name: "Iron Tortoise",
|
|
115
|
+
line: "Tracked battle tank",
|
|
116
|
+
model: "style.lowpoly.tank",
|
|
117
|
+
thumb: "thumbs/lowpoly/iron_tortoise.png"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
id: "sprint",
|
|
121
|
+
name: "Sprint",
|
|
122
|
+
line: "Open-wheel racer",
|
|
123
|
+
model: "style.lowpoly.race_car",
|
|
124
|
+
thumb: "thumbs/lowpoly/sprint.png"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
id: "hover_speeder",
|
|
128
|
+
name: "Hover Speeder",
|
|
129
|
+
line: "Hovering scout ship",
|
|
130
|
+
model: "style.lowpoly.speeder_a",
|
|
131
|
+
thumb: "thumbs/lowpoly/hover_speeder.png"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
id: "crystal",
|
|
135
|
+
name: "Crystal",
|
|
136
|
+
line: "Big glowing crystal",
|
|
137
|
+
model: "style.lowpoly.crystal",
|
|
138
|
+
thumb: "thumbs/lowpoly/crystal.png"
|
|
139
|
+
}
|
|
140
|
+
],
|
|
141
|
+
pixel: [
|
|
142
|
+
{
|
|
143
|
+
id: "knight",
|
|
144
|
+
name: "Knight",
|
|
145
|
+
line: "Armored hero",
|
|
146
|
+
model: "style.pixel.knight",
|
|
147
|
+
thumb: "thumbs/pixel/knight.png"
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
id: "wizard",
|
|
151
|
+
name: "Wizard",
|
|
152
|
+
line: "Purple-robed caster",
|
|
153
|
+
model: "style.pixel.wizard",
|
|
154
|
+
thumb: "thumbs/pixel/wizard.png"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
id: "slime",
|
|
158
|
+
name: "Slime",
|
|
159
|
+
line: "Green slime",
|
|
160
|
+
model: "style.pixel.slime",
|
|
161
|
+
thumb: "thumbs/pixel/slime.png"
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
id: "ghost",
|
|
165
|
+
name: "Ghost",
|
|
166
|
+
line: "Floating ghost",
|
|
167
|
+
model: "style.pixel.ghost",
|
|
168
|
+
thumb: "thumbs/pixel/ghost.png"
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
id: "astronaut",
|
|
172
|
+
name: "Astronaut",
|
|
173
|
+
line: "Green space hero",
|
|
174
|
+
model: "style.pixel.astro_green",
|
|
175
|
+
thumb: "thumbs/pixel/astronaut.png"
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
id: "tank_bot",
|
|
179
|
+
name: "Tank Bot",
|
|
180
|
+
line: "Blue robot",
|
|
181
|
+
model: "style.pixel.tank_bot",
|
|
182
|
+
thumb: "thumbs/pixel/tank_bot.png"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
id: "sports_car",
|
|
186
|
+
name: "Sports Car",
|
|
187
|
+
line: "Red racer",
|
|
188
|
+
model: "style.pixel.sports_car",
|
|
189
|
+
thumb: "thumbs/pixel/sports_car.png"
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
id: "chest",
|
|
193
|
+
name: "Chest",
|
|
194
|
+
line: "Treasure chest",
|
|
195
|
+
model: "style.pixel.chest",
|
|
196
|
+
thumb: "thumbs/pixel/chest.png"
|
|
197
|
+
}
|
|
198
|
+
],
|
|
199
|
+
ps1: [
|
|
200
|
+
{
|
|
201
|
+
id: "wayfinder",
|
|
202
|
+
name: "Wayfinder",
|
|
203
|
+
line: "Explorer with a pack",
|
|
204
|
+
model: "style.ps1.adventurer",
|
|
205
|
+
thumb: "thumbs/ps1/wayfinder.png"
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
id: "trooper",
|
|
209
|
+
name: "Trooper",
|
|
210
|
+
line: "Armored rifle hero",
|
|
211
|
+
model: "style.ps1.soldier",
|
|
212
|
+
thumb: "thumbs/ps1/trooper.png"
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
id: "townie",
|
|
216
|
+
name: "Townie",
|
|
217
|
+
line: "Small cartoon hero",
|
|
218
|
+
model: "style.ps1.mini_female_a",
|
|
219
|
+
thumb: "thumbs/ps1/townie.png"
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
id: "monarch",
|
|
223
|
+
name: "Monarch",
|
|
224
|
+
line: "Crowned ruler",
|
|
225
|
+
model: "style.ps1.monarch",
|
|
226
|
+
thumb: "thumbs/ps1/monarch.png"
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
id: "gloop",
|
|
230
|
+
name: "Gloop",
|
|
231
|
+
line: "Grinning green slime",
|
|
232
|
+
model: "style.ps1.slime_green",
|
|
233
|
+
thumb: "thumbs/ps1/gloop.png"
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
id: "wisp",
|
|
237
|
+
name: "Wisp",
|
|
238
|
+
line: "Floating sheet ghost",
|
|
239
|
+
model: "style.ps1.ghost",
|
|
240
|
+
thumb: "thumbs/ps1/wisp.png"
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
id: "ember_whelp",
|
|
244
|
+
name: "Ember Whelp",
|
|
245
|
+
line: "Small winged dragon",
|
|
246
|
+
model: "style.ps1.dragon_whelp",
|
|
247
|
+
appearance: {
|
|
248
|
+
tint: "#ff7a3d"
|
|
249
|
+
},
|
|
250
|
+
thumb: "thumbs/ps1/ember_whelp.png"
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
id: "cap_lord",
|
|
254
|
+
name: "Cap Lord",
|
|
255
|
+
line: "Giant mushroom boss",
|
|
256
|
+
model: "style.ps1.mushroom_king",
|
|
257
|
+
thumb: "thumbs/ps1/cap_lord.png"
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
id: "static_fox",
|
|
261
|
+
name: "Static Fox",
|
|
262
|
+
line: "Blue fox with a charge",
|
|
263
|
+
model: "style.ps1.shiba",
|
|
264
|
+
appearance: {
|
|
265
|
+
tint: "#5ec8ff",
|
|
266
|
+
parts: [
|
|
267
|
+
"antenna",
|
|
268
|
+
"tail_bolt"
|
|
269
|
+
]
|
|
270
|
+
},
|
|
271
|
+
thumb: "thumbs/ps1/static_fox.png"
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
id: "bolt_walker",
|
|
275
|
+
name: "Bolt Walker",
|
|
276
|
+
line: "Walking robot",
|
|
277
|
+
model: "style.ps1.robot_walker",
|
|
278
|
+
thumb: "thumbs/ps1/bolt_walker.png"
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
id: "horned_brute",
|
|
282
|
+
name: "Horned Brute",
|
|
283
|
+
line: "Red demon brute",
|
|
284
|
+
model: "style.ps1.demon",
|
|
285
|
+
thumb: "thumbs/ps1/horned_brute.png"
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
id: "big_wheel",
|
|
289
|
+
name: "Big Wheel",
|
|
290
|
+
line: "Truck on giant wheels",
|
|
291
|
+
model: "style.ps1.monster_truck",
|
|
292
|
+
thumb: "thumbs/ps1/big_wheel.png"
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
id: "iron_tortoise",
|
|
296
|
+
name: "Iron Tortoise",
|
|
297
|
+
line: "Tracked battle tank",
|
|
298
|
+
model: "style.ps1.tank",
|
|
299
|
+
thumb: "thumbs/ps1/iron_tortoise.png"
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
id: "sprint",
|
|
303
|
+
name: "Sprint",
|
|
304
|
+
line: "Open-wheel racer",
|
|
305
|
+
model: "style.ps1.race_car",
|
|
306
|
+
thumb: "thumbs/ps1/sprint.png"
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
id: "hover_speeder",
|
|
310
|
+
name: "Hover Speeder",
|
|
311
|
+
line: "Hovering scout ship",
|
|
312
|
+
model: "style.ps1.speeder_a",
|
|
313
|
+
thumb: "thumbs/ps1/hover_speeder.png"
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
id: "crystal",
|
|
317
|
+
name: "Crystal",
|
|
318
|
+
line: "Big glowing crystal",
|
|
319
|
+
model: "style.ps1.crystal",
|
|
320
|
+
thumb: "thumbs/ps1/crystal.png"
|
|
321
|
+
}
|
|
322
|
+
],
|
|
323
|
+
voxel: [
|
|
324
|
+
{
|
|
325
|
+
id: "wayfinder",
|
|
326
|
+
name: "Wayfinder",
|
|
327
|
+
line: "Explorer with a pack",
|
|
328
|
+
model: "style.voxel.adventurer",
|
|
329
|
+
thumb: "thumbs/voxel/wayfinder.png"
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
id: "trooper",
|
|
333
|
+
name: "Trooper",
|
|
334
|
+
line: "Armored rifle hero",
|
|
335
|
+
model: "style.voxel.soldier",
|
|
336
|
+
thumb: "thumbs/voxel/trooper.png"
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
id: "townie",
|
|
340
|
+
name: "Townie",
|
|
341
|
+
line: "Small cartoon hero",
|
|
342
|
+
model: "style.voxel.mini_female_a",
|
|
343
|
+
thumb: "thumbs/voxel/townie.png"
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
id: "monarch",
|
|
347
|
+
name: "Monarch",
|
|
348
|
+
line: "Crowned ruler",
|
|
349
|
+
model: "style.voxel.monarch",
|
|
350
|
+
thumb: "thumbs/voxel/monarch.png"
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
id: "gloop",
|
|
354
|
+
name: "Gloop",
|
|
355
|
+
line: "Grinning green slime",
|
|
356
|
+
model: "style.voxel.slime_green",
|
|
357
|
+
thumb: "thumbs/voxel/gloop.png"
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
id: "wisp",
|
|
361
|
+
name: "Wisp",
|
|
362
|
+
line: "Floating sheet ghost",
|
|
363
|
+
model: "style.voxel.ghost",
|
|
364
|
+
thumb: "thumbs/voxel/wisp.png"
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
id: "ember_whelp",
|
|
368
|
+
name: "Ember Whelp",
|
|
369
|
+
line: "Small winged dragon",
|
|
370
|
+
model: "style.voxel.dragon_whelp",
|
|
371
|
+
appearance: {
|
|
372
|
+
tint: "#ff7a3d"
|
|
373
|
+
},
|
|
374
|
+
thumb: "thumbs/voxel/ember_whelp.png"
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
id: "cap_lord",
|
|
378
|
+
name: "Cap Lord",
|
|
379
|
+
line: "Giant mushroom boss",
|
|
380
|
+
model: "style.voxel.mushroom_king",
|
|
381
|
+
thumb: "thumbs/voxel/cap_lord.png"
|
|
382
|
+
},
|
|
383
|
+
{
|
|
384
|
+
id: "static_fox",
|
|
385
|
+
name: "Static Fox",
|
|
386
|
+
line: "Blue fox with a charge",
|
|
387
|
+
model: "style.voxel.shiba",
|
|
388
|
+
appearance: {
|
|
389
|
+
tint: "#5ec8ff",
|
|
390
|
+
parts: [
|
|
391
|
+
"antenna",
|
|
392
|
+
"tail_bolt"
|
|
393
|
+
]
|
|
394
|
+
},
|
|
395
|
+
thumb: "thumbs/voxel/static_fox.png"
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
id: "bolt_walker",
|
|
399
|
+
name: "Bolt Walker",
|
|
400
|
+
line: "Walking robot",
|
|
401
|
+
model: "style.voxel.robot_walker",
|
|
402
|
+
thumb: "thumbs/voxel/bolt_walker.png"
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
id: "horned_brute",
|
|
406
|
+
name: "Horned Brute",
|
|
407
|
+
line: "Red demon brute",
|
|
408
|
+
model: "style.voxel.demon",
|
|
409
|
+
thumb: "thumbs/voxel/horned_brute.png"
|
|
410
|
+
},
|
|
411
|
+
{
|
|
412
|
+
id: "iron_tortoise",
|
|
413
|
+
name: "Iron Tortoise",
|
|
414
|
+
line: "Tracked battle tank",
|
|
415
|
+
model: "style.voxel.tank",
|
|
416
|
+
thumb: "thumbs/voxel/iron_tortoise.png"
|
|
417
|
+
},
|
|
418
|
+
{
|
|
419
|
+
id: "sprint",
|
|
420
|
+
name: "Sprint",
|
|
421
|
+
line: "Open-wheel racer",
|
|
422
|
+
model: "style.voxel.race_car",
|
|
423
|
+
thumb: "thumbs/voxel/sprint.png"
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
id: "hover_speeder",
|
|
427
|
+
name: "Hover Speeder",
|
|
428
|
+
line: "Hovering scout ship",
|
|
429
|
+
model: "style.voxel.speeder_a",
|
|
430
|
+
thumb: "thumbs/voxel/hover_speeder.png"
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
id: "crystal",
|
|
434
|
+
name: "Crystal",
|
|
435
|
+
line: "Big glowing crystal",
|
|
436
|
+
model: "style.voxel.crystal",
|
|
437
|
+
thumb: "thumbs/voxel/crystal.png"
|
|
438
|
+
}
|
|
439
|
+
]
|
|
440
|
+
};
|