@call-me-sensei/toonlab 0.2.0 → 0.3.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 (205) hide show
  1. package/AGENTS.md +127 -4
  2. package/ATTRIBUTION.md +41 -3
  3. package/README.md +234 -34
  4. package/docs/characters.md +144 -0
  5. package/docs/debug-panel.md +126 -0
  6. package/docs/docs.css +589 -0
  7. package/docs/environment.md +186 -0
  8. package/docs/getting-started.md +180 -0
  9. package/docs/index.html +14 -0
  10. package/docs/lab-architecture.md +100 -0
  11. package/docs/lighting.md +825 -0
  12. package/docs/main.jsx +739 -0
  13. package/docs/mcp.md +97 -0
  14. package/docs/post-processing.md +98 -0
  15. package/docs/settings-reference.md +1878 -0
  16. package/docs/shader-constants.md +77 -0
  17. package/docs/sky.md +182 -0
  18. package/docs/style-labs.md +309 -0
  19. package/docs/texture-lab.md +135 -0
  20. package/docs/toon-shading.md +183 -0
  21. package/docs/tsl-conventions.md +167 -0
  22. package/docs/vegetation-sky.md +275 -0
  23. package/docs/water.md +430 -0
  24. package/docs/weather.md +200 -0
  25. package/docs/world-scale.md +111 -0
  26. package/mcp/server.mjs +610 -0
  27. package/mcp/style-lab-tools.mjs +371 -0
  28. package/mcp/vite-plugin.mjs +174 -0
  29. package/mcp/workspace.mjs +397 -0
  30. package/package.json +64 -5
  31. package/src/ambientfx/INTEGRATION.md +164 -0
  32. package/src/ambientfx/ambientFxPresets.js +83 -0
  33. package/src/ambientfx/ambientFxSettings.js +368 -0
  34. package/src/ambientfx/emitters.js +169 -0
  35. package/src/ambientfx/index.js +5 -0
  36. package/src/ambientfx/particleBackbone.js +493 -0
  37. package/src/ambientfx/stylizedAmbientFx.js +450 -0
  38. package/src/assetlib/ambientcg.js +117 -0
  39. package/src/assetlib/assetRef.js +91 -0
  40. package/src/assetlib/importedEntry.js +40 -0
  41. package/src/assetlib/index.js +23 -0
  42. package/src/assetlib/kaykit.js +192 -0
  43. package/src/assetlib/kaykitStaticIndex.js +700 -0
  44. package/src/assetlib/loadImported.js +143 -0
  45. package/src/assetlib/opensource3d.js +113 -0
  46. package/src/assetlib/polyhaven.js +182 -0
  47. package/src/assetlib/polypizza.js +115 -0
  48. package/src/assetlib/smithsonian.js +214 -0
  49. package/src/assetlib/sources.js +279 -0
  50. package/src/assetlib/zip.js +58 -0
  51. package/src/biome/biomeGenerator.js +385 -0
  52. package/src/biome/biomeRuntime.js +299 -0
  53. package/src/biome/index.js +2 -0
  54. package/src/buildinggen/buildingAsset.js +44 -0
  55. package/src/buildinggen/buildingGrammar.js +311 -0
  56. package/src/buildinggen/buildingMesh.js +451 -0
  57. package/src/buildinggen/buildingPresets.js +46 -0
  58. package/src/buildinggen/buildingRecipe.js +100 -0
  59. package/src/buildinggen/buildingSettings.js +238 -0
  60. package/src/buildinggen/index.js +6 -0
  61. package/src/camera/cameraDirector.js +157 -0
  62. package/src/camera/cameraGenerator.js +367 -0
  63. package/src/camera/cameraRig.js +570 -0
  64. package/src/camera/cameraSettings.js +236 -0
  65. package/src/camera/index.js +7 -0
  66. package/src/catalog/builtinEntries.js +245 -0
  67. package/src/catalog/catalog.js +210 -0
  68. package/src/catalog/index.js +3 -0
  69. package/src/catalog/manifest.js +84 -0
  70. package/src/core/generation.js +529 -0
  71. package/src/environment/environmentRigs.js +21 -1
  72. package/src/environment/environmentSettings.js +4 -0
  73. package/src/environment/environmentSunShadowPass.js +8 -0
  74. package/src/fauna/INTEGRATION.md +174 -0
  75. package/src/fauna/boids.js +861 -0
  76. package/src/fauna/faunaBodies.js +492 -0
  77. package/src/fauna/faunaPresets.js +52 -0
  78. package/src/fauna/faunaSettings.js +525 -0
  79. package/src/fauna/index.js +5 -0
  80. package/src/fauna/stylizedFauna.js +395 -0
  81. package/src/game-feel/gameFeelGenerator.js +402 -0
  82. package/src/game-feel/gameFeelRuntime.js +549 -0
  83. package/src/game-feel/index.js +2 -0
  84. package/src/index.js +17 -6
  85. package/src/lighting/colorIntensity.js +177 -0
  86. package/src/lighting/index.js +161 -0
  87. package/src/lighting/lightDescriptors.js +249 -0
  88. package/src/lighting/lightingCapabilities.js +79 -0
  89. package/src/lighting/lightingDocuments.js +247 -0
  90. package/src/lighting/lightingFixtures.js +446 -0
  91. package/src/lighting/lightingGenerator.js +449 -0
  92. package/src/lighting/lightingPresets.js +319 -0
  93. package/src/lighting/lightingRuntime.js +723 -0
  94. package/src/lighting/lightingStyle.js +386 -0
  95. package/src/lighting/lightingSystem.js +774 -0
  96. package/src/lighting/unrealExport.js +186 -0
  97. package/src/lighting/utils.js +87 -0
  98. package/src/motion/index.js +5 -0
  99. package/src/motion/motionClip.js +441 -0
  100. package/src/motion/motionController.js +628 -0
  101. package/src/motion/motionDocuments.js +225 -0
  102. package/src/motion/motionGraph.js +307 -0
  103. package/src/motion/motionSettings.js +222 -0
  104. package/src/pathgen/index.js +7 -0
  105. package/src/pathgen/pathBridge.js +232 -0
  106. package/src/pathgen/pathPresets.js +35 -0
  107. package/src/pathgen/pathRibbon.js +410 -0
  108. package/src/pathgen/pathRouter.js +380 -0
  109. package/src/pathgen/pathSettings.js +335 -0
  110. package/src/pathgen/pathTextures.js +123 -0
  111. package/src/pathgen/stylizedPaths.js +453 -0
  112. package/src/post/index.js +1 -0
  113. package/src/post/postGenerator.js +177 -0
  114. package/src/post/postProcessing.js +41 -0
  115. package/src/propgen/generatorsWave1.js +379 -0
  116. package/src/propgen/generatorsWave2.js +462 -0
  117. package/src/propgen/index.js +5 -0
  118. package/src/propgen/propAsset.js +323 -0
  119. package/src/propgen/propParts.js +170 -0
  120. package/src/propgen/propPlacement.js +459 -0
  121. package/src/propgen/propPresets.js +82 -0
  122. package/src/propgen/propSettings.js +395 -0
  123. package/src/shaders-tsl/chunks/projected-water-caustics.js +242 -0
  124. package/src/shaders-tsl/chunks/vegetation-style.js +360 -0
  125. package/src/shaders-tsl/chunks/water-shore-state.js +31 -0
  126. package/src/shaders-tsl/chunks/water-waves.js +90 -11
  127. package/src/shaders-tsl/environment.js +15 -1
  128. package/src/shaders-tsl/flower.js +279 -30
  129. package/src/shaders-tsl/grass.js +60 -33
  130. package/src/shaders-tsl/sky.js +125 -31
  131. package/src/shaders-tsl/tree-leaf.js +61 -25
  132. package/src/shaders-tsl/water-breaker.js +7 -4
  133. package/src/shaders-tsl/water-shore-state-simulation.js +523 -0
  134. package/src/shaders-tsl/water.js +439 -49
  135. package/src/shaders-tsl/woody-surface.js +154 -0
  136. package/src/sky/sceneOverrideLayers.js +10 -0
  137. package/src/sky/skyQuality.js +26 -0
  138. package/src/sky/stylizedSky.js +753 -45
  139. package/src/soundscape/index.js +4 -0
  140. package/src/soundscape/soundscapeGenerator.js +179 -0
  141. package/src/soundscape/soundscapeRuntime.js +806 -0
  142. package/src/soundscape/soundscapeSettings.js +292 -0
  143. package/src/styles/index.js +13 -0
  144. package/src/styles/styleBundle.js +325 -0
  145. package/src/stylizedTerrain.js +32 -2
  146. package/src/stylizedWorld.js +423 -20
  147. package/src/texgen/evaluateTexture.js +675 -0
  148. package/src/texgen/index.js +60 -0
  149. package/src/texgen/noise2.js +210 -0
  150. package/src/texgen/textureAi.js +436 -0
  151. package/src/texgen/textureGenerators.js +516 -0
  152. package/src/texgen/texturePresets.js +490 -0
  153. package/src/texgen/textureSettings.js +342 -0
  154. package/src/texgen/textureThree.js +59 -0
  155. package/src/vegetation/flowerSpecies.js +15 -3
  156. package/src/vegetation/grassPalettes.js +153 -0
  157. package/src/vegetation/index.js +6 -0
  158. package/src/vegetation/stylizedBush.js +2 -0
  159. package/src/vegetation/stylizedFlower.js +82 -0
  160. package/src/vegetation/stylizedFlowers.js +48 -7
  161. package/src/vegetation/stylizedForest.js +29 -1
  162. package/src/vegetation/stylizedGrass.js +291 -56
  163. package/src/vegetation/stylizedTree.js +38 -2
  164. package/src/vegetation/stylizedTreeFoliage.js +2 -1
  165. package/src/vegetation/vegetationShaders.js +1110 -0
  166. package/src/vfxgen/INTEGRATION.md +145 -0
  167. package/src/vfxgen/core/burstBackbone.js +380 -0
  168. package/src/vfxgen/core/projectileCore.js +92 -0
  169. package/src/vfxgen/core/spriteShapes.js +98 -0
  170. package/src/vfxgen/core/trailRibbon.js +272 -0
  171. package/src/vfxgen/core/vfxRandom.js +29 -0
  172. package/src/vfxgen/effects/emitHelpers.js +37 -0
  173. package/src/vfxgen/effects/magicEffects.js +162 -0
  174. package/src/vfxgen/effects/movementEffects.js +87 -0
  175. package/src/vfxgen/effects/weaponEffects.js +118 -0
  176. package/src/vfxgen/index.js +18 -0
  177. package/src/vfxgen/moves/moveController.js +146 -0
  178. package/src/vfxgen/moves/moveLibrary.js +335 -0
  179. package/src/vfxgen/vfxPresets.js +98 -0
  180. package/src/vfxgen/vfxSettings.js +384 -0
  181. package/src/vfxgen/vfxSystem.js +449 -0
  182. package/src/vfxgen/weapons/stylizedWeapons.js +137 -0
  183. package/src/villagegen/index.js +4 -0
  184. package/src/villagegen/stylizedVillage.js +490 -0
  185. package/src/villagegen/villageArchetypes.js +160 -0
  186. package/src/villagegen/villageNames.js +40 -0
  187. package/src/villagegen/villageSites.js +105 -0
  188. package/src/water/sceneOverrideLayers.js +23 -0
  189. package/src/water/water.js +5 -0
  190. package/src/water/waterBreakerSystem.js +15 -1
  191. package/src/water/waterCurrentField.js +447 -0
  192. package/src/water/waterMaterial.js +12 -0
  193. package/src/water/waterNearshorePhase.js +320 -0
  194. package/src/water/waterScenePasses.js +83 -30
  195. package/src/water/waterSettings.js +325 -13
  196. package/src/water/waterShoreMaterial.js +322 -0
  197. package/src/water/waterShoreStateField.js +605 -0
  198. package/src/water/waterSurface.js +797 -28
  199. package/src/weather/index.js +6 -0
  200. package/src/weather/weatherPrecipitation.js +221 -0
  201. package/src/weather/weatherPresets.js +258 -0
  202. package/src/weather/weatherSettings.js +269 -0
  203. package/src/weather/weatherSystem.js +871 -0
  204. package/src/worldMinimap.js +62 -0
  205. package/src/worldPresets.js +4 -1
@@ -0,0 +1,700 @@
1
+ // KayKit static pack index — known-good file lists for the version-frozen
2
+ // "-1.0" GitHub releases, captured from the repos' contents API on 2026-07-16
3
+ // (verified against the packs bundled at public/props/cc0/kaykit-*). With
4
+ // these, listing needs NO network and never hits GitHub's 60 req/h
5
+ // unauthenticated rate limit; the contents/trees API path in kaykit.js is
6
+ // only for packs absent here (e.g. the nested Medieval Hexagon Pack).
7
+ //
8
+ // Shape per pack id: { models: [file names], texture: shared-png name|null }.
9
+ // ".gltf" models have a same-name ".bin" beside them plus the shared texture;
10
+ // ".glb"/".gltf.glb" models are single-file.
11
+
12
+ export const KAYKIT_STATIC_INDEX = Object.freeze({
13
+ 'city-builder-bits': Object.freeze({
14
+ models: Object.freeze([
15
+ 'base.gltf',
16
+ 'bench.gltf',
17
+ 'box_A.gltf',
18
+ 'box_B.gltf',
19
+ 'building_A.gltf',
20
+ 'building_A_withoutBase.gltf',
21
+ 'building_B.gltf',
22
+ 'building_B_withoutBase.gltf',
23
+ 'building_C.gltf',
24
+ 'building_C_withoutBase.gltf',
25
+ 'building_D.gltf',
26
+ 'building_D_withoutBase.gltf',
27
+ 'building_E.gltf',
28
+ 'building_E_withoutBase.gltf',
29
+ 'building_F.gltf',
30
+ 'building_F_withoutBase.gltf',
31
+ 'building_G.gltf',
32
+ 'building_G_withoutBase.gltf',
33
+ 'building_H.gltf',
34
+ 'building_H_withoutBase.gltf',
35
+ 'bush.gltf',
36
+ 'car_hatchback.gltf',
37
+ 'car_police.gltf',
38
+ 'car_sedan.gltf',
39
+ 'car_stationwagon.gltf',
40
+ 'car_taxi.gltf',
41
+ 'dumpster.gltf',
42
+ 'firehydrant.gltf',
43
+ 'road_corner.gltf',
44
+ 'road_corner_curved.gltf',
45
+ 'road_junction.gltf',
46
+ 'road_straight.gltf',
47
+ 'road_straight_crossing.gltf',
48
+ 'road_tsplit.gltf',
49
+ 'streetlight.gltf',
50
+ 'trafficlight_A.gltf',
51
+ 'trafficlight_B.gltf',
52
+ 'trafficlight_C.gltf',
53
+ 'trash_A.gltf',
54
+ 'trash_B.gltf',
55
+ 'watertower.gltf',
56
+ ]),
57
+ texture: 'citybits_texture.png',
58
+ }),
59
+ 'furniture-bits': Object.freeze({
60
+ models: Object.freeze([
61
+ 'armchair.gltf',
62
+ 'armchair_pillows.gltf',
63
+ 'bed_double_A.gltf',
64
+ 'bed_double_B.gltf',
65
+ 'bed_single_A.gltf',
66
+ 'bed_single_B.gltf',
67
+ 'book_set.gltf',
68
+ 'book_single.gltf',
69
+ 'cabinet_medium.gltf',
70
+ 'cabinet_medium_decorated.gltf',
71
+ 'cabinet_small.gltf',
72
+ 'cabinet_small_decorated.gltf',
73
+ 'cactus_medium_A.gltf',
74
+ 'cactus_medium_B.gltf',
75
+ 'cactus_small_A.gltf',
76
+ 'cactus_small_B.gltf',
77
+ 'chair_A.gltf',
78
+ 'chair_A_wood.gltf',
79
+ 'chair_B.gltf',
80
+ 'chair_B_wood.gltf',
81
+ 'chair_C.gltf',
82
+ 'chair_stool.gltf',
83
+ 'chair_stool_wood.gltf',
84
+ 'couch.gltf',
85
+ 'couch_pillows.gltf',
86
+ 'lamp_standing.gltf',
87
+ 'lamp_table.gltf',
88
+ 'pictureframe_large_A.gltf',
89
+ 'pictureframe_large_B.gltf',
90
+ 'pictureframe_medium.gltf',
91
+ 'pictureframe_small_A.gltf',
92
+ 'pictureframe_small_B.gltf',
93
+ 'pictureframe_small_C.gltf',
94
+ 'pictureframe_standing_A.gltf',
95
+ 'pictureframe_standing_B.gltf',
96
+ 'pillow_A.gltf',
97
+ 'pillow_B.gltf',
98
+ 'rug_oval_A.gltf',
99
+ 'rug_oval_B.gltf',
100
+ 'rug_rectangle_A.gltf',
101
+ 'rug_rectangle_B.gltf',
102
+ 'rug_rectangle_stripes_A.gltf',
103
+ 'rug_rectangle_stripes_B.gltf',
104
+ 'shelf_A_big.gltf',
105
+ 'shelf_A_small.gltf',
106
+ 'shelf_B_large.gltf',
107
+ 'shelf_B_large_decorated.gltf',
108
+ 'shelf_B_small.gltf',
109
+ 'shelf_B_small_decorated.gltf',
110
+ 'table_low.gltf',
111
+ 'table_medium.gltf',
112
+ 'table_medium_long.gltf',
113
+ 'table_small.gltf',
114
+ ]),
115
+ texture: 'furniturebits_texture.png',
116
+ }),
117
+ 'restaurant-bits': Object.freeze({
118
+ models: Object.freeze([
119
+ 'bowl.gltf',
120
+ 'bowl_dirty.gltf',
121
+ 'bowl_small.gltf',
122
+ 'chair_A.gltf',
123
+ 'chair_B.gltf',
124
+ 'chair_stool.gltf',
125
+ 'crate.gltf',
126
+ 'crate_buns.gltf',
127
+ 'crate_carrots.gltf',
128
+ 'crate_cheese.gltf',
129
+ 'crate_ham.gltf',
130
+ 'crate_lettuce.gltf',
131
+ 'crate_lid.gltf',
132
+ 'crate_onions.gltf',
133
+ 'crate_potatoes.gltf',
134
+ 'crate_steak.gltf',
135
+ 'crate_tomatoes.gltf',
136
+ 'cuttingboard.gltf',
137
+ 'dishrack.gltf',
138
+ 'dishrack_plates.gltf',
139
+ 'door_A.gltf',
140
+ 'door_B.gltf',
141
+ 'extractorhood.gltf',
142
+ 'floor_kitchen.gltf',
143
+ 'floor_kitchen_small.gltf',
144
+ 'food_burger.gltf',
145
+ 'food_dinner.gltf',
146
+ 'food_ingredient_bun.gltf',
147
+ 'food_ingredient_bun_bottom.gltf',
148
+ 'food_ingredient_bun_top.gltf',
149
+ 'food_ingredient_burger_cooked.gltf',
150
+ 'food_ingredient_burger_trash.gltf',
151
+ 'food_ingredient_burger_uncooked.gltf',
152
+ 'food_ingredient_carrot.gltf',
153
+ 'food_ingredient_carrot_chopped.gltf',
154
+ 'food_ingredient_carrot_pieces.gltf',
155
+ 'food_ingredient_cheese.gltf',
156
+ 'food_ingredient_cheese_chopped.gltf',
157
+ 'food_ingredient_cheese_slice.gltf',
158
+ 'food_ingredient_ham.gltf',
159
+ 'food_ingredient_ham_cooked.gltf',
160
+ 'food_ingredient_ham_trash.gltf',
161
+ 'food_ingredient_lettuce.gltf',
162
+ 'food_ingredient_lettuce_chopped.gltf',
163
+ 'food_ingredient_lettuce_slice.gltf',
164
+ 'food_ingredient_onion.gltf',
165
+ 'food_ingredient_onion_chopped.gltf',
166
+ 'food_ingredient_onion_rings.gltf',
167
+ 'food_ingredient_potato.gltf',
168
+ 'food_ingredient_potato_chopped.gltf',
169
+ 'food_ingredient_potato_mashed.gltf',
170
+ 'food_ingredient_steak.gltf',
171
+ 'food_ingredient_steak_pieces.gltf',
172
+ 'food_ingredient_tomato.gltf',
173
+ 'food_ingredient_tomato_slice.gltf',
174
+ 'food_ingredient_tomato_slices.gltf',
175
+ 'food_ingredient_vegetableburger_cooked.gltf',
176
+ 'food_ingredient_vegetableburger_uncooked.gltf',
177
+ 'food_stew.gltf',
178
+ 'food_vegetableburger.gltf',
179
+ 'fridge_A.gltf',
180
+ 'fridge_A_decorated.gltf',
181
+ 'fridge_B.gltf',
182
+ 'jar_A_large.gltf',
183
+ 'jar_A_medium.gltf',
184
+ 'jar_A_small.gltf',
185
+ 'jar_B_large.gltf',
186
+ 'jar_B_medium.gltf',
187
+ 'jar_B_small.gltf',
188
+ 'jar_C_large.gltf',
189
+ 'jar_C_medium.gltf',
190
+ 'jar_C_small.gltf',
191
+ 'jar_D_large.gltf',
192
+ 'jar_D_medium.gltf',
193
+ 'jar_D_small.gltf',
194
+ 'ketchup.gltf',
195
+ 'kitchencabinet.gltf',
196
+ 'kitchencabinet_corner.gltf',
197
+ 'kitchencabinet_corner_half.gltf',
198
+ 'kitchencabinet_half.gltf',
199
+ 'kitchencounter_innercorner.gltf',
200
+ 'kitchencounter_innercorner_backsplash.gltf',
201
+ 'kitchencounter_outercorner.gltf',
202
+ 'kitchencounter_outercorner_backsplash.gltf',
203
+ 'kitchencounter_sink.gltf',
204
+ 'kitchencounter_sink_backsplash.gltf',
205
+ 'kitchencounter_straight_A.gltf',
206
+ 'kitchencounter_straight_A_backsplash.gltf',
207
+ 'kitchencounter_straight_A_decorated.gltf',
208
+ 'kitchencounter_straight_B.gltf',
209
+ 'kitchencounter_straight_B_backsplash.gltf',
210
+ 'kitchencounter_straight_decorated.gltf',
211
+ 'kitchentable_A.gltf',
212
+ 'kitchentable_A_large.gltf',
213
+ 'kitchentable_A_large_decorated.gltf',
214
+ 'kitchentable_B.gltf',
215
+ 'kitchentable_B_large.gltf',
216
+ 'kitchentable_sink.gltf',
217
+ 'kitchentable_sink_large.gltf',
218
+ 'kitchentable_sink_large_decorated.gltf',
219
+ 'knife.gltf',
220
+ 'lid_A.gltf',
221
+ 'lid_B.gltf',
222
+ 'lid_large.gltf',
223
+ 'menu.gltf',
224
+ 'mustard.gltf',
225
+ 'oven.gltf',
226
+ 'pan_006.gltf',
227
+ 'pan_A.gltf',
228
+ 'pan_B.gltf',
229
+ 'papertowel.gltf',
230
+ 'pillar_A.gltf',
231
+ 'pillar_B.gltf',
232
+ 'plate.gltf',
233
+ 'plate_dirty.gltf',
234
+ 'plate_small.gltf',
235
+ 'pot_A.gltf',
236
+ 'pot_A_stew.gltf',
237
+ 'pot_B.gltf',
238
+ 'pot_B_stew.gltf',
239
+ 'pot_large.gltf',
240
+ 'shelf_papertowel.gltf',
241
+ 'shelf_papertowel_decorated.gltf',
242
+ 'stew_bowl.gltf',
243
+ 'stew_pot.gltf',
244
+ 'stove_multi.gltf',
245
+ 'stove_multi_countertop.gltf',
246
+ 'stove_multi_decorated.gltf',
247
+ 'stove_single.gltf',
248
+ 'stove_single_countertop.gltf',
249
+ 'table_round_A.gltf',
250
+ 'table_round_A_decorated.gltf',
251
+ 'table_round_A_small.gltf',
252
+ 'table_round_A_small_decorated.gltf',
253
+ 'table_round_B.gltf',
254
+ 'towelrail.gltf',
255
+ 'wall.gltf',
256
+ 'wall_decorated.gltf',
257
+ 'wall_doorway.gltf',
258
+ 'wall_half.gltf',
259
+ 'wall_orderwindow.gltf',
260
+ 'wall_orderwindow_decorated.gltf',
261
+ 'wall_window_closed.gltf',
262
+ 'wall_window_open.gltf',
263
+ ]),
264
+ texture: 'restaurantbits_texture.png',
265
+ }),
266
+ 'dungeon-remastered': Object.freeze({
267
+ models: Object.freeze([
268
+ 'banner_blue.gltf.glb',
269
+ 'banner_brown.gltf.glb',
270
+ 'banner_green.gltf.glb',
271
+ 'banner_patternA_blue.gltf.glb',
272
+ 'banner_patternA_brown.gltf.glb',
273
+ 'banner_patternA_green.gltf.glb',
274
+ 'banner_patternA_red.gltf.glb',
275
+ 'banner_patternA_white.gltf.glb',
276
+ 'banner_patternA_yellow.gltf.glb',
277
+ 'banner_patternB_blue.gltf.glb',
278
+ 'banner_patternB_brown.gltf.glb',
279
+ 'banner_patternB_green.gltf.glb',
280
+ 'banner_patternB_red.gltf.glb',
281
+ 'banner_patternB_white.gltf.glb',
282
+ 'banner_patternB_yellow.gltf.glb',
283
+ 'banner_patternC_blue.gltf.glb',
284
+ 'banner_patternC_brown.gltf.glb',
285
+ 'banner_patternC_green.gltf.glb',
286
+ 'banner_patternC_red.gltf.glb',
287
+ 'banner_patternC_white.gltf.glb',
288
+ 'banner_patternC_yellow.gltf.glb',
289
+ 'banner_red.gltf.glb',
290
+ 'banner_shield_blue.gltf.glb',
291
+ 'banner_shield_brown.gltf.glb',
292
+ 'banner_shield_green.gltf.glb',
293
+ 'banner_shield_red.gltf.glb',
294
+ 'banner_shield_white.gltf.glb',
295
+ 'banner_shield_yellow.gltf.glb',
296
+ 'banner_thin_blue.gltf.glb',
297
+ 'banner_thin_brown.gltf.glb',
298
+ 'banner_thin_green.gltf.glb',
299
+ 'banner_thin_red.gltf.glb',
300
+ 'banner_thin_white.gltf.glb',
301
+ 'banner_thin_yellow.gltf.glb',
302
+ 'banner_triple_blue.gltf.glb',
303
+ 'banner_triple_brown.gltf.glb',
304
+ 'banner_triple_green.gltf.glb',
305
+ 'banner_triple_red.gltf.glb',
306
+ 'banner_triple_white.gltf.glb',
307
+ 'banner_triple_yellow.gltf.glb',
308
+ 'banner_white.gltf.glb',
309
+ 'banner_yellow.gltf.glb',
310
+ 'barrel_large.gltf.glb',
311
+ 'barrel_large_decorated.gltf.glb',
312
+ 'barrel_small.gltf.glb',
313
+ 'barrel_small_stack.gltf.glb',
314
+ 'barrier.gltf.glb',
315
+ 'barrier_colum_half.gltf.glb',
316
+ 'barrier_column.gltf.glb',
317
+ 'barrier_corner.gltf.glb',
318
+ 'barrier_half.gltf.glb',
319
+ 'bed_decorated.gltf.glb',
320
+ 'bed_floor.gltf.glb',
321
+ 'bed_frame.gltf.glb',
322
+ 'bottle_A_brown.gltf.glb',
323
+ 'bottle_A_green.gltf.glb',
324
+ 'bottle_A_labeled_brown.gltf.glb',
325
+ 'bottle_A_labeled_green.gltf.glb',
326
+ 'bottle_B_brown.gltf.glb',
327
+ 'bottle_B_green.gltf.glb',
328
+ 'bottle_C_brown.gltf.glb',
329
+ 'bottle_C_green.gltf.glb',
330
+ 'box_large.gltf.glb',
331
+ 'box_small.gltf.glb',
332
+ 'box_small_decorated.gltf.glb',
333
+ 'box_stacked.gltf.glb',
334
+ 'candle.gltf.glb',
335
+ 'candle_lit.gltf.glb',
336
+ 'candle_melted.gltf.glb',
337
+ 'candle_thin.gltf.glb',
338
+ 'candle_thin_lit.gltf.glb',
339
+ 'candle_triple.gltf.glb',
340
+ 'chair.gltf.glb',
341
+ 'chest.glb',
342
+ 'chest_gold.glb',
343
+ 'coin.gltf.glb',
344
+ 'coin_stack_large.gltf.glb',
345
+ 'coin_stack_medium.gltf.glb',
346
+ 'coin_stack_small.gltf.glb',
347
+ 'column.gltf.glb',
348
+ 'crates_stacked.gltf.glb',
349
+ 'floor_dirt_large.gltf.glb',
350
+ 'floor_dirt_large_rocky.gltf.glb',
351
+ 'floor_dirt_small_A.gltf.glb',
352
+ 'floor_dirt_small_B.gltf.glb',
353
+ 'floor_dirt_small_C.gltf.glb',
354
+ 'floor_dirt_small_D.gltf.glb',
355
+ 'floor_dirt_small_corner.gltf.glb',
356
+ 'floor_dirt_small_weeds.gltf.glb',
357
+ 'floor_foundation_allsides.gltf.glb',
358
+ 'floor_foundation_corner.gltf.glb',
359
+ 'floor_foundation_diagonal_corner.gltf.glb',
360
+ 'floor_foundation_front.gltf.glb',
361
+ 'floor_foundation_front_and_back.gltf.glb',
362
+ 'floor_foundation_front_and_sides.gltf.glb',
363
+ 'floor_tile_big_grate.gltf.glb',
364
+ 'floor_tile_big_grate_open.gltf.glb',
365
+ 'floor_tile_big_spikes.glb',
366
+ 'floor_tile_extralarge_grates.gltf.glb',
367
+ 'floor_tile_extralarge_grates_open.gltf.glb',
368
+ 'floor_tile_grate.gltf.glb',
369
+ 'floor_tile_grate_open.gltf.glb',
370
+ 'floor_tile_large.gltf.glb',
371
+ 'floor_tile_large_rocks.gltf.glb',
372
+ 'floor_tile_small.gltf.glb',
373
+ 'floor_tile_small_broken_A.gltf.glb',
374
+ 'floor_tile_small_broken_B.gltf.glb',
375
+ 'floor_tile_small_corner.gltf.glb',
376
+ 'floor_tile_small_decorated.gltf.glb',
377
+ 'floor_tile_small_weeds_A.gltf.glb',
378
+ 'floor_tile_small_weeds_B.gltf.glb',
379
+ 'floor_wood_large.gltf.glb',
380
+ 'floor_wood_large_dark.gltf.glb',
381
+ 'floor_wood_small.gltf.glb',
382
+ 'floor_wood_small_dark.gltf.glb',
383
+ 'keg.gltf.glb',
384
+ 'keg_decorated.gltf.glb',
385
+ 'key.gltf.glb',
386
+ 'keyring.gltf.glb',
387
+ 'keyring_hanging.gltf.glb',
388
+ 'pillar.gltf.glb',
389
+ 'pillar_decorated.gltf.glb',
390
+ 'plate.gltf.glb',
391
+ 'plate_food_A.gltf.glb',
392
+ 'plate_food_B.gltf.glb',
393
+ 'plate_small.gltf.glb',
394
+ 'plate_stack.gltf.glb',
395
+ 'rubble_half.gltf.glb',
396
+ 'rubble_large.gltf.glb',
397
+ 'shelf_large.gltf.glb',
398
+ 'shelf_small.gltf.glb',
399
+ 'shelf_small_candles.gltf.glb',
400
+ 'shelves.gltf.glb',
401
+ 'stairs.gltf.glb',
402
+ 'stairs_narrow.gltf.glb',
403
+ 'stairs_wall_left.gltf.glb',
404
+ 'stairs_wall_right.gltf.glb',
405
+ 'stairs_walled.gltf.glb',
406
+ 'stairs_wide.gltf.glb',
407
+ 'stairs_wood.gltf.glb',
408
+ 'stairs_wood_decorated.gltf.glb',
409
+ 'stool.gltf.glb',
410
+ 'sword_shield.gltf.glb',
411
+ 'sword_shield_broken.gltf.glb',
412
+ 'sword_shield_gold.gltf.glb',
413
+ 'table_long.gltf.glb',
414
+ 'table_long_broken.gltf.glb',
415
+ 'table_long_decorated_A.gltf.glb',
416
+ 'table_long_decorated_C.gltf.glb',
417
+ 'table_long_tablecloth.gltf.glb',
418
+ 'table_long_tablecloth_decorated_A.gltf.glb',
419
+ 'table_medium.gltf.glb',
420
+ 'table_medium_broken.gltf.glb',
421
+ 'table_medium_decorated_A.gltf.glb',
422
+ 'table_medium_tablecloth.gltf.glb',
423
+ 'table_medium_tablecloth_decorated_B.gltf.glb',
424
+ 'table_small.gltf.glb',
425
+ 'table_small_decorated_A.gltf.glb',
426
+ 'table_small_decorated_B.gltf.glb',
427
+ 'torch.gltf.glb',
428
+ 'torch_lit.gltf.glb',
429
+ 'torch_mounted.gltf.glb',
430
+ 'trunk_large_A.gltf.glb',
431
+ 'trunk_large_B.gltf.glb',
432
+ 'trunk_large_C.gltf.glb',
433
+ 'trunk_medium_A.gltf.glb',
434
+ 'trunk_medium_B.gltf.glb',
435
+ 'trunk_medium_C.gltf.glb',
436
+ 'trunk_small_A.gltf.glb',
437
+ 'trunk_small_B.gltf.glb',
438
+ 'trunk_small_C.gltf.glb',
439
+ 'wall.gltf.glb',
440
+ 'wall_Tsplit.gltf.glb',
441
+ 'wall_Tsplit_sloped.gltf.glb',
442
+ 'wall_arched.gltf.glb',
443
+ 'wall_archedwindow_gated.gltf.glb',
444
+ 'wall_archedwindow_gated_scaffold.gltf.glb',
445
+ 'wall_archedwindow_open.gltf.glb',
446
+ 'wall_broken.gltf.glb',
447
+ 'wall_corner.gltf.glb',
448
+ 'wall_corner_gated.gltf.glb',
449
+ 'wall_corner_scaffold.gltf.glb',
450
+ 'wall_corner_small.gltf.glb',
451
+ 'wall_cracked.gltf.glb',
452
+ 'wall_crossing.gltf.glb',
453
+ 'wall_doorway.glb',
454
+ 'wall_doorway_Tsplit.gltf.glb',
455
+ 'wall_doorway_scaffold.glb',
456
+ 'wall_doorway_sides.gltf.glb',
457
+ 'wall_endcap.gltf.glb',
458
+ 'wall_gated.gltf.glb',
459
+ 'wall_half.gltf.glb',
460
+ 'wall_half_endcap.gltf.glb',
461
+ 'wall_half_endcap_sloped.gltf.glb',
462
+ 'wall_open_scaffold.gltf.glb',
463
+ 'wall_pillar.gltf.glb',
464
+ 'wall_scaffold.gltf.glb',
465
+ 'wall_shelves.gltf.glb',
466
+ 'wall_sloped.gltf.glb',
467
+ 'wall_window_closed.gltf.glb',
468
+ 'wall_window_closed_scaffold.gltf.glb',
469
+ 'wall_window_open.gltf.glb',
470
+ 'wall_window_open_scaffold.gltf.glb',
471
+ ]),
472
+ texture: null,
473
+ }),
474
+ 'halloween-bits': Object.freeze({
475
+ models: Object.freeze([
476
+ 'arch.gltf',
477
+ 'arch_gate.gltf',
478
+ 'bench.gltf',
479
+ 'bench_decorated.gltf',
480
+ 'bone_A.gltf',
481
+ 'bone_B.gltf',
482
+ 'bone_C.gltf',
483
+ 'candle.gltf',
484
+ 'candle_melted.gltf',
485
+ 'candle_thin.gltf',
486
+ 'candle_triple.gltf',
487
+ 'coffin.gltf',
488
+ 'coffin_decorated.gltf',
489
+ 'crypt.gltf',
490
+ 'fence.gltf',
491
+ 'fence_broken.gltf',
492
+ 'fence_gate.gltf',
493
+ 'fence_pillar.gltf',
494
+ 'fence_pillar_broken.gltf',
495
+ 'fence_seperate.gltf',
496
+ 'fence_seperate_broken.gltf',
497
+ 'floor_dirt.gltf',
498
+ 'floor_dirt_grave.gltf',
499
+ 'floor_dirt_small.gltf',
500
+ 'grave_A.gltf',
501
+ 'grave_A_destroyed.gltf',
502
+ 'grave_B.gltf',
503
+ 'gravemarker_A.gltf',
504
+ 'gravemarker_B.gltf',
505
+ 'gravestone.gltf',
506
+ 'lantern_hanging.gltf',
507
+ 'lantern_standing.gltf',
508
+ 'path_A.gltf',
509
+ 'path_B.gltf',
510
+ 'path_C.gltf',
511
+ 'path_D.gltf',
512
+ 'pillar.gltf',
513
+ 'plaque.gltf',
514
+ 'plaque_candles.gltf',
515
+ 'post.gltf',
516
+ 'post_lantern.gltf',
517
+ 'post_skull.gltf',
518
+ 'pumpkin_orange.gltf',
519
+ 'pumpkin_orange_jackolantern.gltf',
520
+ 'pumpkin_orange_small.gltf',
521
+ 'pumpkin_yellow.gltf',
522
+ 'pumpkin_yellow_jackolantern.gltf',
523
+ 'pumpkin_yellow_small.gltf',
524
+ 'ribcage.gltf',
525
+ 'shrine.gltf',
526
+ 'shrine_candles.gltf',
527
+ 'skull.gltf',
528
+ 'skull_candle.gltf',
529
+ 'tree_dead_large.gltf',
530
+ 'tree_dead_large_decorated.gltf',
531
+ 'tree_dead_medium.gltf',
532
+ 'tree_dead_small.gltf',
533
+ 'tree_pine_orange_large.gltf',
534
+ 'tree_pine_orange_medium.gltf',
535
+ 'tree_pine_orange_small.gltf',
536
+ 'tree_pine_yellow_large.gltf',
537
+ 'tree_pine_yellow_medium.gltf',
538
+ 'tree_pine_yellow_small.gltf',
539
+ ]),
540
+ texture: 'halloweenbits_texture.png',
541
+ }),
542
+ 'space-base-bits': Object.freeze({
543
+ models: Object.freeze([
544
+ 'basemodule_A.gltf',
545
+ 'basemodule_B.gltf',
546
+ 'basemodule_C.gltf',
547
+ 'basemodule_D.gltf',
548
+ 'basemodule_E.gltf',
549
+ 'basemodule_garage.gltf',
550
+ 'cargo_A.gltf',
551
+ 'cargo_A_packed.gltf',
552
+ 'cargo_A_stacked.gltf',
553
+ 'cargo_B.gltf',
554
+ 'cargo_B_packed.gltf',
555
+ 'cargo_B_stacked.gltf',
556
+ 'cargodepot_A.gltf',
557
+ 'cargodepot_B.gltf',
558
+ 'cargodepot_C.gltf',
559
+ 'containers_A.gltf',
560
+ 'containers_B.gltf',
561
+ 'containers_C.gltf',
562
+ 'containers_D.gltf',
563
+ 'drill_structure.gltf',
564
+ 'lander_A.gltf',
565
+ 'lander_B.gltf',
566
+ 'lander_base.gltf',
567
+ 'landingpad_large.gltf',
568
+ 'landingpad_small.gltf',
569
+ 'lights.gltf',
570
+ 'rock_A.gltf',
571
+ 'rock_B.gltf',
572
+ 'rocks_A.gltf',
573
+ 'rocks_B.gltf',
574
+ 'roofmodule_base.gltf',
575
+ 'roofmodule_cargo_A.gltf',
576
+ 'roofmodule_cargo_B.gltf',
577
+ 'roofmodule_cargo_C.gltf',
578
+ 'roofmodule_solarpanels.gltf',
579
+ 'solarpanel.gltf',
580
+ 'spacetruck.gltf',
581
+ 'spacetruck_large.gltf',
582
+ 'spacetruck_trailer.gltf',
583
+ 'structure_low.gltf',
584
+ 'structure_tall.gltf',
585
+ 'terrain_low.gltf',
586
+ 'terrain_low_curved.gltf',
587
+ 'terrain_mining.gltf',
588
+ 'terrain_slope.gltf',
589
+ 'terrain_slope_inner_corner.gltf',
590
+ 'terrain_slope_outer_corner.gltf',
591
+ 'terrain_tall.gltf',
592
+ 'terrain_tall_curved.gltf',
593
+ 'tunnel_diagonal_long_A.gltf',
594
+ 'tunnel_diagonal_long_B.gltf',
595
+ 'tunnel_diagonal_short_A.gltf',
596
+ 'tunnel_diagonal_short_B.gltf',
597
+ 'tunnel_straight_A.gltf',
598
+ 'tunnel_straight_B.gltf',
599
+ 'windturbine_low.gltf',
600
+ 'windturbine_tall.gltf',
601
+ ]),
602
+ texture: 'spacebits_texture.png',
603
+ }),
604
+ 'prototype-bits': Object.freeze({
605
+ models: Object.freeze([
606
+ 'Barrel_A.gltf',
607
+ 'Barrel_B.gltf',
608
+ 'Barrel_C.gltf',
609
+ 'Box_A.gltf',
610
+ 'Box_B.gltf',
611
+ 'Box_C.gltf',
612
+ 'Can_A.gltf',
613
+ 'Can_B.gltf',
614
+ 'Coin_A.gltf',
615
+ 'Coin_B.gltf',
616
+ 'Coin_C.gltf',
617
+ 'Cube_Prototype_Large_A.gltf',
618
+ 'Cube_Prototype_Large_B.gltf',
619
+ 'Cube_Prototype_Small.gltf',
620
+ 'Door_A.gltf',
621
+ 'Door_A_Decorated.gltf',
622
+ 'Door_B.gltf',
623
+ 'Dummy_Base.gltf',
624
+ 'Floor.gltf',
625
+ 'Floor_Dirt.gltf',
626
+ 'Floor_Prototype.gltf',
627
+ 'Pallet_Large.gltf',
628
+ 'Pallet_Small.gltf',
629
+ 'Pallet_Small_Decorated_A.gltf',
630
+ 'Pallet_Small_Decorated_B.gltf',
631
+ 'Pillar_A.gltf',
632
+ 'Pillar_B.gltf',
633
+ 'Primitive_Beam.gltf',
634
+ 'Primitive_Cube.gltf',
635
+ 'Primitive_Cube_Small.gltf',
636
+ 'Primitive_Doorway.gltf',
637
+ 'Primitive_Floor.gltf',
638
+ 'Primitive_Floor_Hole.gltf',
639
+ 'Primitive_Pillar.gltf',
640
+ 'Primitive_Slope.gltf',
641
+ 'Primitive_Slope_Half.gltf',
642
+ 'Primitive_Slope_Half_InnerCorner.gltf',
643
+ 'Primitive_Slope_Half_OuterCorner.gltf',
644
+ 'Primitive_Slope_InnerCorner.gltf',
645
+ 'Primitive_Slope_OuterCorner.gltf',
646
+ 'Primitive_Stairs.gltf',
647
+ 'Primitive_Stairs_Half.gltf',
648
+ 'Primitive_Wall.gltf',
649
+ 'Primitive_Wall_Half.gltf',
650
+ 'Primitive_Wall_OpenCorner.gltf',
651
+ 'Primitive_Wall_Short.gltf',
652
+ 'Primitive_Wall_Slope.gltf',
653
+ 'Primitive_Window.gltf',
654
+ 'Wall.gltf',
655
+ 'Wall_Decorated.gltf',
656
+ 'Wall_Doorway.gltf',
657
+ 'Wall_Half.gltf',
658
+ 'Wall_Target.gltf',
659
+ 'Wall_Window_Closed.gltf',
660
+ 'Wall_Window_Open.gltf',
661
+ 'table_medium.gltf',
662
+ 'table_medium_Decorated.gltf',
663
+ 'table_medium_long.gltf',
664
+ 'target.gltf',
665
+ 'target_pieces_A.gltf',
666
+ 'target_pieces_B.gltf',
667
+ 'target_pieces_C.gltf',
668
+ 'target_pieces_D.gltf',
669
+ 'target_pieces_E.gltf',
670
+ 'target_pieces_F.gltf',
671
+ 'target_small.gltf',
672
+ 'target_stand_A.gltf',
673
+ 'target_stand_A_Decorated.gltf',
674
+ 'target_stand_B.gltf',
675
+ 'target_wall_large_A.gltf',
676
+ 'target_wall_large_B.gltf',
677
+ 'target_wall_small.gltf',
678
+ ]),
679
+ texture: 'prototypebits_texture.png',
680
+ }),
681
+ 'character-adventurers': Object.freeze({
682
+ models: Object.freeze([
683
+ 'Barbarian.glb',
684
+ 'Knight.glb',
685
+ 'Mage.glb',
686
+ 'Rogue.glb',
687
+ 'Rogue_Hooded.glb',
688
+ ]),
689
+ texture: null,
690
+ }),
691
+ 'character-skeletons': Object.freeze({
692
+ models: Object.freeze([
693
+ 'Skeleton_Mage.glb',
694
+ 'Skeleton_Minion.glb',
695
+ 'Skeleton_Rogue.glb',
696
+ 'Skeleton_Warrior.glb',
697
+ ]),
698
+ texture: null,
699
+ }),
700
+ });