agentshire 1.0.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/CHANGELOG.md +36 -0
- package/LICENSE +21 -0
- package/README.md +437 -0
- package/README.zh-CN.md +441 -0
- package/ROADMAP.md +207 -0
- package/THIRD_PARTY_NOTICES.md +49 -0
- package/VISION.md +101 -0
- package/index.ts +386 -0
- package/openclaw.plugin.json +27 -0
- package/package.json +100 -0
- package/src/bridge/AGENTS.md +136 -0
- package/src/bridge/ActivityStream.ts +184 -0
- package/src/bridge/CitizenManager.ts +280 -0
- package/src/bridge/DirectorBridge.ts +1076 -0
- package/src/bridge/EventTranslator.ts +142 -0
- package/src/bridge/NpcEventQueue.ts +61 -0
- package/src/bridge/ReconnectManager.ts +42 -0
- package/src/bridge/RouteManager.ts +270 -0
- package/src/bridge/StateTracker.ts +100 -0
- package/src/bridge/ToolVfxMapper.ts +94 -0
- package/src/bridge/__tests__/ActivityStream.test.ts +156 -0
- package/src/bridge/__tests__/CitizenManager.test.ts +174 -0
- package/src/bridge/__tests__/EventTranslator.test.ts +292 -0
- package/src/bridge/__tests__/NpcEventQueue.test.ts +92 -0
- package/src/bridge/__tests__/RouteManager.test.ts +106 -0
- package/src/bridge/data/route-config.json +36 -0
- package/src/bridge/data/route-config.ts +19 -0
- package/src/bridge/implicit-chat.ts +192 -0
- package/src/bridge/index.ts +12 -0
- package/src/contracts/agent-state.ts +87 -0
- package/src/contracts/agui.ts +212 -0
- package/src/contracts/chat.ts +67 -0
- package/src/contracts/events.ts +170 -0
- package/src/contracts/index.ts +71 -0
- package/src/contracts/media.ts +77 -0
- package/src/contracts/registry.ts +32 -0
- package/src/plugin/AGENTS.md +192 -0
- package/src/plugin/__tests__/editor-serve-megapack.test.ts +150 -0
- package/src/plugin/__tests__/hook-translator.test.ts +197 -0
- package/src/plugin/auto-config.ts +131 -0
- package/src/plugin/channel.ts +399 -0
- package/src/plugin/chat-asset-resolver.ts +75 -0
- package/src/plugin/chat-session-watcher.ts +98 -0
- package/src/plugin/citizen-agent-manager.ts +178 -0
- package/src/plugin/citizen-chat-router.ts +83 -0
- package/src/plugin/citizen-workshop-manager.ts +96 -0
- package/src/plugin/custom-asset-manager.ts +250 -0
- package/src/plugin/editor-serve.ts +1368 -0
- package/src/plugin/group-discussion.ts +223 -0
- package/src/plugin/hook-translator.ts +202 -0
- package/src/plugin/llm-agent-proxy.ts +193 -0
- package/src/plugin/outbound-adapter.ts +187 -0
- package/src/plugin/paths.ts +33 -0
- package/src/plugin/plan-manager.ts +594 -0
- package/src/plugin/runtime.ts +9 -0
- package/src/plugin/session-history.ts +838 -0
- package/src/plugin/session-log-watcher.ts +221 -0
- package/src/plugin/soul-prompt-template.ts +290 -0
- package/src/plugin/subagent-tracker.ts +205 -0
- package/src/plugin/tools.ts +493 -0
- package/src/plugin/town-session.ts +40 -0
- package/src/plugin/ws-server.ts +680 -0
- package/src/town-souls.ts +134 -0
- package/town-frontend/dist/assets/CustomAssetStore-oi8aIurt.js +2 -0
- package/town-frontend/dist/assets/GLTFLoader-BA5RqSME.js +3804 -0
- package/town-frontend/dist/assets/OrbitControls-ZmySp9sQ.js +2 -0
- package/town-frontend/dist/assets/SettingsPanel-BO52reJe.js +2 -0
- package/town-frontend/dist/assets/SkeletonUtils-BCVmgslc.js +2 -0
- package/town-frontend/dist/assets/SkillLearnCard-Dk38iDpy.js +6 -0
- package/town-frontend/dist/assets/TopicSetupPanel-DLaLHB_Z.js +2 -0
- package/town-frontend/dist/assets/Trap-Bold-CT0JBE39.woff2 +0 -0
- package/town-frontend/dist/assets/Trap-SemiBold-R4_-Ld0j.woff2 +0 -0
- package/town-frontend/dist/assets/WeatherSystem-Cb3BvHes.js +550 -0
- package/town-frontend/dist/assets/avatars/char-female-a.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-female-b.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-female-c.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-female-d.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-female-e.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-female-f.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-male-a.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-male-b.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-male-c.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-male-d.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-male-e.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-male-f.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-pet-beaver.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-pet-bee.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-pet-bunny.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-pet-cat.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-pet-caterpillar.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-pet-chick.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-pet-cow.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-pet-crab.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-pet-deer.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-pet-dog.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-pet-elephant.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-pet-fish.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-pet-fox.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-pet-giraffe.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-pet-hog.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-pet-koala.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-pet-lion.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-pet-monkey.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-pet-panda.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-pet-parrot.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-pet-penguin.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-pet-pig.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-pet-polar.webp +0 -0
- package/town-frontend/dist/assets/avatars/char-pet-tiger.webp +0 -0
- package/town-frontend/dist/assets/character-catalog-DSmLtlNC.js +2 -0
- package/town-frontend/dist/assets/citizenEditor-DubGSJOQ.js +296 -0
- package/town-frontend/dist/assets/command-parser-BUd15Bmv.js +12 -0
- package/town-frontend/dist/assets/editor-B5QO0OtX.js +258 -0
- package/town-frontend/dist/assets/editor-Bk8g1NCD.css +1 -0
- package/town-frontend/dist/assets/index-BWfrufil.js +2 -0
- package/town-frontend/dist/assets/index-faS20RJk.js +6 -0
- package/town-frontend/dist/assets/logo-DJI6EtST.png +0 -0
- package/town-frontend/dist/assets/logo-title-AdKPZX5E.png +0 -0
- package/town-frontend/dist/assets/main-CqsN43aT.js +224 -0
- package/town-frontend/dist/assets/main-D7neuy3w.css +1 -0
- package/town-frontend/dist/assets/models/buildings/base.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/base.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/bench.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/bench.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/box_A.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/box_A.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/box_B.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/box_B.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/building_A.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/building_A.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/building_A_withoutBase.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/building_A_withoutBase.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/building_B.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/building_B.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/building_B_withoutBase.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/building_B_withoutBase.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/building_C.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/building_C.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/building_C_withoutBase.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/building_C_withoutBase.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/building_D.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/building_D.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/building_D_withoutBase.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/building_D_withoutBase.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/building_E.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/building_E.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/building_E_withoutBase.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/building_E_withoutBase.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/building_F.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/building_F.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/building_F_withoutBase.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/building_F_withoutBase.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/building_G.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/building_G.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/building_G_withoutBase.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/building_G_withoutBase.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/building_H.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/building_H.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/building_H_withoutBase.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/building_H_withoutBase.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/bush.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/bush.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/car_hatchback.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/car_hatchback.gltf +442 -0
- package/town-frontend/dist/assets/models/buildings/car_police.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/car_police.gltf +442 -0
- package/town-frontend/dist/assets/models/buildings/car_sedan.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/car_sedan.gltf +442 -0
- package/town-frontend/dist/assets/models/buildings/car_stationwagon.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/car_stationwagon.gltf +442 -0
- package/town-frontend/dist/assets/models/buildings/car_taxi.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/car_taxi.gltf +442 -0
- package/town-frontend/dist/assets/models/buildings/citybits_texture.png +0 -0
- package/town-frontend/dist/assets/models/buildings/dumpster.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/dumpster.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/firehydrant.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/firehydrant.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/road_corner.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/road_corner.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/road_corner_curved.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/road_corner_curved.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/road_junction.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/road_junction.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/road_straight.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/road_straight.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/road_straight_crossing.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/road_straight_crossing.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/road_tsplit.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/road_tsplit.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/streetlight.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/streetlight.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/trafficlight_A.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/trafficlight_A.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/trafficlight_B.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/trafficlight_B.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/trafficlight_C.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/trafficlight_C.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/trash_A.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/trash_A.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/trash_B.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/trash_B.gltf +136 -0
- package/town-frontend/dist/assets/models/buildings/watertower.bin +0 -0
- package/town-frontend/dist/assets/models/buildings/watertower.gltf +136 -0
- package/town-frontend/dist/assets/models/characters/Textures/colormap.png +0 -0
- package/town-frontend/dist/assets/models/characters/character-female-a.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-female-b.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-female-c.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-female-d.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-female-e.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-female-f.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-male-a.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-male-b.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-male-c.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-male-d.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-male-e.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-male-f.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-pet-beaver.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-pet-bee.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-pet-bunny.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-pet-cat.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-pet-caterpillar.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-pet-chick.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-pet-cow.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-pet-crab.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-pet-deer.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-pet-dog.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-pet-elephant.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-pet-fish.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-pet-fox.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-pet-giraffe.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-pet-hog.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-pet-koala.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-pet-lion.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-pet-monkey.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-pet-panda.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-pet-parrot.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-pet-penguin.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-pet-pig.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-pet-polar.glb +0 -0
- package/town-frontend/dist/assets/models/characters/character-pet-tiger.glb +0 -0
- package/town-frontend/dist/assets/models/characters/colormap.png +0 -0
- package/town-frontend/dist/assets/models/furniture/armchair.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/armchair.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/armchair_pillows.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/armchair_pillows.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/bed_double_A.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/bed_double_A.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/bed_double_B.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/bed_double_B.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/bed_single_A.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/bed_single_A.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/bed_single_B.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/bed_single_B.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/book_set.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/book_set.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/book_single.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/book_single.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/cabinet_medium.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/cabinet_medium.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/cabinet_medium_decorated.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/cabinet_medium_decorated.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/cabinet_small.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/cabinet_small.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/cabinet_small_decorated.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/cabinet_small_decorated.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/cactus_medium_A.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/cactus_medium_A.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/cactus_medium_B.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/cactus_medium_B.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/cactus_small_A.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/cactus_small_A.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/cactus_small_B.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/cactus_small_B.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/chair_A.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/chair_A.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/chair_A_wood.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/chair_A_wood.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/chair_B.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/chair_B.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/chair_B_wood.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/chair_B_wood.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/chair_C.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/chair_C.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/chair_stool.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/chair_stool.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/chair_stool_wood.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/chair_stool_wood.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/couch.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/couch.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/couch_pillows.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/couch_pillows.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/furniturebits_texture.png +0 -0
- package/town-frontend/dist/assets/models/furniture/lamp_standing.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/lamp_standing.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/lamp_table.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/lamp_table.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/pictureframe_large_A.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/pictureframe_large_A.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/pictureframe_large_B.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/pictureframe_large_B.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/pictureframe_medium.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/pictureframe_medium.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/pictureframe_small_A.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/pictureframe_small_A.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/pictureframe_small_B.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/pictureframe_small_B.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/pictureframe_small_C.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/pictureframe_small_C.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/pictureframe_standing_A.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/pictureframe_standing_A.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/pictureframe_standing_B.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/pictureframe_standing_B.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/pillow_A.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/pillow_A.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/pillow_B.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/pillow_B.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/rug_oval_A.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/rug_oval_A.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/rug_oval_B.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/rug_oval_B.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/rug_rectangle_A.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/rug_rectangle_A.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/rug_rectangle_B.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/rug_rectangle_B.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/rug_rectangle_stripes_A.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/rug_rectangle_stripes_A.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/rug_rectangle_stripes_B.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/rug_rectangle_stripes_B.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/shelf_A_big.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/shelf_A_big.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/shelf_A_small.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/shelf_A_small.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/shelf_B_large.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/shelf_B_large.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/shelf_B_large_decorated.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/shelf_B_large_decorated.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/shelf_B_small.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/shelf_B_small.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/shelf_B_small_decorated.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/shelf_B_small_decorated.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/table_low.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/table_low.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/table_medium.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/table_medium.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/table_medium_long.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/table_medium_long.gltf +136 -0
- package/town-frontend/dist/assets/models/furniture/table_small.bin +0 -0
- package/town-frontend/dist/assets/models/furniture/table_small.gltf +136 -0
- package/town-frontend/dist/assets/models/props/bench.bin +0 -0
- package/town-frontend/dist/assets/models/props/bench.gltf +136 -0
- package/town-frontend/dist/assets/models/props/bush.bin +0 -0
- package/town-frontend/dist/assets/models/props/bush.gltf +136 -0
- package/town-frontend/dist/assets/models/props/capybara.glb +0 -0
- package/town-frontend/dist/assets/models/props/car_hatchback.bin +0 -0
- package/town-frontend/dist/assets/models/props/car_hatchback.gltf +442 -0
- package/town-frontend/dist/assets/models/props/car_sedan.bin +0 -0
- package/town-frontend/dist/assets/models/props/car_sedan.gltf +442 -0
- package/town-frontend/dist/assets/models/props/car_taxi.bin +0 -0
- package/town-frontend/dist/assets/models/props/car_taxi.gltf +442 -0
- package/town-frontend/dist/assets/models/props/citybits_texture.png +0 -0
- package/town-frontend/dist/assets/models/props/dumpster.bin +0 -0
- package/town-frontend/dist/assets/models/props/dumpster.gltf +136 -0
- package/town-frontend/dist/assets/models/props/firehydrant.bin +0 -0
- package/town-frontend/dist/assets/models/props/firehydrant.gltf +136 -0
- package/town-frontend/dist/assets/models/props/streetlight.bin +0 -0
- package/town-frontend/dist/assets/models/props/streetlight.gltf +136 -0
- package/town-frontend/dist/assets/models/props/trafficlight_A.bin +0 -0
- package/town-frontend/dist/assets/models/props/trafficlight_A.gltf +136 -0
- package/town-frontend/dist/assets/models/props/trash_A.bin +0 -0
- package/town-frontend/dist/assets/models/props/trash_A.gltf +136 -0
- package/town-frontend/dist/assets/models/props/watertower.bin +0 -0
- package/town-frontend/dist/assets/models/props/watertower.gltf +136 -0
- package/town-frontend/dist/assets/models/stage-deco/Flowers_1_D.glb +0 -0
- package/town-frontend/dist/assets/models/stage-deco/Flowers_2_B.glb +0 -0
- package/town-frontend/dist/assets/models/stage-deco/Grass_A_1.glb +0 -0
- package/town-frontend/dist/assets/models/stage-deco/Park_GrassHill_A.glb +0 -0
- package/town-frontend/dist/assets/models/stage-deco/Pebles_1_A_2.glb +0 -0
- package/town-frontend/dist/assets/music/bgm_day.mp3 +0 -0
- package/town-frontend/dist/assets/music/bgm_dusk.mp3 +0 -0
- package/town-frontend/dist/assets/music/bgm_night.mp3 +0 -0
- package/town-frontend/dist/assets/music/bgm_work.mp3 +0 -0
- package/town-frontend/dist/assets/office-whiteboard-idle-CyEwBrq_.webp +0 -0
- package/town-frontend/dist/assets/preview-B6hYEQij.js +2 -0
- package/town-frontend/dist/assets/town-BKesnERP.js +8888 -0
- package/town-frontend/dist/assets/town-BnswKsjF.css +1 -0
- package/town-frontend/dist/citizen-editor.html +166 -0
- package/town-frontend/dist/editor.html +227 -0
- package/town-frontend/dist/index.html +22 -0
- package/town-frontend/dist/preview.html +56 -0
- package/town-frontend/dist/town.html +165 -0
- package/town-frontend/dist/viewer.html +91 -0
- package/town-souls/CHEN.md +130 -0
- package/town-souls/CHENGZI.md +92 -0
- package/town-souls/CITIZEN_tpl.md +16 -0
- package/town-souls/DIANDIAN.md +92 -0
- package/town-souls/HAITANG.md +94 -0
- package/town-souls/QIQI.md +119 -0
- package/town-souls/SOUL.md +141 -0
- package/town-souls/SOUL_tpl.md +135 -0
- package/town-souls/XIAOLIE.md +107 -0
- package/town-souls/YAN.md +107 -0
- package/town-workspace/IDENTITY.md +5 -0
- package/town-workspace/SOUL.md +141 -0
- package/town-workspace/project-workflow.md +81 -0
- package/town-workspace/town-defaults.json +92 -0
- package/town-workspace/town-guide.md +45 -0
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
var we=Object.defineProperty;var Me=(C,e,t)=>e in C?we(C,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):C[e]=t;var p=(C,e,t)=>Me(C,typeof e!="symbol"?e+"":e,t);import{g as u,i as Le,t as te}from"./index-BWfrufil.js";/* empty css */import{E as Oe,T as Ce,a as se,g as U,c as Re,b as Te,d as He,C as Ie}from"./CustomAssetStore-oi8aIurt.js";import{V as w,q as Ne,o as oe,G as V,R as We,p as ze,W as me,P as Xe,S as pe,C as _e,F as Ke,O as Ve,b as Pe,A as ye,D as ae,H as Je,d as Ee,k as ge,M as X,r as Se,s as be,i as z,t as Be,u as $e,g as Y,l as Z,v as Ze,w as qe,x as Fe,h as xe}from"./GLTFLoader-BA5RqSME.js";import{O as De}from"./OrbitControls-ZmySp9sQ.js";import"./SkeletonUtils-BCVmgslc.js";const Ue=50;class Ye{constructor(e){p(this,"undoStack",[]);p(this,"redoStack",[]);p(this,"onChange");this.onChange=e}push(e){var t;e.execute(),this.undoStack.push(e),this.undoStack.length>Ue&&this.undoStack.shift(),this.redoStack.length=0,(t=this.onChange)==null||t.call(this)}undo(){var t;const e=this.undoStack.pop();e&&(e.undo(),this.redoStack.push(e),(t=this.onChange)==null||t.call(this))}redo(){var t;const e=this.redoStack.pop();e&&(e.execute(),this.undoStack.push(e),(t=this.onChange)==null||t.call(this))}get canUndo(){return this.undoStack.length>0}get canRedo(){return this.redoStack.length>0}clear(){var e;this.undoStack.length=0,this.redoStack.length=0,(e=this.onChange)==null||e.call(this)}}const j="agentshire_map_draft",je=2e3;class Qe{constructor(){p(this,"timer",null)}saveDraft(e){this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{try{const t=JSON.stringify(e);localStorage.setItem(j,t)}catch{}},je)}saveImmediate(e){this.timer&&clearTimeout(this.timer);try{localStorage.setItem(j,JSON.stringify(e))}catch{}}loadDraft(){try{const e=localStorage.getItem(j);if(!e)return null;const t=JSON.parse(e);return this.sanitizeConfig(t),t}catch{return null}}sanitizeConfig(e){const t=l=>!l||l.startsWith("blob:");e.buildings=e.buildings.filter(l=>!t(l.modelUrl)),e.props=e.props.filter(l=>!t(l.modelUrl)),e.roads=e.roads.filter(l=>!t(l.modelUrl)),Array.isArray(e.groups)||(e.groups=[])}hasDraft(){return localStorage.getItem(j)!==null}clearDraft(){localStorage.removeItem(j)}exportJSON(e){const t=new Blob([JSON.stringify(e,null,2)],{type:"application/json"}),l=URL.createObjectURL(t),a=document.createElement("a");a.href=l,a.download="town-map.json",a.click(),URL.revokeObjectURL(l)}importJSON(){return new Promise(e=>{const t=document.createElement("input");t.type="file",t.accept=".json",t.onchange=async()=>{var a;const l=(a=t.files)==null?void 0:a[0];if(!l){e(null);return}try{const o=await l.text();e(JSON.parse(o))}catch{e(null)}},t.click()})}}const ke=8900331,et=54527,Ae=54527,ve=16755234,re=4473958,K=class K{constructor(e,t){p(this,"container");p(this,"editor");p(this,"renderer");p(this,"scene");p(this,"orthoCamera");p(this,"perspCamera");p(this,"activeCamera");p(this,"isPerspective",!1);p(this,"assets");p(this,"customStore",null);p(this,"orbitTarget",new w);p(this,"orbitSpherical",new Ne(30,Math.PI/4,Math.PI/4));p(this,"isOrbiting",!1);p(this,"orbitStart",new oe);p(this,"groundGroup",new V);p(this,"modelGroup",new V);p(this,"overlayGroup",new V);p(this,"terrainMeshes",[]);p(this,"gridHelper",null);p(this,"modelMap",new Map);p(this,"selectionBoxes",[]);p(this,"lightHelpers",[]);p(this,"doorMarkers",new Map);p(this,"raycaster",new We);p(this,"mouse",new oe);p(this,"groundPlane",new ze(new w(0,1,0),0));p(this,"isPanning",!1);p(this,"panStart",new oe);p(this,"cameraStart",new w);p(this,"isDragging",!1);p(this,"dragItem",null);p(this,"dragStartGrid",{x:0,z:0});p(this,"dragMouseStartGrid",{x:0,z:0});p(this,"dragMouseStartPx",{x:0,y:0});p(this,"dragActivated",!1);p(this,"multiDragStarts",new Map);p(this,"isMarquee",!1);p(this,"marqueeStartPx",{x:0,y:0});p(this,"marqueeDiv",null);p(this,"isInsideGroup",!1);p(this,"activeGroupId",null);p(this,"isBrushing",!1);p(this,"activeTerrain","grass");p(this,"ghostModel",null);p(this,"ghostEntry",null);p(this,"ghostRotation",0);p(this,"isSpaceDown",!1);p(this,"zoom",1);p(this,"snapSourceItem",null);p(this,"snapCallback",null);p(this,"snapHandler",null);p(this,"animate",()=>{requestAnimationFrame(this.animate);for(const e of this.selectionBoxes)e.update();this.renderer.render(this.scene,this.activeCamera)});this.container=e,this.editor=t,this.assets=new Oe,this.initRenderer(),this.initScene(),this.initCamera(),this.initLighting(),this.initMouse(),this.animate()}async loadAssets(e){}initRenderer(){this.renderer=new me({antialias:!0}),this.renderer.setPixelRatio(Math.min(devicePixelRatio,2)),this.renderer.setSize(this.container.clientWidth,this.container.clientHeight),this.renderer.shadowMap.enabled=!0,this.renderer.shadowMap.type=Xe,this.container.appendChild(this.renderer.domElement),new ResizeObserver(()=>{const t=this.container.clientWidth,l=this.container.clientHeight;this.renderer.setSize(t,l),this.updateCameraFrustum()}).observe(this.container)}initScene(){this.scene=new pe,this.scene.background=new _e(ke),this.scene.fog=new Ke(ke,60,120),this.scene.add(this.groundGroup),this.scene.add(this.modelGroup),this.scene.add(this.overlayGroup)}initCamera(){const{cols:e,rows:t}=this.editor.config.grid;this.orthoCamera=new Ve(-1,1,1,-1,.1,200),this.orthoCamera.position.set(e/2,40,t/2+15),this.orthoCamera.lookAt(e/2,0,t/2),this.perspCamera=new Pe(42,this.container.clientWidth/this.container.clientHeight,.1,300),this.orbitTarget.set(e/2,0,t/2),this.orbitSpherical.set(35,Math.PI/3.5,Math.PI/4),this.updatePerspFromSpherical(),this.activeCamera=this.orthoCamera,this.updateCameraFrustum()}updateCameraFrustum(){const e=this.container.clientWidth,t=this.container.clientHeight,l=e/t,a=18/this.zoom,o=a*l;this.orthoCamera.left=-o,this.orthoCamera.right=o,this.orthoCamera.top=a,this.orthoCamera.bottom=-a,this.orthoCamera.updateProjectionMatrix(),this.perspCamera.aspect=l,this.perspCamera.updateProjectionMatrix()}updatePerspFromSpherical(){const e=new w().setFromSpherical(this.orbitSpherical).add(this.orbitTarget);this.perspCamera.position.copy(e),this.perspCamera.lookAt(this.orbitTarget)}toggleCamera(){if(this.isPerspective=!this.isPerspective,this.isPerspective){const{cols:e,rows:t}=this.editor.config.grid;this.orbitTarget.set(e/2,0,t/2),this.orbitSpherical.set(35,Math.PI/3.5,Math.PI/4),this.updatePerspFromSpherical(),this.activeCamera=this.perspCamera}else this.activeCamera=this.orthoCamera;return this.isPerspective}initLighting(){const e=new ye(16777215,.6);this.scene.add(e);const t=new ae(16777215,.8);t.position.set(20,30,20),t.castShadow=!0,t.shadow.mapSize.set(2048,2048),t.shadow.camera.left=-40,t.shadow.camera.right=40,t.shadow.camera.top=40,t.shadow.camera.bottom=-40,this.scene.add(t);const l=new Je(8900331,5596723,.4);this.scene.add(l)}buildGround(){var o,r;this.groundGroup.clear(),this.terrainMeshes=[];const{cols:e,rows:t}=this.editor.config.grid,l=this.editor.config.terrain,a=new Ee(1,1);for(let s=0;s<t;s++){const n=[];for(let c=0;c<e;c++){const i=((r=(o=l[s])==null?void 0:o[c])==null?void 0:r.type)??"grass",m=new ge({color:Ce[i]}),g=new X(a,m);g.rotation.x=-Math.PI/2,g.position.set(c+.5,0,s+.5),g.receiveShadow=!0,g.userData={terrain:!0,col:c,row:s},this.groundGroup.add(g),n.push(g)}this.terrainMeshes.push(n)}this.gridHelper&&this.scene.remove(this.gridHelper),this.gridHelper=new Se(Math.max(e,t),Math.max(e,t),re,re),this.gridHelper.position.set(e/2,.01,t/2),this.gridHelper.material=new be({color:re,transparent:!0,opacity:.3}),this.scene.add(this.gridHelper)}updateTerrainCell(e,t,l){var o;const a=(o=this.terrainMeshes[t])==null?void 0:o[e];a&&a.material.color.setHex(Ce[l])}rebuildModels(){this.modelGroup.clear(),this.modelMap.clear(),this.doorMarkers.clear();const e=this.editor.config;for(const t of e.buildings)this.addModelForBuilding(t);for(const t of e.props)this.addModelForProp(t);for(const t of e.roads)this.addModelForRoad(t)}async loadModelByUrl(e){if(!e)return null;const t=this.customStore?this.customStore.resolveModelUrl(e):e;return this.assets.loadModel(t)}wrapWithFixRotation(e,t,l,a){if(!t&&!l&&!a)return e;const o=new V,r=new V;for(t&&(r.rotation.x=t*Math.PI/180),l&&(r.rotation.y=l*Math.PI/180),a&&(r.rotation.z=a*Math.PI/180);e.children.length>0;)r.add(e.children[0]);return o.add(r),o.userData=e.userData,o}groundModel(e,t=0){e.position.y=0;const l=new z().setFromObject(e);e.position.y=t-Math.min(l.min.y,0)}addModelForBuilding(e){this.loadModelByUrl(e.modelUrl).then(t=>{if(!t)return;const l=this.wrapWithFixRotation(t,e.fixRotationX,e.fixRotationY,e.fixRotationZ);l.scale.setScalar(e.scale??1),l.rotation.y=e.rotationY*Math.PI/180,l.position.set(e.gridX+e.widthCells/2,0,e.gridZ+e.depthCells/2),this.groundModel(l,e.elevation??0),l.userData={itemId:e.id,kind:"building"},this.modelGroup.add(l),this.modelMap.set(e.id,l),this.updateDoorMarker(e)}).catch(t=>console.warn("[EditorScene] loadModel building failed:",t))}addModelForProp(e){this.loadModelByUrl(e.modelUrl).then(t=>{if(!t)return;const l=this.wrapWithFixRotation(t,e.fixRotationX,e.fixRotationY,e.fixRotationZ);l.scale.setScalar(e.scale??1),l.rotation.y=e.rotationY*Math.PI/180,l.position.set(e.gridX+.5,0,e.gridZ+.5),this.groundModel(l,e.elevation??0),l.userData={itemId:e.id,kind:"prop"},this.modelGroup.add(l),this.modelMap.set(e.id,l)}).catch(t=>console.warn("[EditorScene] loadModel prop failed:",t))}addModelForRoad(e){this.loadModelByUrl(e.modelUrl).then(t=>{if(!t)return;const l=this.wrapWithFixRotation(t,e.fixRotationX,e.fixRotationY,e.fixRotationZ),a=e.scale??1;l.scale.setScalar(a),l.rotation.y=e.rotationY*Math.PI/180,l.position.set(e.gridX+1,0,e.gridZ+1),this.groundModel(l,e.elevation??0),l.userData={itemId:e.id,kind:"road"},this.modelGroup.add(l),this.modelMap.set(e.id,l)}).catch(t=>console.warn("[EditorScene] loadModel road failed:",t))}removeModel(e){const t=this.modelMap.get(e);t&&(this.modelGroup.remove(t),this.modelMap.delete(e));const l=this.doorMarkers.get(e);l&&(this.overlayGroup.remove(l),this.doorMarkers.delete(e))}updateModelTransform(e){const t=this.modelMap.get(e.data.id);if(!t)return;const l=e.data,a=l.flipX?-1:1,o=l.flipZ?-1:1;if(e.kind==="building"){const r=e.data,s=r.scale??1;t.position.set(r.gridX+r.widthCells/2,0,r.gridZ+r.depthCells/2),t.rotation.y=r.rotationY*Math.PI/180,t.scale.set(s*a,s,s*o),this.groundModel(t,r.elevation??0),this.updateDoorMarker(r)}else if(e.kind==="prop"){const r=e.data,s=r.scale??1;t.position.set(r.gridX+.5,0,r.gridZ+.5),t.rotation.y=r.rotationY*Math.PI/180,t.scale.set(s*a,s,s*o),this.groundModel(t,r.elevation??0)}else{const r=e.data,s=r.scale??1;t.position.set(r.gridX+1,0,r.gridZ+1),t.rotation.y=r.rotationY*Math.PI/180,t.scale.set(s*a,s,s*o),this.groundModel(t,r.elevation??0)}}updateDoorMarker(e){let t=this.doorMarkers.get(e.id);if(!(this.editor.config.bindings.office===e.id)){t&&(this.overlayGroup.remove(t),this.doorMarkers.delete(e.id));return}if(!t){const c=new Be(.3,.6,8),i=new ge({color:ve,emissive:ve,emissiveIntensity:.5});t=new X(c,i),this.overlayGroup.add(t),this.doorMarkers.set(e.id,t)}const a=e.gridX+e.widthCells/2,o=e.gridZ+e.depthCells/2,r={south:[0,e.depthCells/2+.5],north:[0,-(e.depthCells/2+.5)],east:[e.widthCells/2+.5,0],west:[-(e.widthCells/2+.5),0]},[s,n]=r[e.doorSide]??[0,e.depthCells/2+.5];t.position.set(a+s,1.5,o+n),t.rotation.x=Math.PI}setSelection(e){for(const l of this.selectionBoxes)this.overlayGroup.remove(l);this.selectionBoxes=[];const t=e===null?[]:Array.isArray(e)?e:[e];for(const l of t){const a=this.modelMap.get(l.data.id);if(!a)continue;const o=new $e(a,et);this.overlayGroup.add(o),this.selectionBoxes.push(o)}this.updateLightHelpers(t)}updateLightHelpers(e){var a;for(const o of this.lightHelpers)(a=o.parent)==null||a.remove(o),o.geometry.dispose(),o.material.dispose();this.lightHelpers=[];const t=new Y(.15,8,8),l=new Z({color:16768324,transparent:!0,opacity:.7});for(const o of e){const r=o.data.lights;if(!r||r.length===0)continue;const s=this.modelMap.get(o.data.id);if(s)for(const n of r){const c=new X(t.clone(),l.clone());c.position.set(n.offsetX,n.offsetY,n.offsetZ),s.add(c),this.lightHelpers.push(c)}}}setGhost(e){if(this.clearGhost(),!e){this.ghostEntry=null;return}if(this.ghostEntry=e,this.ghostRotation=0,!e.url)return;const t=this.customStore?this.customStore.resolveModelUrl(e.url):e.url;this.assets.loadModel(t).then(l=>{var o;if(!l||((o=this.ghostEntry)==null?void 0:o.key)!==e.key)return;const a=this.wrapWithFixRotation(l,e.fixRotationX,e.fixRotationY,e.fixRotationZ);this.ghostModel=a,a.scale.setScalar(e.defaultScale??1),a.rotation.y=this.ghostRotation*Math.PI/180;try{let r=0;a.traverse(s=>{if(s.isMesh){r++;const n=s;if(Array.isArray(n.material))n.material=n.material.map(c=>{const i=c.clone();return i.transparent=!0,i.opacity=.5,i.color.setHex(Ae),i});else{const c=n.material.clone();c.transparent=!0,c.opacity=.5,c.color.setHex(Ae),n.material=c}}}),console.log("[ghost] 3. traverse done, meshes:",r)}catch(r){console.warn("[setGhost] traverse error:",r)}a.visible=!1,this.overlayGroup.add(a)}).catch(()=>{})}rotateGhost(){this.ghostRotation=(this.ghostRotation+90)%360,this.ghostModel&&(this.ghostModel.rotation.y=this.ghostRotation*Math.PI/180)}get currentGhostEntry(){return this.ghostEntry}get currentGhostRotation(){return this.ghostRotation}clearGhost(){this.ghostModel&&(this.overlayGroup.remove(this.ghostModel),this.ghostModel=null)}updateGhostPosition(e,t){if(!this.ghostModel||!this.ghostEntry)return;this.ghostModel.visible=!0;const l=this.ghostEntry,a=l.assetType,o=a==="building"||a.includes("building")||l.category==="buildings",r=a==="road"||a.includes("road")||a.includes("parking")||l.category==="roads";o?this.ghostModel.position.set(e+l.cells[0]/2,0,t+l.cells[1]/2):r?this.ghostModel.position.set(e+1,0,t+1):this.ghostModel.position.set(e+.5,0,t+.5)}getGroundPoint(e){const t=this.renderer.domElement.getBoundingClientRect();this.mouse.x=(e.clientX-t.left)/t.width*2-1,this.mouse.y=-((e.clientY-t.top)/t.height)*2+1,this.raycaster.setFromCamera(this.mouse,this.activeCamera);const l=new w;return this.raycaster.ray.intersectPlane(this.groundPlane,l)?l:null}hitTestModel(e){var r,s;const t=this.getGroundPoint(e),l=this.renderer.domElement.getBoundingClientRect();this.mouse.x=(e.clientX-l.left)/l.width*2-1,this.mouse.y=-((e.clientY-l.top)/l.height)*2+1,this.raycaster.setFromCamera(this.mouse,this.activeCamera);const a=this.editor.config,o=this.raycaster.intersectObjects(this.modelGroup.children,!0);if(o.length>0&&t){const n=t.x,c=t.z,i=[],m=new Set;for(const g of o){let d=g.object;for(;d&&!((r=d.userData)!=null&&r.itemId);)d=d.parent;if(!((s=d==null?void 0:d.userData)!=null&&s.itemId))continue;const _=d.userData.itemId;if(m.has(_))continue;m.add(_);const P=d.userData.kind;let R=null;if(P==="building"){const S=a.buildings.find(y=>y.id===_);S&&(R={kind:"building",data:S})}else if(P==="prop"){const S=a.props.find(y=>y.id===_);S&&(R={kind:"prop",data:S})}else if(P==="road"){const S=a.roads.find(y=>y.id===_);S&&(R={kind:"road",data:S})}if(R){const S=R.data;let y,E;if(R.kind==="building"){const v=S;y=v.gridX+v.widthCells/2,E=v.gridZ+v.depthCells/2}else R.kind==="road"?(y=S.gridX+1,E=S.gridZ+1):(y=S.gridX+.5,E=S.gridZ+.5);const b=(n-y)**2+(c-E)**2;i.push({item:R,dist:b})}}if(i.length>0)return i.sort((g,d)=>g.dist-d.dist),i[0].item}return null}initMouse(){const e=this.renderer.domElement;e.addEventListener("mousedown",t=>this.onMouseDown(t)),e.addEventListener("mousemove",t=>this.onMouseMove(t)),e.addEventListener("mouseup",t=>this.onMouseUp(t)),e.addEventListener("dblclick",t=>this.onDoubleClick(t)),e.addEventListener("wheel",t=>this.onWheel(t),{passive:!1}),e.addEventListener("contextmenu",t=>t.preventDefault()),window.addEventListener("keydown",t=>{t.code==="Space"&&!this.isSpaceDown&&(this.isSpaceDown=!0,e.style.cursor="grab",t.preventDefault())}),window.addEventListener("keyup",t=>{t.code==="Space"&&(this.isSpaceDown=!1,this.isPanning||(e.style.cursor=""))})}startPan(e){this.isPanning=!0,this.panStart.set(e.clientX,e.clientY),this.cameraStart.copy(this.isPerspective?this.orbitTarget:this.orthoCamera.position),this.renderer.domElement.style.cursor="grabbing"}onMouseDown(e){if(e.button===0&&this.isSpaceDown){this.startPan(e);return}if(e.button===2||e.button===0&&e.altKey){this.isPerspective&&(this.isOrbiting=!0,this.orbitStart.set(e.clientX,e.clientY));return}if(e.button===1){this.startPan(e);return}if(e.button!==0)return;const t=this.editor.activeTool,l=this.getGroundPoint(e);if(!l)return;const a=Math.floor(l.x),o=Math.floor(l.z);if(t==="terrain"){this.isBrushing=!0,this.brushTerrain(a,o);return}if(t==="erase"){const s=this.hitTestModel(e);s&&(this.editor.setSelection(s),this.editor.deleteSelected());return}if(this.ghostEntry&&this.ghostModel){this.placeAsset(this.ghostEntry,a,o);return}const r=this.hitTestModel(e);if(r){const s=this.findGroupForItem(r.data.id);if(s&&!this.isInsideGroup){const n=this.getGroupItems(s);if(e.shiftKey){const c=[...this.editor.selectedItems];c.some(m=>s.memberIds.includes(m.data.id))?this.editor.setSelection(c.filter(m=>!s.memberIds.includes(m.data.id))):this.editor.setSelection([...c,...n])}else this.editor.setSelection(n)}else if(e.shiftKey){const n=[...this.editor.selectedItems],c=n.findIndex(i=>i.data.id===r.data.id);c>=0?(n.splice(c,1),this.editor.setSelection(n)):this.editor.setSelection([...n,r])}else this.editor.selectedItems.some(c=>c.data.id===r.data.id)||this.editor.setSelection(r);this.isDragging=!0,this.dragActivated=!1,this.dragItem=r,this.dragStartGrid={x:r.data.gridX,z:r.data.gridZ},this.dragMouseStartGrid={x:a,z:o},this.dragMouseStartPx={x:e.clientX,y:e.clientY},this.multiDragStarts.clear();for(const n of this.editor.selectedItems)this.multiDragStarts.set(n.data.id,{x:n.data.gridX,z:n.data.gridZ})}else e.shiftKey||this.editor.setSelection(null),this.isMarquee=!0,this.marqueeStartPx={x:e.clientX,y:e.clientY},this.marqueeDiv||(this.marqueeDiv=document.createElement("div"),this.marqueeDiv.className="editor-marquee",this.container.appendChild(this.marqueeDiv)),this.marqueeDiv.style.display="none"}onDoubleClick(e){if(e.button!==0)return;const t=this.hitTestModel(e);if(!t){if(this.isInsideGroup){this.exitGroup();const a=this.editor.selectedItems;if(a.length>0){const o=this.findGroupForItem(a[0].data.id);o&&this.editor.setSelection(this.getGroupItems(o))}}return}const l=this.findGroupForItem(t.data.id);l&&!this.isInsideGroup&&(this.enterGroup(l.id),this.editor.setSelection(t))}onMouseMove(e){const t=this.getGroundPoint(e);if(this.isOrbiting){const r=(e.clientX-this.orbitStart.x)*.005,s=(e.clientY-this.orbitStart.y)*.005;this.orbitSpherical.theta-=r,this.orbitSpherical.phi=Math.max(.15,Math.min(Math.PI/2.1,this.orbitSpherical.phi+s)),this.orbitStart.set(e.clientX,e.clientY),this.updatePerspFromSpherical();return}if(this.isPanning){if(this.isPerspective){const r=new w().setFromMatrixColumn(this.perspCamera.matrixWorld,0),s=new w().crossVectors(r,new w(0,1,0)).normalize(),n=(e.clientX-this.panStart.x)*.05,c=(e.clientY-this.panStart.y)*.05;this.orbitTarget.copy(this.cameraStart).addScaledVector(r,-n).addScaledVector(s,-c),this.orbitTarget.y=0,this.updatePerspFromSpherical()}else{const r=(e.clientX-this.panStart.x)*.05/this.zoom,s=(e.clientY-this.panStart.y)*.05/this.zoom;this.orthoCamera.position.x=this.cameraStart.x-r,this.orthoCamera.position.z=this.cameraStart.z-s}return}if(!t)return;const l=Math.floor(t.x),a=Math.floor(t.z),o=document.getElementById("status-cursor");if(o&&(o.textContent=`(${l}, ${a})`),this.isBrushing){this.brushTerrain(l,a);return}if(this.isDragging&&this.dragItem){if(!this.dragActivated){const n=e.clientX-this.dragMouseStartPx.x,c=e.clientY-this.dragMouseStartPx.y;if(n*n+c*c<K.DRAG_THRESHOLD_PX*K.DRAG_THRESHOLD_PX)return;this.dragActivated=!0}const r=l-this.dragMouseStartGrid.x,s=a-this.dragMouseStartGrid.z;if(r===0&&s===0)return;for(const n of this.editor.selectedItems){const c=this.multiDragStarts.get(n.data.id);if(!c)continue;const i=c.x+r,m=c.z+s;(n.data.gridX!==i||n.data.gridZ!==m)&&(n.data.gridX=i,n.data.gridZ=m,this.updateModelTransform(n))}this.setSelection(this.editor.selectedItems);return}if(this.isMarquee&&this.marqueeDiv){const r=this.container.getBoundingClientRect(),s=Math.min(this.marqueeStartPx.x,e.clientX)-r.left,n=Math.min(this.marqueeStartPx.y,e.clientY)-r.top,c=Math.max(this.marqueeStartPx.x,e.clientX)-r.left,i=Math.max(this.marqueeStartPx.y,e.clientY)-r.top,m=e.clientX-this.marqueeStartPx.x,g=e.clientY-this.marqueeStartPx.y;m*m+g*g>K.DRAG_THRESHOLD_PX*K.DRAG_THRESHOLD_PX&&(this.marqueeDiv.style.display="block",this.marqueeDiv.style.left=`${s}px`,this.marqueeDiv.style.top=`${n}px`,this.marqueeDiv.style.width=`${c-s}px`,this.marqueeDiv.style.height=`${i-n}px`);return}this.ghostModel&&this.updateGhostPosition(l,a)}onMouseUp(e){if(this.isDragging&&this.dragItem&&this.dragActivated){const l=[...this.editor.selectedItems],a=new Map(this.multiDragStarts),o=new Map;let r=!1;for(const s of l){o.set(s.data.id,{x:s.data.gridX,z:s.data.gridZ});const n=a.get(s.data.id);n&&(n.x!==s.data.gridX||n.z!==s.data.gridZ)&&(r=!0)}if(r){const s=this,n={execute:()=>{for(const c of l){const i=o.get(c.data.id);i&&(c.data.gridX=i.x,c.data.gridZ=i.z,s.updateModelTransform(c))}s.setSelection(l)},undo:()=>{for(const c of l){const i=a.get(c.data.id);i&&(c.data.gridX=i.x,c.data.gridZ=i.z,s.updateModelTransform(c))}s.setSelection(l)}};this.editor.undoStack.push(n)}}if(this.isMarquee&&this.marqueeDiv){const l=((e==null?void 0:e.clientX)??0)-this.marqueeStartPx.x,a=((e==null?void 0:e.clientY)??0)-this.marqueeStartPx.y;if(l*l+a*a>K.DRAG_THRESHOLD_PX*K.DRAG_THRESHOLD_PX){const o=this.getItemsInMarquee(this.marqueeStartPx.x,this.marqueeStartPx.y,e.clientX,e.clientY);o.length>0&&this.editor.setSelection(o)}this.marqueeDiv.style.display="none",this.isMarquee=!1}const t=this.isPanning;this.isPanning=!1,this.isDragging=!1,this.dragActivated=!1,this.isBrushing=!1,this.isOrbiting=!1,this.dragItem=null,this.multiDragStarts.clear(),t&&(this.renderer.domElement.style.cursor=this.isSpaceDown?"grab":"")}onWheel(e){if(e.preventDefault(),e.ctrlKey||e.metaKey)this.isPerspective?(this.orbitSpherical.radius*=e.deltaY>0?1.08:.92,this.orbitSpherical.radius=Math.max(5,Math.min(120,this.orbitSpherical.radius)),this.updatePerspFromSpherical()):(this.zoom*=e.deltaY>0?.92:1.08,this.zoom=Math.max(.3,Math.min(4,this.zoom)),this.updateCameraFrustum());else if(this.isPerspective){const t=new w().setFromMatrixColumn(this.perspCamera.matrixWorld,0),l=new w().crossVectors(t,new w(0,1,0)).normalize();this.orbitTarget.addScaledVector(t,e.deltaX*.02),this.orbitTarget.addScaledVector(l,e.deltaY*.02),this.orbitTarget.y=0,this.updatePerspFromSpherical()}else this.orthoCamera.position.x+=e.deltaX*.02/this.zoom,this.orthoCamera.position.z+=e.deltaY*.02/this.zoom}setActiveTerrain(e){this.activeTerrain=e}brushTerrain(e,t){const{terrain:l,grid:a}=this.editor.config;if(t<0||t>=a.rows||e<0||e>=a.cols||l[t][e].type===this.activeTerrain)return;const o=l[t][e].type,r=this.activeTerrain,s={execute:()=>{l[t][e]={type:r},this.updateTerrainCell(e,t,r)},undo:()=>{l[t][e]={type:o},this.updateTerrainCell(e,t,o)}};this.editor.undoStack.push(s)}placeAsset(e,t,l){const a=this.editor.config,o=e.assetType,r=o==="building"||o.includes("building")||e.category==="buildings",s=o==="road"||o.includes("road")||o.includes("parking")||e.category==="roads",n=U(r?"bld":s?"rd":"prop"),c=this.ghostRotation;if(r){const i={id:n,modelKey:e.key,modelUrl:e.url,displayName:e.name,gridX:t,gridZ:l,widthCells:e.cells[0],depthCells:e.cells[1],rotationY:c,scale:e.defaultScale??1,doorSide:"south",fixRotationX:e.fixRotationX,fixRotationY:e.fixRotationY,fixRotationZ:e.fixRotationZ},m=se(e.key);m&&(i.lights=m);const g={execute:()=>{a.buildings.push(i),this.addModelForBuilding(i)},undo:()=>{a.buildings=a.buildings.filter(d=>d.id!==n),this.removeModel(n)}};this.editor.undoStack.push(g)}else if(s){const i={id:n,modelKey:e.key,modelUrl:e.url,gridX:t,gridZ:l,rotationY:c,fixRotationX:e.fixRotationX,fixRotationY:e.fixRotationY,fixRotationZ:e.fixRotationZ},m=se(e.key);m&&(i.lights=m);const g={execute:()=>{a.roads.push(i),this.addModelForRoad(i)},undo:()=>{a.roads=a.roads.filter(d=>d.id!==n),this.removeModel(n)}};this.editor.undoStack.push(g)}else{const i={id:n,modelKey:e.key,modelUrl:e.url,gridX:t,gridZ:l,rotationY:c,scale:e.defaultScale??1,fixRotationX:e.fixRotationX,fixRotationY:e.fixRotationY,fixRotationZ:e.fixRotationZ},m=se(e.key);m&&(i.lights=m);const g={execute:()=>{a.props.push(i),this.addModelForProp(i)},undo:()=>{a.props=a.props.filter(d=>d.id!==n),this.removeModel(n)}};this.editor.undoStack.push(g)}}deleteItem(e){const t=this.editor.config,l=e.data.id;if(e.kind==="building"){const a=e.data,o={execute:()=>{t.buildings=t.buildings.filter(r=>r.id!==l),this.removeModel(l)},undo:()=>{t.buildings.push(a),this.addModelForBuilding(a)}};this.editor.undoStack.push(o)}else if(e.kind==="prop"){const a=e.data,o={execute:()=>{t.props=t.props.filter(r=>r.id!==l),this.removeModel(l)},undo:()=>{t.props.push(a),this.addModelForProp(a)}};this.editor.undoStack.push(o)}else{const a=e.data,o={execute:()=>{t.roads=t.roads.filter(r=>r.id!==l),this.removeModel(l)},undo:()=>{t.roads.push(a),this.addModelForRoad(a)}};this.editor.undoStack.push(o)}}rotateItem(e){const t=e.data,l=t.rotationY,a=(l+90)%360,o={execute:()=>{t.rotationY=a,this.updateModelTransform(e),this.setSelection(e)},undo:()=>{t.rotationY=l,this.updateModelTransform(e),this.setSelection(e)}};this.editor.undoStack.push(o)}flipItemX(e){const t=e.data,l=!!t.flipX,a={execute:()=>{t.flipX=!l,this.updateModelTransform(e),this.setSelection(e)},undo:()=>{t.flipX=l,this.updateModelTransform(e),this.setSelection(e)}};this.editor.undoStack.push(a)}flipItemZ(e){const t=e.data,l=!!t.flipZ,a={execute:()=>{t.flipZ=!l,this.updateModelTransform(e),this.setSelection(e)},undo:()=>{t.flipZ=l,this.updateModelTransform(e),this.setSelection(e)}};this.editor.undoStack.push(a)}enterSnapMode(e,t){this.exitSnapMode(),this.snapSourceItem=e,this.snapCallback=t,this.renderer.domElement.style.cursor="crosshair";const l=document.getElementById("status-tool");l&&(l.textContent=u()==="en"?"Snap: click target":"吸附模式:点击目标模型"),this.snapHandler=a=>{var s,n,c;a.stopPropagation(),a.preventDefault();const o=this.renderer.domElement.getBoundingClientRect();this.mouse.x=(a.clientX-o.left)/o.width*2-1,this.mouse.y=-((a.clientY-o.top)/o.height)*2+1,this.raycaster.setFromCamera(this.mouse,this.activeCamera);const r=this.raycaster.intersectObjects(this.modelGroup.children,!0);for(const i of r){let m=i.object;for(;m&&!((s=m.userData)!=null&&s.itemId);)m=m.parent;if(!((n=m==null?void 0:m.userData)!=null&&n.itemId))continue;const g=m.userData.itemId;if(g===e.data.id)continue;const d=this.modelMap.get(g);if(!d)continue;const _=new z().setFromObject(d),P=_.max.y,R=_.getCenter(new w);let S=.5,y=.5;if(e.kind==="building"){const x=e.data;S=x.widthCells/2,y=x.depthCells/2}else e.kind==="road"&&(S=1,y=1);const E=Math.round(R.x-S),b=Math.round(R.z-y),v=Math.round(P*10)/10;(c=this.snapCallback)==null||c.call(this,E,b,v),this.exitSnapMode();return}},this.renderer.domElement.addEventListener("click",this.snapHandler,{once:!0,capture:!0})}exitSnapMode(){this.snapHandler&&(this.renderer.domElement.removeEventListener("click",this.snapHandler,!0),this.snapHandler=null),this.snapSourceItem=null,this.snapCallback=null,this.renderer.domElement.style.cursor="";const e=document.getElementById("status-tool");e&&(e.textContent=u()==="en"?"Select mode":"选择模式")}enterJoinMode(e,t){this.exitSnapMode(),this.renderer.domElement.style.cursor="crosshair";const l=document.getElementById("status-tool");l&&(l.textContent=u()==="en"?"Join: click target side":"拼接模式:点击目标模型的侧面");const a=o=>{var n,c;o.stopPropagation(),o.preventDefault();const r=this.renderer.domElement.getBoundingClientRect();this.mouse.x=(o.clientX-r.left)/r.width*2-1,this.mouse.y=-((o.clientY-r.top)/r.height)*2+1,this.raycaster.setFromCamera(this.mouse,this.activeCamera);const s=this.raycaster.intersectObjects(this.modelGroup.children,!0);for(const i of s){let m=i.object;for(;m&&!((n=m.userData)!=null&&n.itemId);)m=m.parent;if(!((c=m==null?void 0:m.userData)!=null&&c.itemId))continue;const g=m.userData.itemId;if(g===e.data.id)continue;const d=this.modelMap.get(g),_=this.modelMap.get(e.data.id);if(!d||!_)continue;const P=new z().setFromObject(d),R=new z().setFromObject(_),S=(R.max.x-R.min.x)/2,y=(R.max.z-R.min.z)/2,E=i.point,b=(P.min.x+P.max.x)/2,v=(P.min.z+P.max.z)/2,x=(P.max.x-P.min.x)/2,D=(P.max.z-P.min.z)/2,B=E.x-b,f=E.z-v;let h,k;Math.abs(B)/(x||1)>Math.abs(f)/(D||1)?(h=B>0?P.max.x+S:P.min.x-S,k=v):(h=b,k=f>0?P.max.z+y:P.min.z-y);const F=e.data;let A=.5,G=.5;e.kind==="building"?(A=F.widthCells/2,G=F.depthCells/2):e.kind==="road"&&(A=1,G=1);const M=Math.round(h-A),O=Math.round(k-G);t(M,O),this.renderer.domElement.style.cursor="",l&&(l.textContent=u()==="en"?"Select mode":"选择模式");return}this.renderer.domElement.style.cursor="",l&&(l.textContent=u()==="en"?"Select mode":"选择模式")};this.renderer.domElement.addEventListener("click",a,{once:!0,capture:!0})}setCustomStore(e){this.customStore=e}getRenderer(){return this.renderer}getAssets(){return this.assets}fullRebuild(){this.buildGround(),this.rebuildModels();const{cols:e,rows:t}=this.editor.config.grid;this.orthoCamera.position.set(e/2,40,t/2+15),this.orthoCamera.lookAt(e/2,0,t/2),this.updateCameraFrustum()}getItemsInMarquee(e,t,l,a){const o=this.renderer.domElement.getBoundingClientRect(),r=(Math.min(e,l)-o.left)/o.width*2-1,s=(Math.max(e,l)-o.left)/o.width*2-1,n=-((Math.max(t,a)-o.top)/o.height*2-1),c=-((Math.min(t,a)-o.top)/o.height*2-1),i=[],m=this.editor.config,g=d=>{const _=this.modelMap.get(d.data.id);if(!_)return;const P=new w;_.getWorldPosition(P),P.project(this.activeCamera),P.x>=r&&P.x<=s&&P.y>=n&&P.y<=c&&i.push(d)};for(const d of m.buildings)g({kind:"building",data:d});for(const d of m.props)g({kind:"prop",data:d});for(const d of m.roads)g({kind:"road",data:d});return i}getItemBounds(e){const t=this.modelMap.get(e.data.id);return t?new z().setFromObject(t):new z(new w(e.data.gridX,0,e.data.gridZ),new w(e.data.gridX+1,1,e.data.gridZ+1))}alignItems(e,t,l){if(e.length<2)return;const a=e.map(c=>({item:c,box:this.getItemBounds(c)}));let o;if(t==="x")l==="min"?o=Math.min(...a.map(c=>c.box.min.x)):l==="max"?o=Math.max(...a.map(c=>c.box.max.x)):o=a.reduce((c,i)=>c+(i.box.min.x+i.box.max.x)/2,0)/a.length;else if(t==="y")l==="min"?o=Math.min(...a.map(c=>c.box.min.z)):l==="max"?o=Math.max(...a.map(c=>c.box.max.z)):o=a.reduce((c,i)=>c+(i.box.min.z+i.box.max.z)/2,0)/a.length;else{const c=d=>d.data.elevation??0;l==="min"?o=Math.min(...e.map(c)):l==="max"?o=Math.max(...e.map(c)):o=e.reduce((d,_)=>d+c(_),0)/e.length;const i=e.map(d=>c(d)),m=this,g={execute:()=>{for(const d of e)d.data.elevation=Math.round(o*10)/10||void 0,m.updateModelTransform(d);m.setSelection(e)},undo:()=>{e.forEach((d,_)=>{d.data.elevation=i[_]||void 0,m.updateModelTransform(d)}),m.setSelection(e)}};this.editor.undoStack.push(g);return}const r=e.map(c=>({x:c.data.gridX,z:c.data.gridZ})),s=this,n={execute:()=>{for(const c of a){const i=c.item;if(t==="x"){const m=(c.box.min.x+c.box.max.x)/2,g=(c.box.max.x-c.box.min.x)/2;let d;l==="min"?d=o+g:l==="max"?d=o-g:d=o,i.data.gridX=Math.round(i.data.gridX+(d-m))}else{const m=(c.box.min.z+c.box.max.z)/2,g=(c.box.max.z-c.box.min.z)/2;let d;l==="min"?d=o+g:l==="max"?d=o-g:d=o,i.data.gridZ=Math.round(i.data.gridZ+(d-m))}s.updateModelTransform(i)}s.setSelection(e)},undo:()=>{e.forEach((c,i)=>{c.data.gridX=r[i].x,c.data.gridZ=r[i].z,s.updateModelTransform(c)}),s.setSelection(e)}};this.editor.undoStack.push(n)}distributeItems(e,t){if(e.length<3)return;const l=e.map(g=>({item:g,box:this.getItemBounds(g)}));if(t==="z"){const g=b=>b.data.elevation??0,d=[...e].sort((b,v)=>g(b)-g(v)),_=g(d[0]),R=(g(d[d.length-1])-_)/(d.length-1),S=d.map(b=>g(b)),y=this,E={execute:()=>{d.forEach((b,v)=>{b.data.elevation=Math.round((_+R*v)*10)/10||void 0,y.updateModelTransform(b)}),y.setSelection(e)},undo:()=>{d.forEach((b,v)=>{b.data.elevation=S[v]||void 0,y.updateModelTransform(b)}),y.setSelection(e)}};this.editor.undoStack.push(E);return}const a=t==="x"?"x":"z",o=[...l].sort((g,d)=>g.box.min[a]-d.box.min[a]),r=o[o.length-1].box.max[a]-o[0].box.min[a],s=o.reduce((g,d)=>g+(d.box.max[a]-d.box.min[a]),0),n=(r-s)/(o.length-1),c=o.map(g=>({x:g.item.data.gridX,z:g.item.data.gridZ})),i=this,m={execute:()=>{let g=o[0].box.min[a];o.forEach((d,_)=>{if(_===0){g+=d.box.max[a]-d.box.min[a]+n;return}if(_===o.length-1)return;const P=d.box.max[a]-d.box.min[a],S=g+P/2,y=(d.box.min[a]+d.box.max[a])/2,b=(t==="x"?d.item.data.gridX:d.item.data.gridZ)-y,v=Math.round(S+b);t==="x"?d.item.data.gridX=v:d.item.data.gridZ=v,i.updateModelTransform(d.item),g=v-b-P/2+P+n}),i.setSelection(e)},undo:()=>{o.forEach((g,d)=>{g.item.data.gridX=c[d].x,g.item.data.gridZ=c[d].z,i.updateModelTransform(g.item)}),i.setSelection(e)}};this.editor.undoStack.push(m)}findGroupForItem(e){return this.editor.config.groups.find(t=>t.memberIds.includes(e))??null}getGroupItems(e){const t=this.editor.config,l=[];for(const a of e.memberIds){const o=t.buildings.find(n=>n.id===a);if(o){l.push({kind:"building",data:o});continue}const r=t.props.find(n=>n.id===a);if(r){l.push({kind:"prop",data:r});continue}const s=t.roads.find(n=>n.id===a);if(s){l.push({kind:"road",data:s});continue}}return l}createGroup(e){if(e.length<2)return;const t=this.editor.config,l=e.map(i=>i.data.id);let a=0,o=0;for(const i of e)a+=i.data.gridX,o+=i.data.gridZ;const r=Math.round(a/e.length),s=Math.round(o/e.length),n={id:U("grp"),memberIds:l,anchorX:r,anchorZ:s},c={execute:()=>{t.groups.push(n)},undo:()=>{t.groups=t.groups.filter(i=>i.id!==n.id)}};this.editor.undoStack.push(c)}dissolveGroup(e){const t=this.editor.config,l=t.groups.find(r=>r.id===e);if(!l)return;const a={...l,memberIds:[...l.memberIds]},o={execute:()=>{t.groups=t.groups.filter(r=>r.id!==e)},undo:()=>{t.groups.push(a)}};this.editor.undoStack.push(o),this.isInsideGroup=!1,this.activeGroupId=null}enterGroup(e){this.isInsideGroup=!0,this.activeGroupId=e}exitGroup(){this.isInsideGroup=!1,this.activeGroupId=null}getGroupBounds(e){const t=this.getGroupItems(e),l=new z;for(const a of t)l.union(this.getItemBounds(a));return l}rebuildSingleModel(e){e.kind==="building"?this.addModelForBuilding(e.data):e.kind==="prop"?this.addModelForProp(e.data):this.addModelForRoad(e.data)}enterLightPlaceMode(e,t,l){const a=this.modelMap.get(e.data.id);if(!a)return;const o=new Y(.15,8,8),r=new Z({color:16768324,transparent:!0,opacity:.7}),s=new X(o,r);s.visible=!1,this.scene.add(s),this.container.style.cursor="crosshair";const n=g=>{g.stopPropagation();const d=this.container.getBoundingClientRect();this.mouse.x=(g.clientX-d.left)/d.width*2-1,this.mouse.y=-((g.clientY-d.top)/d.height)*2+1,this.raycaster.setFromCamera(this.mouse,this.activeCamera);const _=this.raycaster.intersectObject(a,!0);_.length>0?(s.position.copy(_[0].point),s.visible=!0):s.visible=!1},c=g=>{g.stopPropagation(),g.preventDefault();const d=this.container.getBoundingClientRect();this.mouse.x=(g.clientX-d.left)/d.width*2-1,this.mouse.y=-((g.clientY-d.top)/d.height)*2+1,this.raycaster.setFromCamera(this.mouse,this.activeCamera);const _=this.raycaster.intersectObject(a,!0);if(_.length>0){const P=a.worldToLocal(_[0].point.clone());l({x:P.x,y:P.y,z:P.z}),m()}},i=g=>{g.key==="Escape"&&m()},m=()=>{this.scene.remove(s),o.dispose(),r.dispose(),this.container.removeEventListener("mousemove",n),this.container.removeEventListener("click",c),window.removeEventListener("keydown",i),this.container.style.cursor=""};this.container.addEventListener("mousemove",n),this.container.addEventListener("click",c),window.addEventListener("keydown",i)}enterForwardMarkMode(e,t){const l=this.modelMap.get(e.data.id);if(!l)return;const a=new Y(.2,8,8),o=new Z({color:16729190,transparent:!0,opacity:.7}),r=new X(a,o);r.visible=!1,this.scene.add(r);const s=new Be(.15,.5,6);s.rotateX(Math.PI/2);const n=new Z({color:16729190,transparent:!0,opacity:.6}),c=new X(s,n);c.visible=!1,this.scene.add(c),this.container.style.cursor="crosshair";const i=document.createElement("div");i.style.cssText="position:absolute;bottom:110px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,0.85);color:#ff4466;padding:8px 20px;border-radius:8px;font-size:13px;z-index:50;pointer-events:none;white-space:nowrap;border:1px solid rgba(255,68,102,0.3);backdrop-filter:blur(8px);",i.textContent=u()==="en"?"Mark front · Click vehicle front · ESC cancel":"标记前方 · 请点击模型的车头位置 · ESC 取消",this.container.appendChild(i);const m=l.position.x,g=l.position.z,d=S=>{S.stopPropagation();const y=this.container.getBoundingClientRect();this.mouse.x=(S.clientX-y.left)/y.width*2-1,this.mouse.y=-((S.clientY-y.top)/y.height)*2+1,this.raycaster.setFromCamera(this.mouse,this.activeCamera);const E=this.raycaster.intersectObject(l,!0);if(E.length>0){const b=E[0].point;r.position.copy(b),r.visible=!0;const v=(m+b.x)/2,x=(g+b.z)/2;c.position.set(v,b.y+.3,x),c.rotation.y=Math.atan2(b.x-m,b.z-g),c.visible=!0}else r.visible=!1,c.visible=!1},_=S=>{S.stopPropagation(),S.preventDefault();const y=this.container.getBoundingClientRect();this.mouse.x=(S.clientX-y.left)/y.width*2-1,this.mouse.y=-((S.clientY-y.top)/y.height)*2+1,this.raycaster.setFromCamera(this.mouse,this.activeCamera);const E=this.raycaster.intersectObject(l,!0);if(E.length>0){const b=E[0].point,v=Math.atan2(b.x-m,b.z-g),x=(e.data.fixRotationY??0)*Math.PI/180,D=(e.data.rotationY??0)*Math.PI/180+x,B=v-D;t(B),R()}},P=S=>{S.key==="Escape"&&R()},R=()=>{this.scene.remove(r),this.scene.remove(c),a.dispose(),o.dispose(),s.dispose(),n.dispose(),i.remove(),this.container.removeEventListener("mousemove",d),this.container.removeEventListener("click",_),window.removeEventListener("keydown",P),this.container.style.cursor=""};this.container.addEventListener("mousemove",d),this.container.addEventListener("click",_),window.addEventListener("keydown",P)}enterRouteEditMode(e,t){var B;const a=((B=e.data.vehicleRoute)==null?void 0:B.waypoints)??[],o=a.length>0?[...a]:[],r=new Y(.25,8,8),s=new Z({color:54527,transparent:!0,opacity:.8}),n=new be({color:54527,linewidth:2}),c=[],i=new V;i.name="route-edit-line",this.scene.add(i);const m=(f,h)=>{const k=new X(r.clone(),s.clone());k.position.set(f,.3,h),this.scene.add(k),c.push(k)},g=()=>{for(;i.children.length>0;){const F=i.children[0];i.remove(F),F.geometry&&F.geometry.dispose()}if(o.length<2)return;const f=o.map(F=>new w(F.x,.2,F.z)),h=new Ze().setFromPoints(f),k=new qe(h,n);i.add(k)};for(const f of o)m(f.x,f.z);g(),this.container.style.cursor="crosshair";const d=document.createElement("div");d.style.cssText="position:absolute;bottom:110px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,0.85);color:#00d4ff;padding:8px 20px;border-radius:8px;font-size:13px;z-index:50;pointer-events:none;white-space:nowrap;border:1px solid rgba(0,212,255,0.2);backdrop-filter:blur(8px);",d.textContent=u()==="en"?`Route edit · Click to add (${o.length}) · Right/Enter done · ESC cancel`:`路线编辑 · 点击地面添加航点 (${o.length} 个) · 右键/Enter 确认 · ESC 取消`,this.container.appendChild(d);const _=()=>{d.textContent=u()==="en"?`Route edit · Click to add (${o.length}) · Right/Enter done · ESC cancel`:`路线编辑 · 点击地面添加航点 (${o.length} 个) · 右键/Enter 确认 · ESC 取消`},P=new X(new Y(.2,8,8),new Z({color:54527,transparent:!0,opacity:.4}));P.visible=!1,this.scene.add(P);const R=f=>{const h=this.container.getBoundingClientRect();this.mouse.x=(f.clientX-h.left)/h.width*2-1,this.mouse.y=-((f.clientY-h.top)/h.height)*2+1,this.raycaster.setFromCamera(this.mouse,this.activeCamera);const k=new w;return this.raycaster.ray.intersectPlane(this.groundPlane,k)?k:null},S=f=>{f.stopPropagation();const h=R(f);h?(P.position.set(h.x,.3,h.z),P.visible=!0):P.visible=!1},y=f=>{if(f.button!==0)return;f.stopPropagation(),f.preventDefault();const h=R(f);if(h){const k={x:Math.round(h.x*10)/10,z:Math.round(h.z*10)/10};o.push(k),m(k.x,k.z),g(),_()}},E=f=>{f.preventDefault(),f.stopPropagation(),b()},b=()=>{o.length>=2&&t(o),D()},v=()=>{D()},x=f=>{if(f.key==="Escape"&&v(),f.key==="Enter"&&b(),(f.key==="z"||f.key==="Z")&&(f.ctrlKey||f.metaKey)&&o.length>0){f.preventDefault(),o.pop();const h=c.pop();h&&(this.scene.remove(h),h.geometry.dispose(),h.material.dispose()),g(),_()}},D=()=>{for(const f of c)this.scene.remove(f),f.geometry.dispose(),f.material.dispose();for(this.scene.remove(P),P.geometry.dispose(),P.material.dispose();i.children.length>0;){const f=i.children[0];i.remove(f),f.geometry&&f.geometry.dispose()}this.scene.remove(i),n.dispose(),r.dispose(),s.dispose(),d.remove(),this.container.removeEventListener("mousemove",S),this.container.removeEventListener("click",y),this.container.removeEventListener("contextmenu",E),window.removeEventListener("keydown",x),this.container.style.cursor=""};this.container.addEventListener("mousemove",S),this.container.addEventListener("click",y),this.container.addEventListener("contextmenu",E),window.addEventListener("keydown",x)}};p(K,"DRAG_THRESHOLD_PX",5);let ue=K;class tt{constructor(){p(this,"config");p(this,"activeTool","select");p(this,"selectedItems",[]);p(this,"undoStack");p(this,"draftStore");p(this,"editorScene");p(this,"_previewWindow",null);p(this,"listeners",[]);p(this,"clipboard",[]);this.undoStack=new Ye(()=>this.onConfigChanged()),this.draftStore=new Qe;const e=this.draftStore.loadDraft();this.config=e??Re()}get selectedItem(){return this.selectedItems[0]??null}initScene(e){this.editorScene=new ue(e,this)}on(e){this.listeners.push(e)}emit(e){this.listeners.forEach(t=>t(e))}onConfigChanged(){this.config.meta.updatedAt=new Date().toISOString(),this.draftStore.saveDraft(this.config),this.emit({type:"config_changed"})}unbind(e){e==="houses"?this.config.bindings.houses=[]:this.config.bindings[e]=null,this.onConfigChanged()}completeBinding(e,t){e==="houses"?this.config.bindings.houses.includes(t)||this.config.bindings.houses.push(t):this.config.bindings[e]=t,this.onConfigChanged()}setTool(e){this.activeTool=e,document.querySelectorAll(".ftb-btn[data-tool]").forEach(o=>{o.classList.toggle("active",o.dataset.tool===e)});const t=document.getElementById("terrain-bar");t==null||t.classList.toggle("visible",e==="terrain"),e!=="select"&&this.editorScene.setGhost(null);const l={select:u()==="en"?"Select":"选择模式",terrain:u()==="en"?"Terrain":"地形刷",erase:u()==="en"?"Delete":"删除模式"},a=document.getElementById("status-tool");a&&(a.textContent=l[e]),this.emit({type:"tool_changed",tool:e})}setSelection(e){e===null?this.selectedItems=[]:Array.isArray(e)?this.selectedItems=e:this.selectedItems=[e],this.editorScene.setSelection(this.selectedItems),this.emit({type:"selection_changed",items:this.selectedItems})}startPlacing(e){this.setTool("select"),this.setSelection(null),this.editorScene.setGhost(e);const t=document.getElementById("status-tool");t&&(t.textContent=u()==="en"?`Place: ${e.name}`:`放置: ${e.name}`)}stopPlacing(){this.editorScene.setGhost(null);const e=document.getElementById("status-tool");e&&(e.textContent=u()==="en"?"Select":"选择模式")}deleteSelected(){if(this.selectedItems.length===0)return;if(this.selectedItems.length===1){this.editorScene.deleteItem(this.selectedItems[0]),this.setSelection(null);return}const t=[...this.selectedItems].map(r=>({item:r,kind:r.kind,data:r.data})),l=this.config,a=this.editorScene,o={execute:()=>{for(const r of t){const s=r.data.id;r.kind==="building"?l.buildings=l.buildings.filter(n=>n.id!==s):r.kind==="prop"?l.props=l.props.filter(n=>n.id!==s):l.roads=l.roads.filter(n=>n.id!==s),a.removeModel(s)}},undo:()=>{for(const r of t)r.kind==="building"?(l.buildings.push(r.data),a.rebuildSingleModel(r.item)):r.kind==="prop"?(l.props.push(r.data),a.rebuildSingleModel(r.item)):(l.roads.push(r.data),a.rebuildSingleModel(r.item))}};this.undoStack.push(o),this.setSelection(null)}copySelected(){this.selectedItems.length!==0&&(this.clipboard=this.selectedItems.map(e=>({kind:e.kind,data:structuredClone(e.data)})))}pasteClipboard(){var r;if(this.clipboard.length===0)return;const e=this.config,t=this.editorScene,l=[];for(const s of this.clipboard){const n=structuredClone(s.data),c=s.kind==="building"?"b":s.kind==="prop"?"p":"r";if(n.id=U(c),n.gridX+=2,n.gridZ+=2,n.lights)for(const i of n.lights)i.id=U("light");if(s.kind==="prop"){const i=n;if((r=i.vehicleRoute)!=null&&r.waypoints)for(const m of i.vehicleRoute.waypoints)m.x+=2,m.z+=2}l.push({kind:s.kind,data:n})}const a=(()=>{if(this.clipboard.length<2)return null;const s=new Set(this.clipboard.map(c=>c.data.id));return this.config.groups.find(c=>c.memberIds.every(i=>s.has(i))&&c.memberIds.length===s.size)??null})(),o={execute:()=>{for(const s of l)s.kind==="building"?e.buildings.push(s.data):s.kind==="prop"?e.props.push(s.data):e.roads.push(s.data),t.rebuildSingleModel(s);if(a){const s={id:U("grp"),memberIds:l.map(n=>n.data.id),anchorX:(a.anchorX??0)+2,anchorZ:(a.anchorZ??0)+2};e.groups.push(s)}this.setSelection(l)},undo:()=>{for(const s of l){const n=s.data.id;s.kind==="building"?e.buildings=e.buildings.filter(c=>c.id!==n):s.kind==="prop"?e.props=e.props.filter(c=>c.id!==n):e.roads=e.roads.filter(c=>c.id!==n),t.removeModel(n)}if(a){const s=new Set(l.map(n=>n.data.id));e.groups=e.groups.filter(n=>!n.memberIds.some(c=>s.has(c)))}this.setSelection(null)}};this.undoStack.push(o)}rotateSelected(){if(this.selectedItems.length!==0)for(const e of this.selectedItems)this.editorScene.rotateItem(e)}adjustScale(e){if(this.selectedItems.length===0)return;const t=this.selectedItems[0],l=t.data,a=l.scale??1,o=Math.max(.05,Math.min(5,Math.round((a+e)*100)/100));if(a===o)return;const r={execute:()=>{l.scale=o,this.editorScene.updateModelTransform(t),this.editorScene.setSelection(this.selectedItems)},undo:()=>{l.scale=a,this.editorScene.updateModelTransform(t),this.editorScene.setSelection(this.selectedItems)}};this.undoStack.push(r),this.emit({type:"selection_changed",items:this.selectedItems})}resizeGrid(e,t){const{config:l}=this,{cols:a,rows:o}=l.grid;if(e==="right"){const r=Math.max(20,Math.min(80,a+t));if(r===a)return;l.grid.cols=r;for(const s of l.terrain){for(;s.length<r;)s.push({type:"grass"});s.length=r}}else if(e==="bottom"){const r=Math.max(16,Math.min(60,o+t));if(r===o)return;for(l.grid.rows=r;l.terrain.length<r;)l.terrain.push(Array.from({length:l.grid.cols},()=>({type:"grass"})));l.terrain.length=r}else if(e==="left"){const r=Math.max(20,Math.min(80,a+t));if(r===a)return;const s=r-a;l.grid.cols=r;for(const n of l.terrain)if(s>0)for(let c=0;c<s;c++)n.unshift({type:"grass"});else n.splice(0,-s);for(const n of l.buildings)n.gridX+=s;for(const n of l.props)n.gridX+=s;for(const n of l.roads)n.gridX+=s}else if(e==="top"){const r=Math.max(16,Math.min(60,o+t));if(r===o)return;const s=r-o;if(l.grid.rows=r,s>0)for(let n=0;n<s;n++)l.terrain.unshift(Array.from({length:l.grid.cols},()=>({type:"grass"})));else l.terrain.splice(0,-s);for(const n of l.buildings)n.gridZ+=s;for(const n of l.props)n.gridZ+=s;for(const n of l.roads)n.gridZ+=s}this.editorScene.fullRebuild(),this.onConfigChanged()}initKeyboard(){document.querySelectorAll(".ftb-btn[data-tool]").forEach(e=>{e.addEventListener("click",()=>{this.setTool(e.dataset.tool)})}),window.addEventListener("keydown",e=>{if(e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement)return;if((e.ctrlKey||e.metaKey)&&e.key==="c"){e.preventDefault(),this.copySelected();return}if((e.ctrlKey||e.metaKey)&&e.key==="v"){e.preventDefault(),this.pasteClipboard();return}if((e.ctrlKey||e.metaKey)&&e.key==="z"){e.preventDefault(),e.shiftKey?this.undoStack.redo():this.undoStack.undo();return}if((e.ctrlKey||e.metaKey)&&e.key==="a"){e.preventDefault(),this.selectAll();return}if((e.ctrlKey||e.metaKey)&&e.key==="g"){e.preventDefault(),e.shiftKey?this.ungroupSelected():this.groupSelected();return}if(e.key==="Delete"||e.key==="Backspace"){this.deleteSelected();return}if(e.key==="r"||e.key==="R"){this.editorScene.currentGhostEntry?this.editorScene.rotateGhost():this.rotateSelected();return}if(e.key==="Escape"){this.stopPlacing(),this.setSelection(null),this.setTool("select");return}if((e.key==="="||e.key==="+")&&this.selectedItems.length>0){this.adjustScale(.1);return}if((e.key==="-"||e.key==="_")&&this.selectedItems.length>0){this.adjustScale(-.1);return}if(e.key==="Tab"){e.preventDefault(),this.toggleCamera();return}if(e.key==="p"||e.key==="P"){this.openPreview();return}const t={v:"select",t:"terrain",x:"erase"};t[e.key]&&this.setTool(t[e.key])})}selectAll(){const e=[...this.config.buildings.map(t=>({kind:"building",data:t})),...this.config.props.map(t=>({kind:"prop",data:t})),...this.config.roads.map(t=>({kind:"road",data:t}))];this.setSelection(e)}groupSelected(){this.selectedItems.length<2||(this.editorScene.createGroup(this.selectedItems),this.setSelection(this.selectedItems))}ungroupSelected(){if(this.selectedItems.length===0)return;const e=this.selectedItems[0].data.id,t=this.config.groups.find(l=>l.memberIds.includes(e));if(t){const l=this.editorScene.getGroupItems(t);this.editorScene.dissolveGroup(t.id),this.setSelection(l)}}toggleCamera(){const e=this.editorScene.toggleCamera(),t=document.getElementById("btn-camera-toggle");t&&(t.classList.toggle("active",e),t.dataset.tip=e?u()==="en"?"Perspective (Tab)":"透视模式 (Tab)":u()==="en"?"Top-down (Tab)":"俯视模式 (Tab)");const l=document.getElementById("status-tool");l&&e?l.textContent=u()==="en"?"Perspective · RMB rotate · MMB pan · scroll zoom":"透视模式 · 右键旋转 · 中键平移 · 滚轮缩放":l&&(l.textContent=u()==="en"?"Select":"选择模式")}initTerrainBar(){const e=document.getElementById("terrain-bar");["grass","sand","street","plaza","sidewalk","water"].forEach((l,a)=>{const o=document.createElement("div");o.className=`terrain-swatch${a===0?" active":""}`,o.style.background=Te[l],o.title=l,o.addEventListener("click",()=>{e.querySelectorAll(".terrain-swatch").forEach(r=>r.classList.remove("active")),o.classList.add("active"),this.editorScene.setActiveTerrain(l)}),e.appendChild(o)})}openPreview(){if(this.draftStore.saveImmediate(this.config),this._previewWindow&&!this._previewWindow.closed){this._previewWindow.focus();return}this._previewWindow=window.open("preview.html","agentshire-preview","width=1280,height=800")}}const lt=[{type:"Building",style:"A",name:"办公大楼",colors:["A"],cells:[6,4],defaultScale:3,urlPattern:"assets/models/buildings/",filePattern:"building_A.gltf"},{type:"Building",style:"B",name:"住宅 A",colors:["A"],cells:[3,3],defaultScale:1.8,urlPattern:"assets/models/buildings/",filePattern:"building_B.gltf"},{type:"Building",style:"C",name:"住宅 B",colors:["A"],cells:[3,3],defaultScale:1.8,urlPattern:"assets/models/buildings/",filePattern:"building_C.gltf"},{type:"Building",style:"D",name:"住宅 C",colors:["A"],cells:[3,3],defaultScale:1.8,urlPattern:"assets/models/buildings/",filePattern:"building_D.gltf"},{type:"Building",style:"E",name:"市场",colors:["A"],cells:[5,4],defaultScale:2.5,urlPattern:"assets/models/buildings/",filePattern:"building_E.gltf"},{type:"Building",style:"F",name:"咖啡馆",colors:["A"],cells:[4,3],defaultScale:2,urlPattern:"assets/models/buildings/",filePattern:"building_F.gltf"},{type:"Building",style:"G",name:"用户住宅",colors:["A"],cells:[3,3],defaultScale:1.8,urlPattern:"assets/models/buildings/",filePattern:"building_G.gltf"},{type:"Building",style:"H",name:"博物馆",colors:["A"],cells:[5,4],defaultScale:2.5,urlPattern:"assets/models/buildings/",filePattern:"building_H.gltf"},{type:"Watertower",style:"1",name:"水塔",colors:["A"],cells:[2,2],defaultScale:2,urlPattern:"assets/models/buildings/",filePattern:"watertower.gltf"},{type:"Road",style:"straight",name:"直道",colors:["A"],cells:[2,2],defaultScale:1,urlPattern:"assets/models/buildings/",filePattern:"road_straight.gltf"},{type:"Road",style:"corner",name:"弯道",colors:["A"],cells:[2,2],defaultScale:1,urlPattern:"assets/models/buildings/",filePattern:"road_corner.gltf"},{type:"Road",style:"junction",name:"十字路口",colors:["A"],cells:[2,2],defaultScale:1,urlPattern:"assets/models/buildings/",filePattern:"road_junction.gltf"},{type:"Road",style:"tsplit",name:"T型路口",colors:["A"],cells:[2,2],defaultScale:1,urlPattern:"assets/models/buildings/",filePattern:"road_tsplit.gltf"},{type:"Road",style:"crossing",name:"人行横道",colors:["A"],cells:[2,2],defaultScale:1,urlPattern:"assets/models/buildings/",filePattern:"road_straight_crossing.gltf"},{type:"Tree",style:"KK",name:"树木",colors:["A"],cells:[1,1],defaultScale:7,urlPattern:"assets/models/props/",filePattern:"bush.gltf"},{type:"Bench",style:"KK",name:"长椅",colors:["A"],cells:[1,1],defaultScale:6,urlPattern:"assets/models/props/",filePattern:"bench.gltf"},{type:"Streetlight",style:"KK",name:"路灯",colors:["A"],cells:[1,1],defaultScale:1.5,urlPattern:"assets/models/props/",filePattern:"streetlight.gltf"},{type:"Firehydrant",style:"KK",name:"消防栓",colors:["A"],cells:[1,1],defaultScale:1.5,urlPattern:"assets/models/props/",filePattern:"firehydrant.gltf"},{type:"Trash",style:"KK",name:"垃圾桶",colors:["A"],cells:[1,1],defaultScale:1.5,urlPattern:"assets/models/props/",filePattern:"trash_A.gltf"},{type:"Trafficlight",style:"KK",name:"交通灯",colors:["A"],cells:[1,1],defaultScale:1.5,urlPattern:"assets/models/props/",filePattern:"trafficlight_A.gltf"}],at=[{type:"Building",style:"1.1",name:"建筑 1 (1层)",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","R"],cells:[6,6],defaultScale:.49,urlPattern:"assets/models/megapack/gltf/Buildings/Building%201/",filePattern:"Building_1_1_{color}.glb"},{type:"Building",style:"1.2",name:"建筑 1 (2层)",colors:["B","C","D","E","F","G","H","I","J","K","L","M","N","O","R"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%201/",filePattern:"Building_1_2_{color}.glb"},{type:"Building",style:"1.3",name:"建筑 1 (3层)",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","R"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%201/",filePattern:"Building_1_3_{color}.glb"},{type:"Building",style:"1.4",name:"建筑 1 (4层)",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","R"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%201/",filePattern:"Building_1_4_{color}.glb"},{type:"Building",style:"1.5",name:"建筑 1 (5层)",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","R"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%201/",filePattern:"Building_1_5_{color}.glb"},{type:"Building",style:"1",name:"建筑 1",colors:["A","AA","B","BB","C","D","E","F","G","H","I"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%201/",filePattern:"Building_1_{color}.glb"},{type:"Building",style:"2.1",name:"建筑 2 (1层)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building_2/",filePattern:"Building_2_1_{color}.glb",fixRotationX:90},{type:"Building",style:"2.2",name:"建筑 2 (2层)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building_2/",filePattern:"Building_2_2_{color}.glb",fixRotationX:90},{type:"Building",style:"2.3",name:"建筑 2 (3层)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building_2/",filePattern:"Building_2_3_{color}.glb",fixRotationX:90},{type:"Building",style:"2.4",name:"建筑 2 (4层)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building_2/",filePattern:"Building_2_4_{color}.glb",fixRotationX:90},{type:"Building",style:"2.5",name:"建筑 2 (5层)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building_2/",filePattern:"Building_2_5_{color}.glb",fixRotationX:90},{type:"Building",style:"2.6",name:"建筑 2 (6层)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building_2/",filePattern:"Building_2_6_{color}.glb",fixRotationX:90},{type:"Building",style:"2.7",name:"建筑 2 (7层)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building_2/",filePattern:"Building_2_7_{color}.glb",fixRotationX:90},{type:"Building",style:"2.8",name:"建筑 2 (8层)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building_2/",filePattern:"Building_2_8_{color}.glb",fixRotationX:90},{type:"Building",style:"3.1",name:"建筑 3 (1层)",colors:["A","B","C","D","E","F"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%203/",filePattern:"Building_3_1_{color}.glb",fixRotationX:90},{type:"Building",style:"3.2",name:"建筑 3 (2层)",colors:["A","B","C","D","E","F","G","H","I","J","K","L"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%203/",filePattern:"Building_3_2_{color}.glb",fixRotationX:90},{type:"Building",style:"3.3",name:"建筑 3 (3层)",colors:["A","B","C","D","E","F","G","H","I","J","K","L"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%203/",filePattern:"Building_3_3_{color}.glb",fixRotationX:90},{type:"Building",style:"3.4",name:"建筑 3 (4层)",colors:["A","B","C","D","E","F","G"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%203/",filePattern:"Building_3_4_{color}.glb",fixRotationX:90},{type:"Building",style:"4",name:"建筑 4",colors:["A","B","C","D","E","F","G","H","I","J","K","L"],cells:[6,6],defaultScale:.32,urlPattern:"assets/models/megapack/gltf/Buildings/Building%204/",filePattern:"Building_4_{color}.glb"},{type:"Building",style:"5.1",name:"建筑 5 (1层)",colors:["B","C","D","E","F","G","H","I","J","K","L","M","N","O","R"],cells:[6,6],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Buildings/Building%205/",filePattern:"Building_5_1_{color}.glb"},{type:"Building",style:"5.2",name:"建筑 5 (2层)",colors:["B","C","D","E","F","G","H","I","J","K","L","M","N","O","R"],cells:[6,6],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Buildings/Building%205/",filePattern:"Building_5_2_{color}.glb"},{type:"Building",style:"5.3",name:"建筑 5 (3层)",colors:["B","C","D","E","F","G","H","I","J","K","L","M","N","O","R"],cells:[6,6],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Buildings/Building%205/",filePattern:"Building_5_3_{color}.glb"},{type:"Building",style:"5.4",name:"建筑 5 (4层)",colors:["B","C","D","E","F","G","H","I","J","K","L","M","N","O","R"],cells:[6,6],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Buildings/Building%205/",filePattern:"Building_5_4_{color}.glb"},{type:"Building",style:"6",name:"建筑 6",colors:["A","B","C","D","E","F","G","H","I","J","K"],cells:[6,6],defaultScale:.22,urlPattern:"assets/models/megapack/gltf/Buildings/Building%206/",filePattern:"Building_6_{color}.glb"},{type:"Building",style:"7.1",name:"建筑 7 (1层)",colors:["A","B","C","D","E","F"],cells:[6,6],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Buildings/Building%207/",filePattern:"Building_7_1_{color}.glb"},{type:"Building",style:"7.2",name:"建筑 7 (2层)",colors:["A","B","C","D","E","F"],cells:[6,6],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Buildings/Building%207/",filePattern:"Building_7_2_{color}.glb"},{type:"Building",style:"7.3",name:"建筑 7 (3层)",colors:["A","B","C","D","E","F"],cells:[6,6],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Buildings/Building%207/",filePattern:"Building_7_3_{color}.glb"},{type:"Building",style:"8.1",name:"建筑 8 (1层)",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S","T","W","X"],cells:[4,4],defaultScale:.5,urlPattern:"assets/models/megapack/gltf/Buildings/Building%208'/",filePattern:"Building_8_1_{color}.glb"},{type:"Building",style:"8.2",name:"建筑 8 (2层)",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S","T","W","X"],cells:[4,4],defaultScale:.45,urlPattern:"assets/models/megapack/gltf/Buildings/Building%208'/",filePattern:"Building_8_2_{color}.glb"},{type:"Building",style:"9.1",name:"建筑 9 (1层)",colors:["A","AA","B","BB","C","CC","D","DD","E","EE","F","FF","G","GG","H","HH","I","II","J","JJ","K","KK","L","LL","M","MM","N","NN","O","OO","P","PP"],cells:[5,5],defaultScale:.45,urlPattern:"assets/models/megapack/gltf/Buildings/Building%209/",filePattern:"Building_9_1_{color}.glb"},{type:"Building",style:"9.2",name:"建筑 9 (2层)",colors:["A","AA","B","BB","C","CC","D","DD","E","EE","F","FF","G","GG","H","HH","I","II","J","JJ","K","KK","L","LL","M","MM","N","NN","O","OO","P","PP"],cells:[5,5],defaultScale:.45,urlPattern:"assets/models/megapack/gltf/Buildings/Building%209/",filePattern:"Building_9_2_{color}.glb"},{type:"Building",style:"10",name:"建筑 10",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O"],cells:[4,4],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2010/",filePattern:"Building_10_{color}.glb"},{type:"Building",style:"11.1",name:"建筑 11 (1层)",colors:["A","B","C","D","E","F","G","H","I"],cells:[6,6],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2011/",filePattern:"Building_11_1_{color}.glb"},{type:"Building",style:"11.2",name:"建筑 11 (2层)",colors:["A","B","C","D","E","F","G","H","I"],cells:[6,6],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2011/",filePattern:"Building_11_2_{color}.glb"},{type:"Building",style:"11.3",name:"建筑 11 (3层)",colors:["A","B","C","D","E","F","G","H","I"],cells:[6,6],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2011/",filePattern:"Building_11_3_{color}.glb"},{type:"Building",style:"11.4",name:"建筑 11 (4层)",colors:["A","B","C","D","E","F","G","H","I"],cells:[6,6],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2011/",filePattern:"Building_11_4_{color}.glb"},{type:"Building",style:"11.5",name:"建筑 11 (5层)",colors:["A","B","C","D","E","F","G","H","I"],cells:[6,6],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2011/",filePattern:"Building_11_5_{color}.glb"},{type:"Building",style:"12",name:"建筑 12",colors:["A","B","C","D","E","F","G","H","I"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2012/",filePattern:"Building_12_{color}.glb"},{type:"Building",style:"13",name:"建筑 13",colors:["A","B","C","D","E","F","G"],cells:[3,3],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2013/",filePattern:"Building_13_{color}.glb"},{type:"Building",style:"14",name:"建筑 14",colors:["A","B","C","D","E","F","G","H","I"],cells:[6,6],defaultScale:.39,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2014/",filePattern:"Building_14_{color}.glb"},{type:"Building",style:"15",name:"建筑 15",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.43,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2015/",filePattern:"Building_15_{color}.glb"},{type:"Building",style:"16.1",name:"建筑 16 (1层)",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M"],cells:[6,6],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2016/",filePattern:"Building_16_1_{color}.glb"},{type:"Building",style:"16.2",name:"建筑 16 (2层)",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M"],cells:[6,6],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2016/",filePattern:"Building_16_2_{color}.glb"},{type:"Building",style:"17.1",name:"建筑 17 (1层)",colors:["A","AA","B","BB","C","CC","D","DD","E","EE","F","FF","G","GG","H","HH","I","II","J","JJ","K","KK"],cells:[6,6],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2017/",filePattern:"Building_17_1_{color}.glb"},{type:"Building",style:"17.2",name:"建筑 17 (2层)",colors:["A","AA","B","BB","C","CC","D","DD","E","EE","F","FF","G","GG","H","HH","I","II","J","JJ","K","KK"],cells:[6,6],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2017/",filePattern:"Building_17_2_{color}.glb"},{type:"Building",style:"17.3",name:"建筑 17 (3层)",colors:["A","AA","B","BB","C","CC","D","DD","E","EE","F","FF","G","GG","H","HH","I","II","J","JJ","K","KK"],cells:[6,6],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2017/",filePattern:"Building_17_3_{color}.glb"},{type:"Building",style:"18.1",name:"建筑 18 (1层)",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2018/",filePattern:"Building_18_1_{color}.glb"},{type:"Building",style:"18.2",name:"建筑 18 (2层)",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2018/",filePattern:"Building_18_2_{color}.glb"},{type:"Building",style:"18.3",name:"建筑 18 (3层)",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2018/",filePattern:"Building_18_3_{color}.glb"},{type:"Building",style:"19.1",name:"建筑 19 (1层)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.05,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2019/",filePattern:"Building_19_1_{color}.glb"},{type:"Building",style:"19.2",name:"建筑 19 (2层)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.05,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2019/",filePattern:"Building_19_2_{color}.glb"},{type:"Building",style:"19.3",name:"建筑 19 (3层)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.05,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2019/",filePattern:"Building_19_3_{color}.glb"},{type:"Building",style:"20.1",name:"建筑 20 (1层)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.28,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2020/",filePattern:"Building_20_1_{color}.glb"},{type:"Building",style:"20.2",name:"建筑 20 (2层)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.28,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2020/",filePattern:"Building_20_2_{color}.glb"},{type:"Building",style:"20.3",name:"建筑 20 (3层)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.28,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2020/",filePattern:"Building_20_3_{color}.glb"},{type:"Building",style:"21.1",name:"建筑 21 (1层)",colors:["A","B","C","D","E","F","G","H","I","J","K"],cells:[4,4],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2021/",filePattern:"Building_21_1_{color}.glb"},{type:"Building",style:"21.2",name:"建筑 21 (2层)",colors:["A","B","C","D","E","F","G","H","I","J","K"],cells:[4,4],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2021/",filePattern:"Building_21_2_{color}.glb"},{type:"Building",style:"21.3",name:"建筑 21 (3层)",colors:["A","B","C","D","E","F","G","H","I","J","K"],cells:[4,4],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2021/",filePattern:"Building_21_3_{color}.glb"},{type:"Building",style:"21.4",name:"建筑 21 (4层)",colors:["A","B","C","D","E","F","G","H","I","J","K"],cells:[4,4],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2021/",filePattern:"Building_21_4_{color}.glb"},{type:"Building",style:"21.5",name:"建筑 21 (5层)",colors:["A","B","C","D","E","F","G","H","I","J","K"],cells:[4,4],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2021/",filePattern:"Building_21_5_{color}.glb"},{type:"Building",style:"22.1",name:"建筑 22 (1层)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.16,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2022/",filePattern:"Building_22_1_{color}.glb"},{type:"Building",style:"22.2",name:"建筑 22 (2层)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.16,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2022/",filePattern:"Building_22_2_{color}.glb"},{type:"Building",style:"22.3",name:"建筑 22 (3层)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.16,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2022/",filePattern:"Building_22_3_{color}.glb"},{type:"Building",style:"23",name:"建筑 23",colors:["A","B","C","D","E","F","G"],cells:[6,6],defaultScale:.16,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2023/",filePattern:"Building_23_{color}.glb"},{type:"Building",style:"24",name:"建筑 24",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N"],cells:[5,5],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2024/",filePattern:"Building_24_{color}.glb"},{type:"Building",style:"25.10",name:"建筑 25 (10层)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2025/",filePattern:"Building_25_10_{color}.glb"},{type:"Building",style:"25.11",name:"建筑 25 (11层)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2025/",filePattern:"Building_25_11_{color}.glb"},{type:"Building",style:"25.1",name:"建筑 25 (1层)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.34,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2025/",filePattern:"Building_25_1_{color}.glb"},{type:"Building",style:"25.2",name:"建筑 25 (2层)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.34,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2025/",filePattern:"Building_25_2_{color}.glb"},{type:"Building",style:"25.3",name:"建筑 25 (3层)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.34,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2025/",filePattern:"Building_25_3_{color}.glb"},{type:"Building",style:"25.4",name:"建筑 25 (4层)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.34,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2025/",filePattern:"Building_25_4_{color}.glb"},{type:"Building",style:"25.5",name:"建筑 25 (5层)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2025/",filePattern:"Building_25_5_{color}.glb"},{type:"Building",style:"25.6",name:"建筑 25 (6层)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2025/",filePattern:"Building_25_6_{color}.glb"},{type:"Building",style:"25.7",name:"建筑 25 (7层)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2025/",filePattern:"Building_25_7_{color}.glb"},{type:"Building",style:"25.8",name:"建筑 25 (8层)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2025/",filePattern:"Building_25_8_{color}.glb"},{type:"Building",style:"25.9",name:"建筑 25 (9层)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2025/",filePattern:"Building_25_9_{color}.glb"},{type:"Building",style:"26",name:"建筑 26",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","O"],cells:[5,5],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2026/",filePattern:"Building_26_{color}.glb"},{type:"Building",style:"26.M",name:"建筑 26 (M层)",colors:["001"],cells:[5,5],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2026/",filePattern:"Building_26_M_{color}.glb"},{type:"Building",style:"26.O",name:"建筑 26 (O层)",colors:["001"],cells:[5,5],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2026/",filePattern:"Building_26_O_{color}.glb"},{type:"Building",style:"27",name:"建筑 27",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S","T"],cells:[6,6],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2027/",filePattern:"Building_27_{color}.glb"}],st=[{type:"Car",style:"1",name:"Car 1",colors:["A","B","D","E","F","G","H","J","K","L","M","N","O","P","R","S","T","U","V"],cells:[2,1],defaultScale:.55,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%201/",filePattern:"Car_1_{color}.gltf"},{type:"Car",style:"11",name:"Car 11",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZZ"],cells:[2,1],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%2011/",filePattern:"Car_11_{color}.gltf"},{type:"Car",style:"12",name:"Car 12",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","W"],cells:[2,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%2012/",filePattern:"Car_12_{color}.gltf"},{type:"Car",style:"14",name:"Car 14",colors:["A","B","C","D","E","F"],cells:[2,1],defaultScale:.73,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%2014/",filePattern:"Car_14_{color}.gltf"},{type:"Car",style:"15",name:"Car 15",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N"],cells:[2,1],defaultScale:.73,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%2015/",filePattern:"Car_15_{color}.gltf"},{type:"Car",style:"16",name:"Car 16",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N"],cells:[2,1],defaultScale:.55,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%2016/",filePattern:"Car_16_{color}.gltf"},{type:"Car",style:"17",name:"Car 17",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T"],cells:[2,1],defaultScale:.59,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%2017/",filePattern:"Car_17_{color}.gltf"},{type:"Car",style:"18",name:"Car 18",colors:["A","AA","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZZ"],cells:[2,1],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%2018/",filePattern:"Car_18_{color}.gltf"},{type:"Car",style:"2",name:"Car 2",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S","T"],cells:[2,1],defaultScale:.55,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%202/",filePattern:"Car_2_{color}.gltf"},{type:"Car",style:"20",name:"Car 20",colors:["A","B","C","D","E","F","G","H","I","K"],cells:[2,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%2020/",filePattern:"Truck_{color}.gltf"},{type:"Car",style:"3",name:"Car 3",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S","T","W","X","Y"],cells:[2,1],defaultScale:.51,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%203/",filePattern:"Car_3_1_{color}.gltf"},{type:"Car",style:"4",name:"Car 4",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S","T","W","X","Y","Z"],cells:[2,1],defaultScale:.57,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%204/",filePattern:"Car_4_1_{color}.gltf"},{type:"Car",style:"5",name:"Car 5",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S","T","W","X","Y","Z"],cells:[2,1],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%205/",filePattern:"Car_5_{color}.gltf"},{type:"Car",style:"6",name:"Car 6",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S","T","V","W","X","Y","Z"],cells:[2,1],defaultScale:.65,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%206/",filePattern:"Car_6_{color}.gltf"},{type:"Car",style:"7",name:"Car 7",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","XX","Y","Z"],cells:[2,1],defaultScale:.59,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%207/",filePattern:"Car_7_{color}.gltf"},{type:"Car",style:"8",name:"Car 8",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","XX","Y","Z"],cells:[2,1],defaultScale:.59,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%208/",filePattern:"Car_8_{color}.gltf"},{type:"Car",style:"9",name:"Car 9",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S","T","V","W","X","Y","Z"],cells:[2,1],defaultScale:.65,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%209/",filePattern:"Car_9_{color}.gltf"},{type:"IceCream Truck",style:"1",name:"IceCream Truck",colors:["A","B","C","D","E","F","G","H","I"],cells:[2,1],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Vehicles/IceCream%20Truck/",filePattern:"IceTruck_1_{color}.gltf"},{type:"Helicopter",style:"1",name:"Helicopter 1",colors:["A","B","C","D","E"],cells:[2,1],defaultScale:.18,urlPattern:"assets/models/megapack/gltf/Vehicles/Planes%20and%20Heli/",filePattern:"Helicopter_1_{color}.glb"},{type:"Helicopter",style:"2",name:"Helicopter 2",colors:["A","B","C","D","E"],cells:[2,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Vehicles/Planes%20and%20Heli/",filePattern:"Helicopter_2_{color}.glb"},{type:"Plane",style:"1",name:"Plane 1",colors:["A","B","C"],cells:[2,1],defaultScale:.09,urlPattern:"assets/models/megapack/gltf/Vehicles/Planes%20and%20Heli/",filePattern:"Plane_1_{color}.glb"},{type:"Plane",style:"2",name:"Plane 2",colors:["A","B","C","D","E","F"],cells:[2,1],defaultScale:.12,urlPattern:"assets/models/megapack/gltf/Vehicles/Planes%20and%20Heli/",filePattern:"Plane_2_{color}.glb"},{type:"Plane",style:"3",name:"Plane 3",colors:["A","B","C","D","E","F","G","H"],cells:[2,1],defaultScale:.07,urlPattern:"assets/models/megapack/gltf/Vehicles/Planes%20and%20Heli/",filePattern:"Plane_3_{color}.glb"},{type:"Police Car",style:"1",name:"Police Car",colors:["1","2","A","B"],cells:[2,1],defaultScale:.58,urlPattern:"assets/models/megapack/gltf/Vehicles/Police%20Car/",filePattern:"Car_Police_1_A_{color}.gltf"},{type:"Post Car",style:"1",name:"Post Car",colors:["A","B","C","D","E","F","G","H"],cells:[2,1],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Vehicles/Post%20Car/",filePattern:"PostCar_1_{color}.gltf"},{type:"RV",style:"1",name:"RV",colors:["A","B","C","D","E","F","G","H","I","J","K","L"],cells:[2,1],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Vehicles/RV/",filePattern:"RVCar_{color}.gltf"},{type:"Taxi",style:"1",name:"Taxi",colors:["1","2","3","4","5"],cells:[2,1],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Vehicles/Taxi/",filePattern:"Taxi_{color}.gltf"}],ot=[{type:"ParkingRoad",style:"1",name:"Parking Road 1",colors:["A","B","C"],cells:[6,4],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"ParkingRoad_{color}_1.glb"},{type:"ParkingRoad",style:"2",name:"Parking Road 2",colors:["A","B","C"],cells:[6,4],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"ParkingRoad_{color}_2.glb"},{type:"ParkingRoad",style:"3",name:"Parking Road 3",colors:["A","B","C"],cells:[6,4],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"ParkingRoad_{color}_3.glb"},{type:"ParkingRoad",style:"4",name:"Parking Road 4",colors:["A","B","C"],cells:[6,4],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"ParkingRoad_{color}_4.glb"},{type:"ParkingRoad",style:"5",name:"Parking Road 5",colors:["A","B","C"],cells:[6,4],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"ParkingRoad_{color}_5.glb"},{type:"ParkingRoad",style:"6",name:"Parking Road 6",colors:["A","B","C"],cells:[12,26],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"ParkingRoad_{color}_6.glb"},{type:"ParkingRoad",style:"7",name:"Parking Road 7",colors:["A","B","C"],cells:[8,26],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"ParkingRoad_{color}_7.glb"},{type:"RoadMid",style:"1",name:"Road Mid 1",colors:["A","B","C","D","E"],cells:[2,2],defaultScale:.5,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"RoadMid_1_{color}.glb"},{type:"RoadMid",style:"2",name:"Road Mid 2",colors:["A","B","C","D","E"],cells:[2,4],defaultScale:.5,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"RoadMid_2_{color}.glb"},{type:"RoadMid",style:"3",name:"Road Mid 3",colors:["A","B","C","D","E"],cells:[2,2],defaultScale:.67,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"RoadMid_3_{color}.glb"},{type:"Road",style:"1",name:"Road 1",colors:["A","B","C"],cells:[4,6],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_1.glb"},{type:"Road",style:"11",name:"Road 11",colors:["A","B","C"],cells:[4,4],defaultScale:.92,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_11.glb"},{type:"Road",style:"12",name:"Road 12",colors:["A","B","C"],cells:[4,2],defaultScale:.92,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_12.glb"},{type:"Road",style:"13",name:"Road 13",colors:["A","B","C"],cells:[4,4],defaultScale:.92,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_13.glb"},{type:"Road",style:"14",name:"Road 14",colors:["A","B","C"],cells:[4,4],defaultScale:.92,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_14.glb"},{type:"Road",style:"15",name:"Road 15",colors:["A","B","C"],cells:[4,6],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_15.glb"},{type:"Road",style:"16",name:"Road 16",colors:["A","B","C"],cells:[4,4],defaultScale:.9,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_16.glb"},{type:"Road",style:"18",name:"Road 18",colors:["A","B","C"],cells:[4,4],defaultScale:.9,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_18.glb"},{type:"Road",style:"2",name:"Road 2",colors:["A","B","C"],cells:[4,6],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2.glb"},{type:"Road",style:"2L_1_1",name:"Road 2L_1_1",colors:["A","B","C"],cells:[10,6],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_1_1.glb"},{type:"Road",style:"2L_1_2",name:"Road 2L_1_2",colors:["A","B","C"],cells:[10,6],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_1_2.glb"},{type:"Road",style:"2L_1_3",name:"Road 2L_1_3",colors:["A","B","C"],cells:[10,18],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_1_3.glb"},{type:"Road",style:"2L_1_4",name:"Road 2L_1_4",colors:["A","B","C"],cells:[14,14],defaultScale:.54,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_1_4.glb"},{type:"Road",style:"2L_1_5",name:"Road 2L_1_5",colors:["A","B","C"],cells:[18,14],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_1_5.glb"},{type:"Road",style:"2L_1_6",name:"Road 2L_1_6",colors:["A","B","C"],cells:[18,18],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_1_6.glb"},{type:"Road",style:"2L_1_7",name:"Road 2L_1_7",colors:["A","B","C"],cells:[10,6],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_1_7.glb"},{type:"Road",style:"2L_1_8",name:"Road 2L_1_8",colors:["A","B","C"],cells:[10,6],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_1_8.glb"},{type:"Road",style:"2L_2_1",name:"Road 2L_2_1",colors:["A","B","C"],cells:[8,6],defaultScale:.58,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_2_1.glb"},{type:"Road",style:"2L_2_2",name:"Road 2L_2_2",colors:["A","B","C"],cells:[8,6],defaultScale:.58,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_2_2.glb"},{type:"Road",style:"2L_2_3",name:"Road 2L_2_3",colors:["A","B","C"],cells:[8,18],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_2_3.glb"},{type:"Road",style:"2L_2_4",name:"Road 2L_2_4",colors:["A","B","C"],cells:[12,14],defaultScale:.58,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_2_4.glb"},{type:"Road",style:"2L_2_5",name:"Road 2L_2_5",colors:["A","B","C"],cells:[16,14],defaultScale:.54,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_2_5.glb"},{type:"Road",style:"2L_2_6",name:"Road 2L_2_6",colors:["A","B","C"],cells:[16,16],defaultScale:.54,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_2_6.glb"},{type:"Road",style:"2L_2_7",name:"Road 2L_2_7",colors:["A","B","C"],cells:[8,6],defaultScale:.58,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_2_7.glb"},{type:"Road",style:"2_1",name:"Road 2_1",colors:["A","B","C"],cells:[4,6],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2_1.glb"},{type:"Road",style:"3",name:"Road 3",colors:["A","B","C"],cells:[6,10],defaultScale:.62,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_3.glb"},{type:"Road",style:"4",name:"Road 4",colors:["A","B","C"],cells:[6,10],defaultScale:.62,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_4.glb"},{type:"Road",style:"5",name:"Road 5",colors:["A","B","C"],cells:[6,6],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_5.glb"},{type:"Road",style:"6",name:"Road 6",colors:["A","B","C"],cells:[4,6],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_6.glb"},{type:"Road",style:"7",name:"Road 7",colors:["A","B","C"],cells:[6,6],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_7.glb"},{type:"Road",style:"8",name:"Road 8",colors:["A","B","C"],cells:[4,4],defaultScale:.5,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_8.glb"},{type:"Road",style:"9",name:"Road 9",colors:["A","B","C"],cells:[6,6],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_9.glb"}],rt=[{type:"Bench",style:"1",name:"Bench 1",colors:["A","B"],cells:[1,1],defaultScale:.41,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Bench_1_{color}.glb"},{type:"Bench",style:"2",name:"Bench 2",colors:["A","B"],cells:[1,1],defaultScale:.49,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Bench_2_{color}.glb"},{type:"Bench",style:"3",name:"Bench 3",colors:["A","B"],cells:[1,1],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Bench_3_{color}.glb"},{type:"BrickWall_1",style:"1",name:"Brick Wall_1 1",colors:["A"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"BrickWall_1_1.glb"},{type:"BrickWall_1",style:"2",name:"Brick Wall_1 2",colors:["A"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"BrickWall_1_2.glb"},{type:"BrickWall_2",style:"1",name:"Brick Wall_2 1",colors:["A"],cells:[1,1],defaultScale:.61,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"BrickWall_2_1.glb"},{type:"BrickWall_2",style:"2",name:"Brick Wall_2 2",colors:["A"],cells:[1,1],defaultScale:.61,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"BrickWall_2_2.glb"},{type:"BrickWall_3",style:"1",name:"Brick Wall_3 1",colors:["A"],cells:[1,1],defaultScale:.61,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"BrickWall_3_1.glb"},{type:"BrickWall_3",style:"2",name:"Brick Wall_3 2",colors:["A"],cells:[1,1],defaultScale:.61,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"BrickWall_3_2.glb"},{type:"BrickWall_4",style:"1",name:"Brick Wall_4 1",colors:["A"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"BrickWall_4_1.glb"},{type:"BrickWall_4",style:"2",name:"Brick Wall_4 2",colors:["A"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"BrickWall_4_2.glb"},{type:"BrickWall_5",style:"1",name:"Brick Wall_5 1",colors:["A"],cells:[1,1],defaultScale:.61,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"BrickWall_5_1.glb"},{type:"BrickWall_5",style:"2",name:"Brick Wall_5 2",colors:["A"],cells:[1,1],defaultScale:.61,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"BrickWall_5_2.glb"},{type:"BushPot",style:"1",name:"Bush Pot 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.36,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"BushPot_1_{color}.glb"},{type:"Bush",style:"1.1",name:"Bush 1.1",colors:["A","B","C"],cells:[1,1],defaultScale:.36,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Bush_1_{color}_1.glb"},{type:"Bush",style:"1.2",name:"Bush 1.2",colors:["A","B","C"],cells:[1,1],defaultScale:.39,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Bush_1_{color}_2.glb"},{type:"Bush",style:"1.3",name:"Bush 1.3",colors:["A","B","C"],cells:[1,1],defaultScale:1.07,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Bush_1_{color}_3.glb"},{type:"Bush",style:"2.1",name:"Bush 2.1",colors:["A","B"],cells:[1,1],defaultScale:1.15,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Bush_2_{color}_1.glb"},{type:"Bush",style:"2.2",name:"Bush 2.2",colors:["A","B"],cells:[1,1],defaultScale:1.06,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Bush_2_{color}_2.glb"},{type:"Cloud",style:"1",name:"Cloud 1",colors:["A"],cells:[1,1],defaultScale:.05,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Cloud_1.glb"},{type:"Cloud",style:"2",name:"Cloud 2",colors:["A"],cells:[1,1],defaultScale:.05,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Cloud_2.glb"},{type:"Duck",style:"1",name:"Duck 1",colors:["A"],cells:[1,1],defaultScale:.98,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Duck_1.glb"},{type:"Duck",style:"2",name:"Duck 2",colors:["A"],cells:[1,1],defaultScale:1.95,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Duck_2.glb"},{type:"Flower",style:"1",name:"Flower 1",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:2.37,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Flower_1_{color}.glb"},{type:"Flowers",style:"1",name:"Flowers 1",colors:["A","B","C","D","F","G"],cells:[1,1],defaultScale:1.76,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Flowers_1_{color}.glb"},{type:"Flowers",style:"2",name:"Flowers 2",colors:["A","B","C","F","G"],cells:[1,1],defaultScale:2.45,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Flowers_2_{color}.glb"},{type:"Flowers",style:"3",name:"Flowers 3",colors:["A","B","C","F","G"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Flowers_3_{color}.glb"},{type:"Flowers",style:"4",name:"Flowers 4",colors:["B","C","D","F","G"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Flowers_4_{color}.glb"},{type:"Fountain",style:"1",name:"Fountain 1",colors:["A","B"],cells:[3,3],defaultScale:.61,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Fountain_1_{color}.glb"},{type:"GrassBed",style:"1.10",name:"Grass Bed 1.10",colors:["A","B"],cells:[2,2],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"GrassBed_1_{color}_10.glb"},{type:"GrassBed",style:"1.1",name:"Grass Bed 1.1",colors:["A","B"],cells:[2,2],defaultScale:1.33,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"GrassBed_1_{color}_1_.glb"},{type:"GrassBed",style:"1.2",name:"Grass Bed 1.2",colors:["A","B"],cells:[2,2],defaultScale:1.33,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"GrassBed_1_{color}_2_.glb"},{type:"GrassBed",style:"1.3",name:"Grass Bed 1.3",colors:["A","B"],cells:[2,2],defaultScale:1.33,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"GrassBed_1_{color}_3_.glb"},{type:"GrassBed",style:"1.4",name:"Grass Bed 1.4",colors:["A","B"],cells:[2,2],defaultScale:1.33,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"GrassBed_1_{color}_4.glb"},{type:"GrassBed",style:"1.5",name:"Grass Bed 1.5",colors:["A","B"],cells:[2,2],defaultScale:1.33,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"GrassBed_1_{color}_5.glb"},{type:"GrassBed",style:"1.6",name:"Grass Bed 1.6",colors:["A","B"],cells:[2,2],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"GrassBed_1_{color}_6.glb"},{type:"GrassBed",style:"1.7",name:"Grass Bed 1.7",colors:["A","B"],cells:[2,2],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"GrassBed_1_{color}_7.glb"},{type:"GrassBed",style:"1.8",name:"Grass Bed 1.8",colors:["A","B"],cells:[2,2],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"GrassBed_1_{color}_8.glb"},{type:"GrassBed",style:"1.9",name:"Grass Bed 1.9",colors:["A","B"],cells:[2,2],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"GrassBed_1_{color}_9.glb"},{type:"GrassPlane",style:"1",name:"Grass Plane 1",colors:["A","B","C"],cells:[1,1],defaultScale:1.53,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"GrassPlane_1_{color}.glb"},{type:"GrassPlane",style:"2",name:"Grass Plane 2",colors:["A","B","C"],cells:[1,1],defaultScale:1.15,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"GrassPlane_2_{color}.glb"},{type:"Grass",style:"1",name:"Grass 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:2.18,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Grass_{color}_1.glb"},{type:"Grass",style:"2",name:"Grass 2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:2.71,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Grass_{color}_2.glb"},{type:"Grass",style:"3",name:"Grass 3",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Grass_{color}_3.glb"},{type:"Grass",style:"4",name:"Grass 4",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Grass_{color}_4.glb"},{type:"Grass",style:"5",name:"Grass 5",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Grass_{color}_5.glb"},{type:"HighWall_1",style:"1",name:"High Wall_1 1",colors:["A"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"HighWall_1_1.glb"},{type:"HighWall_1",style:"2",name:"High Wall_1 2",colors:["A"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"HighWall_1_2.glb"},{type:"HighWall_2",style:"1",name:"High Wall_2 1",colors:["A"],cells:[1,1],defaultScale:.61,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"HighWall_2_1.glb"},{type:"HighWall_2",style:"2",name:"High Wall_2 2",colors:["A"],cells:[1,1],defaultScale:.61,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"HighWall_2_2.glb"},{type:"HighWall_3",style:"1",name:"High Wall_3 1",colors:["A"],cells:[1,1],defaultScale:.61,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"HighWall_3_1.glb"},{type:"HighWall_3",style:"2",name:"High Wall_3 2",colors:["A"],cells:[1,1],defaultScale:.61,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"HighWall_3_2.glb"},{type:"MayorStatue_Base",style:"1",name:"Mayor Statue_ Base 1",colors:["A","B","C","D","F"],cells:[4,4],defaultScale:.28,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"MayorStatue_Base_{color}.glb"},{type:"Mayor_Statue",style:"1",name:"Mayor_ Statue 1",colors:["A","B","C"],cells:[4,4],defaultScale:.47,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Mayor_Statue_{color}.glb"},{type:"Musshrooms",style:"1",name:"Musshrooms 1",colors:["A","B"],cells:[1,1],defaultScale:1.16,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Musshrooms_{color}_1.glb"},{type:"Musshrooms",style:"2",name:"Musshrooms 2",colors:["A","B"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Musshrooms_{color}_2.glb"},{type:"ParkPlane",style:"1",name:"Park Plane 1",colors:["A","B"],cells:[1,1],defaultScale:.1,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"ParkPlane_1_{color}.glb"},{type:"ParkPlane",style:"2",name:"Park Plane 2",colors:["A","B"],cells:[1,1],defaultScale:.05,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"ParkPlane_2_{color}.glb"},{type:"ParkRoad",style:"1",name:"Park Road 1",colors:["A","B","C","D"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"ParkRoad_1_{color}.glb"},{type:"ParkRoad",style:"2",name:"Park Road 2",colors:["A","B","C","D"],cells:[1,1],defaultScale:.13,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"ParkRoad_2_{color}.glb"},{type:"ParkRoad",style:"2.001",name:"Park Road 2.001",colors:["A"],cells:[1,1],defaultScale:.13,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"ParkRoad_2_{color}_001.glb"},{type:"ParkRoad",style:"3",name:"Park Road 3",colors:["A","B","C","D"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"ParkRoad_3_{color}.glb"},{type:"ParkRoad",style:"4",name:"Park Road 4",colors:["A","B","C","D"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"ParkRoad_4_{color}.glb"},{type:"ParkRoad",style:"5",name:"Park Road 5",colors:["A","B","C","D"],cells:[1,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"ParkRoad_5_{color}.glb"},{type:"ParkRoad",style:"6",name:"Park Road 6",colors:["A","B","C","D"],cells:[1,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"ParkRoad_6_{color}.glb"},{type:"ParkRoad",style:"6.001",name:"Park Road 6.001",colors:["A"],cells:[1,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"ParkRoad_6_{color}_001.glb"},{type:"ParkRoad",style:"7",name:"Park Road 7",colors:["A","B","C","D"],cells:[1,1],defaultScale:.11,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"ParkRoad_7_{color}.glb"},{type:"Park_GrassHill",style:"1",name:"Park_ Grass Hill 1",colors:["A"],cells:[1,1],defaultScale:.05,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Park_GrassHill_{color}.glb"},{type:"Pebles",style:"1.1",name:"Pebles 1.1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.57,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Pebles_1_{color}_1.glb"},{type:"Pebles",style:"1.2",name:"Pebles 1.2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.62,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Pebles_1_{color}_2.glb"},{type:"Pebles",style:"1.3",name:"Pebles 1.3",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:1.86,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Pebles_1_{color}_3.glb"},{type:"PlantPot",style:"1",name:"Plant Pot 1",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:2.91,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"PlantPot_1_{color}.glb"},{type:"PlantPot",style:"2",name:"Plant Pot 2",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:2.21,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"PlantPot_2_{color}.glb"},{type:"PlantPot",style:"3",name:"Plant Pot 3",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:1,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"PlantPot_3_{color}.glb"},{type:"PlantPot",style:"4",name:"Plant Pot 4",colors:["A","B","C","D","F"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"PlantPot_4_{color}.glb"},{type:"PlantPot",style:"5",name:"Plant Pot 5",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"PlantPot_5_{color}.glb"},{type:"Plant",style:"1.1",name:"Plant 1.1",colors:["A","B","C"],cells:[1,1],defaultScale:2.39,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Plant_1_{color}_1.glb"},{type:"Plant",style:"1.2",name:"Plant 1.2",colors:["A","B","C"],cells:[1,1],defaultScale:2.34,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Plant_1_{color}_2.glb"},{type:"Plant",style:"2.1",name:"Plant 2.1",colors:["A","B"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Plant_2_{color}_1.glb"},{type:"Plant",style:"2.2",name:"Plant 2.2",colors:["A","B"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Plant_2_{color}_2.glb"},{type:"Reed",style:"1",name:"Reed 1",colors:["A"],cells:[1,1],defaultScale:.55,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Reed_1.glb"},{type:"RockFormation",style:"1",name:"Rock Formation 1",colors:["A"],cells:[1,1],defaultScale:.29,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"RockFormation_1.glb"},{type:"RockFormation",style:"2",name:"Rock Formation 2",colors:["A"],cells:[1,1],defaultScale:.18,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"RockFormation_2.glb"},{type:"RockFormation",style:"3",name:"Rock Formation 3",colors:["A"],cells:[1,1],defaultScale:.1,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"RockFormation_3.glb"},{type:"Rock",style:"1",name:"Rock 1",colors:["A"],cells:[1,1],defaultScale:2.79,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Rock_1_{color}.glb"},{type:"Rock",style:"2",name:"Rock 2",colors:["A"],cells:[1,1],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Rock_2_{color}.glb"},{type:"Rock",style:"3",name:"Rock 3",colors:["A"],cells:[1,1],defaultScale:.81,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Rock_3_{color}.glb"},{type:"StreetLamp",style:"3",name:"Street Lamp 3",colors:["A","B","C","D"],cells:[2,2],defaultScale:2.02,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"StreetLamp_3_{color}.glb"},{type:"Trashbin",style:"1",name:"Trashbin 1",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.77,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Trashbin_1_{color}.glb"},{type:"Tree",style:"1",name:"Tree 1",colors:["A","B","C","D","E","F"],cells:[2,2],defaultScale:1.15,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Tree_{color}_1.glb"},{type:"Tree",style:"2",name:"Tree 2",colors:["A","B","C","D","E","F"],cells:[2,2],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Tree_{color}_2.glb"},{type:"Tree",style:"3",name:"Tree 3",colors:["A","B","C","D","E","F"],cells:[2,2],defaultScale:1.24,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Tree_{color}_3.glb"},{type:"Tree",style:"4",name:"Tree 4",colors:["A","B","C","D","E","F"],cells:[2,2],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Tree_{color}_4.glb"},{type:"Tree",style:"5",name:"Tree 5",colors:["A","B","C","D","E","F"],cells:[2,2],defaultScale:.34,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Tree_{color}_5.glb"},{type:"Tree",style:"6",name:"Tree 6",colors:["A","B","C","D","E","F"],cells:[2,2],defaultScale:.49,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Tree_{color}_6.glb"},{type:"Tree",style:"7",name:"Tree 7",colors:["A","B","C","D","E","F"],cells:[2,2],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Tree_{color}_7.glb"},{type:"Tree",style:"8",name:"Tree 8",colors:["A","B","C","D"],cells:[2,2],defaultScale:.39,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Tree_{color}_8.glb"}],nt=[{type:"Barier",style:"4",name:"Barier 4",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.39,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Barier_4_{color}.glb"},{type:"Bench",style:"4",name:"Bench 4",colors:["A","B","C","D"],cells:[1,1],defaultScale:.41,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Bench_4_{color}.glb"},{type:"BikePlace",style:"1",name:"Bike Place 1",colors:["A"],cells:[1,1],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"BikePlace.glb"},{type:"Box",style:"1",name:"Box 1",colors:["A"],cells:[1,1],defaultScale:1.7,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Box_1.glb"},{type:"Box",style:"2",name:"Box 2",colors:["A"],cells:[1,1],defaultScale:1.73,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Box_2.glb"},{type:"Box",style:"3",name:"Box 3",colors:["A"],cells:[1,1],defaultScale:1.06,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Box_3.glb"},{type:"Box",style:"4",name:"Box 4",colors:["A"],cells:[1,1],defaultScale:1.06,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Box_4.glb"},{type:"Box",style:"5",name:"Box 5",colors:["A"],cells:[1,1],defaultScale:1.06,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Box_5.glb"},{type:"BusStop",style:"1",name:"Bus Stop 1",colors:["A","B","C"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"BusStop_{color}.glb"},{type:"Cone",style:"1",name:"Cone 1",colors:["A"],cells:[1,1],defaultScale:1.22,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Cone_1.glb"},{type:"Cone",style:"2",name:"Cone 2",colors:["A"],cells:[1,1],defaultScale:1.25,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Cone_2.glb"},{type:"Fence",style:"1.1",name:"Fence 1.1",colors:["A","B","C"],cells:[1,1],defaultScale:.41,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Fence_1_{color}_1.glb"},{type:"Fence",style:"1.2",name:"Fence 1.2",colors:["A","B","C"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Fence_1_{color}_2.glb"},{type:"Fence",style:"1.3",name:"Fence 1.3",colors:["A","B","C"],cells:[1,1],defaultScale:2.02,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Fence_1_{color}_3.glb"},{type:"FireEscape",style:"1",name:"Fire Escape 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.21,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"FireEscape_{color}_1.glb"},{type:"FireEscape",style:"2",name:"Fire Escape 2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.31,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"FireEscape_{color}_2.glb"},{type:"FireEscape",style:"3",name:"Fire Escape 3",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:1.17,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"FireEscape_{color}_3.glb"},{type:"FireEscape",style:"4",name:"Fire Escape 4",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:1.17,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"FireEscape_{color}_4.glb"},{type:"FoodCart",style:"1",name:"Food Cart 1",colors:["A","B","C","E"],cells:[1,1],defaultScale:.3,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"FoodCart_1_{color}.glb"},{type:"Grate",style:"1",name:"Grate 1",colors:["A","B","C"],cells:[1,1],defaultScale:.55,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Grate_1_{color}.glb"},{type:"Grate",style:"2",name:"Grate 2",colors:["A","B","C"],cells:[1,1],defaultScale:.55,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Grate_2_{color}.glb"},{type:"Hydrant",style:"1",name:"Hydrant 1",colors:["A"],cells:[1,1],defaultScale:1.35,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Hydrant.glb"},{type:"Kerbstone",style:"1",name:"Kerbstone 1",colors:["A","B"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Kerbstone_{color}_1.glb"},{type:"Kerbstone",style:"2",name:"Kerbstone 2",colors:["A","B"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Kerbstone_{color}_2.glb"},{type:"Kerbstone",style:"3",name:"Kerbstone 3",colors:["A","B"],cells:[1,1],defaultScale:.1,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Kerbstone_{color}_3.glb"},{type:"Kiosk",style:"1",name:"Kiosk 1",colors:["A","B","D","E"],cells:[1,1],defaultScale:.18,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Kiosk_1_{color}.glb"},{type:"LineCh_1",style:"1",name:"Line Ch_1 1",colors:["A"],cells:[1,1],defaultScale:.7,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"LineCh_1_1.glb"},{type:"LineCh_1",style:"2",name:"Line Ch_1 2",colors:["A"],cells:[1,1],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"LineCh_1_2.glb"},{type:"NewspaperH",style:"1",name:"Newspaper H 1",colors:["A"],cells:[1,1],defaultScale:1.41,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"NewspaperH.glb"},{type:"Note_1",style:"1",name:"Note_1 1",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Note_1_1.glb"},{type:"Note_1",style:"2",name:"Note_1 2",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Note_1_2.glb"},{type:"Note_1",style:"3",name:"Note_1 3",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Note_1_3.glb"},{type:"Note_1",style:"4",name:"Note_1 4",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Note_1_4.glb"},{type:"Note_1",style:"5",name:"Note_1 5",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Note_1_5.glb"},{type:"Parkomat",style:"1",name:"Parkomat 1",colors:["A"],cells:[1,1],defaultScale:2.39,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Parkomat.glb"},{type:"PostBox",style:"1",name:"Post Box 1",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:1.41,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"PostBox_1_{color}.glb"},{type:"PostBox",style:"2",name:"Post Box 2",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:1.32,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"PostBox_2_{color}.glb"},{type:"Prop",style:"1",name:"Prop 1",colors:["A","B","C"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Prop_1_{color}.glb"},{type:"RoadBarier",style:"1",name:"Road Barier 1",colors:["A","B"],cells:[1,1],defaultScale:.57,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"RoadBarier_1_{color}.glb"},{type:"SignProp",style:"1.1",name:"Sign Prop 1.1",colors:["A","B","C"],cells:[1,1],defaultScale:.61,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignProp_1_{color}_1.glb"},{type:"SignProp",style:"1.2",name:"Sign Prop 1.2",colors:["A","B","C"],cells:[1,1],defaultScale:.88,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignProp_1_{color}_2.glb"},{type:"SignProp",style:"1.3",name:"Sign Prop 1.3",colors:["A","B","C"],cells:[1,1],defaultScale:.88,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignProp_1_{color}_3.glb"},{type:"SignProp",style:"1.4",name:"Sign Prop 1.4",colors:["A","B","C"],cells:[1,1],defaultScale:.88,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignProp_1_{color}_4.glb"},{type:"SignProp",style:"1.5",name:"Sign Prop 1.5",colors:["A","B","C"],cells:[1,1],defaultScale:.88,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignProp_1_{color}_5.glb"},{type:"SignProp",style:"1.6",name:"Sign Prop 1.6",colors:["A","B","C"],cells:[1,1],defaultScale:1.31,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignProp_1_{color}_6.glb"},{type:"SignProp",style:"2.1",name:"Sign Prop 2.1",colors:["A","B","C"],cells:[1,1],defaultScale:.6,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignProp_2_{color}_1.glb"},{type:"SignProp",style:"2.2",name:"Sign Prop 2.2",colors:["A","B","C"],cells:[1,1],defaultScale:.86,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignProp_2_{color}_2.glb"},{type:"SignProp",style:"2.3",name:"Sign Prop 2.3",colors:["A","B","C"],cells:[1,1],defaultScale:.86,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignProp_2_{color}_3.glb"},{type:"SignProp",style:"2.4",name:"Sign Prop 2.4",colors:["A","B","C"],cells:[1,1],defaultScale:.86,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignProp_2_{color}_4.glb"},{type:"SignProp",style:"2.5",name:"Sign Prop 2.5",colors:["A","B","C"],cells:[1,1],defaultScale:.86,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignProp_2_{color}_5.glb"},{type:"SignProp",style:"2.6",name:"Sign Prop 2.6",colors:["A","B","C"],cells:[1,1],defaultScale:2.36,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignProp_2_{color}_6.glb"},{type:"SignX",style:"1",name:"Sign X 1",colors:["A"],cells:[1,1],defaultScale:1.24,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignX.glb"},{type:"StP",style:"1",name:"St P 1",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"StP.glb"},{type:"Trashbag",style:"1",name:"Trashbag 1",colors:["A","B"],cells:[1,1],defaultScale:1.78,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Trashbag_{color}_1.glb"},{type:"Trashbag",style:"2",name:"Trashbag 2",colors:["A","B"],cells:[1,1],defaultScale:1.69,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Trashbag_{color}_2.glb"},{type:"VENTS",style:"1",name:"V E N T S 1",colors:["A","B","C"],cells:[1,1],defaultScale:.69,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"VENTS_1_{color}.gltf"},{type:"VENTS",style:"2",name:"V E N T S 2",colors:["A","B","C"],cells:[1,1],defaultScale:1.5,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"VENTS_2_{color}.glb"}],ct=[{type:"GrassTile",style:"1",name:"Grass Tile 1",colors:["A","B","C","D"],cells:[1,1],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"GrassTile_{color}_1.glb"},{type:"GrassTile",style:"2",name:"Grass Tile 2",colors:["A","B","C","D"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"GrassTile_{color}_2.glb"},{type:"GrassTile",style:"3",name:"Grass Tile 3",colors:["A","B","C","D"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"GrassTile_{color}_3.glb"},{type:"GrassTile",style:"4",name:"Grass Tile 4",colors:["A","B","C","D"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"GrassTile_{color}_4.glb"},{type:"SandTile",style:"1",name:"Sand Tile 1",colors:["A","B"],cells:[1,1],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"SandTile_{color}_1.glb"},{type:"SandTile",style:"2",name:"Sand Tile 2",colors:["A","B"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"SandTile_{color}_2.glb"},{type:"SandTile",style:"3",name:"Sand Tile 3",colors:["A","B"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"SandTile_{color}_3.glb"},{type:"SandTile",style:"4",name:"Sand Tile 4",colors:["A","B"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"SandTile_{color}_4.glb"},{type:"StreetTile",style:"1.1",name:"Street Tile 1.1",colors:["A","B","C","D"],cells:[2,2],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"StreetTile_1_{color}_1.glb"},{type:"StreetTile",style:"1.2",name:"Street Tile 1.2",colors:["A","B","C","D"],cells:[2,2],defaultScale:1.5,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"StreetTile_1_{color}_2.glb"},{type:"StreetTile",style:"1.3",name:"Street Tile 1.3",colors:["A","B","C","D"],cells:[2,2],defaultScale:1.5,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"StreetTile_1_{color}_3.glb"},{type:"StreetTile",style:"1.4",name:"Street Tile 1.4",colors:["A","B","C","D"],cells:[2,2],defaultScale:1.5,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"StreetTile_1_{color}_4.glb"},{type:"StreetTile",style:"1.5",name:"Street Tile 1.5",colors:["A","B","C","D"],cells:[2,2],defaultScale:1.5,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"StreetTile_1_{color}_5.glb"},{type:"StreetTile",style:"1.6",name:"Street Tile 1.6",colors:["A","B","C","D"],cells:[2,2],defaultScale:1.5,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"StreetTile_1_{color}_6.glb"},{type:"StreetTile",style:"1.7",name:"Street Tile 1.7",colors:["A","B","C","D"],cells:[2,2],defaultScale:1.5,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"StreetTile_1_{color}_7.glb"},{type:"StreetTile",style:"1.8",name:"Street Tile 1.8",colors:["A","B","C","D"],cells:[2,2],defaultScale:1.5,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"StreetTile_1_{color}_8.glb"},{type:"StreetTile",style:"2.1",name:"Street Tile 2.1",colors:["A","B","C","D"],cells:[2,2],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"StreetTile_2_{color}_1.glb"},{type:"StreetTile",style:"2.2",name:"Street Tile 2.2",colors:["A","B","C","D"],cells:[2,2],defaultScale:1.5,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"StreetTile_2_{color}_2.glb"}],it=[{type:"BilboardPlaceholder",style:"1",name:"Bilboard Placeholder 1",colors:["A","B","C","D"],cells:[1,1],defaultScale:.29,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"BilboardPlaceholder_1_{color}.glb"},{type:"Bilboard",style:"1",name:"Bilboard 1",colors:["A","B","C"],cells:[1,1],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Bilboard_1_{color}.glb"},{type:"Bilboard",style:"2",name:"Bilboard 2",colors:["A","B","C"],cells:[1,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Bilboard_2_{color}.glb"},{type:"Lights_1",style:"1",name:"Lights_1 1",colors:["A"],cells:[1,1],defaultScale:2.08,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Lights_1_1.glb"},{type:"Lights_1",style:"2",name:"Lights_1 2",colors:["A"],cells:[1,1],defaultScale:2.31,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Lights_1_2.glb"},{type:"Lights_1",style:"3",name:"Lights_1 3",colors:["A"],cells:[1,1],defaultScale:2.4,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Lights_1_3.glb"},{type:"Lights",style:"1",name:"Lights 1",colors:["A","B","C"],cells:[1,1],defaultScale:.25,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Lights_1_{color}.glb"},{type:"Lights",style:"2",name:"Lights 2",colors:["A","B","C"],cells:[1,1],defaultScale:1.61,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Lights_2_{color}.glb"},{type:"Lights",style:"3",name:"Lights 3",colors:["A","B","C"],cells:[1,1],defaultScale:1.24,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Lights_3_{color}.glb"},{type:"Lights",style:"4",name:"Lights 4",colors:["A","B","C"],cells:[1,1],defaultScale:1.35,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Lights_4_{color}.glb"},{type:"Lights",style:"5",name:"Lights 5",colors:["A","B","C"],cells:[1,1],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Lights_5_{color}.glb"},{type:"Lights",style:"6",name:"Lights 6",colors:["A","B","C"],cells:[1,1],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Lights_6_{color}.glb"},{type:"Lights",style:"7",name:"Lights 7",colors:["A","B","C"],cells:[1,1],defaultScale:.55,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Lights_7_{color}.glb"},{type:"Placat",style:"1",name:"Placat 1",colors:["A"],cells:[1,1],defaultScale:.74,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Placat_1.glb"},{type:"Placat",style:"2",name:"Placat 2",colors:["A"],cells:[1,1],defaultScale:.74,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Placat_2.glb"},{type:"Placat",style:"3",name:"Placat 3",colors:["A"],cells:[1,1],defaultScale:.74,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Placat_3.glb"},{type:"SignHolder",style:"1",name:"Sign Holder 1",colors:["A","B","C","D"],cells:[1,1],defaultScale:.73,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"SignHolder_1_{color}.glb"},{type:"SignHolder",style:"2",name:"Sign Holder 2",colors:["A","B","C"],cells:[1,1],defaultScale:1.13,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"SignHolder_2_{color}.glb"},{type:"SignHolder",style:"3",name:"Sign Holder 3",colors:["A","B","C","D"],cells:[1,1],defaultScale:2.85,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"SignHolder_3_{color}.glb"},{type:"SignHolder",style:"4",name:"Sign Holder 4",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:.09,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"SignHolder_4_{color}.glb"},{type:"SignHolder",style:"5",name:"Sign Holder 5",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:1.21,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"SignHolder_5_{color}.glb"},{type:"SignHolder",style:"6",name:"Sign Holder 6",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:1.16,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"SignHolder_6_{color}.glb"},{type:"Sign",style:"1",name:"Sign 1",colors:["A"],cells:[1,1],defaultScale:1.01,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_1.glb"},{type:"Sign",style:"10",name:"Sign 10",colors:["A"],cells:[1,1],defaultScale:1.01,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_10.glb"},{type:"Sign",style:"11",name:"Sign 11",colors:["A"],cells:[1,1],defaultScale:1.01,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_11.glb"},{type:"Sign",style:"12",name:"Sign 12",colors:["A"],cells:[1,1],defaultScale:1.52,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_12.glb"},{type:"Sign",style:"13",name:"Sign 13",colors:["A"],cells:[1,1],defaultScale:1.06,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_13.glb"},{type:"Sign",style:"14",name:"Sign 14",colors:["A"],cells:[1,1],defaultScale:.31,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_14.glb"},{type:"Sign",style:"15",name:"Sign 15",colors:["A"],cells:[1,1],defaultScale:.5,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_15.glb"},{type:"Sign",style:"16",name:"Sign 16",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_16.glb"},{type:"Sign",style:"17",name:"Sign 17",colors:["A"],cells:[1,1],defaultScale:.69,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_17.glb"},{type:"Sign",style:"18",name:"Sign 18",colors:["A"],cells:[1,1],defaultScale:.34,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_18.glb"},{type:"Sign",style:"19",name:"Sign 19",colors:["A"],cells:[1,1],defaultScale:1.38,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_19.glb"},{type:"Sign",style:"2",name:"Sign 2",colors:["A"],cells:[1,1],defaultScale:1.01,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_2.glb"},{type:"Sign",style:"20",name:"Sign 20",colors:["A"],cells:[1,1],defaultScale:1.01,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_20.glb"},{type:"Sign",style:"21",name:"Sign 21",colors:["A"],cells:[1,1],defaultScale:1.56,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_21.glb"},{type:"Sign",style:"22",name:"Sign 22",colors:["A"],cells:[1,1],defaultScale:1.56,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_22.glb"},{type:"Sign",style:"23",name:"Sign 23",colors:["A"],cells:[1,1],defaultScale:1.13,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_23.glb"},{type:"Sign",style:"24",name:"Sign 24",colors:["A"],cells:[1,1],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_24.glb"},{type:"Sign",style:"25",name:"Sign 25",colors:["A"],cells:[1,1],defaultScale:.97,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_25.glb"},{type:"Sign",style:"26",name:"Sign 26",colors:["A"],cells:[1,1],defaultScale:.97,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_26.glb"},{type:"Sign",style:"28",name:"Sign 28",colors:["A"],cells:[1,1],defaultScale:1.24,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_28.glb"},{type:"Sign",style:"29",name:"Sign 29",colors:["A"],cells:[1,1],defaultScale:1.01,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_29.glb"},{type:"Sign",style:"3",name:"Sign 3",colors:["A"],cells:[1,1],defaultScale:1.03,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_3.glb"},{type:"Sign",style:"30",name:"Sign 30",colors:["A"],cells:[1,1],defaultScale:.96,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_30.glb"},{type:"Sign",style:"31",name:"Sign 31",colors:["A"],cells:[1,1],defaultScale:.34,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_31.glb"},{type:"Sign",style:"32",name:"Sign 32",colors:["A"],cells:[1,1],defaultScale:1.21,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_32.glb"},{type:"Sign",style:"33",name:"Sign 33",colors:["A"],cells:[1,1],defaultScale:1.12,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_33.glb"},{type:"Sign",style:"34",name:"Sign 34",colors:["A"],cells:[1,1],defaultScale:1.89,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_34.glb"},{type:"Sign",style:"35",name:"Sign 35",colors:["A"],cells:[1,1],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_35.glb"},{type:"Sign",style:"36",name:"Sign 36",colors:["A"],cells:[1,1],defaultScale:.89,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_36.glb"},{type:"Sign",style:"37",name:"Sign 37",colors:["A"],cells:[1,1],defaultScale:.89,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_37.glb"},{type:"Sign",style:"38",name:"Sign 38",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_38.glb"},{type:"Sign",style:"39",name:"Sign 39",colors:["A"],cells:[1,1],defaultScale:1.12,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_39.glb"},{type:"Sign",style:"4",name:"Sign 4",colors:["A"],cells:[1,1],defaultScale:1.03,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_4.glb"},{type:"Sign",style:"40",name:"Sign 40",colors:["A"],cells:[1,1],defaultScale:1.9,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_40.glb"},{type:"Sign",style:"5",name:"Sign 5",colors:["A"],cells:[1,1],defaultScale:2.52,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_5.glb"},{type:"Sign",style:"6",name:"Sign 6",colors:["A"],cells:[1,1],defaultScale:1.84,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_6.glb"},{type:"Sign",style:"7",name:"Sign 7",colors:["A"],cells:[1,1],defaultScale:1.31,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_7.glb"},{type:"Sign",style:"8",name:"Sign 8",colors:["A"],cells:[1,1],defaultScale:1.01,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_8.glb"},{type:"Sign",style:"9",name:"Sign 9",colors:["A"],cells:[1,1],defaultScale:1.01,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_9.glb"}],dt=[{type:"Building_Fabric",style:"3",name:"Building_ Fabric 3",colors:["A","B","C","D"],cells:[6,6],defaultScale:.33,urlPattern:"assets/models/megapack/gltf/Factory/",filePattern:"Building_Fabric_3_{color}.glb"},{type:"Building_Factory",style:"1",name:"Building_ Factory 1",colors:["A","B","C","D"],cells:[6,6],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Factory/",filePattern:"Building_Factory_1_{color}.glb"},{type:"Building_Factory",style:"1.001",name:"Building_ Factory 1.001",colors:["C"],cells:[6,6],defaultScale:.35,urlPattern:"assets/models/megapack/gltf/Factory/",filePattern:"Building_Factory_1_{color}_001.glb"},{type:"Building_Factory",style:"2",name:"Building_ Factory 2",colors:["A","B","C","D"],cells:[6,6],defaultScale:.35,urlPattern:"assets/models/megapack/gltf/Factory/",filePattern:"Building_Factory_2_{color}.glb"},{type:"Building_Factory",style:"3",name:"Building_ Factory 3",colors:["A","B","D"],cells:[6,6],defaultScale:.35,urlPattern:"assets/models/megapack/gltf/Factory/",filePattern:"Building_Factory_3_{color}.glb"},{type:"Building_Factory",style:"4",name:"Building_ Factory 4",colors:["A","B","C","D"],cells:[6,6],defaultScale:.18,urlPattern:"assets/models/megapack/gltf/Factory/",filePattern:"Building_Factory_4_{color}.glb"},{type:"GasTank",style:"1",name:"Gas Tank 1",colors:["A","B","C","D","E","F","G","H"],cells:[3,3],defaultScale:.67,urlPattern:"assets/models/megapack/gltf/Factory/",filePattern:"GasTank_1_{color}.glb"},{type:"GasTank",style:"2",name:"Gas Tank 2",colors:["A","B","C","D","E","F","G","H"],cells:[5,5],defaultScale:.45,urlPattern:"assets/models/megapack/gltf/Factory/",filePattern:"GasTank_2_{color}.glb"}],gt=[{type:"Ashtray",style:"1",name:"Ashtray 1",colors:["A","B"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Ashtray_1_{color}.glb"},{type:"BagFood",style:"1",name:"Bag Food 1",colors:["A","B","C"],cells:[1,1],defaultScale:2.58,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"BagFood_1_{color}.glb"},{type:"BagFood",style:"2",name:"Bag Food 2",colors:["A","B","C"],cells:[1,1],defaultScale:2.58,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"BagFood_2_{color}.glb"},{type:"BakerySign",style:"1",name:"Bakery Sign 1",colors:["A","B"],cells:[1,1],defaultScale:.36,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"BakerySign_1_{color}.glb"},{type:"Bread",style:"1",name:"Bread 1",colors:["A","B","C"],cells:[1,1],defaultScale:2.04,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Bread_1_{color}.glb"},{type:"Burger",style:"1",name:"Burger 1",colors:["A"],cells:[1,1],defaultScale:2.94,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Burger.glb"},{type:"BurgerSign",style:"1",name:"Burger Sign 1",colors:["A"],cells:[1,1],defaultScale:.29,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"BurgerSign_1.glb"},{type:"BurgerSign",style:"2",name:"Burger Sign 2",colors:["A","B","C","D"],cells:[1,1],defaultScale:.21,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"BurgerSign_2_{color}.glb"},{type:"BurgerSign",style:"3",name:"Burger Sign 3",colors:["A","B"],cells:[1,1],defaultScale:.29,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"BurgerSign_3_{color}.glb"},{type:"BurgerSign",style:"4",name:"Burger Sign 4",colors:["A","B"],cells:[1,1],defaultScale:.29,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"BurgerSign_4_{color}.glb"},{type:"Cake",style:"1",name:"Cake 1",colors:["A","B"],cells:[1,1],defaultScale:2.28,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Cake_1_{color}.glb"},{type:"Chair",style:"1",name:"Chair 1",colors:["A","B","C","D","E","F","G"],cells:[1,1],defaultScale:1.6,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Chair_1_{color}.glb"},{type:"Chair",style:"2",name:"Chair 2",colors:["A","B","C","D","E","F","G"],cells:[1,1],defaultScale:1.6,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Chair_2_{color}.glb"},{type:"Chair",style:"3",name:"Chair 3",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:1.6,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Chair_3_{color}.glb"},{type:"Cigar",style:"1",name:"Cigar 1",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Cigar.glb"},{type:"CoffeeMachine",style:"1",name:"Coffee Machine 1",colors:["A","B","C","D","E","F","G"],cells:[1,1],defaultScale:1.64,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"CoffeeMachine_1_{color}.glb"},{type:"CoffeeMachine",style:"1.001",name:"Coffee Machine 1.001",colors:["G"],cells:[1,1],defaultScale:1.64,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"CoffeeMachine_1_{color}_001.glb"},{type:"Coffee",style:"1",name:"Coffee 1",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Coffee_1.glb"},{type:"Cookie",style:"1",name:"Cookie 1",colors:["A","B","C","D"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Cookie_1_{color}.glb"},{type:"Cookie",style:"1.001",name:"Cookie 1.001",colors:["C"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Cookie_1_{color}_001.glb"},{type:"Cookie",style:"1.002",name:"Cookie 1.002",colors:["C"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Cookie_1_{color}_002.glb"},{type:"Cookie",style:"1.003",name:"Cookie 1.003",colors:["C"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Cookie_1_{color}_003.glb"},{type:"Cookie",style:"1.004",name:"Cookie 1.004",colors:["C"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Cookie_1_{color}_004.glb"},{type:"Cookie",style:"1.005",name:"Cookie 1.005",colors:["C"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Cookie_1_{color}_005.glb"},{type:"Cookie",style:"1.006",name:"Cookie 1.006",colors:["C"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Cookie_1_{color}_006.glb"},{type:"Cookie",style:"2",name:"Cookie 2",colors:["A","B","C","D"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Cookie_2_{color}.glb"},{type:"Donat",style:"1",name:"Donat 1",colors:["B","C","D"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Donat_1_{color}.glb"},{type:"FoodProp",style:"1",name:"Food Prop 1",colors:["A","B","C","D","E","F","G","H","I"],cells:[1,1],defaultScale:1.39,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"FoodProp_1_{color}.glb"},{type:"FoodProp",style:"2",name:"Food Prop 2",colors:["A","B"],cells:[1,1],defaultScale:1.41,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"FoodProp_2_{color}.glb"},{type:"FoodProp_4",style:"1",name:"Food Prop_4 1",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.32,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"FoodProp_4_1_{color}.glb"},{type:"FoodProp_4",style:"2",name:"Food Prop_4 2",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"FoodProp_4_2_{color}.glb"},{type:"Food",style:"1",name:"Food 1",colors:["A","B","C"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Food_1_{color}.glb"},{type:"Food",style:"2",name:"Food 2",colors:["A","B","C"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Food_2_{color}.glb"},{type:"Food",style:"3",name:"Food 3",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Food_3.glb"},{type:"Food",style:"4",name:"Food 4",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Food_4.glb"},{type:"Food",style:"5",name:"Food 5",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Food_5.glb"},{type:"HotDog",style:"1",name:"Hot Dog 1",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"HotDog_1.glb"},{type:"HotDog",style:"2",name:"Hot Dog 2",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"HotDog_2.glb"},{type:"Jar",style:"1",name:"Jar 1",colors:["A","B","C","D","E","F","G","H","I","J","K","L"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Jar_1_{color}.glb"},{type:"Jar",style:"2",name:"Jar 2",colors:["A","B","C","D","E","F","G","H","I","J","K","L"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Jar_2_{color}.glb"},{type:"Jar",style:"3",name:"Jar 3",colors:["A","B","C","D","E","F","G","H","I","J","K","L"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Jar_3_{color}.glb"},{type:"Ketchap",style:"1",name:"Ketchap 1",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Ketchap.glb"},{type:"Mug",style:"1",name:"Mug 1",colors:["A","B"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Mug_1_{color}.glb"},{type:"Mug",style:"2",name:"Mug 2",colors:["A","B"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Mug_2_{color}.glb"},{type:"Parasol",style:"1",name:"Parasol 1",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:.36,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Parasol_1_{color}.glb"},{type:"PizzaSign",style:"1",name:"Pizza Sign 1",colors:["A","B"],cells:[1,1],defaultScale:.23,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"PizzaSign_1_{color}.glb"},{type:"PizzaSign",style:"2",name:"Pizza Sign 2",colors:["A","B"],cells:[1,1],defaultScale:.23,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"PizzaSign_2_{color}.glb"},{type:"PizzaSign",style:"3",name:"Pizza Sign 3",colors:["A","B"],cells:[1,1],defaultScale:.24,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"PizzaSign_3_{color}.glb"},{type:"PizzaSign",style:"4",name:"Pizza Sign 4",colors:["A","B"],cells:[1,1],defaultScale:.3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"PizzaSign_4_{color}.glb"},{type:"PizzaSlice",style:"1",name:"Pizza Slice 1",colors:["A","B"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"PizzaSlice_{color}.glb"},{type:"Pizza",style:"1",name:"Pizza 1",colors:["A"],cells:[1,1],defaultScale:1.91,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Pizza_{color}.glb"},{type:"Plate",style:"1",name:"Plate 1",colors:["A","B","C"],cells:[1,1],defaultScale:2.05,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Plate_1_{color}.glb"},{type:"Plate",style:"2",name:"Plate 2",colors:["A","B","C"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Plate_2_{color}.glb"},{type:"Plate",style:"3",name:"Plate 3",colors:["A","B","C"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Plate_3_{color}.glb"},{type:"RoadBarier",style:"2.1",name:"Road Barier 2.1",colors:["A","B","C"],cells:[1,1],defaultScale:.13,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"RoadBarier_2_{color}_1.glb"},{type:"RoadBarier",style:"2.2",name:"Road Barier 2.2",colors:["A","B","C"],cells:[1,1],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"RoadBarier_2_{color}_2.glb"},{type:"RoadStop",style:"1",name:"Road Stop 1",colors:["A","B"],cells:[1,1],defaultScale:.22,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"RoadStop_1_{color}.glb"},{type:"Table",style:"1",name:"Table 1",colors:["A","B","C","D","E","F","G","H"],cells:[1,1],defaultScale:.57,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Table_1_{color}.glb"},{type:"Torus",style:"001",name:"Torus 001",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Torus_001.glb"}],ut=[{type:"AnteneHolder",style:"1",name:"Antene Holder 1",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.19,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"AnteneHolder_1_{color}.glb"},{type:"Antene",style:"1.1",name:"Antene 1.1",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.17,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Antene_1_{color}_1.glb"},{type:"Antene",style:"1.2",name:"Antene 1.2",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.2,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Antene_1_{color}_2.glb"},{type:"Antene",style:"2.1",name:"Antene 2.1",colors:["A","B","C","D","E","F","G"],cells:[1,1],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Antene_2_{color}_1.glb"},{type:"Antene_2_A_1h",style:"1",name:"Antene_2_ A_1h 1",colors:["A"],cells:[1,1],defaultScale:1.2,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Antene_2_{color}_1h.glb"},{type:"Antene_2_B_1h",style:"1",name:"Antene_2_ B_1h 1",colors:["A"],cells:[1,1],defaultScale:1.2,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Antene_2_B_1h.glb"},{type:"Antene_2_C_1h",style:"1",name:"Antene_2_ C_1h 1",colors:["A"],cells:[1,1],defaultScale:1.2,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Antene_2_C_1h.glb"},{type:"Antene_2_D_1h",style:"1",name:"Antene_2_ D_1h 1",colors:["A"],cells:[1,1],defaultScale:1.2,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Antene_2_D_1h.glb"},{type:"Antene_2_E_1h",style:"1",name:"Antene_2_ E_1h 1",colors:["A"],cells:[1,1],defaultScale:1.2,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Antene_2_E_1h.glb"},{type:"Antene_2_F_1h",style:"1",name:"Antene_2_ F_1h 1",colors:["A"],cells:[1,1],defaultScale:1.2,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Antene_2_F_1h.glb"},{type:"Antene_2_G_1h",style:"1",name:"Antene_2_ G_1h 1",colors:["A"],cells:[1,1],defaultScale:1.2,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Antene_2_G_1h.glb"},{type:"Bilboard",style:"1",name:"Bilboard 1",colors:["A","B","C","D"],cells:[1,1],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Bilboard_1_{color}.glb"},{type:"Cable_A_1",style:"1",name:"Cable_ A_1 1",colors:["A"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_{color}_1_1.glb"},{type:"Cable_A_1",style:"2",name:"Cable_ A_1 2",colors:["A"],cells:[1,1],defaultScale:.32,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_{color}_1_2.glb"},{type:"Cable_A_1",style:"3",name:"Cable_ A_1 3",colors:["A"],cells:[1,1],defaultScale:.23,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_{color}_1_3.glb"},{type:"Cable_A_2",style:"1",name:"Cable_ A_2 1",colors:["A"],cells:[1,1],defaultScale:.79,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_{color}_2_1.glb"},{type:"Cable_A_2",style:"2",name:"Cable_ A_2 2",colors:["A"],cells:[1,1],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_{color}_2_2.glb"},{type:"Cable_A_2",style:"3",name:"Cable_ A_2 3",colors:["A"],cells:[1,1],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_{color}_2_3.glb"},{type:"Cable_B_1",style:"1",name:"Cable_ B_1 1",colors:["A"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_B_1_1.glb"},{type:"Cable_B_1",style:"2",name:"Cable_ B_1 2",colors:["A"],cells:[1,1],defaultScale:.32,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_B_1_2.glb"},{type:"Cable_B_1",style:"3",name:"Cable_ B_1 3",colors:["A"],cells:[1,1],defaultScale:.23,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_B_1_3.glb"},{type:"Cable_B_2",style:"1",name:"Cable_ B_2 1",colors:["A"],cells:[1,1],defaultScale:.79,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_B_2_1.glb"},{type:"Cable_B_2",style:"2",name:"Cable_ B_2 2",colors:["A"],cells:[1,1],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_B_2_2.glb"},{type:"Cable_B_2",style:"3",name:"Cable_ B_2 3",colors:["A"],cells:[1,1],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_B_2_3.glb"},{type:"Cable_C_1",style:"1",name:"Cable_ C_1 1",colors:["A"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_C_1_1.glb"},{type:"Cable_C_1",style:"2",name:"Cable_ C_1 2",colors:["A"],cells:[1,1],defaultScale:.32,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_C_1_2.glb"},{type:"Cable_C_1",style:"3",name:"Cable_ C_1 3",colors:["A"],cells:[1,1],defaultScale:.23,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_C_1_3.glb"},{type:"Cable_C_2",style:"1",name:"Cable_ C_2 1",colors:["A"],cells:[1,1],defaultScale:.79,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_C_2_1.glb"},{type:"Cable_C_2",style:"2",name:"Cable_ C_2 2",colors:["A"],cells:[1,1],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_C_2_2.glb"},{type:"Cable_C_2",style:"3",name:"Cable_ C_2 3",colors:["A"],cells:[1,1],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_C_2_3.glb"},{type:"Cable_D_1",style:"1",name:"Cable_ D_1 1",colors:["A"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_D_1_1.glb"},{type:"Cable_D_1",style:"2",name:"Cable_ D_1 2",colors:["A"],cells:[1,1],defaultScale:.32,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_D_1_2.glb"},{type:"Cable_D_1",style:"3",name:"Cable_ D_1 3",colors:["A"],cells:[1,1],defaultScale:.23,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_D_1_3.glb"},{type:"Cable_D_2",style:"1",name:"Cable_ D_2 1",colors:["A"],cells:[1,1],defaultScale:.79,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_D_2_1.glb"},{type:"Cable_D_2",style:"2",name:"Cable_ D_2 2",colors:["A"],cells:[1,1],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_D_2_2.glb"},{type:"Cable_D_2",style:"3",name:"Cable_ D_2 3",colors:["A"],cells:[1,1],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_D_2_3.glb"},{type:"Cable_E_1",style:"1",name:"Cable_ E_1 1",colors:["A"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_E_1_1.glb"},{type:"Cable_E_1",style:"2",name:"Cable_ E_1 2",colors:["A"],cells:[1,1],defaultScale:.32,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_E_1_2.glb"},{type:"Cable_E_1",style:"3",name:"Cable_ E_1 3",colors:["A"],cells:[1,1],defaultScale:.23,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_E_1_3.glb"},{type:"Cable_E_2",style:"1",name:"Cable_ E_2 1",colors:["A"],cells:[1,1],defaultScale:.79,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_E_2_1.glb"},{type:"Cable_E_2",style:"2",name:"Cable_ E_2 2",colors:["A"],cells:[1,1],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_E_2_2.glb"},{type:"Cable_E_2",style:"3",name:"Cable_ E_2 3",colors:["A"],cells:[1,1],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_E_2_3.glb"},{type:"ChimneyWall",style:"1",name:"Chimney Wall 1",colors:["A","B","C"],cells:[1,1],defaultScale:.33,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"ChimneyWall_1_{color}.glb"},{type:"ChimneyWall",style:"2",name:"Chimney Wall 2",colors:["A","B","C"],cells:[1,1],defaultScale:.33,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"ChimneyWall_2_{color}.glb"},{type:"Chimney",style:"1.1",name:"Chimney 1.1",colors:["A","B","C","D"],cells:[1,1],defaultScale:.96,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_1_{color}_1.glb"},{type:"Chimney",style:"1.2",name:"Chimney 1.2",colors:["A","B","C","D"],cells:[1,1],defaultScale:.98,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_1_{color}_2.glb"},{type:"Chimney",style:"1.3",name:"Chimney 1.3",colors:["A","B","C","D"],cells:[1,1],defaultScale:.96,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_1_{color}_3.glb"},{type:"Chimney",style:"1.4",name:"Chimney 1.4",colors:["A","B","C","D"],cells:[1,1],defaultScale:.98,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_1_{color}_4.glb"},{type:"Chimney",style:"1.5",name:"Chimney 1.5",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.06,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_1_{color}_5.glb"},{type:"Chimney",style:"2.1",name:"Chimney 2.1",colors:["A","B","C","D"],cells:[1,1],defaultScale:.97,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_2_{color}_1.glb"},{type:"Chimney",style:"2.2",name:"Chimney 2.2",colors:["A","B","C","D"],cells:[1,1],defaultScale:.97,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_2_{color}_2.glb"},{type:"Chimney",style:"2.3",name:"Chimney 2.3",colors:["A","B","C","D"],cells:[1,1],defaultScale:.97,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_2_{color}_3.glb"},{type:"Chimney",style:"3.1",name:"Chimney 3.1",colors:["A","B","C"],cells:[1,1],defaultScale:1.02,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_3_{color}_1.glb"},{type:"Chimney",style:"3.2",name:"Chimney 3.2",colors:["A","B","C"],cells:[1,1],defaultScale:1.02,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_3_{color}_2.glb"},{type:"Chimney",style:"3.3",name:"Chimney 3.3",colors:["A","B","C"],cells:[1,1],defaultScale:1.04,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_3_{color}_3.glb"},{type:"Chimney",style:"4.1",name:"Chimney 4.1",colors:["A","B","C","D"],cells:[1,1],defaultScale:.87,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_4_{color}_1.glb"},{type:"Chimney",style:"4.2",name:"Chimney 4.2",colors:["A","B","C","D"],cells:[1,1],defaultScale:.88,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_4_{color}_2.glb"},{type:"Chimney",style:"5",name:"Chimney 5",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.02,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_5_{color}.glb"},{type:"ElectricBox",style:"1.1",name:"Electric Box 1.1",colors:["A","C"],cells:[1,1],defaultScale:.62,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"ElectricBox_1_{color}_1.glb"},{type:"ElectricBox",style:"1.2",name:"Electric Box 1.2",colors:["A","B","C"],cells:[1,1],defaultScale:.32,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"ElectricBox_1_{color}_2.glb"},{type:"ElectricBox",style:"1",name:"Electric Box 1",colors:["B"],cells:[1,1],defaultScale:.62,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"ElectricBox_1_{color}.glb"},{type:"ElectricBox",style:"2.1",name:"Electric Box 2.1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:1.2,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"ElectricBox_2_{color}_1.glb"},{type:"ElectricBox",style:"2.2",name:"Electric Box 2.2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.91,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"ElectricBox_2_{color}_2.glb"},{type:"ElectricBox",style:"3.1",name:"Electric Box 3.1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.79,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"ElectricBox_3_{color}_1.glb"},{type:"ElectricBox",style:"3.2",name:"Electric Box 3.2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.79,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"ElectricBox_3_{color}_2.glb"},{type:"HeliLanding",style:"1",name:"Heli Landing 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"HeliLanding_1_{color}.glb"},{type:"Ladder",style:"1",name:"Ladder 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:1.15,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Ladder_1_{color}.glb"},{type:"Pipe_1_A_1",style:"1",name:"Pipe_1_ A_1 1",colors:["A"],cells:[1,1],defaultScale:1.04,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_{color}_1_1.glb"},{type:"Pipe_1_A_1",style:"2",name:"Pipe_1_ A_1 2",colors:["A"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_{color}_1_2.glb"},{type:"Pipe_1_A_1",style:"3",name:"Pipe_1_ A_1 3",colors:["A"],cells:[1,1],defaultScale:.26,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_{color}_1_3.glb"},{type:"Pipe_1_A_2",style:"1",name:"Pipe_1_ A_2 1",colors:["A"],cells:[1,1],defaultScale:.99,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_{color}_2_1.glb"},{type:"Pipe_1_A_2",style:"2",name:"Pipe_1_ A_2 2",colors:["A"],cells:[1,1],defaultScale:.41,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_{color}_2_2.glb"},{type:"Pipe_1_A_2",style:"3",name:"Pipe_1_ A_2 3",colors:["A"],cells:[1,1],defaultScale:.24,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_{color}_2_3.glb"},{type:"Pipe",style:"1.3",name:"Pipe 1.3",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:.91,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_{color}_3.glb"},{type:"Pipe",style:"1.4",name:"Pipe 1.4",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:1.2,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_{color}_4.glb"},{type:"Pipe",style:"1.5",name:"Pipe 1.5",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:1.17,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_{color}_5.glb"},{type:"Pipe_1_B_1",style:"1",name:"Pipe_1_ B_1 1",colors:["A"],cells:[1,1],defaultScale:1.04,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_B_1_1.glb"},{type:"Pipe_1_B_1",style:"2",name:"Pipe_1_ B_1 2",colors:["A"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_B_1_2.glb"},{type:"Pipe_1_B_1",style:"3",name:"Pipe_1_ B_1 3",colors:["A"],cells:[1,1],defaultScale:.26,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_B_1_3.glb"},{type:"Pipe_1_B_2",style:"1",name:"Pipe_1_ B_2 1",colors:["A"],cells:[1,1],defaultScale:.99,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_B_2_1.glb"},{type:"Pipe_1_B_2",style:"2",name:"Pipe_1_ B_2 2",colors:["A"],cells:[1,1],defaultScale:.41,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_B_2_2.glb"},{type:"Pipe_1_B_2",style:"3",name:"Pipe_1_ B_2 3",colors:["A"],cells:[1,1],defaultScale:.24,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_B_2_3.glb"},{type:"Pipe_1_C_1",style:"1",name:"Pipe_1_ C_1 1",colors:["A"],cells:[1,1],defaultScale:1.04,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_C_1_1.glb"},{type:"Pipe_1_C_1",style:"2",name:"Pipe_1_ C_1 2",colors:["A"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_C_1_2.glb"},{type:"Pipe_1_C_1",style:"3",name:"Pipe_1_ C_1 3",colors:["A"],cells:[1,1],defaultScale:.26,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_C_1_3.glb"},{type:"Pipe_1_C_2",style:"1",name:"Pipe_1_ C_2 1",colors:["A"],cells:[1,1],defaultScale:.99,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_C_2_1.glb"},{type:"Pipe_1_C_2",style:"2",name:"Pipe_1_ C_2 2",colors:["A"],cells:[1,1],defaultScale:.41,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_C_2_2.glb"},{type:"Pipe_1_C_2",style:"3",name:"Pipe_1_ C_2 3",colors:["A"],cells:[1,1],defaultScale:.24,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_C_2_3.glb"},{type:"Pipe_1_D_1",style:"1",name:"Pipe_1_ D_1 1",colors:["A"],cells:[1,1],defaultScale:1.04,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_D_1_1.glb"},{type:"Pipe_1_D_1",style:"2",name:"Pipe_1_ D_1 2",colors:["A"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_D_1_2.glb"},{type:"Pipe_1_D_1",style:"3",name:"Pipe_1_ D_1 3",colors:["A"],cells:[1,1],defaultScale:.26,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_D_1_3.glb"},{type:"Pipe_1_D_2",style:"1",name:"Pipe_1_ D_2 1",colors:["A"],cells:[1,1],defaultScale:.99,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_D_2_1.glb"},{type:"Pipe_1_D_2",style:"2",name:"Pipe_1_ D_2 2",colors:["A"],cells:[1,1],defaultScale:.41,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_D_2_2.glb"},{type:"Pipe_1_D_2",style:"3",name:"Pipe_1_ D_2 3",colors:["A"],cells:[1,1],defaultScale:.24,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_D_2_3.glb"},{type:"Pipe_1_E_1",style:"1",name:"Pipe_1_ E_1 1",colors:["A"],cells:[1,1],defaultScale:1.04,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_E_1_1.glb"},{type:"Pipe_1_E_1",style:"2",name:"Pipe_1_ E_1 2",colors:["A"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_E_1_2.glb"},{type:"Pipe_1_E_1",style:"3",name:"Pipe_1_ E_1 3",colors:["A"],cells:[1,1],defaultScale:.26,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_E_1_3.glb"},{type:"Pipe_1_E_2",style:"1",name:"Pipe_1_ E_2 1",colors:["A"],cells:[1,1],defaultScale:.99,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_E_2_1.glb"},{type:"Pipe_1_E_2",style:"2",name:"Pipe_1_ E_2 2",colors:["A"],cells:[1,1],defaultScale:.41,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_E_2_2.glb"},{type:"Pipe_1_E_2",style:"3",name:"Pipe_1_ E_2 3",colors:["A"],cells:[1,1],defaultScale:.24,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_E_2_3.glb"},{type:"Pipe_1_F_1",style:"1",name:"Pipe_1_ F_1 1",colors:["A"],cells:[1,1],defaultScale:1.04,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_F_1_1.glb"},{type:"Pipe_1_F_1",style:"2",name:"Pipe_1_ F_1 2",colors:["A"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_F_1_2.glb"},{type:"Pipe_1_F_1",style:"3",name:"Pipe_1_ F_1 3",colors:["A"],cells:[1,1],defaultScale:.26,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_F_1_3.glb"},{type:"Pipe_1_F_2",style:"1",name:"Pipe_1_ F_2 1",colors:["A"],cells:[1,1],defaultScale:.99,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_F_2_1.glb"},{type:"Pipe_1_F_2",style:"2",name:"Pipe_1_ F_2 2",colors:["A"],cells:[1,1],defaultScale:.41,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_F_2_2.glb"},{type:"Pipe_1_F_2",style:"3",name:"Pipe_1_ F_2 3",colors:["A"],cells:[1,1],defaultScale:.24,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_F_2_3.glb"},{type:"RoofAdd",style:"1",name:"Roof Add 1",colors:["A","B","C","E","F"],cells:[1,1],defaultScale:.63,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"RoofAdd_1_{color}.glb"},{type:"RoofAdd",style:"2.1",name:"Roof Add 2.1",colors:["A","B","C","D"],cells:[1,1],defaultScale:.26,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"RoofAdd_2_{color}_1.glb"},{type:"RoofAdd",style:"2.2",name:"Roof Add 2.2",colors:["A","B","C","D"],cells:[1,1],defaultScale:.26,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"RoofAdd_2_{color}_2.glb"},{type:"RoofAdd",style:"2.3",name:"Roof Add 2.3",colors:["A","B","C","D"],cells:[1,1],defaultScale:.3,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"RoofAdd_2_{color}_3.glb"},{type:"RoofAdd",style:"2.4",name:"Roof Add 2.4",colors:["A","B","C","D"],cells:[1,1],defaultScale:.3,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"RoofAdd_2_{color}_4.glb"},{type:"RoofAdd",style:"2.5",name:"Roof Add 2.5",colors:["A","B","C","D"],cells:[1,1],defaultScale:.5,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"RoofAdd_2_{color}_5.glb"},{type:"RoofAdd",style:"2.6",name:"Roof Add 2.6",colors:["A","B","C","D"],cells:[1,1],defaultScale:.62,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"RoofAdd_2_{color}_6.glb"},{type:"RoofLights",style:"1",name:"Roof Lights 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"RoofLights_1_{color}.glb"},{type:"RoofLights",style:"2",name:"Roof Lights 2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.37,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"RoofLights_2_{color}.glb"},{type:"RoofLights",style:"3",name:"Roof Lights 3",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.96,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"RoofLights_3_{color}.glb"},{type:"RoofLights",style:"4",name:"Roof Lights 4",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.37,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"RoofLights_4_{color}.glb"},{type:"SignalTower",style:"1",name:"Signal Tower 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.68,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"SignalTower_1_{color}.glb"},{type:"SignalTower",style:"2",name:"Signal Tower 2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.81,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"SignalTower_2_{color}.glb"},{type:"Stairs",style:"1",name:"Stairs 1",colors:["A","B","D","E","F","G","H"],cells:[1,1],defaultScale:.26,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Stairs_1_{color}.glb"},{type:"TFan",style:"1",name:"T Fan 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.85,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"TFan_{color}.glb"},{type:"Turbine",style:"1",name:"Turbine 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.63,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Turbine_1_{color}.glb"},{type:"Vent",style:"1.1",name:"Vent 1.1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.33,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Vent_1_{color}_1.glb"},{type:"Vent",style:"1.2",name:"Vent 1.2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Vent_1_{color}_2.glb"},{type:"Vent",style:"2.1",name:"Vent 2.1",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.01,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Vent_2_{color}_1.glb"},{type:"Vent",style:"2.2",name:"Vent 2.2",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.17,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Vent_2_{color}_2.glb"},{type:"Vent",style:"2.3",name:"Vent 2.3",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.01,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Vent_2_{color}_3.glb"},{type:"Vent",style:"2.4",name:"Vent 2.4",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.17,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Vent_2_{color}_4.glb"},{type:"Vent",style:"2.5",name:"Vent 2.5",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.01,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Vent_2_{color}_5.glb"},{type:"Vent",style:"2.6",name:"Vent 2.6",colors:["A","B","C","D"],cells:[1,1],defaultScale:.77,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Vent_2_{color}_6.glb"},{type:"Vent",style:"2.7",name:"Vent 2.7",colors:["A","B","C","D"],cells:[1,1],defaultScale:.31,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Vent_2_{color}_7.glb"},{type:"Vent",style:"2.8",name:"Vent 2.8",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.2,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Vent_2_{color}_8.glb"},{type:"Vent",style:"3",name:"Vent 3",colors:["A","B","C","D"],cells:[1,1],defaultScale:.25,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Vent_3_{color}.glb"},{type:"Vent",style:"4",name:"Vent 4",colors:["A","B","C"],cells:[1,1],defaultScale:.79,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Vent_4_{color}.glb"},{type:"WaterTank",style:"1",name:"Water Tank 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"WaterTank_1_{color}.glb"},{type:"WaterTank",style:"2",name:"Water Tank 2",colors:["A","B","C"],cells:[1,1],defaultScale:.26,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"WaterTank_2_{color}.glb"}],ft=[{type:"Base_Basket",style:"1",name:"Base_ Basket 1",colors:["A","B","C","D"],cells:[4,4],defaultScale:.16,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Base_Basket_{color}.glb"},{type:"Basketball",style:"1",name:"Basketball 1",colors:["A"],cells:[2,2],defaultScale:4.12,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Basketball.glb"},{type:"Basketball_Court",style:"1",name:"Basketball_ Court 1",colors:["A"],cells:[4,4],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Basketball_Court_1.glb"},{type:"Basketball_Court",style:"2",name:"Basketball_ Court 2",colors:["A"],cells:[4,4],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Basketball_Court_2.glb"},{type:"Basketball_Court",style:"3",name:"Basketball_ Court 3",colors:["A"],cells:[4,4],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Basketball_Court_3.glb"},{type:"Basketball_Court",style:"4",name:"Basketball_ Court 4",colors:["A"],cells:[4,4],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Basketball_Court_4.glb"},{type:"Basketball_Court",style:"5",name:"Basketball_ Court 5",colors:["A"],cells:[4,4],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Basketball_Court_5.glb"},{type:"Basketball_Court",style:"6",name:"Basketball_ Court 6",colors:["A"],cells:[4,4],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Basketball_Court_6.glb"},{type:"Basketball_Stand",style:"1",name:"Basketball_ Stand 1",colors:["A","B","C","D","E","F"],cells:[2,2],defaultScale:.74,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Basketball_Stand_{color}.glb"},{type:"Bench",style:"1.1",name:"Bench 1.1",colors:["A","B","C","D","E"],cells:[2,2],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Bench_1_{color}_1.glb"},{type:"Bench",style:"1.2",name:"Bench 1.2",colors:["A","B","C","D","E"],cells:[2,2],defaultScale:1.38,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Bench_1_{color}_2.glb"},{type:"Bench",style:"1.3",name:"Bench 1.3",colors:["A","B","C","D","E"],cells:[2,2],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Bench_1_{color}_3.glb"},{type:"Bench",style:"1.4",name:"Bench 1.4",colors:["A","B","C","D","E"],cells:[2,2],defaultScale:1.38,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Bench_1_{color}_4.glb"},{type:"Bench",style:"1.5",name:"Bench 1.5",colors:["A","B","C","D","E"],cells:[2,2],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Bench_1_{color}_5.glb"},{type:"Bench",style:"1.6",name:"Bench 1.6",colors:["A","B","C","D","E"],cells:[2,2],defaultScale:1.38,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Bench_1_{color}_6.glb"},{type:"Bench",style:"1.7",name:"Bench 1.7",colors:["A","B","C","D","E"],cells:[2,2],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Bench_1_{color}_7.glb"},{type:"Bench",style:"1.8",name:"Bench 1.8",colors:["A","B","C","D","E"],cells:[2,2],defaultScale:1.38,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Bench_1_{color}_8.glb"},{type:"Fence",style:"1.1",name:"Fence 1.1",colors:["A","B","C","D","E","F","G","H"],cells:[2,2],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Fence_1_{color}_1.glb"},{type:"Fence",style:"1.2",name:"Fence 1.2",colors:["A","B","C","D","E","F","G","H"],cells:[2,2],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Fence_1_{color}_2.glb"},{type:"Fence",style:"1.3",name:"Fence 1.3",colors:["A","B","C","D","E","F","G","H"],cells:[3,3],defaultScale:.6,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Fence_1_{color}_3.glb"},{type:"Fence",style:"1.4",name:"Fence 1.4",colors:["A","B","C","D","E","F","G","H"],cells:[3,3],defaultScale:.6,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Fence_1_{color}_4.glb"},{type:"Fence",style:"1.5",name:"Fence 1.5",colors:["A","B","C","D","E","F","G","H"],cells:[2,2],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Fence_1_{color}_5.glb"},{type:"Fence",style:"1.6",name:"Fence 1.6",colors:["A","B","C","D","E","F","G","H"],cells:[3,3],defaultScale:.6,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Fence_1_{color}_6.glb"},{type:"Fence",style:"1.7",name:"Fence 1.7",colors:["A","B","C","D","E","F","G","H"],cells:[2,2],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Fence_1_{color}_7.glb"},{type:"Lamp_Court",style:"1",name:"Lamp_ Court 1",colors:["A","B","C","D","E","F","G"],cells:[2,2],defaultScale:.98,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Lamp_Court_1_{color}.glb"}],mt=[{type:"Awning",style:"1",name:"Awning 1",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O"],cells:[1,1],defaultScale:.29,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Awning_1_{color}.glb"},{type:"Awning",style:"2",name:"Awning 2",colors:["A","B","C","D","E","F","G","I","J","K"],cells:[1,1],defaultScale:.39,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Awning_2_{color}.glb"},{type:"Awning",style:"3",name:"Awning 3",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[1,1],defaultScale:.29,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Awning_3_{color}.glb"},{type:"Balcon_1",style:"1",name:"Balcon_1 1",colors:["A"],cells:[1,1],defaultScale:.3,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Balcon_1_1_{color}.glb"},{type:"Balcon_1",style:"2",name:"Balcon_1 2",colors:["A"],cells:[1,1],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Balcon_1_2_{color}.glb"},{type:"Balcon_2",style:"1",name:"Balcon_2 1",colors:["A"],cells:[1,1],defaultScale:.34,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Balcon_2_1_{color}.glb"},{type:"Balcon_2",style:"2",name:"Balcon_2 2",colors:["A"],cells:[1,1],defaultScale:.51,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Balcon_2_2_{color}.glb"},{type:"BarberSign",style:"1",name:"Barber Sign 1",colors:["A"],cells:[1,1],defaultScale:.05,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"BarberSign.glb"},{type:"BinB",style:"1",name:"Bin B 1",colors:["A"],cells:[1,1],defaultScale:.57,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"BinB.glb"},{type:"BinG",style:"1",name:"Bin G 1",colors:["A"],cells:[1,1],defaultScale:1.32,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"BinG.glb"},{type:"BinY",style:"1",name:"Bin Y 1",colors:["A"],cells:[1,1],defaultScale:1.32,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"BinY.glb"},{type:"Bollards",style:"1",name:"Bollards 1",colors:["A","B","C","D"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Bollards_1_{color}.glb"},{type:"Bollards",style:"2",name:"Bollards 2",colors:["A","B","C","D"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Bollards_2_{color}.glb"},{type:"Bollards",style:"3",name:"Bollards 3",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.62,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Bollards_3_{color}.glb"},{type:"Bollards",style:"4",name:"Bollards 4",colors:["A","B","C","D"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Bollards_4_{color}.glb"},{type:"Building_2",style:"4",name:"Building_2 4",colors:["J"],cells:[1,1],defaultScale:.11,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Building_2_4_{color}.glb"},{type:"Building_Factory",style:"1",name:"Building_ Factory 1",colors:["A"],cells:[1,1],defaultScale:.05,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Building_Factory_1.glb"},{type:"CafeBoard",style:"1",name:"Cafe Board 1",colors:["A","B","C"],cells:[1,1],defaultScale:1.19,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"CafeBoard_{color}.glb"},{type:"CafeSign",style:"5",name:"Cafe Sign 5",colors:["A"],cells:[1,1],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"CafeSign_5_{color}.glb"},{type:"CafeSign",style:"6",name:"Cafe Sign 6",colors:["A"],cells:[1,1],defaultScale:.18,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"CafeSign_6_{color}.glb"},{type:"Carnister",style:"1",name:"Carnister 1",colors:["A"],cells:[1,1],defaultScale:2.11,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Carnister.glb"},{type:"ChimneyPowerPlant",style:"1",name:"Chimney Power Plant 1",colors:["A","B","C","D"],cells:[1,1],defaultScale:.05,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"ChimneyPowerPlant_1_{color}.glb"},{type:"ChimneyPowerPlant",style:"2",name:"Chimney Power Plant 2",colors:["A","B","C","D"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"ChimneyPowerPlant_2_{color}.glb"},{type:"ChimneyPowerPlant",style:"3",name:"Chimney Power Plant 3",colors:["A","B","C"],cells:[1,1],defaultScale:.15,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"ChimneyPowerPlant_3_{color}.glb"},{type:"Fence_6",style:"1",name:"Fence_6 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.13,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Fence_6_1_{color}.glb"},{type:"Fence_6",style:"2",name:"Fence_6 2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Fence_6_2_{color}.glb"},{type:"FlagRace",style:"1",name:"Flag Race 1",colors:["A","B","C","D","E","F","G"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"FlagRace_{color}.glb"},{type:"FlatWrench",style:"1",name:"Flat Wrench 1",colors:["A"],cells:[1,1],defaultScale:1.49,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"FlatWrench.glb"},{type:"FlatWrenchSign",style:"1",name:"Flat Wrench Sign 1",colors:["A","B","C"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"FlatWrenchSign_1_{color}.glb"},{type:"FlatWrenchSign",style:"2",name:"Flat Wrench Sign 2",colors:["A","B","C"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"FlatWrenchSign_2_{color}.glb"},{type:"FlowerPlace",style:"6",name:"Flower Place 6",colors:["A"],cells:[1,1],defaultScale:.39,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"FlowerPlace_6_{color}.glb"},{type:"FlowerPlacet_5",style:"1",name:"Flower Placet_5 1",colors:["A","B","C","D"],cells:[1,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"FlowerPlacet_5_1_{color}.glb"},{type:"FlowerPlacet_5",style:"2",name:"Flower Placet_5 2",colors:["A","B","C","D"],cells:[1,1],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"FlowerPlacet_5_2_{color}.glb"},{type:"FlowerPot_5",style:"1",name:"Flower Pot_5 1",colors:["A","B","C","D","E","F","G"],cells:[1,1],defaultScale:.57,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"FlowerPot_5_1_{color}.glb"},{type:"FlowerPot_5",style:"2",name:"Flower Pot_5 2",colors:["A","B","C","D","E","F","G"],cells:[1,1],defaultScale:.89,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"FlowerPot_5_2_{color}.glb"},{type:"FlowerPot_5",style:"3",name:"Flower Pot_5 3",colors:["A","B","C","D","E","F","G"],cells:[1,1],defaultScale:1.17,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"FlowerPot_5_3_{color}.glb"},{type:"GymSign",style:"1",name:"Gym Sign 1",colors:["A"],cells:[1,1],defaultScale:.13,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"GymSign_1_{color}.glb"},{type:"HotelSign",style:"3",name:"Hotel Sign 3",colors:["A"],cells:[1,1],defaultScale:.33,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"HotelSign_3_{color}.glb"},{type:"HotelSign",style:"4",name:"Hotel Sign 4",colors:["A"],cells:[1,1],defaultScale:.08,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"HotelSign_4_{color}.glb"},{type:"MarketSign",style:"1",name:"Market Sign 1",colors:["A"],cells:[1,1],defaultScale:.06,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"MarketSign_1_{color}.glb"},{type:"PizzaSign",style:"5",name:"Pizza Sign 5",colors:["A"],cells:[1,1],defaultScale:.12,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"PizzaSign_5_{color}.glb"},{type:"Plans",style:"1",name:"Plans 1",colors:["A"],cells:[1,1],defaultScale:1.09,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Plans.glb"},{type:"PoliceSign",style:"1",name:"Police Sign 1",colors:["A"],cells:[1,1],defaultScale:.09,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"PoliceSign.glb"},{type:"PowerStation",style:"1",name:"Power Station 1",colors:["A","B","C"],cells:[1,1],defaultScale:.12,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"PowerStation_{color}.glb"},{type:"RestaurantSign",style:"1",name:"Restaurant Sign 1",colors:["A"],cells:[1,1],defaultScale:.09,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"RestaurantSign_1_{color}.glb"},{type:"Restaurant",style:"3",name:"Restaurant 3",colors:["A"],cells:[1,1],defaultScale:.66,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Restaurant_3_{color}.glb"},{type:"RoofProp",style:"5",name:"Roof Prop 5",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.24,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"RoofProp_5_{color}.glb"},{type:"SignBoard",style:"1",name:"Sign Board 1",colors:["A"],cells:[1,1],defaultScale:.22,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"SignBoard_1_{color}.glb"},{type:"SignHolder",style:"7",name:"Sign Holder 7",colors:["A"],cells:[1,1],defaultScale:.06,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"SignHolder_7.glb"},{type:"Suitcase_1",style:"1",name:"Suitcase_1 1",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M"],cells:[1,1],defaultScale:1.36,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Suitcase_1_1_{color}.glb"},{type:"Tire",style:"1",name:"Tire 1",colors:["A"],cells:[1,1],defaultScale:.92,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Tire.glb"},{type:"TireWall",style:"1",name:"Tire Wall 1",colors:["A","B"],cells:[1,1],defaultScale:.23,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"TireWall_1_{color}.glb"},{type:"TireWall",style:"2",name:"Tire Wall 2",colors:["A","B"],cells:[1,1],defaultScale:.29,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"TireWall_2_{color}.glb"},{type:"WallFence_1",style:"1",name:"Wall Fence_1 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"WallFence_1_1_{color}.glb"},{type:"WallFence_1",style:"2",name:"Wall Fence_1 2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"WallFence_1_2_{color}.glb"},{type:"WallFence_2",style:"1",name:"Wall Fence_2 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"WallFence_2_1_{color}.glb"},{type:"WallFence_2",style:"2",name:"Wall Fence_2 2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"WallFence_2_2_{color}.glb"},{type:"WallFence_3",style:"1",name:"Wall Fence_3 1",colors:["A","B"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"WallFence_3_1_{color}.glb"},{type:"WallFence_3",style:"2",name:"Wall Fence_3 2",colors:["A","B"],cells:[1,1],defaultScale:.99,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"WallFence_3_2_{color}.glb"},{type:"WallFence_3",style:"3",name:"Wall Fence_3 3",colors:["A","B"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"WallFence_3_3_{color}.glb"},{type:"WallFence_3_Gate",style:"1",name:"Wall Fence_3_ Gate 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.42,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"WallFence_3_Gate_{color}.glb"}],pt=[{type:"ConcrateFrame_1",style:"1",name:"Concrate Frame_1 1",colors:["A"],cells:[3,3],defaultScale:.55,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateFrame_1_1.glb"},{type:"ConcrateFrame_1",style:"2",name:"Concrate Frame_1 2",colors:["A"],cells:[3,3],defaultScale:.97,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateFrame_1_2.glb"},{type:"ConcrateFrame_1",style:"3",name:"Concrate Frame_1 3",colors:["A"],cells:[3,3],defaultScale:1.97,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateFrame_1_3.glb"},{type:"ConcrateFrame_2",style:"1",name:"Concrate Frame_2 1",colors:["A"],cells:[3,3],defaultScale:.55,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateFrame_2_1.glb"},{type:"ConcrateFrame_2",style:"2",name:"Concrate Frame_2 2",colors:["A"],cells:[3,3],defaultScale:.97,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateFrame_2_2.glb"},{type:"ConcrateFrame_2",style:"3",name:"Concrate Frame_2 3",colors:["A"],cells:[3,3],defaultScale:1.72,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateFrame_2_3.glb"},{type:"ConcrateSlabs_A_1",style:"1",name:"Concrate Slabs_ A_1 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_{color}_1_1.glb"},{type:"ConcrateSlabs_A_1",style:"2",name:"Concrate Slabs_ A_1 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_{color}_1_2.glb"},{type:"ConcrateSlabs_A_1",style:"3",name:"Concrate Slabs_ A_1 3",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_{color}_1_3.glb"},{type:"ConcrateSlabs_A_2",style:"1",name:"Concrate Slabs_ A_2 1",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_{color}_2_1.glb"},{type:"ConcrateSlabs_A_2",style:"2",name:"Concrate Slabs_ A_2 2",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_{color}_2_2.glb"},{type:"ConcrateSlabs_A_2",style:"3",name:"Concrate Slabs_ A_2 3",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_{color}_2_3.glb"},{type:"ConcrateSlabs_A_3",style:"1",name:"Concrate Slabs_ A_3 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_{color}_3_1.glb"},{type:"ConcrateSlabs_A_3",style:"2",name:"Concrate Slabs_ A_3 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_{color}_3_2.glb"},{type:"ConcrateSlabs_A_3",style:"3",name:"Concrate Slabs_ A_3 3",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_{color}_3_3.glb"},{type:"ConcrateSlabs_A_4",style:"1",name:"Concrate Slabs_ A_4 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_{color}_4_1.glb"},{type:"ConcrateSlabs_A_4",style:"2",name:"Concrate Slabs_ A_4 2",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_{color}_4_2.glb"},{type:"ConcrateSlabs_A_4",style:"3",name:"Concrate Slabs_ A_4 3",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_{color}_4_3.glb"},{type:"ConcrateSlabs_B_1",style:"1",name:"Concrate Slabs_ B_1 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_B_1_1.glb"},{type:"ConcrateSlabs_B_1",style:"2",name:"Concrate Slabs_ B_1 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_B_1_2.glb"},{type:"ConcrateSlabs_B_1",style:"3",name:"Concrate Slabs_ B_1 3",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_B_1_3.glb"},{type:"ConcrateSlabs_B_2",style:"1",name:"Concrate Slabs_ B_2 1",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_B_2_1.glb"},{type:"ConcrateSlabs_B_2",style:"2",name:"Concrate Slabs_ B_2 2",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_B_2_2.glb"},{type:"ConcrateSlabs_B_2",style:"3",name:"Concrate Slabs_ B_2 3",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_B_2_3.glb"},{type:"ConcrateSlabs_B_3",style:"1",name:"Concrate Slabs_ B_3 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_B_3_1.glb"},{type:"ConcrateSlabs_B_3",style:"2",name:"Concrate Slabs_ B_3 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_B_3_2.glb"},{type:"ConcrateSlabs_B_3",style:"3",name:"Concrate Slabs_ B_3 3",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_B_3_3.glb"},{type:"ConcrateSlabs_B_4",style:"1",name:"Concrate Slabs_ B_4 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_B_4_1.glb"},{type:"ConcrateSlabs_B_4",style:"2",name:"Concrate Slabs_ B_4 2",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_B_4_2.glb"},{type:"ConcrateSlabs_B_4",style:"3",name:"Concrate Slabs_ B_4 3",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_B_4_3.glb"},{type:"ConcrateSlabs_C_1",style:"1",name:"Concrate Slabs_ C_1 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_C_1_1.glb"},{type:"ConcrateSlabs_C_1",style:"2",name:"Concrate Slabs_ C_1 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_C_1_2.glb"},{type:"ConcrateSlabs_C_1",style:"3",name:"Concrate Slabs_ C_1 3",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_C_1_3.glb"},{type:"ConcrateSlabs_C_2",style:"1",name:"Concrate Slabs_ C_2 1",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_C_2_1.glb"},{type:"ConcrateSlabs_C_2",style:"2",name:"Concrate Slabs_ C_2 2",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_C_2_2.glb"},{type:"ConcrateSlabs_C_2",style:"3",name:"Concrate Slabs_ C_2 3",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_C_2_3.glb"},{type:"ConcrateSlabs_C_3",style:"1",name:"Concrate Slabs_ C_3 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_C_3_1.glb"},{type:"ConcrateSlabs_C_3",style:"2",name:"Concrate Slabs_ C_3 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_C_3_2.glb"},{type:"ConcrateSlabs_C_3",style:"3",name:"Concrate Slabs_ C_3 3",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_C_3_3.glb"},{type:"ConcrateSlabs_C_4",style:"1",name:"Concrate Slabs_ C_4 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_C_4_1.glb"},{type:"ConcrateSlabs_C_4",style:"2",name:"Concrate Slabs_ C_4 2",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_C_4_2.glb"},{type:"ConcrateSlabs_C_4",style:"3",name:"Concrate Slabs_ C_4 3",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_C_4_3.glb"},{type:"ConcrateSlabs_D_1",style:"1",name:"Concrate Slabs_ D_1 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_D_1_1.glb"},{type:"ConcrateSlabs_D_1",style:"2",name:"Concrate Slabs_ D_1 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_D_1_2.glb"},{type:"ConcrateSlabs_D_1",style:"3",name:"Concrate Slabs_ D_1 3",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_D_1_3.glb"},{type:"ConcrateSlabs_D_2",style:"1",name:"Concrate Slabs_ D_2 1",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_D_2_1.glb"},{type:"ConcrateSlabs_D_2",style:"2",name:"Concrate Slabs_ D_2 2",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_D_2_2.glb"},{type:"ConcrateSlabs_D_2",style:"3",name:"Concrate Slabs_ D_2 3",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_D_2_3.glb"},{type:"ConcrateSlabs_D_3",style:"1",name:"Concrate Slabs_ D_3 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_D_3_1.glb"},{type:"ConcrateSlabs_D_3",style:"2",name:"Concrate Slabs_ D_3 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_D_3_2.glb"},{type:"ConcrateSlabs_D_3",style:"3",name:"Concrate Slabs_ D_3 3",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_D_3_3.glb"},{type:"ConcrateSlabs_D_4",style:"1",name:"Concrate Slabs_ D_4 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_D_4_1.glb"},{type:"ConcrateSlabs_D_4",style:"2",name:"Concrate Slabs_ D_4 2",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_D_4_2.glb"},{type:"ConcrateSlabs_D_4",style:"3",name:"Concrate Slabs_ D_4 3",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_D_4_3.glb"},{type:"ConcrateSlabs_E_1",style:"1",name:"Concrate Slabs_ E_1 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_E_1_1.glb"},{type:"ConcrateSlabs_E_1",style:"2",name:"Concrate Slabs_ E_1 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_E_1_2.glb"},{type:"ConcrateSlabs_E_1",style:"3",name:"Concrate Slabs_ E_1 3",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_E_1_3.glb"},{type:"ConcrateSlabs_E_2",style:"1",name:"Concrate Slabs_ E_2 1",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_E_2_1.glb"},{type:"ConcrateSlabs_E_2",style:"2",name:"Concrate Slabs_ E_2 2",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_E_2_2.glb"},{type:"ConcrateSlabs_E_2",style:"3",name:"Concrate Slabs_ E_2 3",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_E_2_3.glb"},{type:"ConcrateSlabs_E_3",style:"1",name:"Concrate Slabs_ E_3 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_E_3_1.glb"},{type:"ConcrateSlabs_E_3",style:"2",name:"Concrate Slabs_ E_3 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_E_3_2.glb"},{type:"ConcrateSlabs_E_3",style:"3",name:"Concrate Slabs_ E_3 3",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_E_3_3.glb"},{type:"ConcrateSlabs_E_4",style:"1",name:"Concrate Slabs_ E_4 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_E_4_1.glb"},{type:"Fundaments_2",style:"1",name:"Fundaments_2 1",colors:["A"],cells:[6,6],defaultScale:.51,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Fundaments_2_1.glb"},{type:"Fundaments_2",style:"2",name:"Fundaments_2 2",colors:["A"],cells:[6,6],defaultScale:.51,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Fundaments_2_2.glb"},{type:"Fundaments_2",style:"3",name:"Fundaments_2 3",colors:["A"],cells:[6,6],defaultScale:.51,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Fundaments_2_3.glb"},{type:"Fundaments_3",style:"1",name:"Fundaments_3 1",colors:["A"],cells:[6,6],defaultScale:.36,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Fundaments_3_1.glb"},{type:"Fundaments_3",style:"2",name:"Fundaments_3 2",colors:["A"],cells:[6,6],defaultScale:.36,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Fundaments_3_2.glb"},{type:"Fundaments_3",style:"3",name:"Fundaments_3 3",colors:["A"],cells:[6,6],defaultScale:.36,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Fundaments_3_3.glb"},{type:"Pilar",style:"1",name:"Pilar 1",colors:["A","B","C","D","E"],cells:[3,3],defaultScale:4.63,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Pilar_{color}_1.glb"},{type:"Pilar",style:"2",name:"Pilar 2",colors:["A","B","C","D","E"],cells:[3,3],defaultScale:4.63,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Pilar_{color}_2.glb"},{type:"RreinforcingBars",style:"1",name:"Rreinforcing Bars 1",colors:["A","B","C"],cells:[3,3],defaultScale:5.91,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"RreinforcingBars_{color}_1.glb"},{type:"RreinforcingBars",style:"2",name:"Rreinforcing Bars 2",colors:["A","B","C"],cells:[3,3],defaultScale:1.78,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"RreinforcingBars_{color}_2.glb"},{type:"RreinforcingBars",style:"3",name:"Rreinforcing Bars 3",colors:["A","B","C"],cells:[3,3],defaultScale:3.5,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"RreinforcingBars_{color}_3.glb"},{type:"RreinforcingBars",style:"4",name:"Rreinforcing Bars 4",colors:["A","B","C"],cells:[3,3],defaultScale:1.29,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"RreinforcingBars_{color}_4.glb"},{type:"Stairs_C_1",style:"1",name:"Stairs_ C_1 1",colors:["A"],cells:[3,3],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Stairs_C_1_1.glb"},{type:"Stairs_C_1",style:"2",name:"Stairs_ C_1 2",colors:["A"],cells:[3,3],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Stairs_C_1_2.glb"},{type:"Stairs_C_1",style:"3",name:"Stairs_ C_1 3",colors:["A"],cells:[3,3],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Stairs_C_1_3.glb"},{type:"Stairs_C_1",style:"4",name:"Stairs_ C_1 4",colors:["A"],cells:[3,3],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Stairs_C_1_4.glb"},{type:"Stairs_C_1",style:"5",name:"Stairs_ C_1 5",colors:["A"],cells:[3,3],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Stairs_C_1_5.glb"},{type:"Wall_A_1",style:"1",name:"Wall_ A_1 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_{color}_1_1.glb"},{type:"Wall_A_2",style:"1",name:"Wall_ A_2 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_{color}_2_1.glb"},{type:"Wall_A_3",style:"1",name:"Wall_ A_3 1",colors:["A"],cells:[3,3],defaultScale:1.28,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_{color}_3_1.glb"},{type:"Wall",style:"4",name:"Wall 4",colors:["A","B","D"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_{color}_4.glb"},{type:"Wall_B_1",style:"1",name:"Wall_ B_1 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_B_1_1.glb"},{type:"Wall_B_2",style:"1",name:"Wall_ B_2 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_B_2_1.glb"},{type:"Wall_B_3",style:"1",name:"Wall_ B_3 1",colors:["A"],cells:[3,3],defaultScale:1.28,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_B_3_1.glb"},{type:"Wall_D_1",style:"1",name:"Wall_ D_1 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_D_1_1.glb"},{type:"Wall_D_2",style:"1",name:"Wall_ D_2 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_D_2_1.glb"},{type:"Wall_D_3",style:"1",name:"Wall_ D_3 1",colors:["A"],cells:[3,3],defaultScale:1.28,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_D_3_1.glb"},{type:"Wall_E_1",style:"1",name:"Wall_ E_1 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_E_1_1.glb"},{type:"Wall_E_2",style:"1",name:"Wall_ E_2 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_E_2_1.glb"},{type:"Wall_E_3",style:"1",name:"Wall_ E_3 1",colors:["A"],cells:[3,3],defaultScale:1.28,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_E_3_1.glb"},{type:"WoodFrame_1",style:"1",name:"Wood Frame_1 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"WoodFrame_1_1.glb"},{type:"WoodFrame_1",style:"2",name:"Wood Frame_1 2",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"WoodFrame_1_2.glb"},{type:"WoodFrame_2",style:"1",name:"Wood Frame_2 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"WoodFrame_2_1.glb"},{type:"WoodFrame_2",style:"2",name:"Wood Frame_2 2",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"WoodFrame_2_2.glb"},{type:"cBuilding_1",style:"1",name:"c Building_1 1",colors:["A"],cells:[6,6],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cBuilding_1_1.glb"},{type:"cBuilding_1",style:"3",name:"c Building_1 3",colors:["A"],cells:[6,6],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cBuilding_1_3.glb"},{type:"cBuilding_2",style:"1",name:"c Building_2 1",colors:["A"],cells:[5,5],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cBuilding_2_1.glb"},{type:"cBuilding_2",style:"2",name:"c Building_2 2",colors:["A"],cells:[5,5],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cBuilding_2_2.glb"},{type:"cGround",style:"1",name:"c Ground 1",colors:["A","B","C"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_1.glb"},{type:"cGround",style:"2",name:"c Ground 2",colors:["A","B","C"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_2.glb"},{type:"cGround",style:"3",name:"c Ground 3",colors:["A","B","C"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_3.glb"},{type:"cGround",style:"4",name:"c Ground 4",colors:["A","B","C"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_4.glb"},{type:"cGround",style:"5",name:"c Ground 5",colors:["A","B","C"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_5.glb"},{type:"cGround",style:"6",name:"c Ground 6",colors:["A","B","C"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_6.glb"},{type:"cGround",style:"7",name:"c Ground 7",colors:["A","B","C"],cells:[6,6],defaultScale:.31,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_7.glb"},{type:"cGround",style:"8",name:"c Ground 8",colors:["A","B","C"],cells:[6,6],defaultScale:.32,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_8.glb"},{type:"cGround",style:"9",name:"c Ground 9",colors:["A","B","C"],cells:[6,6],defaultScale:.3,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_9.glb"},{type:"cGround_A_Side",style:"1",name:"c Ground_ A_ Side 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_Side_1.glb"},{type:"cGround_A_Side",style:"2",name:"c Ground_ A_ Side 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_Side_2.glb"},{type:"cGround_A_Side",style:"3",name:"c Ground_ A_ Side 3",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_Side_3.glb"},{type:"cGround_A_Side",style:"4",name:"c Ground_ A_ Side 4",colors:["A"],cells:[3,3],defaultScale:.51,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_Side_4.glb"},{type:"cGround_A_Under",style:"1",name:"c Ground_ A_ Under 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_Under_1.glb"},{type:"cGround_A_Under",style:"2",name:"c Ground_ A_ Under 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_Under_2.glb"},{type:"cGround_A_Under",style:"3",name:"c Ground_ A_ Under 3",colors:["A"],cells:[5,5],defaultScale:.43,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_Under_3.glb"},{type:"cGround_A_Under",style:"4",name:"c Ground_ A_ Under 4",colors:["A"],cells:[5,5],defaultScale:.43,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_Under_4.glb"},{type:"cGround_B_Side",style:"1",name:"c Ground_ B_ Side 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_B_Side_1_.glb"},{type:"cGround_B_Side",style:"2",name:"c Ground_ B_ Side 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_B_Side_2_.glb"},{type:"cGround_B_Side",style:"3",name:"c Ground_ B_ Side 3",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_B_Side_3_.glb"},{type:"cGround_B_Side",style:"4",name:"c Ground_ B_ Side 4",colors:["A"],cells:[3,3],defaultScale:.51,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_B_Side_4_.glb"},{type:"cGround_B_Under",style:"1",name:"c Ground_ B_ Under 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_B_Under_1_.glb"},{type:"cGround_B_Under",style:"2",name:"c Ground_ B_ Under 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_B_Under_2_.glb"},{type:"cGround_B_Under",style:"3",name:"c Ground_ B_ Under 3",colors:["A"],cells:[5,5],defaultScale:.43,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_B_Under_3_.glb"},{type:"cGround_B_Under",style:"4",name:"c Ground_ B_ Under 4",colors:["A"],cells:[5,5],defaultScale:.43,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_B_Under_4_.glb"},{type:"cGround_C_Side_1_",style:"1",name:"c Ground_ C_ Side_1_ 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_C_Side_1__.glb"},{type:"cGround_C_Side_2_",style:"1",name:"c Ground_ C_ Side_2_ 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_C_Side_2__.glb"},{type:"cGround_C_Side_3_",style:"1",name:"c Ground_ C_ Side_3_ 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_C_Side_3__.glb"},{type:"cGround_C_Side_4_",style:"1",name:"c Ground_ C_ Side_4_ 1",colors:["A"],cells:[3,3],defaultScale:.51,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_C_Side_4__.glb"},{type:"cGround_C_Under_1_",style:"1",name:"c Ground_ C_ Under_1_ 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_C_Under_1__.glb"},{type:"cGround_C_Under_2_",style:"1",name:"c Ground_ C_ Under_2_ 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_C_Under_2__.glb"},{type:"cGround_C_Under_3_",style:"1",name:"c Ground_ C_ Under_3_ 1",colors:["A"],cells:[5,5],defaultScale:.43,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_C_Under_3__.glb"},{type:"cGround_C_Under_4_",style:"1",name:"c Ground_ C_ Under_4_ 1",colors:["A"],cells:[5,5],defaultScale:.43,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_C_Under_4__.glb"},{type:"Barier_1",style:"1",name:"Barier_1 1",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_1_1.glb"},{type:"Barier_1",style:"2",name:"Barier_1 2",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_1_2.glb"},{type:"Barier_1",style:"3",name:"Barier_1 3",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_1_3.glb"},{type:"Barier_1",style:"4",name:"Barier_1 4",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_1_4.glb"},{type:"Barier_1",style:"5",name:"Barier_1 5",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_1_5.glb"},{type:"Barier_1",style:"6",name:"Barier_1 6",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_1_6.glb"},{type:"Barier_1",style:"7",name:"Barier_1 7",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_1_7.glb"},{type:"Barier_1",style:"8",name:"Barier_1 8",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_1_8.glb"},{type:"Barier_2",style:"1",name:"Barier_2 1",colors:["A"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_2_1.glb"},{type:"Barier_2",style:"2",name:"Barier_2 2",colors:["A"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_2_2.glb"},{type:"Barier_2",style:"3",name:"Barier_2 3",colors:["A"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_2_3.glb"},{type:"Barier_2",style:"4",name:"Barier_2 4",colors:["A"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_2_4.glb"},{type:"Barier_2",style:"5",name:"Barier_2 5",colors:["A"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_2_5.glb"},{type:"Barier_2",style:"6",name:"Barier_2 6",colors:["A"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_2_6.glb"},{type:"Barier_2",style:"7",name:"Barier_2 7",colors:["A"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_2_7.glb"},{type:"Barier_2",style:"8",name:"Barier_2 8",colors:["A"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_2_8.glb"},{type:"Barier_3",style:"1",name:"Barier_3 1",colors:["A"],cells:[1,1],defaultScale:.73,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_3_1.glb"},{type:"Barier_3",style:"2",name:"Barier_3 2",colors:["A"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_3_2.glb"},{type:"Barrel_1",style:"1",name:"Barrel_1 1",colors:["A"],cells:[1,1],defaultScale:1.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barrel_1_1.glb"},{type:"Barrel_1",style:"2",name:"Barrel_1 2",colors:["A"],cells:[1,1],defaultScale:1.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barrel_1_2.glb"},{type:"Barrel_1",style:"3",name:"Barrel_1 3",colors:["A"],cells:[1,1],defaultScale:1.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barrel_1_3.glb"},{type:"Barrel_1",style:"4",name:"Barrel_1 4",colors:["A"],cells:[1,1],defaultScale:1.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barrel_1_4.glb"},{type:"Barrel_1",style:"5",name:"Barrel_1 5",colors:["A"],cells:[1,1],defaultScale:1.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barrel_1_5.glb"},{type:"Barrel_1",style:"6",name:"Barrel_1 6",colors:["A"],cells:[1,1],defaultScale:1.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barrel_1_6.glb"},{type:"BarsStack",style:"1",name:"Bars Stack 1",colors:["A"],cells:[1,1],defaultScale:.12,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"BarsStack_1.glb"},{type:"BarsStack",style:"2",name:"Bars Stack 2",colors:["A"],cells:[1,1],defaultScale:.12,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"BarsStack_2.glb"},{type:"BarsStack",style:"3",name:"Bars Stack 3",colors:["A"],cells:[1,1],defaultScale:.12,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"BarsStack_3.glb"},{type:"BoxWooden",style:"1",name:"Box Wooden 1",colors:["A","B"],cells:[1,1],defaultScale:.82,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"BoxWooden_1_{color}.glb"},{type:"Brick_1",style:"2",name:"Brick_1 2",colors:["A"],cells:[1,1],defaultScale:2.28,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Brick_1_2.glb"},{type:"Brick_1",style:"4",name:"Brick_1 4",colors:["A"],cells:[1,1],defaultScale:2.28,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Brick_1_4.glb"},{type:"Bricks_1",style:"2",name:"Bricks_1 2",colors:["A"],cells:[1,1],defaultScale:.67,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Bricks_1_2.glb"},{type:"Bricks_1",style:"4",name:"Bricks_1 4",colors:["A"],cells:[1,1],defaultScale:.67,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Bricks_1_4.glb"},{type:"Bucket",style:"1.1",name:"Bucket 1.1",colors:["A","B","C"],cells:[1,1],defaultScale:1.97,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Bucket_1_{color}_1.glb"},{type:"Bucket",style:"1.2",name:"Bucket 1.2",colors:["A","B","C"],cells:[1,1],defaultScale:1.97,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Bucket_1_{color}_2.glb"},{type:"Cargo_1",style:"1",name:"Cargo_1 1",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Cargo_1_1.glb"},{type:"Cargo_1",style:"2",name:"Cargo_1 2",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Cargo_1_2.glb"},{type:"Cargo_1",style:"3",name:"Cargo_1 3",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Cargo_1_3.glb"},{type:"Cargo_1",style:"4",name:"Cargo_1 4",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Cargo_1_4.glb"},{type:"CementMixer",style:"1",name:"Cement Mixer 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:1.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"CementMixer_{color}.glb"},{type:"Clipboard",style:"1",name:"Clipboard 1",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Clipboard.glb"},{type:"Concrate Truck",style:"1",name:"Concrate Truck 1",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Concrate Truck.glb"},{type:"Container_1",style:"1",name:"Container_1 1",colors:["A"],cells:[1,1],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Container_1_1.glb"},{type:"Container_1",style:"2",name:"Container_1 2",colors:["A"],cells:[1,1],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Container_1_2.glb"},{type:"Container_1",style:"3",name:"Container_1 3",colors:["A"],cells:[1,1],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Container_1_3.glb"},{type:"Container_1",style:"4",name:"Container_1 4",colors:["A"],cells:[1,1],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Container_1_4.glb"},{type:"Container_1",style:"7",name:"Container_1 7",colors:["A"],cells:[1,1],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Container_1_7.glb"},{type:"Container_1",style:"8",name:"Container_1 8",colors:["A"],cells:[1,1],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Container_1_8.glb"},{type:"Container_1",style:"9",name:"Container_1 9",colors:["A"],cells:[1,1],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Container_1_9.glb"},{type:"Crane",style:"1",name:"Crane 1",colors:["A"],cells:[1,1],defaultScale:.1,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Crane.glb"},{type:"EarMuffs",style:"1",name:"Ear Muffs 1",colors:["A"],cells:[1,1],defaultScale:1.16,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"EarMuffs_1.glb"},{type:"EarMuffs",style:"2",name:"Ear Muffs 2",colors:["A"],cells:[1,1],defaultScale:1.16,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"EarMuffs_2.glb"},{type:"EarMuffs",style:"3",name:"Ear Muffs 3",colors:["A"],cells:[1,1],defaultScale:1.16,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"EarMuffs_3.glb"},{type:"EarMuffs",style:"4",name:"Ear Muffs 4",colors:["A"],cells:[1,1],defaultScale:1.16,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"EarMuffs_4.glb"},{type:"EarMuffs_Helmet",style:"1",name:"Ear Muffs_ Helmet 1",colors:["A"],cells:[1,1],defaultScale:1.16,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"EarMuffs_Helmet_1.glb"},{type:"EarMuffs_Helmet",style:"2",name:"Ear Muffs_ Helmet 2",colors:["A"],cells:[1,1],defaultScale:1.16,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"EarMuffs_Helmet_2.glb"},{type:"EarMuffs_Helmet",style:"3",name:"Ear Muffs_ Helmet 3",colors:["A"],cells:[1,1],defaultScale:1.16,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"EarMuffs_Helmet_3.glb"},{type:"EarMuffs_Helmet",style:"4",name:"Ear Muffs_ Helmet 4",colors:["A"],cells:[1,1],defaultScale:1.16,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"EarMuffs_Helmet_4.glb"},{type:"ForkLift",style:"1",name:"Fork Lift 1",colors:["A"],cells:[1,1],defaultScale:.26,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"ForkLift.glb"},{type:"GasCylinder_1",style:"1",name:"Gas Cylinder_1 1",colors:["A"],cells:[1,1],defaultScale:2.85,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_1_1.glb"},{type:"GasCylinder_1",style:"2",name:"Gas Cylinder_1 2",colors:["A"],cells:[1,1],defaultScale:2.85,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_1_2.glb"},{type:"GasCylinder_1",style:"3",name:"Gas Cylinder_1 3",colors:["A"],cells:[1,1],defaultScale:2.85,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_1_3.glb"},{type:"GasCylinder_1",style:"4",name:"Gas Cylinder_1 4",colors:["A"],cells:[1,1],defaultScale:2.85,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_1_4.glb"},{type:"GasCylinder_1",style:"5",name:"Gas Cylinder_1 5",colors:["A"],cells:[1,1],defaultScale:2.85,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_1_5.glb"},{type:"GasCylinder_1",style:"6",name:"Gas Cylinder_1 6",colors:["A"],cells:[1,1],defaultScale:2.85,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_1_6.glb"},{type:"GasCylinder_1",style:"7",name:"Gas Cylinder_1 7",colors:["A"],cells:[1,1],defaultScale:2.85,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_1_7.glb"},{type:"GasCylinder_2",style:"1",name:"Gas Cylinder_2 1",colors:["A"],cells:[1,1],defaultScale:2.08,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_2_1.glb"},{type:"GasCylinder_2",style:"2",name:"Gas Cylinder_2 2",colors:["A"],cells:[1,1],defaultScale:2.08,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_2_2.glb"},{type:"GasCylinder_2",style:"3",name:"Gas Cylinder_2 3",colors:["A"],cells:[1,1],defaultScale:2.08,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_2_3.glb"},{type:"GasCylinder_2",style:"4",name:"Gas Cylinder_2 4",colors:["A"],cells:[1,1],defaultScale:2.08,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_2_4.glb"},{type:"GasCylinder_2",style:"5",name:"Gas Cylinder_2 5",colors:["A"],cells:[1,1],defaultScale:2.08,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_2_5.glb"},{type:"GasCylinder_2",style:"6",name:"Gas Cylinder_2 6",colors:["A"],cells:[1,1],defaultScale:2.08,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_2_6.glb"},{type:"Generator",style:"1",name:"Generator 1",colors:["A","B"],cells:[1,1],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Generator_1_{color}.glb"},{type:"Hamer",style:"1",name:"Hamer 1",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Hamer_1.glb"},{type:"Hamer",style:"2",name:"Hamer 2",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Hamer_2.glb"},{type:"Helmet_1",style:"1",name:"Helmet_1 1",colors:["A"],cells:[1,1],defaultScale:1.12,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Helmet_1_1.glb"},{type:"Helmet_1",style:"2",name:"Helmet_1 2",colors:["A"],cells:[1,1],defaultScale:1.12,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Helmet_1_2.glb"},{type:"Helmet_1",style:"3",name:"Helmet_1 3",colors:["A"],cells:[1,1],defaultScale:1.12,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Helmet_1_3.glb"},{type:"Ladder_1",style:"1",name:"Ladder_1 1",colors:["A"],cells:[1,1],defaultScale:.63,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Ladder_1_1.glb"},{type:"Ladder_1",style:"2",name:"Ladder_1 2",colors:["A"],cells:[1,1],defaultScale:.63,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Ladder_1_2.glb"},{type:"Ladder_1",style:"4",name:"Ladder_1 4",colors:["A"],cells:[1,1],defaultScale:.63,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Ladder_1_4.glb"},{type:"Ladder_1",style:"5",name:"Ladder_1 5",colors:["A"],cells:[1,1],defaultScale:.63,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Ladder_1_5.glb"},{type:"Ladder_1",style:"6",name:"Ladder_1 6",colors:["A"],cells:[1,1],defaultScale:.63,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Ladder_1_6.glb"},{type:"Ladder_1",style:"7",name:"Ladder_1 7",colors:["A"],cells:[1,1],defaultScale:.63,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Ladder_1_7.glb"},{type:"Ladder_1",style:"9",name:"Ladder_1 9",colors:["A"],cells:[1,1],defaultScale:.63,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Ladder_1_9.glb"},{type:"LightsC",style:"1",name:"Lights C 1",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:.86,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"LightsC_1_{color}.glb"},{type:"Pallet_1",style:"1",name:"Pallet_1 1",colors:["A"],cells:[1,1],defaultScale:.65,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pallet_1_1.glb"},{type:"Pallet_1",style:"2",name:"Pallet_1 2",colors:["A"],cells:[1,1],defaultScale:.65,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pallet_1_2.glb"},{type:"Pipe_C_1",style:"1",name:"Pipe_ C_1 1",colors:["A"],cells:[1,1],defaultScale:.15,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipe_C_1_1.glb"},{type:"Pipe_C_1",style:"2",name:"Pipe_ C_1 2",colors:["A"],cells:[1,1],defaultScale:.15,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipe_C_1_2.glb"},{type:"Pipe_C_1",style:"3",name:"Pipe_ C_1 3",colors:["A"],cells:[1,1],defaultScale:.15,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipe_C_1_3.glb"},{type:"Pipe_C_1",style:"4",name:"Pipe_ C_1 4",colors:["A"],cells:[1,1],defaultScale:.15,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipe_C_1_4.glb"},{type:"Pipe_C_4",style:"1",name:"Pipe_ C_4 1",colors:["A"],cells:[1,1],defaultScale:.59,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipe_C_4_1.glb"},{type:"Pipe_C_4",style:"2",name:"Pipe_ C_4 2",colors:["A"],cells:[1,1],defaultScale:.33,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipe_C_4_2.glb"},{type:"Pipe_C_4",style:"3",name:"Pipe_ C_4 3",colors:["A"],cells:[1,1],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipe_C_4_3.glb"},{type:"PipesBulk",style:"1",name:"Pipes Bulk 1",colors:["A"],cells:[1,1],defaultScale:.18,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"PipesBulk.glb"},{type:"Pipes_C_1",style:"1",name:"Pipes_ C_1 1",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipes_C_1_1.glb"},{type:"Pipes_C_1",style:"2",name:"Pipes_ C_1 2",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipes_C_1_2.glb"},{type:"Pipes_C_1",style:"3",name:"Pipes_ C_1 3",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipes_C_1_3.glb"},{type:"Pipes_C_1",style:"4",name:"Pipes_ C_1 4",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipes_C_1_4.glb"},{type:"Pipes_C_2",style:"1",name:"Pipes_ C_2 1",colors:["A"],cells:[1,1],defaultScale:.23,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipes_C_2_1.glb"},{type:"Pipes_C_2",style:"2",name:"Pipes_ C_2 2",colors:["A"],cells:[1,1],defaultScale:.23,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipes_C_2_2.glb"},{type:"Pipes_C_2",style:"3",name:"Pipes_ C_2 3",colors:["A"],cells:[1,1],defaultScale:.23,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipes_C_2_3.glb"},{type:"Pipes_C_2",style:"4",name:"Pipes_ C_2 4",colors:["A"],cells:[1,1],defaultScale:.23,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipes_C_2_4.glb"},{type:"Pipes_C_3",style:"1",name:"Pipes_ C_3 1",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipes_C_3_1.glb"},{type:"Pipes_C_3",style:"2",name:"Pipes_ C_3 2",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipes_C_3_2.glb"},{type:"Pipes_C_3",style:"3",name:"Pipes_ C_3 3",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipes_C_3_3.glb"},{type:"Pipes_C_3",style:"4",name:"Pipes_ C_3 4",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipes_C_3_4.glb"},{type:"Plank_1",style:"1",name:"Plank_1 1",colors:["A"],cells:[1,1],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Plank_1_1.glb"},{type:"Plank_1",style:"2",name:"Plank_1 2",colors:["A"],cells:[1,1],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Plank_1_2.glb"},{type:"Plank_1",style:"3",name:"Plank_1 3",colors:["A"],cells:[1,1],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Plank_1_3.glb"},{type:"Plank_2",style:"1",name:"Plank_2 1",colors:["A"],cells:[1,1],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Plank_2_1.glb"},{type:"Plank_2",style:"2",name:"Plank_2 2",colors:["A"],cells:[1,1],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Plank_2_2.glb"},{type:"Plank_2",style:"3",name:"Plank_2 3",colors:["A"],cells:[1,1],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Plank_2_3.glb"},{type:"Planks",style:"1",name:"Planks 1",colors:["A"],cells:[1,1],defaultScale:.28,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Planks_1.glb"},{type:"Planks",style:"2",name:"Planks 2",colors:["A"],cells:[1,1],defaultScale:.28,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Planks_2.glb"},{type:"Planks",style:"3",name:"Planks 3",colors:["A"],cells:[1,1],defaultScale:.28,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Planks_3.glb"},{type:"Planks",style:"4",name:"Planks 4",colors:["A"],cells:[1,1],defaultScale:.28,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Planks_4.glb"},{type:"Rail_C_1",style:"1",name:"Rail_ C_1 1",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rail_C_1_1.glb"},{type:"Rail_C_1",style:"2",name:"Rail_ C_1 2",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rail_C_1_2.glb"},{type:"Rail_C_1",style:"3",name:"Rail_ C_1 3",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rail_C_1_3.glb"},{type:"Rail_C_1",style:"4",name:"Rail_ C_1 4",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rail_C_1_4.glb"},{type:"Rail_C_2",style:"1",name:"Rail_ C_2 1",colors:["A"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rail_C_2_1.glb"},{type:"Rail_C_2",style:"2",name:"Rail_ C_2 2",colors:["A"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rail_C_2_2.glb"},{type:"Rail_C_2",style:"3",name:"Rail_ C_2 3",colors:["A"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rail_C_2_3.glb"},{type:"Rail_C_2",style:"4",name:"Rail_ C_2 4",colors:["A"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rail_C_2_4.glb"},{type:"Rails_C_4",style:"1",name:"Rails_ C_4 1",colors:["A"],cells:[1,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rails_C_4_1.glb"},{type:"Rails_C_4",style:"2",name:"Rails_ C_4 2",colors:["A"],cells:[1,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rails_C_4_2.glb"},{type:"Rails_C_4",style:"3",name:"Rails_ C_4 3",colors:["A"],cells:[1,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rails_C_4_3.glb"},{type:"Rails_C_4",style:"4",name:"Rails_ C_4 4",colors:["A"],cells:[1,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rails_C_4_4.glb"},{type:"RoadRoller ",style:"1",name:"Road Roller 1",colors:["A"],cells:[1,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"RoadRoller .glb"},{type:"Rock",style:"1",name:"Rock 1",colors:["A","B"],cells:[1,1],defaultScale:1.39,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rock_{color}_1.glb"},{type:"Rock",style:"2",name:"Rock 2",colors:["A","B"],cells:[1,1],defaultScale:1.06,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rock_{color}_2.glb"},{type:"Rock",style:"3",name:"Rock 3",colors:["A","B"],cells:[1,1],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rock_{color}_3.glb"},{type:"Rocks",style:"1",name:"Rocks 1",colors:["A","B"],cells:[1,1],defaultScale:.41,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rocks_{color}_1.glb"},{type:"Rocks",style:"2",name:"Rocks 2",colors:["A","B"],cells:[1,1],defaultScale:.54,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rocks_{color}_2.glb"},{type:"RubbleContainer",style:"1",name:"Rubble Container 1",colors:["A","B","C","E"],cells:[1,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"RubbleContainer_{color}_1.glb"},{type:"RubbleContainer",style:"2",name:"Rubble Container 2",colors:["A","B","C","E"],cells:[1,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"RubbleContainer_{color}_2.glb"},{type:"SGround",style:"1",name:"S Ground 1",colors:["A","B","C"],cells:[1,1],defaultScale:.21,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"SGround_{color}.glb"},{type:"SandHill_1",style:"1",name:"Sand Hill_1 1",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"SandHill_1_1.glb"},{type:"SandHill_1",style:"2",name:"Sand Hill_1 2",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"SandHill_1_2.glb"},{type:"SandHill_1",style:"3",name:"Sand Hill_1 3",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"SandHill_1_3.glb"},{type:"SandHill_1",style:"4",name:"Sand Hill_1 4",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"SandHill_1_4.glb"},{type:"SandHill_2",style:"1",name:"Sand Hill_2 1",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"SandHill_2_1.glb"},{type:"SandHill_2",style:"2",name:"Sand Hill_2 2",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"SandHill_2_2.glb"},{type:"SandHill_2",style:"3",name:"Sand Hill_2 3",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"SandHill_2_3.glb"},{type:"SandHill_2",style:"4",name:"Sand Hill_2 4",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"SandHill_2_4.glb"},{type:"Scaffold_sheet_1",style:"1",name:"Scaffold_sheet_1 1",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_1_1.glb"},{type:"Scaffold_sheet_1",style:"3",name:"Scaffold_sheet_1 3",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_1_3.glb"},{type:"Scaffold_sheet_1",style:"4",name:"Scaffold_sheet_1 4",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_1_4.glb"},{type:"Scaffold_sheet_1",style:"5",name:"Scaffold_sheet_1 5",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_1_5.glb"},{type:"Scaffold_sheet_1",style:"6",name:"Scaffold_sheet_1 6",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_1_6.glb"},{type:"Scaffold_sheet_1",style:"7",name:"Scaffold_sheet_1 7",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_1_7.glb"},{type:"Scaffold_sheet_1",style:"8",name:"Scaffold_sheet_1 8",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_1_8.glb"},{type:"Scaffold_sheet_2",style:"1",name:"Scaffold_sheet_2 1",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_2_1.glb"},{type:"Scaffold_sheet_2",style:"3",name:"Scaffold_sheet_2 3",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_2_3.glb"},{type:"Scaffold_sheet_2",style:"4",name:"Scaffold_sheet_2 4",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_2_4.glb"},{type:"Scaffold_sheet_2",style:"5",name:"Scaffold_sheet_2 5",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_2_5.glb"},{type:"Scaffold_sheet_2",style:"6",name:"Scaffold_sheet_2 6",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_2_6.glb"},{type:"Scaffold_sheet_2",style:"7",name:"Scaffold_sheet_2 7",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_2_7.glb"},{type:"Scaffold_sheet_2",style:"8",name:"Scaffold_sheet_2 8",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_2_8.glb"},{type:"Scaffolding",style:"1",name:"Scaffolding 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.37,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffolding_{color}_1.glb"},{type:"Scaffolding",style:"2",name:"Scaffolding 2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.37,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffolding_{color}_2.glb"},{type:"Scaffolding_Plank",style:"1",name:"Scaffolding_ Plank 1",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffolding_Plank_{color}.glb"},{type:"SheetMetal",style:"1",name:"Sheet Metal 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.58,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"SheetMetal_{color}_1.glb"},{type:"SheetMetal",style:"2",name:"Sheet Metal 2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.58,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"SheetMetal_{color}_2.glb"},{type:"SheetMetal",style:"3",name:"Sheet Metal 3",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.58,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"SheetMetal_{color}_3.glb"},{type:"Shovel",style:"1",name:"Shovel 1",colors:["A","B"],cells:[1,1],defaultScale:2.45,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Shovel_{color}.glb"},{type:"Sign",style:"1",name:"Sign 1",colors:["C"],cells:[1,1],defaultScale:1.68,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Sign_{color}_1.glb"},{type:"Sign",style:"2",name:"Sign 2",colors:["C"],cells:[1,1],defaultScale:1.03,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Sign_{color}_2.glb"},{type:"Sign",style:"3",name:"Sign 3",colors:["C"],cells:[1,1],defaultScale:1.03,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Sign_{color}_3.glb"},{type:"Sign",style:"4",name:"Sign 4",colors:["C"],cells:[1,1],defaultScale:1.03,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Sign_{color}_4.glb"},{type:"Sign",style:"5",name:"Sign 5",colors:["C"],cells:[1,1],defaultScale:1.22,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Sign_{color}_5.glb"},{type:"Sign",style:"6",name:"Sign 6",colors:["C"],cells:[1,1],defaultScale:1.22,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Sign_{color}_6.glb"},{type:"Sign",style:"7",name:"Sign 7",colors:["C"],cells:[1,1],defaultScale:1.03,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Sign_{color}_7.glb"},{type:"Spool_1",style:"1",name:"Spool_1 1",colors:["A"],cells:[1,1],defaultScale:.66,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Spool_1_1.glb"},{type:"Spool_1",style:"2",name:"Spool_1 2",colors:["A"],cells:[1,1],defaultScale:.66,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Spool_1_2.glb"},{type:"Spool_2",style:"1",name:"Spool_2 1",colors:["A"],cells:[1,1],defaultScale:.66,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Spool_2_1.glb"},{type:"Spool_2",style:"2",name:"Spool_2 2",colors:["A"],cells:[1,1],defaultScale:.66,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Spool_2_2.glb"},{type:"Spool",style:"3",name:"Spool 3",colors:["A","B","C"],cells:[1,1],defaultScale:.66,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Spool_3_{color}.glb"},{type:"Spool_Empty",style:"1",name:"Spool_ Empty 1",colors:["A"],cells:[1,1],defaultScale:.66,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Spool_Empty.glb"},{type:"Tape_1",style:"1",name:"Tape_1 1",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Tape_1_1.glb"},{type:"Tape_1",style:"2",name:"Tape_1 2",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Tape_1_2.glb"},{type:"Tape_2",style:"1",name:"Tape_2 1",colors:["A"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Tape_2_1.glb"},{type:"Tape_2",style:"2",name:"Tape_2 2",colors:["A"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Tape_2_2.glb"},{type:"Tape_3",style:"1",name:"Tape_3 1",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Tape_3_1.glb"},{type:"Tape_3",style:"2",name:"Tape_3 2",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Tape_3_2.glb"},{type:"Toilet_C_1 ",style:"1",name:"Toilet_ C_1 1",colors:["A"],cells:[1,1],defaultScale:.55,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Toilet_C_1 .glb"},{type:"TowerCrane_Add",style:"1",name:"Tower Crane_ Add 1",colors:["A"],cells:[1,1],defaultScale:.81,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"TowerCrane_Add.glb"},{type:"TrailerC",style:"1",name:"Trailer C 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.13,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"TrailerC_1_{color}.glb"},{type:"WheelBarel",style:"2",name:"Wheel Barel 2",colors:["A"],cells:[1,1],defaultScale:.37,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"WheelBarel_2.glb"},{type:"WheelBarel",style:"3",name:"Wheel Barel 3",colors:["A"],cells:[1,1],defaultScale:.37,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"WheelBarel_3.glb"},{type:"WheelBarel",style:"4",name:"Wheel Barel 4",colors:["A"],cells:[1,1],defaultScale:.37,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"WheelBarel_4.glb"},{type:"WheelBarel",style:"6",name:"Wheel Barel 6",colors:["A"],cells:[1,1],defaultScale:.37,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"WheelBarel_6.glb"},{type:"WheelBarel",style:"7",name:"Wheel Barel 7",colors:["A"],cells:[1,1],defaultScale:.37,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"WheelBarel_7.glb"},{type:"WoodStock",style:"1",name:"Wood Stock 1",colors:["A"],cells:[1,1],defaultScale:.22,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"WoodStock_1.glb"},{type:"WoodStock",style:"2",name:"Wood Stock 2",colors:["A"],cells:[1,1],defaultScale:.22,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"WoodStock_2.glb"},{type:"WoodStock",style:"3",name:"Wood Stock 3",colors:["A"],cells:[1,1],defaultScale:.22,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"WoodStock_3.glb"}],_t={kaykit:lt,buildings:at,vehicles:st,roads:ot,nature:rt,streetProps:nt,tiles:ct,signs:it,factory:dt,foodProps:gt,roofProps:ut,basketball:ft,other:mt,construction:pt},Pt=[{type:"Building",style:"A",name:"Office",colors:["A"],cells:[6,4],defaultScale:3,urlPattern:"assets/models/buildings/",filePattern:"building_A.gltf"},{type:"Building",style:"B",name:"House A",colors:["A"],cells:[3,3],defaultScale:1.8,urlPattern:"assets/models/buildings/",filePattern:"building_B.gltf"},{type:"Building",style:"C",name:"House B",colors:["A"],cells:[3,3],defaultScale:1.8,urlPattern:"assets/models/buildings/",filePattern:"building_C.gltf"},{type:"Building",style:"D",name:"House C",colors:["A"],cells:[3,3],defaultScale:1.8,urlPattern:"assets/models/buildings/",filePattern:"building_D.gltf"},{type:"Building",style:"E",name:"Market",colors:["A"],cells:[5,4],defaultScale:2.5,urlPattern:"assets/models/buildings/",filePattern:"building_E.gltf"},{type:"Building",style:"F",name:"Café",colors:["A"],cells:[4,3],defaultScale:2,urlPattern:"assets/models/buildings/",filePattern:"building_F.gltf"},{type:"Building",style:"G",name:"Player Home",colors:["A"],cells:[3,3],defaultScale:1.8,urlPattern:"assets/models/buildings/",filePattern:"building_G.gltf"},{type:"Building",style:"H",name:"Museum",colors:["A"],cells:[5,4],defaultScale:2.5,urlPattern:"assets/models/buildings/",filePattern:"building_H.gltf"},{type:"Watertower",style:"1",name:"Water Tower",colors:["A"],cells:[2,2],defaultScale:2,urlPattern:"assets/models/buildings/",filePattern:"watertower.gltf"},{type:"Road",style:"straight",name:"Straight Road",colors:["A"],cells:[2,2],defaultScale:1,urlPattern:"assets/models/buildings/",filePattern:"road_straight.gltf"},{type:"Road",style:"corner",name:"Curved Road",colors:["A"],cells:[2,2],defaultScale:1,urlPattern:"assets/models/buildings/",filePattern:"road_corner.gltf"},{type:"Road",style:"junction",name:"Crossroad",colors:["A"],cells:[2,2],defaultScale:1,urlPattern:"assets/models/buildings/",filePattern:"road_junction.gltf"},{type:"Road",style:"tsplit",name:"T-Junction",colors:["A"],cells:[2,2],defaultScale:1,urlPattern:"assets/models/buildings/",filePattern:"road_tsplit.gltf"},{type:"Road",style:"crossing",name:"Crosswalk",colors:["A"],cells:[2,2],defaultScale:1,urlPattern:"assets/models/buildings/",filePattern:"road_straight_crossing.gltf"},{type:"Tree",style:"KK",name:"Trees",colors:["A"],cells:[1,1],defaultScale:7,urlPattern:"assets/models/props/",filePattern:"bush.gltf"},{type:"Bench",style:"KK",name:"Bench",colors:["A"],cells:[1,1],defaultScale:6,urlPattern:"assets/models/props/",filePattern:"bench.gltf"},{type:"Streetlight",style:"KK",name:"Streetlight",colors:["A"],cells:[1,1],defaultScale:1.5,urlPattern:"assets/models/props/",filePattern:"streetlight.gltf"},{type:"Firehydrant",style:"KK",name:"Hydrant",colors:["A"],cells:[1,1],defaultScale:1.5,urlPattern:"assets/models/props/",filePattern:"firehydrant.gltf"},{type:"Trash",style:"KK",name:"Trash Can",colors:["A"],cells:[1,1],defaultScale:1.5,urlPattern:"assets/models/props/",filePattern:"trash_A.gltf"},{type:"Trafficlight",style:"KK",name:"Traffic Light",colors:["A"],cells:[1,1],defaultScale:1.5,urlPattern:"assets/models/props/",filePattern:"trafficlight_A.gltf"}],yt=[{type:"Building",style:"1.1",name:"Building 1 (Floor 1)",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","R"],cells:[6,6],defaultScale:.49,urlPattern:"assets/models/megapack/gltf/Buildings/Building%201/",filePattern:"Building_1_1_{color}.glb"},{type:"Building",style:"1.2",name:"Building 1 (Floor 2)",colors:["B","C","D","E","F","G","H","I","J","K","L","M","N","O","R"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%201/",filePattern:"Building_1_2_{color}.glb"},{type:"Building",style:"1.3",name:"Building 1 (Floor 3)",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","R"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%201/",filePattern:"Building_1_3_{color}.glb"},{type:"Building",style:"1.4",name:"Building 1 (Floor 4)",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","R"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%201/",filePattern:"Building_1_4_{color}.glb"},{type:"Building",style:"1.5",name:"Building 1 (Floor 5)",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","R"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%201/",filePattern:"Building_1_5_{color}.glb"},{type:"Building",style:"1",name:"Building 1",colors:["A","AA","B","BB","C","D","E","F","G","H","I"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%201/",filePattern:"Building_1_{color}.glb"},{type:"Building",style:"2.1",name:"Building 2 (Floor 1)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building_2/",filePattern:"Building_2_1_{color}.glb",fixRotationX:90},{type:"Building",style:"2.2",name:"Building 2 (Floor 2)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building_2/",filePattern:"Building_2_2_{color}.glb",fixRotationX:90},{type:"Building",style:"2.3",name:"Building 2 (Floor 3)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building_2/",filePattern:"Building_2_3_{color}.glb",fixRotationX:90},{type:"Building",style:"2.4",name:"Building 2 (Floor 4)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building_2/",filePattern:"Building_2_4_{color}.glb",fixRotationX:90},{type:"Building",style:"2.5",name:"Building 2 (Floor 5)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building_2/",filePattern:"Building_2_5_{color}.glb",fixRotationX:90},{type:"Building",style:"2.6",name:"Building 2 (Floor 6)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building_2/",filePattern:"Building_2_6_{color}.glb",fixRotationX:90},{type:"Building",style:"2.7",name:"Building 2 (Floor 7)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building_2/",filePattern:"Building_2_7_{color}.glb",fixRotationX:90},{type:"Building",style:"2.8",name:"Building 2 (Floor 8)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building_2/",filePattern:"Building_2_8_{color}.glb",fixRotationX:90},{type:"Building",style:"3.1",name:"Building 3 (Floor 1)",colors:["A","B","C","D","E","F"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%203/",filePattern:"Building_3_1_{color}.glb",fixRotationX:90},{type:"Building",style:"3.2",name:"Building 3 (Floor 2)",colors:["A","B","C","D","E","F","G","H","I","J","K","L"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%203/",filePattern:"Building_3_2_{color}.glb",fixRotationX:90},{type:"Building",style:"3.3",name:"Building 3 (Floor 3)",colors:["A","B","C","D","E","F","G","H","I","J","K","L"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%203/",filePattern:"Building_3_3_{color}.glb",fixRotationX:90},{type:"Building",style:"3.4",name:"Building 3 (Floor 4)",colors:["A","B","C","D","E","F","G"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%203/",filePattern:"Building_3_4_{color}.glb",fixRotationX:90},{type:"Building",style:"4",name:"Building 4",colors:["A","B","C","D","E","F","G","H","I","J","K","L"],cells:[6,6],defaultScale:.32,urlPattern:"assets/models/megapack/gltf/Buildings/Building%204/",filePattern:"Building_4_{color}.glb"},{type:"Building",style:"5.1",name:"Building 5 (Floor 1)",colors:["B","C","D","E","F","G","H","I","J","K","L","M","N","O","R"],cells:[6,6],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Buildings/Building%205/",filePattern:"Building_5_1_{color}.glb"},{type:"Building",style:"5.2",name:"Building 5 (Floor 2)",colors:["B","C","D","E","F","G","H","I","J","K","L","M","N","O","R"],cells:[6,6],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Buildings/Building%205/",filePattern:"Building_5_2_{color}.glb"},{type:"Building",style:"5.3",name:"Building 5 (Floor 3)",colors:["B","C","D","E","F","G","H","I","J","K","L","M","N","O","R"],cells:[6,6],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Buildings/Building%205/",filePattern:"Building_5_3_{color}.glb"},{type:"Building",style:"5.4",name:"Building 5 (Floor 4)",colors:["B","C","D","E","F","G","H","I","J","K","L","M","N","O","R"],cells:[6,6],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Buildings/Building%205/",filePattern:"Building_5_4_{color}.glb"},{type:"Building",style:"6",name:"Building 6",colors:["A","B","C","D","E","F","G","H","I","J","K"],cells:[6,6],defaultScale:.22,urlPattern:"assets/models/megapack/gltf/Buildings/Building%206/",filePattern:"Building_6_{color}.glb"},{type:"Building",style:"7.1",name:"Building 7 (Floor 1)",colors:["A","B","C","D","E","F"],cells:[6,6],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Buildings/Building%207/",filePattern:"Building_7_1_{color}.glb"},{type:"Building",style:"7.2",name:"Building 7 (Floor 2)",colors:["A","B","C","D","E","F"],cells:[6,6],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Buildings/Building%207/",filePattern:"Building_7_2_{color}.glb"},{type:"Building",style:"7.3",name:"Building 7 (Floor 3)",colors:["A","B","C","D","E","F"],cells:[6,6],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Buildings/Building%207/",filePattern:"Building_7_3_{color}.glb"},{type:"Building",style:"8.1",name:"Building 8 (Floor 1)",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S","T","W","X"],cells:[4,4],defaultScale:.5,urlPattern:"assets/models/megapack/gltf/Buildings/Building%208'/",filePattern:"Building_8_1_{color}.glb"},{type:"Building",style:"8.2",name:"Building 8 (Floor 2)",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S","T","W","X"],cells:[4,4],defaultScale:.45,urlPattern:"assets/models/megapack/gltf/Buildings/Building%208'/",filePattern:"Building_8_2_{color}.glb"},{type:"Building",style:"9.1",name:"Building 9 (Floor 1)",colors:["A","AA","B","BB","C","CC","D","DD","E","EE","F","FF","G","GG","H","HH","I","II","J","JJ","K","KK","L","LL","M","MM","N","NN","O","OO","P","PP"],cells:[5,5],defaultScale:.45,urlPattern:"assets/models/megapack/gltf/Buildings/Building%209/",filePattern:"Building_9_1_{color}.glb"},{type:"Building",style:"9.2",name:"Building 9 (Floor 2)",colors:["A","AA","B","BB","C","CC","D","DD","E","EE","F","FF","G","GG","H","HH","I","II","J","JJ","K","KK","L","LL","M","MM","N","NN","O","OO","P","PP"],cells:[5,5],defaultScale:.45,urlPattern:"assets/models/megapack/gltf/Buildings/Building%209/",filePattern:"Building_9_2_{color}.glb"},{type:"Building",style:"10",name:"Building 10",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O"],cells:[4,4],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2010/",filePattern:"Building_10_{color}.glb"},{type:"Building",style:"11.1",name:"Building 11 (Floor 1)",colors:["A","B","C","D","E","F","G","H","I"],cells:[6,6],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2011/",filePattern:"Building_11_1_{color}.glb"},{type:"Building",style:"11.2",name:"Building 11 (Floor 2)",colors:["A","B","C","D","E","F","G","H","I"],cells:[6,6],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2011/",filePattern:"Building_11_2_{color}.glb"},{type:"Building",style:"11.3",name:"Building 11 (Floor 3)",colors:["A","B","C","D","E","F","G","H","I"],cells:[6,6],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2011/",filePattern:"Building_11_3_{color}.glb"},{type:"Building",style:"11.4",name:"Building 11 (Floor 4)",colors:["A","B","C","D","E","F","G","H","I"],cells:[6,6],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2011/",filePattern:"Building_11_4_{color}.glb"},{type:"Building",style:"11.5",name:"Building 11 (Floor 5)",colors:["A","B","C","D","E","F","G","H","I"],cells:[6,6],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2011/",filePattern:"Building_11_5_{color}.glb"},{type:"Building",style:"12",name:"Building 12",colors:["A","B","C","D","E","F","G","H","I"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2012/",filePattern:"Building_12_{color}.glb"},{type:"Building",style:"13",name:"Building 13",colors:["A","B","C","D","E","F","G"],cells:[3,3],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2013/",filePattern:"Building_13_{color}.glb"},{type:"Building",style:"14",name:"Building 14",colors:["A","B","C","D","E","F","G","H","I"],cells:[6,6],defaultScale:.39,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2014/",filePattern:"Building_14_{color}.glb"},{type:"Building",style:"15",name:"Building 15",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.43,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2015/",filePattern:"Building_15_{color}.glb"},{type:"Building",style:"16.1",name:"Building 16 (Floor 1)",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M"],cells:[6,6],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2016/",filePattern:"Building_16_1_{color}.glb"},{type:"Building",style:"16.2",name:"Building 16 (Floor 2)",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M"],cells:[6,6],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2016/",filePattern:"Building_16_2_{color}.glb"},{type:"Building",style:"17.1",name:"Building 17 (Floor 1)",colors:["A","AA","B","BB","C","CC","D","DD","E","EE","F","FF","G","GG","H","HH","I","II","J","JJ","K","KK"],cells:[6,6],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2017/",filePattern:"Building_17_1_{color}.glb"},{type:"Building",style:"17.2",name:"Building 17 (Floor 2)",colors:["A","AA","B","BB","C","CC","D","DD","E","EE","F","FF","G","GG","H","HH","I","II","J","JJ","K","KK"],cells:[6,6],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2017/",filePattern:"Building_17_2_{color}.glb"},{type:"Building",style:"17.3",name:"Building 17 (Floor 3)",colors:["A","AA","B","BB","C","CC","D","DD","E","EE","F","FF","G","GG","H","HH","I","II","J","JJ","K","KK"],cells:[6,6],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2017/",filePattern:"Building_17_3_{color}.glb"},{type:"Building",style:"18.1",name:"Building 18 (Floor 1)",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2018/",filePattern:"Building_18_1_{color}.glb"},{type:"Building",style:"18.2",name:"Building 18 (Floor 2)",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2018/",filePattern:"Building_18_2_{color}.glb"},{type:"Building",style:"18.3",name:"Building 18 (Floor 3)",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S"],cells:[6,6],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2018/",filePattern:"Building_18_3_{color}.glb"},{type:"Building",style:"19.1",name:"Building 19 (Floor 1)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.05,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2019/",filePattern:"Building_19_1_{color}.glb"},{type:"Building",style:"19.2",name:"Building 19 (Floor 2)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.05,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2019/",filePattern:"Building_19_2_{color}.glb"},{type:"Building",style:"19.3",name:"Building 19 (Floor 3)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.05,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2019/",filePattern:"Building_19_3_{color}.glb"},{type:"Building",style:"20.1",name:"Building 20 (Floor 1)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.28,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2020/",filePattern:"Building_20_1_{color}.glb"},{type:"Building",style:"20.2",name:"Building 20 (Floor 2)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.28,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2020/",filePattern:"Building_20_2_{color}.glb"},{type:"Building",style:"20.3",name:"Building 20 (Floor 3)",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[6,6],defaultScale:.28,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2020/",filePattern:"Building_20_3_{color}.glb"},{type:"Building",style:"21.1",name:"Building 21 (Floor 1)",colors:["A","B","C","D","E","F","G","H","I","J","K"],cells:[4,4],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2021/",filePattern:"Building_21_1_{color}.glb"},{type:"Building",style:"21.2",name:"Building 21 (Floor 2)",colors:["A","B","C","D","E","F","G","H","I","J","K"],cells:[4,4],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2021/",filePattern:"Building_21_2_{color}.glb"},{type:"Building",style:"21.3",name:"Building 21 (Floor 3)",colors:["A","B","C","D","E","F","G","H","I","J","K"],cells:[4,4],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2021/",filePattern:"Building_21_3_{color}.glb"},{type:"Building",style:"21.4",name:"Building 21 (Floor 4)",colors:["A","B","C","D","E","F","G","H","I","J","K"],cells:[4,4],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2021/",filePattern:"Building_21_4_{color}.glb"},{type:"Building",style:"21.5",name:"Building 21 (Floor 5)",colors:["A","B","C","D","E","F","G","H","I","J","K"],cells:[4,4],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2021/",filePattern:"Building_21_5_{color}.glb"},{type:"Building",style:"22.1",name:"Building 22 (Floor 1)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.16,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2022/",filePattern:"Building_22_1_{color}.glb"},{type:"Building",style:"22.2",name:"Building 22 (Floor 2)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.16,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2022/",filePattern:"Building_22_2_{color}.glb"},{type:"Building",style:"22.3",name:"Building 22 (Floor 3)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.16,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2022/",filePattern:"Building_22_3_{color}.glb"},{type:"Building",style:"23",name:"Building 23",colors:["A","B","C","D","E","F","G"],cells:[6,6],defaultScale:.16,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2023/",filePattern:"Building_23_{color}.glb"},{type:"Building",style:"24",name:"Building 24",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N"],cells:[5,5],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2024/",filePattern:"Building_24_{color}.glb"},{type:"Building",style:"25.10",name:"Building 25 (Floor 10)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2025/",filePattern:"Building_25_10_{color}.glb"},{type:"Building",style:"25.11",name:"Building 25 (Floor 11)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2025/",filePattern:"Building_25_11_{color}.glb"},{type:"Building",style:"25.1",name:"Building 25 (Floor 1)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.34,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2025/",filePattern:"Building_25_1_{color}.glb"},{type:"Building",style:"25.2",name:"Building 25 (Floor 2)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.34,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2025/",filePattern:"Building_25_2_{color}.glb"},{type:"Building",style:"25.3",name:"Building 25 (Floor 3)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.34,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2025/",filePattern:"Building_25_3_{color}.glb"},{type:"Building",style:"25.4",name:"Building 25 (Floor 4)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.34,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2025/",filePattern:"Building_25_4_{color}.glb"},{type:"Building",style:"25.5",name:"Building 25 (Floor 5)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2025/",filePattern:"Building_25_5_{color}.glb"},{type:"Building",style:"25.6",name:"Building 25 (Floor 6)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2025/",filePattern:"Building_25_6_{color}.glb"},{type:"Building",style:"25.7",name:"Building 25 (Floor 7)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2025/",filePattern:"Building_25_7_{color}.glb"},{type:"Building",style:"25.8",name:"Building 25 (Floor 8)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2025/",filePattern:"Building_25_8_{color}.glb"},{type:"Building",style:"25.9",name:"Building 25 (Floor 9)",colors:["A","B","C","D","E","F","G","H"],cells:[6,6],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2025/",filePattern:"Building_25_9_{color}.glb"},{type:"Building",style:"26",name:"Building 26",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","O"],cells:[5,5],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2026/",filePattern:"Building_26_{color}.glb"},{type:"Building",style:"26.M",name:"Building 26 (Level M)",colors:["001"],cells:[5,5],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2026/",filePattern:"Building_26_M_{color}.glb"},{type:"Building",style:"26.O",name:"Building 26 (Level O)",colors:["001"],cells:[5,5],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2026/",filePattern:"Building_26_O_{color}.glb"},{type:"Building",style:"27",name:"Building 27",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S","T"],cells:[6,6],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Buildings/Building%2027/",filePattern:"Building_27_{color}.glb"}],St=[{type:"Car",style:"1",name:"Car 1",colors:["A","B","D","E","F","G","H","J","K","L","M","N","O","P","R","S","T","U","V"],cells:[2,1],defaultScale:.55,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%201/",filePattern:"Car_1_{color}.gltf"},{type:"Car",style:"11",name:"Car 11",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZZ"],cells:[2,1],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%2011/",filePattern:"Car_11_{color}.gltf"},{type:"Car",style:"12",name:"Car 12",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","W"],cells:[2,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%2012/",filePattern:"Car_12_{color}.gltf"},{type:"Car",style:"14",name:"Car 14",colors:["A","B","C","D","E","F"],cells:[2,1],defaultScale:.73,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%2014/",filePattern:"Car_14_{color}.gltf"},{type:"Car",style:"15",name:"Car 15",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N"],cells:[2,1],defaultScale:.73,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%2015/",filePattern:"Car_15_{color}.gltf"},{type:"Car",style:"16",name:"Car 16",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N"],cells:[2,1],defaultScale:.55,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%2016/",filePattern:"Car_16_{color}.gltf"},{type:"Car",style:"17",name:"Car 17",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T"],cells:[2,1],defaultScale:.59,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%2017/",filePattern:"Car_17_{color}.gltf"},{type:"Car",style:"18",name:"Car 18",colors:["A","AA","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZZ"],cells:[2,1],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%2018/",filePattern:"Car_18_{color}.gltf"},{type:"Car",style:"2",name:"Car 2",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S","T"],cells:[2,1],defaultScale:.55,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%202/",filePattern:"Car_2_{color}.gltf"},{type:"Car",style:"20",name:"Car 20",colors:["A","B","C","D","E","F","G","H","I","K"],cells:[2,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%2020/",filePattern:"Truck_{color}.gltf"},{type:"Car",style:"3",name:"Car 3",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S","T","W","X","Y"],cells:[2,1],defaultScale:.51,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%203/",filePattern:"Car_3_1_{color}.gltf"},{type:"Car",style:"4",name:"Car 4",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S","T","W","X","Y","Z"],cells:[2,1],defaultScale:.57,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%204/",filePattern:"Car_4_1_{color}.gltf"},{type:"Car",style:"5",name:"Car 5",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S","T","W","X","Y","Z"],cells:[2,1],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%205/",filePattern:"Car_5_{color}.gltf"},{type:"Car",style:"6",name:"Car 6",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S","T","V","W","X","Y","Z"],cells:[2,1],defaultScale:.65,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%206/",filePattern:"Car_6_{color}.gltf"},{type:"Car",style:"7",name:"Car 7",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","XX","Y","Z"],cells:[2,1],defaultScale:.59,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%207/",filePattern:"Car_7_{color}.gltf"},{type:"Car",style:"8",name:"Car 8",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","XX","Y","Z"],cells:[2,1],defaultScale:.59,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%208/",filePattern:"Car_8_{color}.gltf"},{type:"Car",style:"9",name:"Car 9",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S","T","V","W","X","Y","Z"],cells:[2,1],defaultScale:.65,urlPattern:"assets/models/megapack/gltf/Vehicles/Car%209/",filePattern:"Car_9_{color}.gltf"},{type:"IceCream Truck",style:"1",name:"IceCream Truck",colors:["A","B","C","D","E","F","G","H","I"],cells:[2,1],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Vehicles/IceCream%20Truck/",filePattern:"IceTruck_1_{color}.gltf"},{type:"Helicopter",style:"1",name:"Helicopter 1",colors:["A","B","C","D","E"],cells:[2,1],defaultScale:.18,urlPattern:"assets/models/megapack/gltf/Vehicles/Planes%20and%20Heli/",filePattern:"Helicopter_1_{color}.glb"},{type:"Helicopter",style:"2",name:"Helicopter 2",colors:["A","B","C","D","E"],cells:[2,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Vehicles/Planes%20and%20Heli/",filePattern:"Helicopter_2_{color}.glb"},{type:"Plane",style:"1",name:"Plane 1",colors:["A","B","C"],cells:[2,1],defaultScale:.09,urlPattern:"assets/models/megapack/gltf/Vehicles/Planes%20and%20Heli/",filePattern:"Plane_1_{color}.glb"},{type:"Plane",style:"2",name:"Plane 2",colors:["A","B","C","D","E","F"],cells:[2,1],defaultScale:.12,urlPattern:"assets/models/megapack/gltf/Vehicles/Planes%20and%20Heli/",filePattern:"Plane_2_{color}.glb"},{type:"Plane",style:"3",name:"Plane 3",colors:["A","B","C","D","E","F","G","H"],cells:[2,1],defaultScale:.07,urlPattern:"assets/models/megapack/gltf/Vehicles/Planes%20and%20Heli/",filePattern:"Plane_3_{color}.glb"},{type:"Police Car",style:"1",name:"Police Car",colors:["1","2","A","B"],cells:[2,1],defaultScale:.58,urlPattern:"assets/models/megapack/gltf/Vehicles/Police%20Car/",filePattern:"Car_Police_1_A_{color}.gltf"},{type:"Post Car",style:"1",name:"Post Car",colors:["A","B","C","D","E","F","G","H"],cells:[2,1],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Vehicles/Post%20Car/",filePattern:"PostCar_1_{color}.gltf"},{type:"RV",style:"1",name:"RV",colors:["A","B","C","D","E","F","G","H","I","J","K","L"],cells:[2,1],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Vehicles/RV/",filePattern:"RVCar_{color}.gltf"},{type:"Taxi",style:"1",name:"Taxi",colors:["1","2","3","4","5"],cells:[2,1],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Vehicles/Taxi/",filePattern:"Taxi_{color}.gltf"}],ht=[{type:"ParkingRoad",style:"1",name:"Parking Road 1",colors:["A","B","C"],cells:[6,4],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"ParkingRoad_{color}_1.glb"},{type:"ParkingRoad",style:"2",name:"Parking Road 2",colors:["A","B","C"],cells:[6,4],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"ParkingRoad_{color}_2.glb"},{type:"ParkingRoad",style:"3",name:"Parking Road 3",colors:["A","B","C"],cells:[6,4],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"ParkingRoad_{color}_3.glb"},{type:"ParkingRoad",style:"4",name:"Parking Road 4",colors:["A","B","C"],cells:[6,4],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"ParkingRoad_{color}_4.glb"},{type:"ParkingRoad",style:"5",name:"Parking Road 5",colors:["A","B","C"],cells:[6,4],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"ParkingRoad_{color}_5.glb"},{type:"ParkingRoad",style:"6",name:"Parking Road 6",colors:["A","B","C"],cells:[12,26],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"ParkingRoad_{color}_6.glb"},{type:"ParkingRoad",style:"7",name:"Parking Road 7",colors:["A","B","C"],cells:[8,26],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"ParkingRoad_{color}_7.glb"},{type:"RoadMid",style:"1",name:"Road Mid 1",colors:["A","B","C","D","E"],cells:[2,2],defaultScale:.5,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"RoadMid_1_{color}.glb"},{type:"RoadMid",style:"2",name:"Road Mid 2",colors:["A","B","C","D","E"],cells:[2,4],defaultScale:.5,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"RoadMid_2_{color}.glb"},{type:"RoadMid",style:"3",name:"Road Mid 3",colors:["A","B","C","D","E"],cells:[2,2],defaultScale:.67,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"RoadMid_3_{color}.glb"},{type:"Road",style:"1",name:"Road 1",colors:["A","B","C"],cells:[4,6],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_1.glb"},{type:"Road",style:"11",name:"Road 11",colors:["A","B","C"],cells:[4,4],defaultScale:.92,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_11.glb"},{type:"Road",style:"12",name:"Road 12",colors:["A","B","C"],cells:[4,2],defaultScale:.92,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_12.glb"},{type:"Road",style:"13",name:"Road 13",colors:["A","B","C"],cells:[4,4],defaultScale:.92,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_13.glb"},{type:"Road",style:"14",name:"Road 14",colors:["A","B","C"],cells:[4,4],defaultScale:.92,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_14.glb"},{type:"Road",style:"15",name:"Road 15",colors:["A","B","C"],cells:[4,6],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_15.glb"},{type:"Road",style:"16",name:"Road 16",colors:["A","B","C"],cells:[4,4],defaultScale:.9,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_16.glb"},{type:"Road",style:"18",name:"Road 18",colors:["A","B","C"],cells:[4,4],defaultScale:.9,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_18.glb"},{type:"Road",style:"2",name:"Road 2",colors:["A","B","C"],cells:[4,6],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2.glb"},{type:"Road",style:"2L_1_1",name:"Road 2L_1_1",colors:["A","B","C"],cells:[10,6],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_1_1.glb"},{type:"Road",style:"2L_1_2",name:"Road 2L_1_2",colors:["A","B","C"],cells:[10,6],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_1_2.glb"},{type:"Road",style:"2L_1_3",name:"Road 2L_1_3",colors:["A","B","C"],cells:[10,18],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_1_3.glb"},{type:"Road",style:"2L_1_4",name:"Road 2L_1_4",colors:["A","B","C"],cells:[14,14],defaultScale:.54,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_1_4.glb"},{type:"Road",style:"2L_1_5",name:"Road 2L_1_5",colors:["A","B","C"],cells:[18,14],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_1_5.glb"},{type:"Road",style:"2L_1_6",name:"Road 2L_1_6",colors:["A","B","C"],cells:[18,18],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_1_6.glb"},{type:"Road",style:"2L_1_7",name:"Road 2L_1_7",colors:["A","B","C"],cells:[10,6],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_1_7.glb"},{type:"Road",style:"2L_1_8",name:"Road 2L_1_8",colors:["A","B","C"],cells:[10,6],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_1_8.glb"},{type:"Road",style:"2L_2_1",name:"Road 2L_2_1",colors:["A","B","C"],cells:[8,6],defaultScale:.58,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_2_1.glb"},{type:"Road",style:"2L_2_2",name:"Road 2L_2_2",colors:["A","B","C"],cells:[8,6],defaultScale:.58,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_2_2.glb"},{type:"Road",style:"2L_2_3",name:"Road 2L_2_3",colors:["A","B","C"],cells:[8,18],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_2_3.glb"},{type:"Road",style:"2L_2_4",name:"Road 2L_2_4",colors:["A","B","C"],cells:[12,14],defaultScale:.58,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_2_4.glb"},{type:"Road",style:"2L_2_5",name:"Road 2L_2_5",colors:["A","B","C"],cells:[16,14],defaultScale:.54,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_2_5.glb"},{type:"Road",style:"2L_2_6",name:"Road 2L_2_6",colors:["A","B","C"],cells:[16,16],defaultScale:.54,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_2_6.glb"},{type:"Road",style:"2L_2_7",name:"Road 2L_2_7",colors:["A","B","C"],cells:[8,6],defaultScale:.58,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2L_2_7.glb"},{type:"Road",style:"2_1",name:"Road 2_1",colors:["A","B","C"],cells:[4,6],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_2_1.glb"},{type:"Road",style:"3",name:"Road 3",colors:["A","B","C"],cells:[6,10],defaultScale:.62,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_3.glb"},{type:"Road",style:"4",name:"Road 4",colors:["A","B","C"],cells:[6,10],defaultScale:.62,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_4.glb"},{type:"Road",style:"5",name:"Road 5",colors:["A","B","C"],cells:[6,6],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_5.glb"},{type:"Road",style:"6",name:"Road 6",colors:["A","B","C"],cells:[4,6],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_6.glb"},{type:"Road",style:"7",name:"Road 7",colors:["A","B","C"],cells:[6,6],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_7.glb"},{type:"Road",style:"8",name:"Road 8",colors:["A","B","C"],cells:[4,4],defaultScale:.5,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_8.glb"},{type:"Road",style:"9",name:"Road 9",colors:["A","B","C"],cells:[6,6],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roads/",filePattern:"Road_{color}_9.glb"}],Ct=[{type:"Bench",style:"1",name:"Bench 1",colors:["A","B"],cells:[1,1],defaultScale:.41,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Bench_1_{color}.glb"},{type:"Bench",style:"2",name:"Bench 2",colors:["A","B"],cells:[1,1],defaultScale:.49,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Bench_2_{color}.glb"},{type:"Bench",style:"3",name:"Bench 3",colors:["A","B"],cells:[1,1],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Bench_3_{color}.glb"},{type:"BrickWall_1",style:"1",name:"Brick Wall_1 1",colors:["A"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"BrickWall_1_1.glb"},{type:"BrickWall_1",style:"2",name:"Brick Wall_1 2",colors:["A"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"BrickWall_1_2.glb"},{type:"BrickWall_2",style:"1",name:"Brick Wall_2 1",colors:["A"],cells:[1,1],defaultScale:.61,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"BrickWall_2_1.glb"},{type:"BrickWall_2",style:"2",name:"Brick Wall_2 2",colors:["A"],cells:[1,1],defaultScale:.61,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"BrickWall_2_2.glb"},{type:"BrickWall_3",style:"1",name:"Brick Wall_3 1",colors:["A"],cells:[1,1],defaultScale:.61,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"BrickWall_3_1.glb"},{type:"BrickWall_3",style:"2",name:"Brick Wall_3 2",colors:["A"],cells:[1,1],defaultScale:.61,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"BrickWall_3_2.glb"},{type:"BrickWall_4",style:"1",name:"Brick Wall_4 1",colors:["A"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"BrickWall_4_1.glb"},{type:"BrickWall_4",style:"2",name:"Brick Wall_4 2",colors:["A"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"BrickWall_4_2.glb"},{type:"BrickWall_5",style:"1",name:"Brick Wall_5 1",colors:["A"],cells:[1,1],defaultScale:.61,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"BrickWall_5_1.glb"},{type:"BrickWall_5",style:"2",name:"Brick Wall_5 2",colors:["A"],cells:[1,1],defaultScale:.61,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"BrickWall_5_2.glb"},{type:"BushPot",style:"1",name:"Bush Pot 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.36,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"BushPot_1_{color}.glb"},{type:"Bush",style:"1.1",name:"Bush 1.1",colors:["A","B","C"],cells:[1,1],defaultScale:.36,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Bush_1_{color}_1.glb"},{type:"Bush",style:"1.2",name:"Bush 1.2",colors:["A","B","C"],cells:[1,1],defaultScale:.39,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Bush_1_{color}_2.glb"},{type:"Bush",style:"1.3",name:"Bush 1.3",colors:["A","B","C"],cells:[1,1],defaultScale:1.07,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Bush_1_{color}_3.glb"},{type:"Bush",style:"2.1",name:"Bush 2.1",colors:["A","B"],cells:[1,1],defaultScale:1.15,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Bush_2_{color}_1.glb"},{type:"Bush",style:"2.2",name:"Bush 2.2",colors:["A","B"],cells:[1,1],defaultScale:1.06,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Bush_2_{color}_2.glb"},{type:"Cloud",style:"1",name:"Cloud 1",colors:["A"],cells:[1,1],defaultScale:.05,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Cloud_1.glb"},{type:"Cloud",style:"2",name:"Cloud 2",colors:["A"],cells:[1,1],defaultScale:.05,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Cloud_2.glb"},{type:"Duck",style:"1",name:"Duck 1",colors:["A"],cells:[1,1],defaultScale:.98,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Duck_1.glb"},{type:"Duck",style:"2",name:"Duck 2",colors:["A"],cells:[1,1],defaultScale:1.95,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Duck_2.glb"},{type:"Flower",style:"1",name:"Flower 1",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:2.37,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Flower_1_{color}.glb"},{type:"Flowers",style:"1",name:"Flowers 1",colors:["A","B","C","D","F","G"],cells:[1,1],defaultScale:1.76,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Flowers_1_{color}.glb"},{type:"Flowers",style:"2",name:"Flowers 2",colors:["A","B","C","F","G"],cells:[1,1],defaultScale:2.45,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Flowers_2_{color}.glb"},{type:"Flowers",style:"3",name:"Flowers 3",colors:["A","B","C","F","G"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Flowers_3_{color}.glb"},{type:"Flowers",style:"4",name:"Flowers 4",colors:["B","C","D","F","G"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Flowers_4_{color}.glb"},{type:"Fountain",style:"1",name:"Fountain 1",colors:["A","B"],cells:[3,3],defaultScale:.61,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Fountain_1_{color}.glb"},{type:"GrassBed",style:"1.10",name:"Grass Bed 1.10",colors:["A","B"],cells:[2,2],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"GrassBed_1_{color}_10.glb"},{type:"GrassBed",style:"1.1",name:"Grass Bed 1.1",colors:["A","B"],cells:[2,2],defaultScale:1.33,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"GrassBed_1_{color}_1_.glb"},{type:"GrassBed",style:"1.2",name:"Grass Bed 1.2",colors:["A","B"],cells:[2,2],defaultScale:1.33,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"GrassBed_1_{color}_2_.glb"},{type:"GrassBed",style:"1.3",name:"Grass Bed 1.3",colors:["A","B"],cells:[2,2],defaultScale:1.33,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"GrassBed_1_{color}_3_.glb"},{type:"GrassBed",style:"1.4",name:"Grass Bed 1.4",colors:["A","B"],cells:[2,2],defaultScale:1.33,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"GrassBed_1_{color}_4.glb"},{type:"GrassBed",style:"1.5",name:"Grass Bed 1.5",colors:["A","B"],cells:[2,2],defaultScale:1.33,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"GrassBed_1_{color}_5.glb"},{type:"GrassBed",style:"1.6",name:"Grass Bed 1.6",colors:["A","B"],cells:[2,2],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"GrassBed_1_{color}_6.glb"},{type:"GrassBed",style:"1.7",name:"Grass Bed 1.7",colors:["A","B"],cells:[2,2],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"GrassBed_1_{color}_7.glb"},{type:"GrassBed",style:"1.8",name:"Grass Bed 1.8",colors:["A","B"],cells:[2,2],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"GrassBed_1_{color}_8.glb"},{type:"GrassBed",style:"1.9",name:"Grass Bed 1.9",colors:["A","B"],cells:[2,2],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"GrassBed_1_{color}_9.glb"},{type:"GrassPlane",style:"1",name:"Grass Plane 1",colors:["A","B","C"],cells:[1,1],defaultScale:1.53,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"GrassPlane_1_{color}.glb"},{type:"GrassPlane",style:"2",name:"Grass Plane 2",colors:["A","B","C"],cells:[1,1],defaultScale:1.15,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"GrassPlane_2_{color}.glb"},{type:"Grass",style:"1",name:"Grass 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:2.18,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Grass_{color}_1.glb"},{type:"Grass",style:"2",name:"Grass 2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:2.71,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Grass_{color}_2.glb"},{type:"Grass",style:"3",name:"Grass 3",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Grass_{color}_3.glb"},{type:"Grass",style:"4",name:"Grass 4",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Grass_{color}_4.glb"},{type:"Grass",style:"5",name:"Grass 5",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Grass_{color}_5.glb"},{type:"HighWall_1",style:"1",name:"High Wall_1 1",colors:["A"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"HighWall_1_1.glb"},{type:"HighWall_1",style:"2",name:"High Wall_1 2",colors:["A"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"HighWall_1_2.glb"},{type:"HighWall_2",style:"1",name:"High Wall_2 1",colors:["A"],cells:[1,1],defaultScale:.61,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"HighWall_2_1.glb"},{type:"HighWall_2",style:"2",name:"High Wall_2 2",colors:["A"],cells:[1,1],defaultScale:.61,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"HighWall_2_2.glb"},{type:"HighWall_3",style:"1",name:"High Wall_3 1",colors:["A"],cells:[1,1],defaultScale:.61,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"HighWall_3_1.glb"},{type:"HighWall_3",style:"2",name:"High Wall_3 2",colors:["A"],cells:[1,1],defaultScale:.61,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"HighWall_3_2.glb"},{type:"MayorStatue_Base",style:"1",name:"Mayor Statue_ Base 1",colors:["A","B","C","D","F"],cells:[4,4],defaultScale:.28,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"MayorStatue_Base_{color}.glb"},{type:"Mayor_Statue",style:"1",name:"Mayor_ Statue 1",colors:["A","B","C"],cells:[4,4],defaultScale:.47,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Mayor_Statue_{color}.glb"},{type:"Musshrooms",style:"1",name:"Musshrooms 1",colors:["A","B"],cells:[1,1],defaultScale:1.16,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Musshrooms_{color}_1.glb"},{type:"Musshrooms",style:"2",name:"Musshrooms 2",colors:["A","B"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Musshrooms_{color}_2.glb"},{type:"ParkPlane",style:"1",name:"Park Plane 1",colors:["A","B"],cells:[1,1],defaultScale:.1,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"ParkPlane_1_{color}.glb"},{type:"ParkPlane",style:"2",name:"Park Plane 2",colors:["A","B"],cells:[1,1],defaultScale:.05,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"ParkPlane_2_{color}.glb"},{type:"ParkRoad",style:"1",name:"Park Road 1",colors:["A","B","C","D"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"ParkRoad_1_{color}.glb"},{type:"ParkRoad",style:"2",name:"Park Road 2",colors:["A","B","C","D"],cells:[1,1],defaultScale:.13,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"ParkRoad_2_{color}.glb"},{type:"ParkRoad",style:"2.001",name:"Park Road 2.001",colors:["A"],cells:[1,1],defaultScale:.13,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"ParkRoad_2_{color}_001.glb"},{type:"ParkRoad",style:"3",name:"Park Road 3",colors:["A","B","C","D"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"ParkRoad_3_{color}.glb"},{type:"ParkRoad",style:"4",name:"Park Road 4",colors:["A","B","C","D"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"ParkRoad_4_{color}.glb"},{type:"ParkRoad",style:"5",name:"Park Road 5",colors:["A","B","C","D"],cells:[1,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"ParkRoad_5_{color}.glb"},{type:"ParkRoad",style:"6",name:"Park Road 6",colors:["A","B","C","D"],cells:[1,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"ParkRoad_6_{color}.glb"},{type:"ParkRoad",style:"6.001",name:"Park Road 6.001",colors:["A"],cells:[1,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"ParkRoad_6_{color}_001.glb"},{type:"ParkRoad",style:"7",name:"Park Road 7",colors:["A","B","C","D"],cells:[1,1],defaultScale:.11,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"ParkRoad_7_{color}.glb"},{type:"Park_GrassHill",style:"1",name:"Park_ Grass Hill 1",colors:["A"],cells:[1,1],defaultScale:.05,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Park_GrassHill_{color}.glb"},{type:"Pebles",style:"1.1",name:"Pebles 1.1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.57,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Pebles_1_{color}_1.glb"},{type:"Pebles",style:"1.2",name:"Pebles 1.2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.62,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Pebles_1_{color}_2.glb"},{type:"Pebles",style:"1.3",name:"Pebles 1.3",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:1.86,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Pebles_1_{color}_3.glb"},{type:"PlantPot",style:"1",name:"Plant Pot 1",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:2.91,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"PlantPot_1_{color}.glb"},{type:"PlantPot",style:"2",name:"Plant Pot 2",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:2.21,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"PlantPot_2_{color}.glb"},{type:"PlantPot",style:"3",name:"Plant Pot 3",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:1,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"PlantPot_3_{color}.glb"},{type:"PlantPot",style:"4",name:"Plant Pot 4",colors:["A","B","C","D","F"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"PlantPot_4_{color}.glb"},{type:"PlantPot",style:"5",name:"Plant Pot 5",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"PlantPot_5_{color}.glb"},{type:"Plant",style:"1.1",name:"Plant 1.1",colors:["A","B","C"],cells:[1,1],defaultScale:2.39,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Plant_1_{color}_1.glb"},{type:"Plant",style:"1.2",name:"Plant 1.2",colors:["A","B","C"],cells:[1,1],defaultScale:2.34,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Plant_1_{color}_2.glb"},{type:"Plant",style:"2.1",name:"Plant 2.1",colors:["A","B"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Plant_2_{color}_1.glb"},{type:"Plant",style:"2.2",name:"Plant 2.2",colors:["A","B"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Plant_2_{color}_2.glb"},{type:"Reed",style:"1",name:"Reed 1",colors:["A"],cells:[1,1],defaultScale:.55,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Reed_1.glb"},{type:"RockFormation",style:"1",name:"Rock Formation 1",colors:["A"],cells:[1,1],defaultScale:.29,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"RockFormation_1.glb"},{type:"RockFormation",style:"2",name:"Rock Formation 2",colors:["A"],cells:[1,1],defaultScale:.18,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"RockFormation_2.glb"},{type:"RockFormation",style:"3",name:"Rock Formation 3",colors:["A"],cells:[1,1],defaultScale:.1,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"RockFormation_3.glb"},{type:"Rock",style:"1",name:"Rock 1",colors:["A"],cells:[1,1],defaultScale:2.79,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Rock_1_{color}.glb"},{type:"Rock",style:"2",name:"Rock 2",colors:["A"],cells:[1,1],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Rock_2_{color}.glb"},{type:"Rock",style:"3",name:"Rock 3",colors:["A"],cells:[1,1],defaultScale:.81,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Rock_3_{color}.glb"},{type:"StreetLamp",style:"3",name:"Street Lamp 3",colors:["A","B","C","D"],cells:[2,2],defaultScale:2.02,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"StreetLamp_3_{color}.glb"},{type:"Trashbin",style:"1",name:"Trashbin 1",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.77,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Trashbin_1_{color}.glb"},{type:"Tree",style:"1",name:"Tree 1",colors:["A","B","C","D","E","F"],cells:[2,2],defaultScale:1.15,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Tree_{color}_1.glb"},{type:"Tree",style:"2",name:"Tree 2",colors:["A","B","C","D","E","F"],cells:[2,2],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Tree_{color}_2.glb"},{type:"Tree",style:"3",name:"Tree 3",colors:["A","B","C","D","E","F"],cells:[2,2],defaultScale:1.24,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Tree_{color}_3.glb"},{type:"Tree",style:"4",name:"Tree 4",colors:["A","B","C","D","E","F"],cells:[2,2],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Tree_{color}_4.glb"},{type:"Tree",style:"5",name:"Tree 5",colors:["A","B","C","D","E","F"],cells:[2,2],defaultScale:.34,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Tree_{color}_5.glb"},{type:"Tree",style:"6",name:"Tree 6",colors:["A","B","C","D","E","F"],cells:[2,2],defaultScale:.49,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Tree_{color}_6.glb"},{type:"Tree",style:"7",name:"Tree 7",colors:["A","B","C","D","E","F"],cells:[2,2],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Tree_{color}_7.glb"},{type:"Tree",style:"8",name:"Tree 8",colors:["A","B","C","D"],cells:[2,2],defaultScale:.39,urlPattern:"assets/models/megapack/gltf/Nature%20and%20Park/",filePattern:"Tree_{color}_8.glb"}],bt=[{type:"Barier",style:"4",name:"Barier 4",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.39,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Barier_4_{color}.glb"},{type:"Bench",style:"4",name:"Bench 4",colors:["A","B","C","D"],cells:[1,1],defaultScale:.41,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Bench_4_{color}.glb"},{type:"BikePlace",style:"1",name:"Bike Place 1",colors:["A"],cells:[1,1],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"BikePlace.glb"},{type:"Box",style:"1",name:"Box 1",colors:["A"],cells:[1,1],defaultScale:1.7,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Box_1.glb"},{type:"Box",style:"2",name:"Box 2",colors:["A"],cells:[1,1],defaultScale:1.73,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Box_2.glb"},{type:"Box",style:"3",name:"Box 3",colors:["A"],cells:[1,1],defaultScale:1.06,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Box_3.glb"},{type:"Box",style:"4",name:"Box 4",colors:["A"],cells:[1,1],defaultScale:1.06,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Box_4.glb"},{type:"Box",style:"5",name:"Box 5",colors:["A"],cells:[1,1],defaultScale:1.06,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Box_5.glb"},{type:"BusStop",style:"1",name:"Bus Stop 1",colors:["A","B","C"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"BusStop_{color}.glb"},{type:"Cone",style:"1",name:"Cone 1",colors:["A"],cells:[1,1],defaultScale:1.22,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Cone_1.glb"},{type:"Cone",style:"2",name:"Cone 2",colors:["A"],cells:[1,1],defaultScale:1.25,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Cone_2.glb"},{type:"Fence",style:"1.1",name:"Fence 1.1",colors:["A","B","C"],cells:[1,1],defaultScale:.41,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Fence_1_{color}_1.glb"},{type:"Fence",style:"1.2",name:"Fence 1.2",colors:["A","B","C"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Fence_1_{color}_2.glb"},{type:"Fence",style:"1.3",name:"Fence 1.3",colors:["A","B","C"],cells:[1,1],defaultScale:2.02,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Fence_1_{color}_3.glb"},{type:"FireEscape",style:"1",name:"Fire Escape 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.21,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"FireEscape_{color}_1.glb"},{type:"FireEscape",style:"2",name:"Fire Escape 2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.31,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"FireEscape_{color}_2.glb"},{type:"FireEscape",style:"3",name:"Fire Escape 3",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:1.17,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"FireEscape_{color}_3.glb"},{type:"FireEscape",style:"4",name:"Fire Escape 4",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:1.17,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"FireEscape_{color}_4.glb"},{type:"FoodCart",style:"1",name:"Food Cart 1",colors:["A","B","C","E"],cells:[1,1],defaultScale:.3,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"FoodCart_1_{color}.glb"},{type:"Grate",style:"1",name:"Grate 1",colors:["A","B","C"],cells:[1,1],defaultScale:.55,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Grate_1_{color}.glb"},{type:"Grate",style:"2",name:"Grate 2",colors:["A","B","C"],cells:[1,1],defaultScale:.55,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Grate_2_{color}.glb"},{type:"Hydrant",style:"1",name:"Hydrant 1",colors:["A"],cells:[1,1],defaultScale:1.35,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Hydrant.glb"},{type:"Kerbstone",style:"1",name:"Kerbstone 1",colors:["A","B"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Kerbstone_{color}_1.glb"},{type:"Kerbstone",style:"2",name:"Kerbstone 2",colors:["A","B"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Kerbstone_{color}_2.glb"},{type:"Kerbstone",style:"3",name:"Kerbstone 3",colors:["A","B"],cells:[1,1],defaultScale:.1,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Kerbstone_{color}_3.glb"},{type:"Kiosk",style:"1",name:"Kiosk 1",colors:["A","B","D","E"],cells:[1,1],defaultScale:.18,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Kiosk_1_{color}.glb"},{type:"LineCh_1",style:"1",name:"Line Ch_1 1",colors:["A"],cells:[1,1],defaultScale:.7,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"LineCh_1_1.glb"},{type:"LineCh_1",style:"2",name:"Line Ch_1 2",colors:["A"],cells:[1,1],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"LineCh_1_2.glb"},{type:"NewspaperH",style:"1",name:"Newspaper H 1",colors:["A"],cells:[1,1],defaultScale:1.41,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"NewspaperH.glb"},{type:"Note_1",style:"1",name:"Note_1 1",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Note_1_1.glb"},{type:"Note_1",style:"2",name:"Note_1 2",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Note_1_2.glb"},{type:"Note_1",style:"3",name:"Note_1 3",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Note_1_3.glb"},{type:"Note_1",style:"4",name:"Note_1 4",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Note_1_4.glb"},{type:"Note_1",style:"5",name:"Note_1 5",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Note_1_5.glb"},{type:"Parkomat",style:"1",name:"Parkomat 1",colors:["A"],cells:[1,1],defaultScale:2.39,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Parkomat.glb"},{type:"PostBox",style:"1",name:"Post Box 1",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:1.41,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"PostBox_1_{color}.glb"},{type:"PostBox",style:"2",name:"Post Box 2",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:1.32,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"PostBox_2_{color}.glb"},{type:"Prop",style:"1",name:"Prop 1",colors:["A","B","C"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Prop_1_{color}.glb"},{type:"RoadBarier",style:"1",name:"Road Barier 1",colors:["A","B"],cells:[1,1],defaultScale:.57,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"RoadBarier_1_{color}.glb"},{type:"SignProp",style:"1.1",name:"Sign Prop 1.1",colors:["A","B","C"],cells:[1,1],defaultScale:.61,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignProp_1_{color}_1.glb"},{type:"SignProp",style:"1.2",name:"Sign Prop 1.2",colors:["A","B","C"],cells:[1,1],defaultScale:.88,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignProp_1_{color}_2.glb"},{type:"SignProp",style:"1.3",name:"Sign Prop 1.3",colors:["A","B","C"],cells:[1,1],defaultScale:.88,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignProp_1_{color}_3.glb"},{type:"SignProp",style:"1.4",name:"Sign Prop 1.4",colors:["A","B","C"],cells:[1,1],defaultScale:.88,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignProp_1_{color}_4.glb"},{type:"SignProp",style:"1.5",name:"Sign Prop 1.5",colors:["A","B","C"],cells:[1,1],defaultScale:.88,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignProp_1_{color}_5.glb"},{type:"SignProp",style:"1.6",name:"Sign Prop 1.6",colors:["A","B","C"],cells:[1,1],defaultScale:1.31,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignProp_1_{color}_6.glb"},{type:"SignProp",style:"2.1",name:"Sign Prop 2.1",colors:["A","B","C"],cells:[1,1],defaultScale:.6,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignProp_2_{color}_1.glb"},{type:"SignProp",style:"2.2",name:"Sign Prop 2.2",colors:["A","B","C"],cells:[1,1],defaultScale:.86,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignProp_2_{color}_2.glb"},{type:"SignProp",style:"2.3",name:"Sign Prop 2.3",colors:["A","B","C"],cells:[1,1],defaultScale:.86,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignProp_2_{color}_3.glb"},{type:"SignProp",style:"2.4",name:"Sign Prop 2.4",colors:["A","B","C"],cells:[1,1],defaultScale:.86,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignProp_2_{color}_4.glb"},{type:"SignProp",style:"2.5",name:"Sign Prop 2.5",colors:["A","B","C"],cells:[1,1],defaultScale:.86,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignProp_2_{color}_5.glb"},{type:"SignProp",style:"2.6",name:"Sign Prop 2.6",colors:["A","B","C"],cells:[1,1],defaultScale:2.36,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignProp_2_{color}_6.glb"},{type:"SignX",style:"1",name:"Sign X 1",colors:["A"],cells:[1,1],defaultScale:1.24,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"SignX.glb"},{type:"StP",style:"1",name:"St P 1",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"StP.glb"},{type:"Trashbag",style:"1",name:"Trashbag 1",colors:["A","B"],cells:[1,1],defaultScale:1.78,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Trashbag_{color}_1.glb"},{type:"Trashbag",style:"2",name:"Trashbag 2",colors:["A","B"],cells:[1,1],defaultScale:1.69,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"Trashbag_{color}_2.glb"},{type:"VENTS",style:"1",name:"V E N T S 1",colors:["A","B","C"],cells:[1,1],defaultScale:.69,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"VENTS_1_{color}.gltf"},{type:"VENTS",style:"2",name:"V E N T S 2",colors:["A","B","C"],cells:[1,1],defaultScale:1.5,urlPattern:"assets/models/megapack/gltf/Street%20Props/",filePattern:"VENTS_2_{color}.glb"}],Bt=[{type:"GrassTile",style:"1",name:"Grass Tile 1",colors:["A","B","C","D"],cells:[1,1],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"GrassTile_{color}_1.glb"},{type:"GrassTile",style:"2",name:"Grass Tile 2",colors:["A","B","C","D"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"GrassTile_{color}_2.glb"},{type:"GrassTile",style:"3",name:"Grass Tile 3",colors:["A","B","C","D"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"GrassTile_{color}_3.glb"},{type:"GrassTile",style:"4",name:"Grass Tile 4",colors:["A","B","C","D"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"GrassTile_{color}_4.glb"},{type:"SandTile",style:"1",name:"Sand Tile 1",colors:["A","B"],cells:[1,1],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"SandTile_{color}_1.glb"},{type:"SandTile",style:"2",name:"Sand Tile 2",colors:["A","B"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"SandTile_{color}_2.glb"},{type:"SandTile",style:"3",name:"Sand Tile 3",colors:["A","B"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"SandTile_{color}_3.glb"},{type:"SandTile",style:"4",name:"Sand Tile 4",colors:["A","B"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"SandTile_{color}_4.glb"},{type:"StreetTile",style:"1.1",name:"Street Tile 1.1",colors:["A","B","C","D"],cells:[2,2],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"StreetTile_1_{color}_1.glb"},{type:"StreetTile",style:"1.2",name:"Street Tile 1.2",colors:["A","B","C","D"],cells:[2,2],defaultScale:1.5,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"StreetTile_1_{color}_2.glb"},{type:"StreetTile",style:"1.3",name:"Street Tile 1.3",colors:["A","B","C","D"],cells:[2,2],defaultScale:1.5,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"StreetTile_1_{color}_3.glb"},{type:"StreetTile",style:"1.4",name:"Street Tile 1.4",colors:["A","B","C","D"],cells:[2,2],defaultScale:1.5,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"StreetTile_1_{color}_4.glb"},{type:"StreetTile",style:"1.5",name:"Street Tile 1.5",colors:["A","B","C","D"],cells:[2,2],defaultScale:1.5,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"StreetTile_1_{color}_5.glb"},{type:"StreetTile",style:"1.6",name:"Street Tile 1.6",colors:["A","B","C","D"],cells:[2,2],defaultScale:1.5,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"StreetTile_1_{color}_6.glb"},{type:"StreetTile",style:"1.7",name:"Street Tile 1.7",colors:["A","B","C","D"],cells:[2,2],defaultScale:1.5,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"StreetTile_1_{color}_7.glb"},{type:"StreetTile",style:"1.8",name:"Street Tile 1.8",colors:["A","B","C","D"],cells:[2,2],defaultScale:1.5,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"StreetTile_1_{color}_8.glb"},{type:"StreetTile",style:"2.1",name:"Street Tile 2.1",colors:["A","B","C","D"],cells:[2,2],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"StreetTile_2_{color}_1.glb"},{type:"StreetTile",style:"2.2",name:"Street Tile 2.2",colors:["A","B","C","D"],cells:[2,2],defaultScale:1.5,urlPattern:"assets/models/megapack/gltf/Tiles/",filePattern:"StreetTile_2_{color}_2.glb"}],kt=[{type:"BilboardPlaceholder",style:"1",name:"Bilboard Placeholder 1",colors:["A","B","C","D"],cells:[1,1],defaultScale:.29,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"BilboardPlaceholder_1_{color}.glb"},{type:"Bilboard",style:"1",name:"Bilboard 1",colors:["A","B","C"],cells:[1,1],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Bilboard_1_{color}.glb"},{type:"Bilboard",style:"2",name:"Bilboard 2",colors:["A","B","C"],cells:[1,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Bilboard_2_{color}.glb"},{type:"Lights_1",style:"1",name:"Lights_1 1",colors:["A"],cells:[1,1],defaultScale:2.08,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Lights_1_1.glb"},{type:"Lights_1",style:"2",name:"Lights_1 2",colors:["A"],cells:[1,1],defaultScale:2.31,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Lights_1_2.glb"},{type:"Lights_1",style:"3",name:"Lights_1 3",colors:["A"],cells:[1,1],defaultScale:2.4,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Lights_1_3.glb"},{type:"Lights",style:"1",name:"Lights 1",colors:["A","B","C"],cells:[1,1],defaultScale:.25,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Lights_1_{color}.glb"},{type:"Lights",style:"2",name:"Lights 2",colors:["A","B","C"],cells:[1,1],defaultScale:1.61,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Lights_2_{color}.glb"},{type:"Lights",style:"3",name:"Lights 3",colors:["A","B","C"],cells:[1,1],defaultScale:1.24,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Lights_3_{color}.glb"},{type:"Lights",style:"4",name:"Lights 4",colors:["A","B","C"],cells:[1,1],defaultScale:1.35,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Lights_4_{color}.glb"},{type:"Lights",style:"5",name:"Lights 5",colors:["A","B","C"],cells:[1,1],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Lights_5_{color}.glb"},{type:"Lights",style:"6",name:"Lights 6",colors:["A","B","C"],cells:[1,1],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Lights_6_{color}.glb"},{type:"Lights",style:"7",name:"Lights 7",colors:["A","B","C"],cells:[1,1],defaultScale:.55,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Lights_7_{color}.glb"},{type:"Placat",style:"1",name:"Placat 1",colors:["A"],cells:[1,1],defaultScale:.74,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Placat_1.glb"},{type:"Placat",style:"2",name:"Placat 2",colors:["A"],cells:[1,1],defaultScale:.74,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Placat_2.glb"},{type:"Placat",style:"3",name:"Placat 3",colors:["A"],cells:[1,1],defaultScale:.74,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Placat_3.glb"},{type:"SignHolder",style:"1",name:"Sign Holder 1",colors:["A","B","C","D"],cells:[1,1],defaultScale:.73,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"SignHolder_1_{color}.glb"},{type:"SignHolder",style:"2",name:"Sign Holder 2",colors:["A","B","C"],cells:[1,1],defaultScale:1.13,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"SignHolder_2_{color}.glb"},{type:"SignHolder",style:"3",name:"Sign Holder 3",colors:["A","B","C","D"],cells:[1,1],defaultScale:2.85,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"SignHolder_3_{color}.glb"},{type:"SignHolder",style:"4",name:"Sign Holder 4",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:.09,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"SignHolder_4_{color}.glb"},{type:"SignHolder",style:"5",name:"Sign Holder 5",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:1.21,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"SignHolder_5_{color}.glb"},{type:"SignHolder",style:"6",name:"Sign Holder 6",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:1.16,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"SignHolder_6_{color}.glb"},{type:"Sign",style:"1",name:"Sign 1",colors:["A"],cells:[1,1],defaultScale:1.01,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_1.glb"},{type:"Sign",style:"10",name:"Sign 10",colors:["A"],cells:[1,1],defaultScale:1.01,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_10.glb"},{type:"Sign",style:"11",name:"Sign 11",colors:["A"],cells:[1,1],defaultScale:1.01,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_11.glb"},{type:"Sign",style:"12",name:"Sign 12",colors:["A"],cells:[1,1],defaultScale:1.52,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_12.glb"},{type:"Sign",style:"13",name:"Sign 13",colors:["A"],cells:[1,1],defaultScale:1.06,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_13.glb"},{type:"Sign",style:"14",name:"Sign 14",colors:["A"],cells:[1,1],defaultScale:.31,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_14.glb"},{type:"Sign",style:"15",name:"Sign 15",colors:["A"],cells:[1,1],defaultScale:.5,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_15.glb"},{type:"Sign",style:"16",name:"Sign 16",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_16.glb"},{type:"Sign",style:"17",name:"Sign 17",colors:["A"],cells:[1,1],defaultScale:.69,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_17.glb"},{type:"Sign",style:"18",name:"Sign 18",colors:["A"],cells:[1,1],defaultScale:.34,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_18.glb"},{type:"Sign",style:"19",name:"Sign 19",colors:["A"],cells:[1,1],defaultScale:1.38,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_19.glb"},{type:"Sign",style:"2",name:"Sign 2",colors:["A"],cells:[1,1],defaultScale:1.01,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_2.glb"},{type:"Sign",style:"20",name:"Sign 20",colors:["A"],cells:[1,1],defaultScale:1.01,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_20.glb"},{type:"Sign",style:"21",name:"Sign 21",colors:["A"],cells:[1,1],defaultScale:1.56,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_21.glb"},{type:"Sign",style:"22",name:"Sign 22",colors:["A"],cells:[1,1],defaultScale:1.56,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_22.glb"},{type:"Sign",style:"23",name:"Sign 23",colors:["A"],cells:[1,1],defaultScale:1.13,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_23.glb"},{type:"Sign",style:"24",name:"Sign 24",colors:["A"],cells:[1,1],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_24.glb"},{type:"Sign",style:"25",name:"Sign 25",colors:["A"],cells:[1,1],defaultScale:.97,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_25.glb"},{type:"Sign",style:"26",name:"Sign 26",colors:["A"],cells:[1,1],defaultScale:.97,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_26.glb"},{type:"Sign",style:"28",name:"Sign 28",colors:["A"],cells:[1,1],defaultScale:1.24,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_28.glb"},{type:"Sign",style:"29",name:"Sign 29",colors:["A"],cells:[1,1],defaultScale:1.01,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_29.glb"},{type:"Sign",style:"3",name:"Sign 3",colors:["A"],cells:[1,1],defaultScale:1.03,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_3.glb"},{type:"Sign",style:"30",name:"Sign 30",colors:["A"],cells:[1,1],defaultScale:.96,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_30.glb"},{type:"Sign",style:"31",name:"Sign 31",colors:["A"],cells:[1,1],defaultScale:.34,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_31.glb"},{type:"Sign",style:"32",name:"Sign 32",colors:["A"],cells:[1,1],defaultScale:1.21,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_32.glb"},{type:"Sign",style:"33",name:"Sign 33",colors:["A"],cells:[1,1],defaultScale:1.12,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_33.glb"},{type:"Sign",style:"34",name:"Sign 34",colors:["A"],cells:[1,1],defaultScale:1.89,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_34.glb"},{type:"Sign",style:"35",name:"Sign 35",colors:["A"],cells:[1,1],defaultScale:.48,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_35.glb"},{type:"Sign",style:"36",name:"Sign 36",colors:["A"],cells:[1,1],defaultScale:.89,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_36.glb"},{type:"Sign",style:"37",name:"Sign 37",colors:["A"],cells:[1,1],defaultScale:.89,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_37.glb"},{type:"Sign",style:"38",name:"Sign 38",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_38.glb"},{type:"Sign",style:"39",name:"Sign 39",colors:["A"],cells:[1,1],defaultScale:1.12,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_39.glb"},{type:"Sign",style:"4",name:"Sign 4",colors:["A"],cells:[1,1],defaultScale:1.03,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_4.glb"},{type:"Sign",style:"40",name:"Sign 40",colors:["A"],cells:[1,1],defaultScale:1.9,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_40.glb"},{type:"Sign",style:"5",name:"Sign 5",colors:["A"],cells:[1,1],defaultScale:2.52,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_5.glb"},{type:"Sign",style:"6",name:"Sign 6",colors:["A"],cells:[1,1],defaultScale:1.84,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_6.glb"},{type:"Sign",style:"7",name:"Sign 7",colors:["A"],cells:[1,1],defaultScale:1.31,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_7.glb"},{type:"Sign",style:"8",name:"Sign 8",colors:["A"],cells:[1,1],defaultScale:1.01,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_8.glb"},{type:"Sign",style:"9",name:"Sign 9",colors:["A"],cells:[1,1],defaultScale:1.01,urlPattern:"assets/models/megapack/gltf/Signs/",filePattern:"Sign_9.glb"}],At=[{type:"Building_Fabric",style:"3",name:"Building_ Fabric 3",colors:["A","B","C","D"],cells:[6,6],defaultScale:.33,urlPattern:"assets/models/megapack/gltf/Factory/",filePattern:"Building_Fabric_3_{color}.glb"},{type:"Building_Factory",style:"1",name:"Building_ Factory 1",colors:["A","B","C","D"],cells:[6,6],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Factory/",filePattern:"Building_Factory_1_{color}.glb"},{type:"Building_Factory",style:"1.001",name:"Building_ Factory 1.001",colors:["C"],cells:[6,6],defaultScale:.35,urlPattern:"assets/models/megapack/gltf/Factory/",filePattern:"Building_Factory_1_{color}_001.glb"},{type:"Building_Factory",style:"2",name:"Building_ Factory 2",colors:["A","B","C","D"],cells:[6,6],defaultScale:.35,urlPattern:"assets/models/megapack/gltf/Factory/",filePattern:"Building_Factory_2_{color}.glb"},{type:"Building_Factory",style:"3",name:"Building_ Factory 3",colors:["A","B","D"],cells:[6,6],defaultScale:.35,urlPattern:"assets/models/megapack/gltf/Factory/",filePattern:"Building_Factory_3_{color}.glb"},{type:"Building_Factory",style:"4",name:"Building_ Factory 4",colors:["A","B","C","D"],cells:[6,6],defaultScale:.18,urlPattern:"assets/models/megapack/gltf/Factory/",filePattern:"Building_Factory_4_{color}.glb"},{type:"GasTank",style:"1",name:"Gas Tank 1",colors:["A","B","C","D","E","F","G","H"],cells:[3,3],defaultScale:.67,urlPattern:"assets/models/megapack/gltf/Factory/",filePattern:"GasTank_1_{color}.glb"},{type:"GasTank",style:"2",name:"Gas Tank 2",colors:["A","B","C","D","E","F","G","H"],cells:[5,5],defaultScale:.45,urlPattern:"assets/models/megapack/gltf/Factory/",filePattern:"GasTank_2_{color}.glb"}],vt=[{type:"Ashtray",style:"1",name:"Ashtray 1",colors:["A","B"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Ashtray_1_{color}.glb"},{type:"BagFood",style:"1",name:"Bag Food 1",colors:["A","B","C"],cells:[1,1],defaultScale:2.58,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"BagFood_1_{color}.glb"},{type:"BagFood",style:"2",name:"Bag Food 2",colors:["A","B","C"],cells:[1,1],defaultScale:2.58,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"BagFood_2_{color}.glb"},{type:"BakerySign",style:"1",name:"Bakery Sign 1",colors:["A","B"],cells:[1,1],defaultScale:.36,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"BakerySign_1_{color}.glb"},{type:"Bread",style:"1",name:"Bread 1",colors:["A","B","C"],cells:[1,1],defaultScale:2.04,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Bread_1_{color}.glb"},{type:"Burger",style:"1",name:"Burger 1",colors:["A"],cells:[1,1],defaultScale:2.94,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Burger.glb"},{type:"BurgerSign",style:"1",name:"Burger Sign 1",colors:["A"],cells:[1,1],defaultScale:.29,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"BurgerSign_1.glb"},{type:"BurgerSign",style:"2",name:"Burger Sign 2",colors:["A","B","C","D"],cells:[1,1],defaultScale:.21,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"BurgerSign_2_{color}.glb"},{type:"BurgerSign",style:"3",name:"Burger Sign 3",colors:["A","B"],cells:[1,1],defaultScale:.29,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"BurgerSign_3_{color}.glb"},{type:"BurgerSign",style:"4",name:"Burger Sign 4",colors:["A","B"],cells:[1,1],defaultScale:.29,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"BurgerSign_4_{color}.glb"},{type:"Cake",style:"1",name:"Cake 1",colors:["A","B"],cells:[1,1],defaultScale:2.28,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Cake_1_{color}.glb"},{type:"Chair",style:"1",name:"Chair 1",colors:["A","B","C","D","E","F","G"],cells:[1,1],defaultScale:1.6,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Chair_1_{color}.glb"},{type:"Chair",style:"2",name:"Chair 2",colors:["A","B","C","D","E","F","G"],cells:[1,1],defaultScale:1.6,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Chair_2_{color}.glb"},{type:"Chair",style:"3",name:"Chair 3",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:1.6,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Chair_3_{color}.glb"},{type:"Cigar",style:"1",name:"Cigar 1",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Cigar.glb"},{type:"CoffeeMachine",style:"1",name:"Coffee Machine 1",colors:["A","B","C","D","E","F","G"],cells:[1,1],defaultScale:1.64,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"CoffeeMachine_1_{color}.glb"},{type:"CoffeeMachine",style:"1.001",name:"Coffee Machine 1.001",colors:["G"],cells:[1,1],defaultScale:1.64,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"CoffeeMachine_1_{color}_001.glb"},{type:"Coffee",style:"1",name:"Coffee 1",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Coffee_1.glb"},{type:"Cookie",style:"1",name:"Cookie 1",colors:["A","B","C","D"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Cookie_1_{color}.glb"},{type:"Cookie",style:"1.001",name:"Cookie 1.001",colors:["C"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Cookie_1_{color}_001.glb"},{type:"Cookie",style:"1.002",name:"Cookie 1.002",colors:["C"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Cookie_1_{color}_002.glb"},{type:"Cookie",style:"1.003",name:"Cookie 1.003",colors:["C"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Cookie_1_{color}_003.glb"},{type:"Cookie",style:"1.004",name:"Cookie 1.004",colors:["C"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Cookie_1_{color}_004.glb"},{type:"Cookie",style:"1.005",name:"Cookie 1.005",colors:["C"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Cookie_1_{color}_005.glb"},{type:"Cookie",style:"1.006",name:"Cookie 1.006",colors:["C"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Cookie_1_{color}_006.glb"},{type:"Cookie",style:"2",name:"Cookie 2",colors:["A","B","C","D"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Cookie_2_{color}.glb"},{type:"Donat",style:"1",name:"Donat 1",colors:["B","C","D"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Donat_1_{color}.glb"},{type:"FoodProp",style:"1",name:"Food Prop 1",colors:["A","B","C","D","E","F","G","H","I"],cells:[1,1],defaultScale:1.39,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"FoodProp_1_{color}.glb"},{type:"FoodProp",style:"2",name:"Food Prop 2",colors:["A","B"],cells:[1,1],defaultScale:1.41,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"FoodProp_2_{color}.glb"},{type:"FoodProp_4",style:"1",name:"Food Prop_4 1",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.32,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"FoodProp_4_1_{color}.glb"},{type:"FoodProp_4",style:"2",name:"Food Prop_4 2",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"FoodProp_4_2_{color}.glb"},{type:"Food",style:"1",name:"Food 1",colors:["A","B","C"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Food_1_{color}.glb"},{type:"Food",style:"2",name:"Food 2",colors:["A","B","C"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Food_2_{color}.glb"},{type:"Food",style:"3",name:"Food 3",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Food_3.glb"},{type:"Food",style:"4",name:"Food 4",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Food_4.glb"},{type:"Food",style:"5",name:"Food 5",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Food_5.glb"},{type:"HotDog",style:"1",name:"Hot Dog 1",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"HotDog_1.glb"},{type:"HotDog",style:"2",name:"Hot Dog 2",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"HotDog_2.glb"},{type:"Jar",style:"1",name:"Jar 1",colors:["A","B","C","D","E","F","G","H","I","J","K","L"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Jar_1_{color}.glb"},{type:"Jar",style:"2",name:"Jar 2",colors:["A","B","C","D","E","F","G","H","I","J","K","L"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Jar_2_{color}.glb"},{type:"Jar",style:"3",name:"Jar 3",colors:["A","B","C","D","E","F","G","H","I","J","K","L"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Jar_3_{color}.glb"},{type:"Ketchap",style:"1",name:"Ketchap 1",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Ketchap.glb"},{type:"Mug",style:"1",name:"Mug 1",colors:["A","B"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Mug_1_{color}.glb"},{type:"Mug",style:"2",name:"Mug 2",colors:["A","B"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Mug_2_{color}.glb"},{type:"Parasol",style:"1",name:"Parasol 1",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:.36,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Parasol_1_{color}.glb"},{type:"PizzaSign",style:"1",name:"Pizza Sign 1",colors:["A","B"],cells:[1,1],defaultScale:.23,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"PizzaSign_1_{color}.glb"},{type:"PizzaSign",style:"2",name:"Pizza Sign 2",colors:["A","B"],cells:[1,1],defaultScale:.23,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"PizzaSign_2_{color}.glb"},{type:"PizzaSign",style:"3",name:"Pizza Sign 3",colors:["A","B"],cells:[1,1],defaultScale:.24,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"PizzaSign_3_{color}.glb"},{type:"PizzaSign",style:"4",name:"Pizza Sign 4",colors:["A","B"],cells:[1,1],defaultScale:.3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"PizzaSign_4_{color}.glb"},{type:"PizzaSlice",style:"1",name:"Pizza Slice 1",colors:["A","B"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"PizzaSlice_{color}.glb"},{type:"Pizza",style:"1",name:"Pizza 1",colors:["A"],cells:[1,1],defaultScale:1.91,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Pizza_{color}.glb"},{type:"Plate",style:"1",name:"Plate 1",colors:["A","B","C"],cells:[1,1],defaultScale:2.05,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Plate_1_{color}.glb"},{type:"Plate",style:"2",name:"Plate 2",colors:["A","B","C"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Plate_2_{color}.glb"},{type:"Plate",style:"3",name:"Plate 3",colors:["A","B","C"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Plate_3_{color}.glb"},{type:"RoadBarier",style:"2.1",name:"Road Barier 2.1",colors:["A","B","C"],cells:[1,1],defaultScale:.13,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"RoadBarier_2_{color}_1.glb"},{type:"RoadBarier",style:"2.2",name:"Road Barier 2.2",colors:["A","B","C"],cells:[1,1],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"RoadBarier_2_{color}_2.glb"},{type:"RoadStop",style:"1",name:"Road Stop 1",colors:["A","B"],cells:[1,1],defaultScale:.22,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"RoadStop_1_{color}.glb"},{type:"Table",style:"1",name:"Table 1",colors:["A","B","C","D","E","F","G","H"],cells:[1,1],defaultScale:.57,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Table_1_{color}.glb"},{type:"Torus",style:"001",name:"Torus 001",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Food%20Props/",filePattern:"Torus_001.glb"}],Rt=[{type:"AnteneHolder",style:"1",name:"Antene Holder 1",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.19,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"AnteneHolder_1_{color}.glb"},{type:"Antene",style:"1.1",name:"Antene 1.1",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.17,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Antene_1_{color}_1.glb"},{type:"Antene",style:"1.2",name:"Antene 1.2",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.2,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Antene_1_{color}_2.glb"},{type:"Antene",style:"2.1",name:"Antene 2.1",colors:["A","B","C","D","E","F","G"],cells:[1,1],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Antene_2_{color}_1.glb"},{type:"Antene_2_A_1h",style:"1",name:"Antene_2_ A_1h 1",colors:["A"],cells:[1,1],defaultScale:1.2,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Antene_2_{color}_1h.glb"},{type:"Antene_2_B_1h",style:"1",name:"Antene_2_ B_1h 1",colors:["A"],cells:[1,1],defaultScale:1.2,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Antene_2_B_1h.glb"},{type:"Antene_2_C_1h",style:"1",name:"Antene_2_ C_1h 1",colors:["A"],cells:[1,1],defaultScale:1.2,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Antene_2_C_1h.glb"},{type:"Antene_2_D_1h",style:"1",name:"Antene_2_ D_1h 1",colors:["A"],cells:[1,1],defaultScale:1.2,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Antene_2_D_1h.glb"},{type:"Antene_2_E_1h",style:"1",name:"Antene_2_ E_1h 1",colors:["A"],cells:[1,1],defaultScale:1.2,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Antene_2_E_1h.glb"},{type:"Antene_2_F_1h",style:"1",name:"Antene_2_ F_1h 1",colors:["A"],cells:[1,1],defaultScale:1.2,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Antene_2_F_1h.glb"},{type:"Antene_2_G_1h",style:"1",name:"Antene_2_ G_1h 1",colors:["A"],cells:[1,1],defaultScale:1.2,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Antene_2_G_1h.glb"},{type:"Bilboard",style:"1",name:"Bilboard 1",colors:["A","B","C","D"],cells:[1,1],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Bilboard_1_{color}.glb"},{type:"Cable_A_1",style:"1",name:"Cable_ A_1 1",colors:["A"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_{color}_1_1.glb"},{type:"Cable_A_1",style:"2",name:"Cable_ A_1 2",colors:["A"],cells:[1,1],defaultScale:.32,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_{color}_1_2.glb"},{type:"Cable_A_1",style:"3",name:"Cable_ A_1 3",colors:["A"],cells:[1,1],defaultScale:.23,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_{color}_1_3.glb"},{type:"Cable_A_2",style:"1",name:"Cable_ A_2 1",colors:["A"],cells:[1,1],defaultScale:.79,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_{color}_2_1.glb"},{type:"Cable_A_2",style:"2",name:"Cable_ A_2 2",colors:["A"],cells:[1,1],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_{color}_2_2.glb"},{type:"Cable_A_2",style:"3",name:"Cable_ A_2 3",colors:["A"],cells:[1,1],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_{color}_2_3.glb"},{type:"Cable_B_1",style:"1",name:"Cable_ B_1 1",colors:["A"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_B_1_1.glb"},{type:"Cable_B_1",style:"2",name:"Cable_ B_1 2",colors:["A"],cells:[1,1],defaultScale:.32,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_B_1_2.glb"},{type:"Cable_B_1",style:"3",name:"Cable_ B_1 3",colors:["A"],cells:[1,1],defaultScale:.23,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_B_1_3.glb"},{type:"Cable_B_2",style:"1",name:"Cable_ B_2 1",colors:["A"],cells:[1,1],defaultScale:.79,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_B_2_1.glb"},{type:"Cable_B_2",style:"2",name:"Cable_ B_2 2",colors:["A"],cells:[1,1],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_B_2_2.glb"},{type:"Cable_B_2",style:"3",name:"Cable_ B_2 3",colors:["A"],cells:[1,1],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_B_2_3.glb"},{type:"Cable_C_1",style:"1",name:"Cable_ C_1 1",colors:["A"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_C_1_1.glb"},{type:"Cable_C_1",style:"2",name:"Cable_ C_1 2",colors:["A"],cells:[1,1],defaultScale:.32,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_C_1_2.glb"},{type:"Cable_C_1",style:"3",name:"Cable_ C_1 3",colors:["A"],cells:[1,1],defaultScale:.23,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_C_1_3.glb"},{type:"Cable_C_2",style:"1",name:"Cable_ C_2 1",colors:["A"],cells:[1,1],defaultScale:.79,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_C_2_1.glb"},{type:"Cable_C_2",style:"2",name:"Cable_ C_2 2",colors:["A"],cells:[1,1],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_C_2_2.glb"},{type:"Cable_C_2",style:"3",name:"Cable_ C_2 3",colors:["A"],cells:[1,1],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_C_2_3.glb"},{type:"Cable_D_1",style:"1",name:"Cable_ D_1 1",colors:["A"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_D_1_1.glb"},{type:"Cable_D_1",style:"2",name:"Cable_ D_1 2",colors:["A"],cells:[1,1],defaultScale:.32,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_D_1_2.glb"},{type:"Cable_D_1",style:"3",name:"Cable_ D_1 3",colors:["A"],cells:[1,1],defaultScale:.23,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_D_1_3.glb"},{type:"Cable_D_2",style:"1",name:"Cable_ D_2 1",colors:["A"],cells:[1,1],defaultScale:.79,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_D_2_1.glb"},{type:"Cable_D_2",style:"2",name:"Cable_ D_2 2",colors:["A"],cells:[1,1],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_D_2_2.glb"},{type:"Cable_D_2",style:"3",name:"Cable_ D_2 3",colors:["A"],cells:[1,1],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_D_2_3.glb"},{type:"Cable_E_1",style:"1",name:"Cable_ E_1 1",colors:["A"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_E_1_1.glb"},{type:"Cable_E_1",style:"2",name:"Cable_ E_1 2",colors:["A"],cells:[1,1],defaultScale:.32,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_E_1_2.glb"},{type:"Cable_E_1",style:"3",name:"Cable_ E_1 3",colors:["A"],cells:[1,1],defaultScale:.23,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_E_1_3.glb"},{type:"Cable_E_2",style:"1",name:"Cable_ E_2 1",colors:["A"],cells:[1,1],defaultScale:.79,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_E_2_1.glb"},{type:"Cable_E_2",style:"2",name:"Cable_ E_2 2",colors:["A"],cells:[1,1],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_E_2_2.glb"},{type:"Cable_E_2",style:"3",name:"Cable_ E_2 3",colors:["A"],cells:[1,1],defaultScale:.46,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Cable_E_2_3.glb"},{type:"ChimneyWall",style:"1",name:"Chimney Wall 1",colors:["A","B","C"],cells:[1,1],defaultScale:.33,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"ChimneyWall_1_{color}.glb"},{type:"ChimneyWall",style:"2",name:"Chimney Wall 2",colors:["A","B","C"],cells:[1,1],defaultScale:.33,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"ChimneyWall_2_{color}.glb"},{type:"Chimney",style:"1.1",name:"Chimney 1.1",colors:["A","B","C","D"],cells:[1,1],defaultScale:.96,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_1_{color}_1.glb"},{type:"Chimney",style:"1.2",name:"Chimney 1.2",colors:["A","B","C","D"],cells:[1,1],defaultScale:.98,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_1_{color}_2.glb"},{type:"Chimney",style:"1.3",name:"Chimney 1.3",colors:["A","B","C","D"],cells:[1,1],defaultScale:.96,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_1_{color}_3.glb"},{type:"Chimney",style:"1.4",name:"Chimney 1.4",colors:["A","B","C","D"],cells:[1,1],defaultScale:.98,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_1_{color}_4.glb"},{type:"Chimney",style:"1.5",name:"Chimney 1.5",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.06,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_1_{color}_5.glb"},{type:"Chimney",style:"2.1",name:"Chimney 2.1",colors:["A","B","C","D"],cells:[1,1],defaultScale:.97,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_2_{color}_1.glb"},{type:"Chimney",style:"2.2",name:"Chimney 2.2",colors:["A","B","C","D"],cells:[1,1],defaultScale:.97,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_2_{color}_2.glb"},{type:"Chimney",style:"2.3",name:"Chimney 2.3",colors:["A","B","C","D"],cells:[1,1],defaultScale:.97,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_2_{color}_3.glb"},{type:"Chimney",style:"3.1",name:"Chimney 3.1",colors:["A","B","C"],cells:[1,1],defaultScale:1.02,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_3_{color}_1.glb"},{type:"Chimney",style:"3.2",name:"Chimney 3.2",colors:["A","B","C"],cells:[1,1],defaultScale:1.02,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_3_{color}_2.glb"},{type:"Chimney",style:"3.3",name:"Chimney 3.3",colors:["A","B","C"],cells:[1,1],defaultScale:1.04,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_3_{color}_3.glb"},{type:"Chimney",style:"4.1",name:"Chimney 4.1",colors:["A","B","C","D"],cells:[1,1],defaultScale:.87,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_4_{color}_1.glb"},{type:"Chimney",style:"4.2",name:"Chimney 4.2",colors:["A","B","C","D"],cells:[1,1],defaultScale:.88,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_4_{color}_2.glb"},{type:"Chimney",style:"5",name:"Chimney 5",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.02,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Chimney_5_{color}.glb"},{type:"ElectricBox",style:"1.1",name:"Electric Box 1.1",colors:["A","C"],cells:[1,1],defaultScale:.62,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"ElectricBox_1_{color}_1.glb"},{type:"ElectricBox",style:"1.2",name:"Electric Box 1.2",colors:["A","B","C"],cells:[1,1],defaultScale:.32,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"ElectricBox_1_{color}_2.glb"},{type:"ElectricBox",style:"1",name:"Electric Box 1",colors:["B"],cells:[1,1],defaultScale:.62,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"ElectricBox_1_{color}.glb"},{type:"ElectricBox",style:"2.1",name:"Electric Box 2.1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:1.2,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"ElectricBox_2_{color}_1.glb"},{type:"ElectricBox",style:"2.2",name:"Electric Box 2.2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.91,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"ElectricBox_2_{color}_2.glb"},{type:"ElectricBox",style:"3.1",name:"Electric Box 3.1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.79,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"ElectricBox_3_{color}_1.glb"},{type:"ElectricBox",style:"3.2",name:"Electric Box 3.2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.79,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"ElectricBox_3_{color}_2.glb"},{type:"HeliLanding",style:"1",name:"Heli Landing 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"HeliLanding_1_{color}.glb"},{type:"Ladder",style:"1",name:"Ladder 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:1.15,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Ladder_1_{color}.glb"},{type:"Pipe_1_A_1",style:"1",name:"Pipe_1_ A_1 1",colors:["A"],cells:[1,1],defaultScale:1.04,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_{color}_1_1.glb"},{type:"Pipe_1_A_1",style:"2",name:"Pipe_1_ A_1 2",colors:["A"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_{color}_1_2.glb"},{type:"Pipe_1_A_1",style:"3",name:"Pipe_1_ A_1 3",colors:["A"],cells:[1,1],defaultScale:.26,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_{color}_1_3.glb"},{type:"Pipe_1_A_2",style:"1",name:"Pipe_1_ A_2 1",colors:["A"],cells:[1,1],defaultScale:.99,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_{color}_2_1.glb"},{type:"Pipe_1_A_2",style:"2",name:"Pipe_1_ A_2 2",colors:["A"],cells:[1,1],defaultScale:.41,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_{color}_2_2.glb"},{type:"Pipe_1_A_2",style:"3",name:"Pipe_1_ A_2 3",colors:["A"],cells:[1,1],defaultScale:.24,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_{color}_2_3.glb"},{type:"Pipe",style:"1.3",name:"Pipe 1.3",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:.91,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_{color}_3.glb"},{type:"Pipe",style:"1.4",name:"Pipe 1.4",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:1.2,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_{color}_4.glb"},{type:"Pipe",style:"1.5",name:"Pipe 1.5",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:1.17,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_{color}_5.glb"},{type:"Pipe_1_B_1",style:"1",name:"Pipe_1_ B_1 1",colors:["A"],cells:[1,1],defaultScale:1.04,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_B_1_1.glb"},{type:"Pipe_1_B_1",style:"2",name:"Pipe_1_ B_1 2",colors:["A"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_B_1_2.glb"},{type:"Pipe_1_B_1",style:"3",name:"Pipe_1_ B_1 3",colors:["A"],cells:[1,1],defaultScale:.26,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_B_1_3.glb"},{type:"Pipe_1_B_2",style:"1",name:"Pipe_1_ B_2 1",colors:["A"],cells:[1,1],defaultScale:.99,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_B_2_1.glb"},{type:"Pipe_1_B_2",style:"2",name:"Pipe_1_ B_2 2",colors:["A"],cells:[1,1],defaultScale:.41,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_B_2_2.glb"},{type:"Pipe_1_B_2",style:"3",name:"Pipe_1_ B_2 3",colors:["A"],cells:[1,1],defaultScale:.24,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_B_2_3.glb"},{type:"Pipe_1_C_1",style:"1",name:"Pipe_1_ C_1 1",colors:["A"],cells:[1,1],defaultScale:1.04,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_C_1_1.glb"},{type:"Pipe_1_C_1",style:"2",name:"Pipe_1_ C_1 2",colors:["A"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_C_1_2.glb"},{type:"Pipe_1_C_1",style:"3",name:"Pipe_1_ C_1 3",colors:["A"],cells:[1,1],defaultScale:.26,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_C_1_3.glb"},{type:"Pipe_1_C_2",style:"1",name:"Pipe_1_ C_2 1",colors:["A"],cells:[1,1],defaultScale:.99,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_C_2_1.glb"},{type:"Pipe_1_C_2",style:"2",name:"Pipe_1_ C_2 2",colors:["A"],cells:[1,1],defaultScale:.41,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_C_2_2.glb"},{type:"Pipe_1_C_2",style:"3",name:"Pipe_1_ C_2 3",colors:["A"],cells:[1,1],defaultScale:.24,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_C_2_3.glb"},{type:"Pipe_1_D_1",style:"1",name:"Pipe_1_ D_1 1",colors:["A"],cells:[1,1],defaultScale:1.04,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_D_1_1.glb"},{type:"Pipe_1_D_1",style:"2",name:"Pipe_1_ D_1 2",colors:["A"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_D_1_2.glb"},{type:"Pipe_1_D_1",style:"3",name:"Pipe_1_ D_1 3",colors:["A"],cells:[1,1],defaultScale:.26,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_D_1_3.glb"},{type:"Pipe_1_D_2",style:"1",name:"Pipe_1_ D_2 1",colors:["A"],cells:[1,1],defaultScale:.99,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_D_2_1.glb"},{type:"Pipe_1_D_2",style:"2",name:"Pipe_1_ D_2 2",colors:["A"],cells:[1,1],defaultScale:.41,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_D_2_2.glb"},{type:"Pipe_1_D_2",style:"3",name:"Pipe_1_ D_2 3",colors:["A"],cells:[1,1],defaultScale:.24,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_D_2_3.glb"},{type:"Pipe_1_E_1",style:"1",name:"Pipe_1_ E_1 1",colors:["A"],cells:[1,1],defaultScale:1.04,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_E_1_1.glb"},{type:"Pipe_1_E_1",style:"2",name:"Pipe_1_ E_1 2",colors:["A"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_E_1_2.glb"},{type:"Pipe_1_E_1",style:"3",name:"Pipe_1_ E_1 3",colors:["A"],cells:[1,1],defaultScale:.26,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_E_1_3.glb"},{type:"Pipe_1_E_2",style:"1",name:"Pipe_1_ E_2 1",colors:["A"],cells:[1,1],defaultScale:.99,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_E_2_1.glb"},{type:"Pipe_1_E_2",style:"2",name:"Pipe_1_ E_2 2",colors:["A"],cells:[1,1],defaultScale:.41,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_E_2_2.glb"},{type:"Pipe_1_E_2",style:"3",name:"Pipe_1_ E_2 3",colors:["A"],cells:[1,1],defaultScale:.24,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_E_2_3.glb"},{type:"Pipe_1_F_1",style:"1",name:"Pipe_1_ F_1 1",colors:["A"],cells:[1,1],defaultScale:1.04,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_F_1_1.glb"},{type:"Pipe_1_F_1",style:"2",name:"Pipe_1_ F_1 2",colors:["A"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_F_1_2.glb"},{type:"Pipe_1_F_1",style:"3",name:"Pipe_1_ F_1 3",colors:["A"],cells:[1,1],defaultScale:.26,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_F_1_3.glb"},{type:"Pipe_1_F_2",style:"1",name:"Pipe_1_ F_2 1",colors:["A"],cells:[1,1],defaultScale:.99,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_F_2_1.glb"},{type:"Pipe_1_F_2",style:"2",name:"Pipe_1_ F_2 2",colors:["A"],cells:[1,1],defaultScale:.41,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_F_2_2.glb"},{type:"Pipe_1_F_2",style:"3",name:"Pipe_1_ F_2 3",colors:["A"],cells:[1,1],defaultScale:.24,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Pipe_1_F_2_3.glb"},{type:"RoofAdd",style:"1",name:"Roof Add 1",colors:["A","B","C","E","F"],cells:[1,1],defaultScale:.63,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"RoofAdd_1_{color}.glb"},{type:"RoofAdd",style:"2.1",name:"Roof Add 2.1",colors:["A","B","C","D"],cells:[1,1],defaultScale:.26,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"RoofAdd_2_{color}_1.glb"},{type:"RoofAdd",style:"2.2",name:"Roof Add 2.2",colors:["A","B","C","D"],cells:[1,1],defaultScale:.26,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"RoofAdd_2_{color}_2.glb"},{type:"RoofAdd",style:"2.3",name:"Roof Add 2.3",colors:["A","B","C","D"],cells:[1,1],defaultScale:.3,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"RoofAdd_2_{color}_3.glb"},{type:"RoofAdd",style:"2.4",name:"Roof Add 2.4",colors:["A","B","C","D"],cells:[1,1],defaultScale:.3,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"RoofAdd_2_{color}_4.glb"},{type:"RoofAdd",style:"2.5",name:"Roof Add 2.5",colors:["A","B","C","D"],cells:[1,1],defaultScale:.5,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"RoofAdd_2_{color}_5.glb"},{type:"RoofAdd",style:"2.6",name:"Roof Add 2.6",colors:["A","B","C","D"],cells:[1,1],defaultScale:.62,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"RoofAdd_2_{color}_6.glb"},{type:"RoofLights",style:"1",name:"Roof Lights 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"RoofLights_1_{color}.glb"},{type:"RoofLights",style:"2",name:"Roof Lights 2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.37,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"RoofLights_2_{color}.glb"},{type:"RoofLights",style:"3",name:"Roof Lights 3",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.96,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"RoofLights_3_{color}.glb"},{type:"RoofLights",style:"4",name:"Roof Lights 4",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.37,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"RoofLights_4_{color}.glb"},{type:"SignalTower",style:"1",name:"Signal Tower 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.68,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"SignalTower_1_{color}.glb"},{type:"SignalTower",style:"2",name:"Signal Tower 2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.81,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"SignalTower_2_{color}.glb"},{type:"Stairs",style:"1",name:"Stairs 1",colors:["A","B","D","E","F","G","H"],cells:[1,1],defaultScale:.26,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Stairs_1_{color}.glb"},{type:"TFan",style:"1",name:"T Fan 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.85,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"TFan_{color}.glb"},{type:"Turbine",style:"1",name:"Turbine 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.63,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Turbine_1_{color}.glb"},{type:"Vent",style:"1.1",name:"Vent 1.1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.33,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Vent_1_{color}_1.glb"},{type:"Vent",style:"1.2",name:"Vent 1.2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Vent_1_{color}_2.glb"},{type:"Vent",style:"2.1",name:"Vent 2.1",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.01,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Vent_2_{color}_1.glb"},{type:"Vent",style:"2.2",name:"Vent 2.2",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.17,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Vent_2_{color}_2.glb"},{type:"Vent",style:"2.3",name:"Vent 2.3",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.01,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Vent_2_{color}_3.glb"},{type:"Vent",style:"2.4",name:"Vent 2.4",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.17,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Vent_2_{color}_4.glb"},{type:"Vent",style:"2.5",name:"Vent 2.5",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.01,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Vent_2_{color}_5.glb"},{type:"Vent",style:"2.6",name:"Vent 2.6",colors:["A","B","C","D"],cells:[1,1],defaultScale:.77,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Vent_2_{color}_6.glb"},{type:"Vent",style:"2.7",name:"Vent 2.7",colors:["A","B","C","D"],cells:[1,1],defaultScale:.31,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Vent_2_{color}_7.glb"},{type:"Vent",style:"2.8",name:"Vent 2.8",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.2,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Vent_2_{color}_8.glb"},{type:"Vent",style:"3",name:"Vent 3",colors:["A","B","C","D"],cells:[1,1],defaultScale:.25,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Vent_3_{color}.glb"},{type:"Vent",style:"4",name:"Vent 4",colors:["A","B","C"],cells:[1,1],defaultScale:.79,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"Vent_4_{color}.glb"},{type:"WaterTank",style:"1",name:"Water Tank 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"WaterTank_1_{color}.glb"},{type:"WaterTank",style:"2",name:"Water Tank 2",colors:["A","B","C"],cells:[1,1],defaultScale:.26,urlPattern:"assets/models/megapack/gltf/Roof%20Props/",filePattern:"WaterTank_2_{color}.glb"}],Et=[{type:"Base_Basket",style:"1",name:"Base_ Basket 1",colors:["A","B","C","D"],cells:[4,4],defaultScale:.16,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Base_Basket_{color}.glb"},{type:"Basketball",style:"1",name:"Basketball 1",colors:["A"],cells:[2,2],defaultScale:4.12,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Basketball.glb"},{type:"Basketball_Court",style:"1",name:"Basketball_ Court 1",colors:["A"],cells:[4,4],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Basketball_Court_1.glb"},{type:"Basketball_Court",style:"2",name:"Basketball_ Court 2",colors:["A"],cells:[4,4],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Basketball_Court_2.glb"},{type:"Basketball_Court",style:"3",name:"Basketball_ Court 3",colors:["A"],cells:[4,4],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Basketball_Court_3.glb"},{type:"Basketball_Court",style:"4",name:"Basketball_ Court 4",colors:["A"],cells:[4,4],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Basketball_Court_4.glb"},{type:"Basketball_Court",style:"5",name:"Basketball_ Court 5",colors:["A"],cells:[4,4],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Basketball_Court_5.glb"},{type:"Basketball_Court",style:"6",name:"Basketball_ Court 6",colors:["A"],cells:[4,4],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Basketball_Court_6.glb"},{type:"Basketball_Stand",style:"1",name:"Basketball_ Stand 1",colors:["A","B","C","D","E","F"],cells:[2,2],defaultScale:.74,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Basketball_Stand_{color}.glb"},{type:"Bench",style:"1.1",name:"Bench 1.1",colors:["A","B","C","D","E"],cells:[2,2],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Bench_1_{color}_1.glb"},{type:"Bench",style:"1.2",name:"Bench 1.2",colors:["A","B","C","D","E"],cells:[2,2],defaultScale:1.38,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Bench_1_{color}_2.glb"},{type:"Bench",style:"1.3",name:"Bench 1.3",colors:["A","B","C","D","E"],cells:[2,2],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Bench_1_{color}_3.glb"},{type:"Bench",style:"1.4",name:"Bench 1.4",colors:["A","B","C","D","E"],cells:[2,2],defaultScale:1.38,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Bench_1_{color}_4.glb"},{type:"Bench",style:"1.5",name:"Bench 1.5",colors:["A","B","C","D","E"],cells:[2,2],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Bench_1_{color}_5.glb"},{type:"Bench",style:"1.6",name:"Bench 1.6",colors:["A","B","C","D","E"],cells:[2,2],defaultScale:1.38,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Bench_1_{color}_6.glb"},{type:"Bench",style:"1.7",name:"Bench 1.7",colors:["A","B","C","D","E"],cells:[2,2],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Bench_1_{color}_7.glb"},{type:"Bench",style:"1.8",name:"Bench 1.8",colors:["A","B","C","D","E"],cells:[2,2],defaultScale:1.38,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Bench_1_{color}_8.glb"},{type:"Fence",style:"1.1",name:"Fence 1.1",colors:["A","B","C","D","E","F","G","H"],cells:[2,2],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Fence_1_{color}_1.glb"},{type:"Fence",style:"1.2",name:"Fence 1.2",colors:["A","B","C","D","E","F","G","H"],cells:[2,2],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Fence_1_{color}_2.glb"},{type:"Fence",style:"1.3",name:"Fence 1.3",colors:["A","B","C","D","E","F","G","H"],cells:[3,3],defaultScale:.6,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Fence_1_{color}_3.glb"},{type:"Fence",style:"1.4",name:"Fence 1.4",colors:["A","B","C","D","E","F","G","H"],cells:[3,3],defaultScale:.6,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Fence_1_{color}_4.glb"},{type:"Fence",style:"1.5",name:"Fence 1.5",colors:["A","B","C","D","E","F","G","H"],cells:[2,2],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Fence_1_{color}_5.glb"},{type:"Fence",style:"1.6",name:"Fence 1.6",colors:["A","B","C","D","E","F","G","H"],cells:[3,3],defaultScale:.6,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Fence_1_{color}_6.glb"},{type:"Fence",style:"1.7",name:"Fence 1.7",colors:["A","B","C","D","E","F","G","H"],cells:[2,2],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Fence_1_{color}_7.glb"},{type:"Lamp_Court",style:"1",name:"Lamp_ Court 1",colors:["A","B","C","D","E","F","G"],cells:[2,2],defaultScale:.98,urlPattern:"assets/models/megapack/gltf/Basketball/",filePattern:"Lamp_Court_1_{color}.glb"}],Ft=[{type:"Awning",style:"1",name:"Awning 1",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O"],cells:[1,1],defaultScale:.29,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Awning_1_{color}.glb"},{type:"Awning",style:"2",name:"Awning 2",colors:["A","B","C","D","E","F","G","I","J","K"],cells:[1,1],defaultScale:.39,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Awning_2_{color}.glb"},{type:"Awning",style:"3",name:"Awning 3",colors:["A","B","C","D","E","F","G","H","I","J"],cells:[1,1],defaultScale:.29,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Awning_3_{color}.glb"},{type:"Balcon_1",style:"1",name:"Balcon_1 1",colors:["A"],cells:[1,1],defaultScale:.3,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Balcon_1_1_{color}.glb"},{type:"Balcon_1",style:"2",name:"Balcon_1 2",colors:["A"],cells:[1,1],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Balcon_1_2_{color}.glb"},{type:"Balcon_2",style:"1",name:"Balcon_2 1",colors:["A"],cells:[1,1],defaultScale:.34,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Balcon_2_1_{color}.glb"},{type:"Balcon_2",style:"2",name:"Balcon_2 2",colors:["A"],cells:[1,1],defaultScale:.51,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Balcon_2_2_{color}.glb"},{type:"BarberSign",style:"1",name:"Barber Sign 1",colors:["A"],cells:[1,1],defaultScale:.05,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"BarberSign.glb"},{type:"BinB",style:"1",name:"Bin B 1",colors:["A"],cells:[1,1],defaultScale:.57,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"BinB.glb"},{type:"BinG",style:"1",name:"Bin G 1",colors:["A"],cells:[1,1],defaultScale:1.32,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"BinG.glb"},{type:"BinY",style:"1",name:"Bin Y 1",colors:["A"],cells:[1,1],defaultScale:1.32,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"BinY.glb"},{type:"Bollards",style:"1",name:"Bollards 1",colors:["A","B","C","D"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Bollards_1_{color}.glb"},{type:"Bollards",style:"2",name:"Bollards 2",colors:["A","B","C","D"],cells:[1,1],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Bollards_2_{color}.glb"},{type:"Bollards",style:"3",name:"Bollards 3",colors:["A","B","C","D"],cells:[1,1],defaultScale:1.62,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Bollards_3_{color}.glb"},{type:"Bollards",style:"4",name:"Bollards 4",colors:["A","B","C","D"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Bollards_4_{color}.glb"},{type:"Building_2",style:"4",name:"Building_2 4",colors:["J"],cells:[1,1],defaultScale:.11,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Building_2_4_{color}.glb"},{type:"Building_Factory",style:"1",name:"Building_ Factory 1",colors:["A"],cells:[1,1],defaultScale:.05,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Building_Factory_1.glb"},{type:"CafeBoard",style:"1",name:"Cafe Board 1",colors:["A","B","C"],cells:[1,1],defaultScale:1.19,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"CafeBoard_{color}.glb"},{type:"CafeSign",style:"5",name:"Cafe Sign 5",colors:["A"],cells:[1,1],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"CafeSign_5_{color}.glb"},{type:"CafeSign",style:"6",name:"Cafe Sign 6",colors:["A"],cells:[1,1],defaultScale:.18,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"CafeSign_6_{color}.glb"},{type:"Carnister",style:"1",name:"Carnister 1",colors:["A"],cells:[1,1],defaultScale:2.11,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Carnister.glb"},{type:"ChimneyPowerPlant",style:"1",name:"Chimney Power Plant 1",colors:["A","B","C","D"],cells:[1,1],defaultScale:.05,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"ChimneyPowerPlant_1_{color}.glb"},{type:"ChimneyPowerPlant",style:"2",name:"Chimney Power Plant 2",colors:["A","B","C","D"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"ChimneyPowerPlant_2_{color}.glb"},{type:"ChimneyPowerPlant",style:"3",name:"Chimney Power Plant 3",colors:["A","B","C"],cells:[1,1],defaultScale:.15,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"ChimneyPowerPlant_3_{color}.glb"},{type:"Fence_6",style:"1",name:"Fence_6 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.13,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Fence_6_1_{color}.glb"},{type:"Fence_6",style:"2",name:"Fence_6 2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Fence_6_2_{color}.glb"},{type:"FlagRace",style:"1",name:"Flag Race 1",colors:["A","B","C","D","E","F","G"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"FlagRace_{color}.glb"},{type:"FlatWrench",style:"1",name:"Flat Wrench 1",colors:["A"],cells:[1,1],defaultScale:1.49,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"FlatWrench.glb"},{type:"FlatWrenchSign",style:"1",name:"Flat Wrench Sign 1",colors:["A","B","C"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"FlatWrenchSign_1_{color}.glb"},{type:"FlatWrenchSign",style:"2",name:"Flat Wrench Sign 2",colors:["A","B","C"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"FlatWrenchSign_2_{color}.glb"},{type:"FlowerPlace",style:"6",name:"Flower Place 6",colors:["A"],cells:[1,1],defaultScale:.39,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"FlowerPlace_6_{color}.glb"},{type:"FlowerPlacet_5",style:"1",name:"Flower Placet_5 1",colors:["A","B","C","D"],cells:[1,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"FlowerPlacet_5_1_{color}.glb"},{type:"FlowerPlacet_5",style:"2",name:"Flower Placet_5 2",colors:["A","B","C","D"],cells:[1,1],defaultScale:.56,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"FlowerPlacet_5_2_{color}.glb"},{type:"FlowerPot_5",style:"1",name:"Flower Pot_5 1",colors:["A","B","C","D","E","F","G"],cells:[1,1],defaultScale:.57,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"FlowerPot_5_1_{color}.glb"},{type:"FlowerPot_5",style:"2",name:"Flower Pot_5 2",colors:["A","B","C","D","E","F","G"],cells:[1,1],defaultScale:.89,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"FlowerPot_5_2_{color}.glb"},{type:"FlowerPot_5",style:"3",name:"Flower Pot_5 3",colors:["A","B","C","D","E","F","G"],cells:[1,1],defaultScale:1.17,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"FlowerPot_5_3_{color}.glb"},{type:"GymSign",style:"1",name:"Gym Sign 1",colors:["A"],cells:[1,1],defaultScale:.13,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"GymSign_1_{color}.glb"},{type:"HotelSign",style:"3",name:"Hotel Sign 3",colors:["A"],cells:[1,1],defaultScale:.33,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"HotelSign_3_{color}.glb"},{type:"HotelSign",style:"4",name:"Hotel Sign 4",colors:["A"],cells:[1,1],defaultScale:.08,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"HotelSign_4_{color}.glb"},{type:"MarketSign",style:"1",name:"Market Sign 1",colors:["A"],cells:[1,1],defaultScale:.06,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"MarketSign_1_{color}.glb"},{type:"PizzaSign",style:"5",name:"Pizza Sign 5",colors:["A"],cells:[1,1],defaultScale:.12,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"PizzaSign_5_{color}.glb"},{type:"Plans",style:"1",name:"Plans 1",colors:["A"],cells:[1,1],defaultScale:1.09,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Plans.glb"},{type:"PoliceSign",style:"1",name:"Police Sign 1",colors:["A"],cells:[1,1],defaultScale:.09,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"PoliceSign.glb"},{type:"PowerStation",style:"1",name:"Power Station 1",colors:["A","B","C"],cells:[1,1],defaultScale:.12,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"PowerStation_{color}.glb"},{type:"RestaurantSign",style:"1",name:"Restaurant Sign 1",colors:["A"],cells:[1,1],defaultScale:.09,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"RestaurantSign_1_{color}.glb"},{type:"Restaurant",style:"3",name:"Restaurant 3",colors:["A"],cells:[1,1],defaultScale:.66,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Restaurant_3_{color}.glb"},{type:"RoofProp",style:"5",name:"Roof Prop 5",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.24,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"RoofProp_5_{color}.glb"},{type:"SignBoard",style:"1",name:"Sign Board 1",colors:["A"],cells:[1,1],defaultScale:.22,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"SignBoard_1_{color}.glb"},{type:"SignHolder",style:"7",name:"Sign Holder 7",colors:["A"],cells:[1,1],defaultScale:.06,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"SignHolder_7.glb"},{type:"Suitcase_1",style:"1",name:"Suitcase_1 1",colors:["A","B","C","D","E","F","G","H","I","J","K","L","M"],cells:[1,1],defaultScale:1.36,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Suitcase_1_1_{color}.glb"},{type:"Tire",style:"1",name:"Tire 1",colors:["A"],cells:[1,1],defaultScale:.92,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"Tire.glb"},{type:"TireWall",style:"1",name:"Tire Wall 1",colors:["A","B"],cells:[1,1],defaultScale:.23,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"TireWall_1_{color}.glb"},{type:"TireWall",style:"2",name:"Tire Wall 2",colors:["A","B"],cells:[1,1],defaultScale:.29,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"TireWall_2_{color}.glb"},{type:"WallFence_1",style:"1",name:"Wall Fence_1 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"WallFence_1_1_{color}.glb"},{type:"WallFence_1",style:"2",name:"Wall Fence_1 2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"WallFence_1_2_{color}.glb"},{type:"WallFence_2",style:"1",name:"Wall Fence_2 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"WallFence_2_1_{color}.glb"},{type:"WallFence_2",style:"2",name:"Wall Fence_2 2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"WallFence_2_2_{color}.glb"},{type:"WallFence_3",style:"1",name:"Wall Fence_3 1",colors:["A","B"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"WallFence_3_1_{color}.glb"},{type:"WallFence_3",style:"2",name:"Wall Fence_3 2",colors:["A","B"],cells:[1,1],defaultScale:.99,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"WallFence_3_2_{color}.glb"},{type:"WallFence_3",style:"3",name:"Wall Fence_3 3",colors:["A","B"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"WallFence_3_3_{color}.glb"},{type:"WallFence_3_Gate",style:"1",name:"Wall Fence_3_ Gate 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.42,urlPattern:"assets/models/megapack/gltf/Other/",filePattern:"WallFence_3_Gate_{color}.glb"}],xt=[{type:"ConcrateFrame_1",style:"1",name:"Concrate Frame_1 1",colors:["A"],cells:[3,3],defaultScale:.55,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateFrame_1_1.glb"},{type:"ConcrateFrame_1",style:"2",name:"Concrate Frame_1 2",colors:["A"],cells:[3,3],defaultScale:.97,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateFrame_1_2.glb"},{type:"ConcrateFrame_1",style:"3",name:"Concrate Frame_1 3",colors:["A"],cells:[3,3],defaultScale:1.97,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateFrame_1_3.glb"},{type:"ConcrateFrame_2",style:"1",name:"Concrate Frame_2 1",colors:["A"],cells:[3,3],defaultScale:.55,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateFrame_2_1.glb"},{type:"ConcrateFrame_2",style:"2",name:"Concrate Frame_2 2",colors:["A"],cells:[3,3],defaultScale:.97,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateFrame_2_2.glb"},{type:"ConcrateFrame_2",style:"3",name:"Concrate Frame_2 3",colors:["A"],cells:[3,3],defaultScale:1.72,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateFrame_2_3.glb"},{type:"ConcrateSlabs_A_1",style:"1",name:"Concrate Slabs_ A_1 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_{color}_1_1.glb"},{type:"ConcrateSlabs_A_1",style:"2",name:"Concrate Slabs_ A_1 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_{color}_1_2.glb"},{type:"ConcrateSlabs_A_1",style:"3",name:"Concrate Slabs_ A_1 3",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_{color}_1_3.glb"},{type:"ConcrateSlabs_A_2",style:"1",name:"Concrate Slabs_ A_2 1",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_{color}_2_1.glb"},{type:"ConcrateSlabs_A_2",style:"2",name:"Concrate Slabs_ A_2 2",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_{color}_2_2.glb"},{type:"ConcrateSlabs_A_2",style:"3",name:"Concrate Slabs_ A_2 3",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_{color}_2_3.glb"},{type:"ConcrateSlabs_A_3",style:"1",name:"Concrate Slabs_ A_3 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_{color}_3_1.glb"},{type:"ConcrateSlabs_A_3",style:"2",name:"Concrate Slabs_ A_3 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_{color}_3_2.glb"},{type:"ConcrateSlabs_A_3",style:"3",name:"Concrate Slabs_ A_3 3",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_{color}_3_3.glb"},{type:"ConcrateSlabs_A_4",style:"1",name:"Concrate Slabs_ A_4 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_{color}_4_1.glb"},{type:"ConcrateSlabs_A_4",style:"2",name:"Concrate Slabs_ A_4 2",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_{color}_4_2.glb"},{type:"ConcrateSlabs_A_4",style:"3",name:"Concrate Slabs_ A_4 3",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_{color}_4_3.glb"},{type:"ConcrateSlabs_B_1",style:"1",name:"Concrate Slabs_ B_1 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_B_1_1.glb"},{type:"ConcrateSlabs_B_1",style:"2",name:"Concrate Slabs_ B_1 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_B_1_2.glb"},{type:"ConcrateSlabs_B_1",style:"3",name:"Concrate Slabs_ B_1 3",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_B_1_3.glb"},{type:"ConcrateSlabs_B_2",style:"1",name:"Concrate Slabs_ B_2 1",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_B_2_1.glb"},{type:"ConcrateSlabs_B_2",style:"2",name:"Concrate Slabs_ B_2 2",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_B_2_2.glb"},{type:"ConcrateSlabs_B_2",style:"3",name:"Concrate Slabs_ B_2 3",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_B_2_3.glb"},{type:"ConcrateSlabs_B_3",style:"1",name:"Concrate Slabs_ B_3 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_B_3_1.glb"},{type:"ConcrateSlabs_B_3",style:"2",name:"Concrate Slabs_ B_3 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_B_3_2.glb"},{type:"ConcrateSlabs_B_3",style:"3",name:"Concrate Slabs_ B_3 3",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_B_3_3.glb"},{type:"ConcrateSlabs_B_4",style:"1",name:"Concrate Slabs_ B_4 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_B_4_1.glb"},{type:"ConcrateSlabs_B_4",style:"2",name:"Concrate Slabs_ B_4 2",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_B_4_2.glb"},{type:"ConcrateSlabs_B_4",style:"3",name:"Concrate Slabs_ B_4 3",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_B_4_3.glb"},{type:"ConcrateSlabs_C_1",style:"1",name:"Concrate Slabs_ C_1 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_C_1_1.glb"},{type:"ConcrateSlabs_C_1",style:"2",name:"Concrate Slabs_ C_1 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_C_1_2.glb"},{type:"ConcrateSlabs_C_1",style:"3",name:"Concrate Slabs_ C_1 3",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_C_1_3.glb"},{type:"ConcrateSlabs_C_2",style:"1",name:"Concrate Slabs_ C_2 1",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_C_2_1.glb"},{type:"ConcrateSlabs_C_2",style:"2",name:"Concrate Slabs_ C_2 2",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_C_2_2.glb"},{type:"ConcrateSlabs_C_2",style:"3",name:"Concrate Slabs_ C_2 3",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_C_2_3.glb"},{type:"ConcrateSlabs_C_3",style:"1",name:"Concrate Slabs_ C_3 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_C_3_1.glb"},{type:"ConcrateSlabs_C_3",style:"2",name:"Concrate Slabs_ C_3 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_C_3_2.glb"},{type:"ConcrateSlabs_C_3",style:"3",name:"Concrate Slabs_ C_3 3",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_C_3_3.glb"},{type:"ConcrateSlabs_C_4",style:"1",name:"Concrate Slabs_ C_4 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_C_4_1.glb"},{type:"ConcrateSlabs_C_4",style:"2",name:"Concrate Slabs_ C_4 2",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_C_4_2.glb"},{type:"ConcrateSlabs_C_4",style:"3",name:"Concrate Slabs_ C_4 3",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_C_4_3.glb"},{type:"ConcrateSlabs_D_1",style:"1",name:"Concrate Slabs_ D_1 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_D_1_1.glb"},{type:"ConcrateSlabs_D_1",style:"2",name:"Concrate Slabs_ D_1 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_D_1_2.glb"},{type:"ConcrateSlabs_D_1",style:"3",name:"Concrate Slabs_ D_1 3",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_D_1_3.glb"},{type:"ConcrateSlabs_D_2",style:"1",name:"Concrate Slabs_ D_2 1",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_D_2_1.glb"},{type:"ConcrateSlabs_D_2",style:"2",name:"Concrate Slabs_ D_2 2",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_D_2_2.glb"},{type:"ConcrateSlabs_D_2",style:"3",name:"Concrate Slabs_ D_2 3",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_D_2_3.glb"},{type:"ConcrateSlabs_D_3",style:"1",name:"Concrate Slabs_ D_3 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_D_3_1.glb"},{type:"ConcrateSlabs_D_3",style:"2",name:"Concrate Slabs_ D_3 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_D_3_2.glb"},{type:"ConcrateSlabs_D_3",style:"3",name:"Concrate Slabs_ D_3 3",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_D_3_3.glb"},{type:"ConcrateSlabs_D_4",style:"1",name:"Concrate Slabs_ D_4 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_D_4_1.glb"},{type:"ConcrateSlabs_D_4",style:"2",name:"Concrate Slabs_ D_4 2",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_D_4_2.glb"},{type:"ConcrateSlabs_D_4",style:"3",name:"Concrate Slabs_ D_4 3",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_D_4_3.glb"},{type:"ConcrateSlabs_E_1",style:"1",name:"Concrate Slabs_ E_1 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_E_1_1.glb"},{type:"ConcrateSlabs_E_1",style:"2",name:"Concrate Slabs_ E_1 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_E_1_2.glb"},{type:"ConcrateSlabs_E_1",style:"3",name:"Concrate Slabs_ E_1 3",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_E_1_3.glb"},{type:"ConcrateSlabs_E_2",style:"1",name:"Concrate Slabs_ E_2 1",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_E_2_1.glb"},{type:"ConcrateSlabs_E_2",style:"2",name:"Concrate Slabs_ E_2 2",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_E_2_2.glb"},{type:"ConcrateSlabs_E_2",style:"3",name:"Concrate Slabs_ E_2 3",colors:["A"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_E_2_3.glb"},{type:"ConcrateSlabs_E_3",style:"1",name:"Concrate Slabs_ E_3 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_E_3_1.glb"},{type:"ConcrateSlabs_E_3",style:"2",name:"Concrate Slabs_ E_3 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_E_3_2.glb"},{type:"ConcrateSlabs_E_3",style:"3",name:"Concrate Slabs_ E_3 3",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_E_3_3.glb"},{type:"ConcrateSlabs_E_4",style:"1",name:"Concrate Slabs_ E_4 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"ConcrateSlabs_E_4_1.glb"},{type:"Fundaments_2",style:"1",name:"Fundaments_2 1",colors:["A"],cells:[6,6],defaultScale:.51,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Fundaments_2_1.glb"},{type:"Fundaments_2",style:"2",name:"Fundaments_2 2",colors:["A"],cells:[6,6],defaultScale:.51,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Fundaments_2_2.glb"},{type:"Fundaments_2",style:"3",name:"Fundaments_2 3",colors:["A"],cells:[6,6],defaultScale:.51,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Fundaments_2_3.glb"},{type:"Fundaments_3",style:"1",name:"Fundaments_3 1",colors:["A"],cells:[6,6],defaultScale:.36,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Fundaments_3_1.glb"},{type:"Fundaments_3",style:"2",name:"Fundaments_3 2",colors:["A"],cells:[6,6],defaultScale:.36,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Fundaments_3_2.glb"},{type:"Fundaments_3",style:"3",name:"Fundaments_3 3",colors:["A"],cells:[6,6],defaultScale:.36,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Fundaments_3_3.glb"},{type:"Pilar",style:"1",name:"Pilar 1",colors:["A","B","C","D","E"],cells:[3,3],defaultScale:4.63,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Pilar_{color}_1.glb"},{type:"Pilar",style:"2",name:"Pilar 2",colors:["A","B","C","D","E"],cells:[3,3],defaultScale:4.63,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Pilar_{color}_2.glb"},{type:"RreinforcingBars",style:"1",name:"Rreinforcing Bars 1",colors:["A","B","C"],cells:[3,3],defaultScale:5.91,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"RreinforcingBars_{color}_1.glb"},{type:"RreinforcingBars",style:"2",name:"Rreinforcing Bars 2",colors:["A","B","C"],cells:[3,3],defaultScale:1.78,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"RreinforcingBars_{color}_2.glb"},{type:"RreinforcingBars",style:"3",name:"Rreinforcing Bars 3",colors:["A","B","C"],cells:[3,3],defaultScale:3.5,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"RreinforcingBars_{color}_3.glb"},{type:"RreinforcingBars",style:"4",name:"Rreinforcing Bars 4",colors:["A","B","C"],cells:[3,3],defaultScale:1.29,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"RreinforcingBars_{color}_4.glb"},{type:"Stairs_C_1",style:"1",name:"Stairs_ C_1 1",colors:["A"],cells:[3,3],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Stairs_C_1_1.glb"},{type:"Stairs_C_1",style:"2",name:"Stairs_ C_1 2",colors:["A"],cells:[3,3],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Stairs_C_1_2.glb"},{type:"Stairs_C_1",style:"3",name:"Stairs_ C_1 3",colors:["A"],cells:[3,3],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Stairs_C_1_3.glb"},{type:"Stairs_C_1",style:"4",name:"Stairs_ C_1 4",colors:["A"],cells:[3,3],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Stairs_C_1_4.glb"},{type:"Stairs_C_1",style:"5",name:"Stairs_ C_1 5",colors:["A"],cells:[3,3],defaultScale:.75,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Stairs_C_1_5.glb"},{type:"Wall_A_1",style:"1",name:"Wall_ A_1 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_{color}_1_1.glb"},{type:"Wall_A_2",style:"1",name:"Wall_ A_2 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_{color}_2_1.glb"},{type:"Wall_A_3",style:"1",name:"Wall_ A_3 1",colors:["A"],cells:[3,3],defaultScale:1.28,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_{color}_3_1.glb"},{type:"Wall",style:"4",name:"Wall 4",colors:["A","B","D"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_{color}_4.glb"},{type:"Wall_B_1",style:"1",name:"Wall_ B_1 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_B_1_1.glb"},{type:"Wall_B_2",style:"1",name:"Wall_ B_2 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_B_2_1.glb"},{type:"Wall_B_3",style:"1",name:"Wall_ B_3 1",colors:["A"],cells:[3,3],defaultScale:1.28,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_B_3_1.glb"},{type:"Wall_D_1",style:"1",name:"Wall_ D_1 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_D_1_1.glb"},{type:"Wall_D_2",style:"1",name:"Wall_ D_2 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_D_2_1.glb"},{type:"Wall_D_3",style:"1",name:"Wall_ D_3 1",colors:["A"],cells:[3,3],defaultScale:1.28,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_D_3_1.glb"},{type:"Wall_E_1",style:"1",name:"Wall_ E_1 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_E_1_1.glb"},{type:"Wall_E_2",style:"1",name:"Wall_ E_2 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_E_2_1.glb"},{type:"Wall_E_3",style:"1",name:"Wall_ E_3 1",colors:["A"],cells:[3,3],defaultScale:1.28,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"Wall_E_3_1.glb"},{type:"WoodFrame_1",style:"1",name:"Wood Frame_1 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"WoodFrame_1_1.glb"},{type:"WoodFrame_1",style:"2",name:"Wood Frame_1 2",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"WoodFrame_1_2.glb"},{type:"WoodFrame_2",style:"1",name:"Wood Frame_2 1",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"WoodFrame_2_1.glb"},{type:"WoodFrame_2",style:"2",name:"Wood Frame_2 2",colors:["A"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"WoodFrame_2_2.glb"},{type:"cBuilding_1",style:"1",name:"c Building_1 1",colors:["A"],cells:[6,6],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cBuilding_1_1.glb"},{type:"cBuilding_1",style:"3",name:"c Building_1 3",colors:["A"],cells:[6,6],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cBuilding_1_3.glb"},{type:"cBuilding_2",style:"1",name:"c Building_2 1",colors:["A"],cells:[5,5],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cBuilding_2_1.glb"},{type:"cBuilding_2",style:"2",name:"c Building_2 2",colors:["A"],cells:[5,5],defaultScale:.52,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cBuilding_2_2.glb"},{type:"cGround",style:"1",name:"c Ground 1",colors:["A","B","C"],cells:[3,3],defaultScale:1.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_1.glb"},{type:"cGround",style:"2",name:"c Ground 2",colors:["A","B","C"],cells:[3,3],defaultScale:.64,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_2.glb"},{type:"cGround",style:"3",name:"c Ground 3",colors:["A","B","C"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_3.glb"},{type:"cGround",style:"4",name:"c Ground 4",colors:["A","B","C"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_4.glb"},{type:"cGround",style:"5",name:"c Ground 5",colors:["A","B","C"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_5.glb"},{type:"cGround",style:"6",name:"c Ground 6",colors:["A","B","C"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_6.glb"},{type:"cGround",style:"7",name:"c Ground 7",colors:["A","B","C"],cells:[6,6],defaultScale:.31,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_7.glb"},{type:"cGround",style:"8",name:"c Ground 8",colors:["A","B","C"],cells:[6,6],defaultScale:.32,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_8.glb"},{type:"cGround",style:"9",name:"c Ground 9",colors:["A","B","C"],cells:[6,6],defaultScale:.3,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_9.glb"},{type:"cGround_A_Side",style:"1",name:"c Ground_ A_ Side 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_Side_1.glb"},{type:"cGround_A_Side",style:"2",name:"c Ground_ A_ Side 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_Side_2.glb"},{type:"cGround_A_Side",style:"3",name:"c Ground_ A_ Side 3",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_Side_3.glb"},{type:"cGround_A_Side",style:"4",name:"c Ground_ A_ Side 4",colors:["A"],cells:[3,3],defaultScale:.51,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_Side_4.glb"},{type:"cGround_A_Under",style:"1",name:"c Ground_ A_ Under 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_Under_1.glb"},{type:"cGround_A_Under",style:"2",name:"c Ground_ A_ Under 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_Under_2.glb"},{type:"cGround_A_Under",style:"3",name:"c Ground_ A_ Under 3",colors:["A"],cells:[5,5],defaultScale:.43,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_Under_3.glb"},{type:"cGround_A_Under",style:"4",name:"c Ground_ A_ Under 4",colors:["A"],cells:[5,5],defaultScale:.43,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_{color}_Under_4.glb"},{type:"cGround_B_Side",style:"1",name:"c Ground_ B_ Side 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_B_Side_1_.glb"},{type:"cGround_B_Side",style:"2",name:"c Ground_ B_ Side 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_B_Side_2_.glb"},{type:"cGround_B_Side",style:"3",name:"c Ground_ B_ Side 3",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_B_Side_3_.glb"},{type:"cGround_B_Side",style:"4",name:"c Ground_ B_ Side 4",colors:["A"],cells:[3,3],defaultScale:.51,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_B_Side_4_.glb"},{type:"cGround_B_Under",style:"1",name:"c Ground_ B_ Under 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_B_Under_1_.glb"},{type:"cGround_B_Under",style:"2",name:"c Ground_ B_ Under 2",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_B_Under_2_.glb"},{type:"cGround_B_Under",style:"3",name:"c Ground_ B_ Under 3",colors:["A"],cells:[5,5],defaultScale:.43,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_B_Under_3_.glb"},{type:"cGround_B_Under",style:"4",name:"c Ground_ B_ Under 4",colors:["A"],cells:[5,5],defaultScale:.43,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_B_Under_4_.glb"},{type:"cGround_C_Side_1_",style:"1",name:"c Ground_ C_ Side_1_ 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_C_Side_1__.glb"},{type:"cGround_C_Side_2_",style:"1",name:"c Ground_ C_ Side_2_ 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_C_Side_2__.glb"},{type:"cGround_C_Side_3_",style:"1",name:"c Ground_ C_ Side_3_ 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_C_Side_3__.glb"},{type:"cGround_C_Side_4_",style:"1",name:"c Ground_ C_ Side_4_ 1",colors:["A"],cells:[3,3],defaultScale:.51,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_C_Side_4__.glb"},{type:"cGround_C_Under_1_",style:"1",name:"c Ground_ C_ Under_1_ 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_C_Under_1__.glb"},{type:"cGround_C_Under_2_",style:"1",name:"c Ground_ C_ Under_2_ 1",colors:["A"],cells:[5,5],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_C_Under_2__.glb"},{type:"cGround_C_Under_3_",style:"1",name:"c Ground_ C_ Under_3_ 1",colors:["A"],cells:[5,5],defaultScale:.43,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_C_Under_3__.glb"},{type:"cGround_C_Under_4_",style:"1",name:"c Ground_ C_ Under_4_ 1",colors:["A"],cells:[5,5],defaultScale:.43,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Buildings/",filePattern:"cGround_C_Under_4__.glb"},{type:"Barier_1",style:"1",name:"Barier_1 1",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_1_1.glb"},{type:"Barier_1",style:"2",name:"Barier_1 2",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_1_2.glb"},{type:"Barier_1",style:"3",name:"Barier_1 3",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_1_3.glb"},{type:"Barier_1",style:"4",name:"Barier_1 4",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_1_4.glb"},{type:"Barier_1",style:"5",name:"Barier_1 5",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_1_5.glb"},{type:"Barier_1",style:"6",name:"Barier_1 6",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_1_6.glb"},{type:"Barier_1",style:"7",name:"Barier_1 7",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_1_7.glb"},{type:"Barier_1",style:"8",name:"Barier_1 8",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_1_8.glb"},{type:"Barier_2",style:"1",name:"Barier_2 1",colors:["A"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_2_1.glb"},{type:"Barier_2",style:"2",name:"Barier_2 2",colors:["A"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_2_2.glb"},{type:"Barier_2",style:"3",name:"Barier_2 3",colors:["A"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_2_3.glb"},{type:"Barier_2",style:"4",name:"Barier_2 4",colors:["A"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_2_4.glb"},{type:"Barier_2",style:"5",name:"Barier_2 5",colors:["A"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_2_5.glb"},{type:"Barier_2",style:"6",name:"Barier_2 6",colors:["A"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_2_6.glb"},{type:"Barier_2",style:"7",name:"Barier_2 7",colors:["A"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_2_7.glb"},{type:"Barier_2",style:"8",name:"Barier_2 8",colors:["A"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_2_8.glb"},{type:"Barier_3",style:"1",name:"Barier_3 1",colors:["A"],cells:[1,1],defaultScale:.73,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_3_1.glb"},{type:"Barier_3",style:"2",name:"Barier_3 2",colors:["A"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barier_3_2.glb"},{type:"Barrel_1",style:"1",name:"Barrel_1 1",colors:["A"],cells:[1,1],defaultScale:1.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barrel_1_1.glb"},{type:"Barrel_1",style:"2",name:"Barrel_1 2",colors:["A"],cells:[1,1],defaultScale:1.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barrel_1_2.glb"},{type:"Barrel_1",style:"3",name:"Barrel_1 3",colors:["A"],cells:[1,1],defaultScale:1.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barrel_1_3.glb"},{type:"Barrel_1",style:"4",name:"Barrel_1 4",colors:["A"],cells:[1,1],defaultScale:1.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barrel_1_4.glb"},{type:"Barrel_1",style:"5",name:"Barrel_1 5",colors:["A"],cells:[1,1],defaultScale:1.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barrel_1_5.glb"},{type:"Barrel_1",style:"6",name:"Barrel_1 6",colors:["A"],cells:[1,1],defaultScale:1.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Barrel_1_6.glb"},{type:"BarsStack",style:"1",name:"Bars Stack 1",colors:["A"],cells:[1,1],defaultScale:.12,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"BarsStack_1.glb"},{type:"BarsStack",style:"2",name:"Bars Stack 2",colors:["A"],cells:[1,1],defaultScale:.12,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"BarsStack_2.glb"},{type:"BarsStack",style:"3",name:"Bars Stack 3",colors:["A"],cells:[1,1],defaultScale:.12,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"BarsStack_3.glb"},{type:"BoxWooden",style:"1",name:"Box Wooden 1",colors:["A","B"],cells:[1,1],defaultScale:.82,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"BoxWooden_1_{color}.glb"},{type:"Brick_1",style:"2",name:"Brick_1 2",colors:["A"],cells:[1,1],defaultScale:2.28,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Brick_1_2.glb"},{type:"Brick_1",style:"4",name:"Brick_1 4",colors:["A"],cells:[1,1],defaultScale:2.28,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Brick_1_4.glb"},{type:"Bricks_1",style:"2",name:"Bricks_1 2",colors:["A"],cells:[1,1],defaultScale:.67,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Bricks_1_2.glb"},{type:"Bricks_1",style:"4",name:"Bricks_1 4",colors:["A"],cells:[1,1],defaultScale:.67,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Bricks_1_4.glb"},{type:"Bucket",style:"1.1",name:"Bucket 1.1",colors:["A","B","C"],cells:[1,1],defaultScale:1.97,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Bucket_1_{color}_1.glb"},{type:"Bucket",style:"1.2",name:"Bucket 1.2",colors:["A","B","C"],cells:[1,1],defaultScale:1.97,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Bucket_1_{color}_2.glb"},{type:"Cargo_1",style:"1",name:"Cargo_1 1",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Cargo_1_1.glb"},{type:"Cargo_1",style:"2",name:"Cargo_1 2",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Cargo_1_2.glb"},{type:"Cargo_1",style:"3",name:"Cargo_1 3",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Cargo_1_3.glb"},{type:"Cargo_1",style:"4",name:"Cargo_1 4",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Cargo_1_4.glb"},{type:"CementMixer",style:"1",name:"Cement Mixer 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:1.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"CementMixer_{color}.glb"},{type:"Clipboard",style:"1",name:"Clipboard 1",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Clipboard.glb"},{type:"Concrate Truck",style:"1",name:"Concrate Truck 1",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Concrate Truck.glb"},{type:"Container_1",style:"1",name:"Container_1 1",colors:["A"],cells:[1,1],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Container_1_1.glb"},{type:"Container_1",style:"2",name:"Container_1 2",colors:["A"],cells:[1,1],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Container_1_2.glb"},{type:"Container_1",style:"3",name:"Container_1 3",colors:["A"],cells:[1,1],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Container_1_3.glb"},{type:"Container_1",style:"4",name:"Container_1 4",colors:["A"],cells:[1,1],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Container_1_4.glb"},{type:"Container_1",style:"7",name:"Container_1 7",colors:["A"],cells:[1,1],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Container_1_7.glb"},{type:"Container_1",style:"8",name:"Container_1 8",colors:["A"],cells:[1,1],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Container_1_8.glb"},{type:"Container_1",style:"9",name:"Container_1 9",colors:["A"],cells:[1,1],defaultScale:.17,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Container_1_9.glb"},{type:"Crane",style:"1",name:"Crane 1",colors:["A"],cells:[1,1],defaultScale:.1,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Crane.glb"},{type:"EarMuffs",style:"1",name:"Ear Muffs 1",colors:["A"],cells:[1,1],defaultScale:1.16,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"EarMuffs_1.glb"},{type:"EarMuffs",style:"2",name:"Ear Muffs 2",colors:["A"],cells:[1,1],defaultScale:1.16,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"EarMuffs_2.glb"},{type:"EarMuffs",style:"3",name:"Ear Muffs 3",colors:["A"],cells:[1,1],defaultScale:1.16,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"EarMuffs_3.glb"},{type:"EarMuffs",style:"4",name:"Ear Muffs 4",colors:["A"],cells:[1,1],defaultScale:1.16,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"EarMuffs_4.glb"},{type:"EarMuffs_Helmet",style:"1",name:"Ear Muffs_ Helmet 1",colors:["A"],cells:[1,1],defaultScale:1.16,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"EarMuffs_Helmet_1.glb"},{type:"EarMuffs_Helmet",style:"2",name:"Ear Muffs_ Helmet 2",colors:["A"],cells:[1,1],defaultScale:1.16,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"EarMuffs_Helmet_2.glb"},{type:"EarMuffs_Helmet",style:"3",name:"Ear Muffs_ Helmet 3",colors:["A"],cells:[1,1],defaultScale:1.16,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"EarMuffs_Helmet_3.glb"},{type:"EarMuffs_Helmet",style:"4",name:"Ear Muffs_ Helmet 4",colors:["A"],cells:[1,1],defaultScale:1.16,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"EarMuffs_Helmet_4.glb"},{type:"ForkLift",style:"1",name:"Fork Lift 1",colors:["A"],cells:[1,1],defaultScale:.26,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"ForkLift.glb"},{type:"GasCylinder_1",style:"1",name:"Gas Cylinder_1 1",colors:["A"],cells:[1,1],defaultScale:2.85,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_1_1.glb"},{type:"GasCylinder_1",style:"2",name:"Gas Cylinder_1 2",colors:["A"],cells:[1,1],defaultScale:2.85,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_1_2.glb"},{type:"GasCylinder_1",style:"3",name:"Gas Cylinder_1 3",colors:["A"],cells:[1,1],defaultScale:2.85,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_1_3.glb"},{type:"GasCylinder_1",style:"4",name:"Gas Cylinder_1 4",colors:["A"],cells:[1,1],defaultScale:2.85,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_1_4.glb"},{type:"GasCylinder_1",style:"5",name:"Gas Cylinder_1 5",colors:["A"],cells:[1,1],defaultScale:2.85,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_1_5.glb"},{type:"GasCylinder_1",style:"6",name:"Gas Cylinder_1 6",colors:["A"],cells:[1,1],defaultScale:2.85,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_1_6.glb"},{type:"GasCylinder_1",style:"7",name:"Gas Cylinder_1 7",colors:["A"],cells:[1,1],defaultScale:2.85,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_1_7.glb"},{type:"GasCylinder_2",style:"1",name:"Gas Cylinder_2 1",colors:["A"],cells:[1,1],defaultScale:2.08,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_2_1.glb"},{type:"GasCylinder_2",style:"2",name:"Gas Cylinder_2 2",colors:["A"],cells:[1,1],defaultScale:2.08,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_2_2.glb"},{type:"GasCylinder_2",style:"3",name:"Gas Cylinder_2 3",colors:["A"],cells:[1,1],defaultScale:2.08,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_2_3.glb"},{type:"GasCylinder_2",style:"4",name:"Gas Cylinder_2 4",colors:["A"],cells:[1,1],defaultScale:2.08,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_2_4.glb"},{type:"GasCylinder_2",style:"5",name:"Gas Cylinder_2 5",colors:["A"],cells:[1,1],defaultScale:2.08,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_2_5.glb"},{type:"GasCylinder_2",style:"6",name:"Gas Cylinder_2 6",colors:["A"],cells:[1,1],defaultScale:2.08,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"GasCylinder_2_6.glb"},{type:"Generator",style:"1",name:"Generator 1",colors:["A","B"],cells:[1,1],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Generator_1_{color}.glb"},{type:"Hamer",style:"1",name:"Hamer 1",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Hamer_1.glb"},{type:"Hamer",style:"2",name:"Hamer 2",colors:["A"],cells:[1,1],defaultScale:3,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Hamer_2.glb"},{type:"Helmet_1",style:"1",name:"Helmet_1 1",colors:["A"],cells:[1,1],defaultScale:1.12,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Helmet_1_1.glb"},{type:"Helmet_1",style:"2",name:"Helmet_1 2",colors:["A"],cells:[1,1],defaultScale:1.12,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Helmet_1_2.glb"},{type:"Helmet_1",style:"3",name:"Helmet_1 3",colors:["A"],cells:[1,1],defaultScale:1.12,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Helmet_1_3.glb"},{type:"Ladder_1",style:"1",name:"Ladder_1 1",colors:["A"],cells:[1,1],defaultScale:.63,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Ladder_1_1.glb"},{type:"Ladder_1",style:"2",name:"Ladder_1 2",colors:["A"],cells:[1,1],defaultScale:.63,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Ladder_1_2.glb"},{type:"Ladder_1",style:"4",name:"Ladder_1 4",colors:["A"],cells:[1,1],defaultScale:.63,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Ladder_1_4.glb"},{type:"Ladder_1",style:"5",name:"Ladder_1 5",colors:["A"],cells:[1,1],defaultScale:.63,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Ladder_1_5.glb"},{type:"Ladder_1",style:"6",name:"Ladder_1 6",colors:["A"],cells:[1,1],defaultScale:.63,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Ladder_1_6.glb"},{type:"Ladder_1",style:"7",name:"Ladder_1 7",colors:["A"],cells:[1,1],defaultScale:.63,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Ladder_1_7.glb"},{type:"Ladder_1",style:"9",name:"Ladder_1 9",colors:["A"],cells:[1,1],defaultScale:.63,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Ladder_1_9.glb"},{type:"LightsC",style:"1",name:"Lights C 1",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:.86,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"LightsC_1_{color}.glb"},{type:"Pallet_1",style:"1",name:"Pallet_1 1",colors:["A"],cells:[1,1],defaultScale:.65,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pallet_1_1.glb"},{type:"Pallet_1",style:"2",name:"Pallet_1 2",colors:["A"],cells:[1,1],defaultScale:.65,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pallet_1_2.glb"},{type:"Pipe_C_1",style:"1",name:"Pipe_ C_1 1",colors:["A"],cells:[1,1],defaultScale:.15,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipe_C_1_1.glb"},{type:"Pipe_C_1",style:"2",name:"Pipe_ C_1 2",colors:["A"],cells:[1,1],defaultScale:.15,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipe_C_1_2.glb"},{type:"Pipe_C_1",style:"3",name:"Pipe_ C_1 3",colors:["A"],cells:[1,1],defaultScale:.15,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipe_C_1_3.glb"},{type:"Pipe_C_1",style:"4",name:"Pipe_ C_1 4",colors:["A"],cells:[1,1],defaultScale:.15,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipe_C_1_4.glb"},{type:"Pipe_C_4",style:"1",name:"Pipe_ C_4 1",colors:["A"],cells:[1,1],defaultScale:.59,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipe_C_4_1.glb"},{type:"Pipe_C_4",style:"2",name:"Pipe_ C_4 2",colors:["A"],cells:[1,1],defaultScale:.33,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipe_C_4_2.glb"},{type:"Pipe_C_4",style:"3",name:"Pipe_ C_4 3",colors:["A"],cells:[1,1],defaultScale:.53,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipe_C_4_3.glb"},{type:"PipesBulk",style:"1",name:"Pipes Bulk 1",colors:["A"],cells:[1,1],defaultScale:.18,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"PipesBulk.glb"},{type:"Pipes_C_1",style:"1",name:"Pipes_ C_1 1",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipes_C_1_1.glb"},{type:"Pipes_C_1",style:"2",name:"Pipes_ C_1 2",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipes_C_1_2.glb"},{type:"Pipes_C_1",style:"3",name:"Pipes_ C_1 3",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipes_C_1_3.glb"},{type:"Pipes_C_1",style:"4",name:"Pipes_ C_1 4",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipes_C_1_4.glb"},{type:"Pipes_C_2",style:"1",name:"Pipes_ C_2 1",colors:["A"],cells:[1,1],defaultScale:.23,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipes_C_2_1.glb"},{type:"Pipes_C_2",style:"2",name:"Pipes_ C_2 2",colors:["A"],cells:[1,1],defaultScale:.23,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipes_C_2_2.glb"},{type:"Pipes_C_2",style:"3",name:"Pipes_ C_2 3",colors:["A"],cells:[1,1],defaultScale:.23,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipes_C_2_3.glb"},{type:"Pipes_C_2",style:"4",name:"Pipes_ C_2 4",colors:["A"],cells:[1,1],defaultScale:.23,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipes_C_2_4.glb"},{type:"Pipes_C_3",style:"1",name:"Pipes_ C_3 1",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipes_C_3_1.glb"},{type:"Pipes_C_3",style:"2",name:"Pipes_ C_3 2",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipes_C_3_2.glb"},{type:"Pipes_C_3",style:"3",name:"Pipes_ C_3 3",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipes_C_3_3.glb"},{type:"Pipes_C_3",style:"4",name:"Pipes_ C_3 4",colors:["A"],cells:[1,1],defaultScale:.14,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Pipes_C_3_4.glb"},{type:"Plank_1",style:"1",name:"Plank_1 1",colors:["A"],cells:[1,1],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Plank_1_1.glb"},{type:"Plank_1",style:"2",name:"Plank_1 2",colors:["A"],cells:[1,1],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Plank_1_2.glb"},{type:"Plank_1",style:"3",name:"Plank_1 3",colors:["A"],cells:[1,1],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Plank_1_3.glb"},{type:"Plank_2",style:"1",name:"Plank_2 1",colors:["A"],cells:[1,1],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Plank_2_1.glb"},{type:"Plank_2",style:"2",name:"Plank_2 2",colors:["A"],cells:[1,1],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Plank_2_2.glb"},{type:"Plank_2",style:"3",name:"Plank_2 3",colors:["A"],cells:[1,1],defaultScale:.27,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Plank_2_3.glb"},{type:"Planks",style:"1",name:"Planks 1",colors:["A"],cells:[1,1],defaultScale:.28,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Planks_1.glb"},{type:"Planks",style:"2",name:"Planks 2",colors:["A"],cells:[1,1],defaultScale:.28,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Planks_2.glb"},{type:"Planks",style:"3",name:"Planks 3",colors:["A"],cells:[1,1],defaultScale:.28,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Planks_3.glb"},{type:"Planks",style:"4",name:"Planks 4",colors:["A"],cells:[1,1],defaultScale:.28,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Planks_4.glb"},{type:"Rail_C_1",style:"1",name:"Rail_ C_1 1",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rail_C_1_1.glb"},{type:"Rail_C_1",style:"2",name:"Rail_ C_1 2",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rail_C_1_2.glb"},{type:"Rail_C_1",style:"3",name:"Rail_ C_1 3",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rail_C_1_3.glb"},{type:"Rail_C_1",style:"4",name:"Rail_ C_1 4",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rail_C_1_4.glb"},{type:"Rail_C_2",style:"1",name:"Rail_ C_2 1",colors:["A"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rail_C_2_1.glb"},{type:"Rail_C_2",style:"2",name:"Rail_ C_2 2",colors:["A"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rail_C_2_2.glb"},{type:"Rail_C_2",style:"3",name:"Rail_ C_2 3",colors:["A"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rail_C_2_3.glb"},{type:"Rail_C_2",style:"4",name:"Rail_ C_2 4",colors:["A"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rail_C_2_4.glb"},{type:"Rails_C_4",style:"1",name:"Rails_ C_4 1",colors:["A"],cells:[1,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rails_C_4_1.glb"},{type:"Rails_C_4",style:"2",name:"Rails_ C_4 2",colors:["A"],cells:[1,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rails_C_4_2.glb"},{type:"Rails_C_4",style:"3",name:"Rails_ C_4 3",colors:["A"],cells:[1,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rails_C_4_3.glb"},{type:"Rails_C_4",style:"4",name:"Rails_ C_4 4",colors:["A"],cells:[1,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rails_C_4_4.glb"},{type:"RoadRoller ",style:"1",name:"Road Roller 1",colors:["A"],cells:[1,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"RoadRoller .glb"},{type:"Rock",style:"1",name:"Rock 1",colors:["A","B"],cells:[1,1],defaultScale:1.39,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rock_{color}_1.glb"},{type:"Rock",style:"2",name:"Rock 2",colors:["A","B"],cells:[1,1],defaultScale:1.06,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rock_{color}_2.glb"},{type:"Rock",style:"3",name:"Rock 3",colors:["A","B"],cells:[1,1],defaultScale:.8,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rock_{color}_3.glb"},{type:"Rocks",style:"1",name:"Rocks 1",colors:["A","B"],cells:[1,1],defaultScale:.41,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rocks_{color}_1.glb"},{type:"Rocks",style:"2",name:"Rocks 2",colors:["A","B"],cells:[1,1],defaultScale:.54,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Rocks_{color}_2.glb"},{type:"RubbleContainer",style:"1",name:"Rubble Container 1",colors:["A","B","C","E"],cells:[1,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"RubbleContainer_{color}_1.glb"},{type:"RubbleContainer",style:"2",name:"Rubble Container 2",colors:["A","B","C","E"],cells:[1,1],defaultScale:.19,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"RubbleContainer_{color}_2.glb"},{type:"SGround",style:"1",name:"S Ground 1",colors:["A","B","C"],cells:[1,1],defaultScale:.21,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"SGround_{color}.glb"},{type:"SandHill_1",style:"1",name:"Sand Hill_1 1",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"SandHill_1_1.glb"},{type:"SandHill_1",style:"2",name:"Sand Hill_1 2",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"SandHill_1_2.glb"},{type:"SandHill_1",style:"3",name:"Sand Hill_1 3",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"SandHill_1_3.glb"},{type:"SandHill_1",style:"4",name:"Sand Hill_1 4",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"SandHill_1_4.glb"},{type:"SandHill_2",style:"1",name:"Sand Hill_2 1",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"SandHill_2_1.glb"},{type:"SandHill_2",style:"2",name:"Sand Hill_2 2",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"SandHill_2_2.glb"},{type:"SandHill_2",style:"3",name:"Sand Hill_2 3",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"SandHill_2_3.glb"},{type:"SandHill_2",style:"4",name:"Sand Hill_2 4",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"SandHill_2_4.glb"},{type:"Scaffold_sheet_1",style:"1",name:"Scaffold_sheet_1 1",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_1_1.glb"},{type:"Scaffold_sheet_1",style:"3",name:"Scaffold_sheet_1 3",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_1_3.glb"},{type:"Scaffold_sheet_1",style:"4",name:"Scaffold_sheet_1 4",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_1_4.glb"},{type:"Scaffold_sheet_1",style:"5",name:"Scaffold_sheet_1 5",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_1_5.glb"},{type:"Scaffold_sheet_1",style:"6",name:"Scaffold_sheet_1 6",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_1_6.glb"},{type:"Scaffold_sheet_1",style:"7",name:"Scaffold_sheet_1 7",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_1_7.glb"},{type:"Scaffold_sheet_1",style:"8",name:"Scaffold_sheet_1 8",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_1_8.glb"},{type:"Scaffold_sheet_2",style:"1",name:"Scaffold_sheet_2 1",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_2_1.glb"},{type:"Scaffold_sheet_2",style:"3",name:"Scaffold_sheet_2 3",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_2_3.glb"},{type:"Scaffold_sheet_2",style:"4",name:"Scaffold_sheet_2 4",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_2_4.glb"},{type:"Scaffold_sheet_2",style:"5",name:"Scaffold_sheet_2 5",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_2_5.glb"},{type:"Scaffold_sheet_2",style:"6",name:"Scaffold_sheet_2 6",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_2_6.glb"},{type:"Scaffold_sheet_2",style:"7",name:"Scaffold_sheet_2 7",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_2_7.glb"},{type:"Scaffold_sheet_2",style:"8",name:"Scaffold_sheet_2 8",colors:["A"],cells:[1,1],defaultScale:.44,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffold_sheet_2_8.glb"},{type:"Scaffolding",style:"1",name:"Scaffolding 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.37,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffolding_{color}_1.glb"},{type:"Scaffolding",style:"2",name:"Scaffolding 2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.37,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffolding_{color}_2.glb"},{type:"Scaffolding_Plank",style:"1",name:"Scaffolding_ Plank 1",colors:["A","B","C","D","E","F"],cells:[1,1],defaultScale:.38,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Scaffolding_Plank_{color}.glb"},{type:"SheetMetal",style:"1",name:"Sheet Metal 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.58,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"SheetMetal_{color}_1.glb"},{type:"SheetMetal",style:"2",name:"Sheet Metal 2",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.58,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"SheetMetal_{color}_2.glb"},{type:"SheetMetal",style:"3",name:"Sheet Metal 3",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.58,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"SheetMetal_{color}_3.glb"},{type:"Shovel",style:"1",name:"Shovel 1",colors:["A","B"],cells:[1,1],defaultScale:2.45,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Shovel_{color}.glb"},{type:"Sign",style:"1",name:"Sign 1",colors:["C"],cells:[1,1],defaultScale:1.68,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Sign_{color}_1.glb"},{type:"Sign",style:"2",name:"Sign 2",colors:["C"],cells:[1,1],defaultScale:1.03,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Sign_{color}_2.glb"},{type:"Sign",style:"3",name:"Sign 3",colors:["C"],cells:[1,1],defaultScale:1.03,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Sign_{color}_3.glb"},{type:"Sign",style:"4",name:"Sign 4",colors:["C"],cells:[1,1],defaultScale:1.03,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Sign_{color}_4.glb"},{type:"Sign",style:"5",name:"Sign 5",colors:["C"],cells:[1,1],defaultScale:1.22,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Sign_{color}_5.glb"},{type:"Sign",style:"6",name:"Sign 6",colors:["C"],cells:[1,1],defaultScale:1.22,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Sign_{color}_6.glb"},{type:"Sign",style:"7",name:"Sign 7",colors:["C"],cells:[1,1],defaultScale:1.03,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Sign_{color}_7.glb"},{type:"Spool_1",style:"1",name:"Spool_1 1",colors:["A"],cells:[1,1],defaultScale:.66,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Spool_1_1.glb"},{type:"Spool_1",style:"2",name:"Spool_1 2",colors:["A"],cells:[1,1],defaultScale:.66,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Spool_1_2.glb"},{type:"Spool_2",style:"1",name:"Spool_2 1",colors:["A"],cells:[1,1],defaultScale:.66,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Spool_2_1.glb"},{type:"Spool_2",style:"2",name:"Spool_2 2",colors:["A"],cells:[1,1],defaultScale:.66,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Spool_2_2.glb"},{type:"Spool",style:"3",name:"Spool 3",colors:["A","B","C"],cells:[1,1],defaultScale:.66,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Spool_3_{color}.glb"},{type:"Spool_Empty",style:"1",name:"Spool_ Empty 1",colors:["A"],cells:[1,1],defaultScale:.66,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Spool_Empty.glb"},{type:"Tape_1",style:"1",name:"Tape_1 1",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Tape_1_1.glb"},{type:"Tape_1",style:"2",name:"Tape_1 2",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Tape_1_2.glb"},{type:"Tape_2",style:"1",name:"Tape_2 1",colors:["A"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Tape_2_1.glb"},{type:"Tape_2",style:"2",name:"Tape_2 2",colors:["A"],cells:[1,1],defaultScale:.4,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Tape_2_2.glb"},{type:"Tape_3",style:"1",name:"Tape_3 1",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Tape_3_1.glb"},{type:"Tape_3",style:"2",name:"Tape_3 2",colors:["A"],cells:[1,1],defaultScale:.2,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Tape_3_2.glb"},{type:"Toilet_C_1 ",style:"1",name:"Toilet_ C_1 1",colors:["A"],cells:[1,1],defaultScale:.55,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"Toilet_C_1 .glb"},{type:"TowerCrane_Add",style:"1",name:"Tower Crane_ Add 1",colors:["A"],cells:[1,1],defaultScale:.81,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"TowerCrane_Add.glb"},{type:"TrailerC",style:"1",name:"Trailer C 1",colors:["A","B","C","D","E"],cells:[1,1],defaultScale:.13,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"TrailerC_1_{color}.glb"},{type:"WheelBarel",style:"2",name:"Wheel Barel 2",colors:["A"],cells:[1,1],defaultScale:.37,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"WheelBarel_2.glb"},{type:"WheelBarel",style:"3",name:"Wheel Barel 3",colors:["A"],cells:[1,1],defaultScale:.37,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"WheelBarel_3.glb"},{type:"WheelBarel",style:"4",name:"Wheel Barel 4",colors:["A"],cells:[1,1],defaultScale:.37,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"WheelBarel_4.glb"},{type:"WheelBarel",style:"6",name:"Wheel Barel 6",colors:["A"],cells:[1,1],defaultScale:.37,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"WheelBarel_6.glb"},{type:"WheelBarel",style:"7",name:"Wheel Barel 7",colors:["A"],cells:[1,1],defaultScale:.37,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"WheelBarel_7.glb"},{type:"WoodStock",style:"1",name:"Wood Stock 1",colors:["A"],cells:[1,1],defaultScale:.22,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"WoodStock_1.glb"},{type:"WoodStock",style:"2",name:"Wood Stock 2",colors:["A"],cells:[1,1],defaultScale:.22,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"WoodStock_2.glb"},{type:"WoodStock",style:"3",name:"Wood Stock 3",colors:["A"],cells:[1,1],defaultScale:.22,urlPattern:"assets/models/megapack/gltf/Construction%20Site/Other/",filePattern:"WoodStock_3.glb"}],Dt={kaykit:Pt,buildings:yt,vehicles:St,roads:ht,nature:Ct,streetProps:bt,tiles:Bt,signs:kt,factory:At,foodProps:vt,roofProps:Rt,basketball:Et,other:Ft,construction:xt};function Gt(){return u()==="en"?Dt:_t}const wt={custom:"我的",kaykit:"小镇",buildings:"建筑",vehicles:"汽车",roads:"道路",nature:"自然",streetProps:"街道",tiles:"瓦片",signs:"标牌",factory:"工厂",foodProps:"餐饮",roofProps:"屋顶",basketball:"球场",other:"其他",construction:"工地"},Mt={custom:"Custom",kaykit:"Town",buildings:"Buildings",vehicles:"Vehicles",roads:"Roads",nature:"Nature",streetProps:"Street",tiles:"Tiles",signs:"Signs",factory:"Factory",foodProps:"Food",roofProps:"Roof",basketball:"Sports",other:"Other",construction:"Build"},Lt=["custom","kaykit","buildings","vehicles","roads","nature","streetProps","tiles","signs","factory","foodProps","roofProps","basketball","other","construction"];function Ot(){const C=u()==="en"?Mt:wt;return Lt.map(e=>({key:e,label:C[e]??e}))}const q=12;class Tt{constructor(e,t){p(this,"container");p(this,"editor");p(this,"listEl");p(this,"preview",null);p(this,"activeCategory","custom");p(this,"page",0);p(this,"selectedGroup",null);p(this,"selectedColor","A");p(this,"customStore",null);p(this,"customUpload",null);p(this,"selectedCustomAsset",null);p(this,"activePopover",null);this.container=e,this.editor=t,this.listEl=e.querySelector(".palette-list")??e,this.initTabs(),this.renderList(),document.addEventListener("click",l=>{this.activePopover&&!this.activePopover.contains(l.target)&&(this.activePopover.remove(),this.activePopover=null)})}setPreview(e){this.preview=e}setCustomStore(e){this.customStore=e,e.onChange(()=>{this.activeCategory==="custom"&&this.renderList()}),this.activeCategory==="custom"&&this.renderList()}setCustomUpload(e){this.customUpload=e}initTabs(){const e=this.container.querySelector(".palette-tabs");e.innerHTML="";for(const t of Ot()){const l=document.createElement("button");l.className=`palette-tab${t.key===this.activeCategory?" active":""}`,l.dataset.category=t.key,l.textContent=t.label,l.addEventListener("click",()=>{this.activeCategory=t.key,this.page=0,this.selectedGroup=null,this.selectedCustomAsset=null,this.container.querySelectorAll(".palette-tab").forEach(o=>o.classList.remove("active")),l.classList.add("active");const a=this.container.querySelector(".custom-add-footer");a&&t.key!=="custom"&&a.remove(),this.renderList()}),e.appendChild(l)}}getGroups(){return this.activeCategory==="custom"?[]:Gt()[this.activeCategory]??[]}renderList(){var o,r;if(this.activeCategory==="custom"){this.renderCustomList();return}const e=this.getGroups(),t=Math.ceil(e.length/q),l=e.slice(this.page*q,(this.page+1)*q);if(this.listEl.innerHTML="",e.length===0){this.listEl.innerHTML='<div class="palette-empty">'+(u()==="en"?"No assets":"暂无资产")+"</div>";return}for(const s of l){const n=this.selectedGroup===s,c=document.createElement("div");c.className=`asset-card${n?" selected":""}`;const i=this.guessIcon(s),m=this.truncName(s.name),g=s.colors.length;if(c.innerHTML=`
|
|
2
|
+
<div class="asset-icon">${i}</div>
|
|
3
|
+
<div class="asset-card-info">
|
|
4
|
+
<div class="asset-name" title="${s.name}">${m}</div>
|
|
5
|
+
<div class="asset-meta">${s.cells[0]}×${s.cells[1]}${g>1?` · ${g}色`:""}</div>
|
|
6
|
+
</div>
|
|
7
|
+
`,c.addEventListener("click",()=>{this.selectedGroup===s?(this.selectedGroup=null,this.editor.stopPlacing(),this.renderList()):(this.selectedGroup=s,this.selectedColor=s.colors[0],this.startPlacingCurrent(),this.renderList())}),this.listEl.appendChild(c),n&&g>1){const d=document.createElement("div");d.className="color-bar";for(const _ of s.colors){const P=document.createElement("button");P.className=`color-swatch${_===this.selectedColor?" active":""}`,P.textContent=_,P.title=u()==="en"?`Color ${_}`:`颜色 ${_}`,P.addEventListener("click",R=>{R.stopPropagation(),this.selectedColor=_,this.startPlacingCurrent(),this.renderList()}),d.appendChild(P)}this.listEl.appendChild(d)}}let a=this.container.querySelector(".palette-pager");a&&a.remove(),t>1&&(a=document.createElement("div"),a.className="palette-pager",a.innerHTML=`
|
|
8
|
+
<button class="pager-btn" id="pager-prev" ${this.page===0?"disabled":""}>‹</button>
|
|
9
|
+
<span class="pager-info">${this.page+1} / ${t}</span>
|
|
10
|
+
<button class="pager-btn" id="pager-next" ${this.page>=t-1?"disabled":""}>›</button>
|
|
11
|
+
`,this.container.appendChild(a),(o=a.querySelector("#pager-prev"))==null||o.addEventListener("click",()=>{this.page>0&&(this.page--,this.renderList())}),(r=a.querySelector("#pager-next"))==null||r.addEventListener("click",()=>{this.page<t-1&&(this.page++,this.renderList())}))}renderCustomList(){var r,s,n,c,i,m,g;const e=((r=this.customStore)==null?void 0:r.getAssets("model"))??[];this.listEl.innerHTML="";let t=this.container.querySelector(".palette-pager");if(t&&t.remove(),e.length===0){this.listEl.innerHTML=`
|
|
12
|
+
<div class="palette-empty custom-empty">
|
|
13
|
+
<div class="custom-empty-icon">
|
|
14
|
+
<svg width="36" height="36" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
|
|
15
|
+
<path d="M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4"/>
|
|
16
|
+
<polyline points="17 8 12 3 7 8"/>
|
|
17
|
+
<line x1="12" y1="3" x2="12" y2="15"/>
|
|
18
|
+
</svg>
|
|
19
|
+
</div>
|
|
20
|
+
<div>${u()==="en"?"Add your first scene asset":"添加你的第一个场景资产"}</div>
|
|
21
|
+
<button class="custom-add-btn-empty">${u()==="en"?"+ Add Asset":"+ 添加资产"}</button>
|
|
22
|
+
</div>
|
|
23
|
+
`,(s=this.listEl.querySelector(".custom-add-btn-empty"))==null||s.addEventListener("click",()=>{var d;(d=this.customUpload)==null||d.open(()=>this.renderList())});return}const l=Math.ceil(e.length/q),a=e.slice(this.page*q,(this.page+1)*q);for(const d of a){const _=((n=this.selectedCustomAsset)==null?void 0:n.id)===d.id,P=document.createElement("div");P.className=`asset-card custom-card${_?" selected":""}`;const R=d.thumbnail?`<img class="custom-thumb" src="${d.thumbnail}" alt="">`:`<div class="asset-icon">${this.guessIconByType(d.assetType??"prop")}</div>`;P.innerHTML=`
|
|
24
|
+
<div class="custom-thumb-wrap">${R}</div>
|
|
25
|
+
<div class="asset-card-info">
|
|
26
|
+
<div class="asset-name" title="${this.escHtml(d.name)}">${this.escHtml(d.name)}</div>
|
|
27
|
+
<div class="asset-meta">${((c=d.cells)==null?void 0:c[0])??1}×${((i=d.cells)==null?void 0:i[1])??1}</div>
|
|
28
|
+
</div>
|
|
29
|
+
<button class="custom-more-btn" title="${u()==="en"?"More":"更多"}">
|
|
30
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" stroke="none">
|
|
31
|
+
<circle cx="12" cy="5" r="2"/><circle cx="12" cy="12" r="2"/><circle cx="12" cy="19" r="2"/>
|
|
32
|
+
</svg>
|
|
33
|
+
</button>
|
|
34
|
+
`,P.addEventListener("click",S=>{var y;S.target.closest(".custom-more-btn")||(((y=this.selectedCustomAsset)==null?void 0:y.id)===d.id?(this.selectedCustomAsset=null,this.editor.stopPlacing(),this.renderList()):(this.selectedCustomAsset=d,this.selectedGroup=null,this.startPlacingCustom(d),this.renderList()))}),P.querySelector(".custom-more-btn").addEventListener("click",S=>{S.stopPropagation(),this.showPopover(P.querySelector(".custom-more-btn"),d)}),this.listEl.appendChild(P)}l>1&&(t=document.createElement("div"),t.className="palette-pager",t.innerHTML=`
|
|
35
|
+
<button class="pager-btn" id="pager-prev" ${this.page===0?"disabled":""}>‹</button>
|
|
36
|
+
<span class="pager-info">${this.page+1} / ${l}</span>
|
|
37
|
+
<button class="pager-btn" id="pager-next" ${this.page>=l-1?"disabled":""}>›</button>
|
|
38
|
+
`,this.container.appendChild(t),(m=t.querySelector("#pager-prev"))==null||m.addEventListener("click",()=>{this.page>0&&(this.page--,this.renderList())}),(g=t.querySelector("#pager-next"))==null||g.addEventListener("click",()=>{this.page<l-1&&(this.page++,this.renderList())}));let o=this.container.querySelector(".custom-add-footer");o||(o=document.createElement("button"),o.className="custom-add-footer",o.innerHTML=u()==="en"?"+ Add Asset":"+ 添加资产",o.addEventListener("click",()=>{var d;(d=this.customUpload)==null||d.open(()=>this.renderList())}),this.container.appendChild(o))}startPlacingCustom(e){var o,r,s;const t=(o=this.customStore)==null?void 0:o.getModelUrl(e);if(!t)return;const l=((r=this.customStore)==null?void 0:r.getPersistentUrl(e))??t,a={key:`custom_${e.id}`,name:e.name,url:l,cells:e.cells??[1,1],defaultScale:e.scale,fixRotationX:e.fixRotationX,fixRotationY:e.fixRotationY,fixRotationZ:e.fixRotationZ,category:"custom",assetType:e.assetType??"prop"};this.editor.startPlacing(a),(s=this.preview)==null||s.show(t,a.name,a.fixRotationX)}showPopover(e,t){this.activePopover&&(this.activePopover.remove(),this.activePopover=null);const l=document.createElement("div");l.className="custom-popover",l.innerHTML=`
|
|
39
|
+
<button class="popover-item" data-action="edit">
|
|
40
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"/><path d="M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z"/></svg>
|
|
41
|
+
${u()==="en"?"Edit":"编辑"}
|
|
42
|
+
</button>
|
|
43
|
+
<button class="popover-item popover-danger" data-action="delete">
|
|
44
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 6h18M19 6v14a2 2 0 01-2 2H7a2 2 0 01-2-2V6m3 0V4a2 2 0 012-2h4a2 2 0 012 2v2"/></svg>
|
|
45
|
+
${u()==="en"?"Delete":"删除"}
|
|
46
|
+
</button>
|
|
47
|
+
`;const a=e.getBoundingClientRect(),o=this.container.getBoundingClientRect();l.style.position="absolute",l.style.top=`${a.bottom-o.top+4}px`,l.style.right="8px",l.querySelector('[data-action="edit"]').addEventListener("click",r=>{var s;r.stopPropagation(),l.remove(),this.activePopover=null,(s=this.customUpload)==null||s.openEdit(t,()=>this.renderList())}),l.querySelector('[data-action="delete"]').addEventListener("click",r=>{r.stopPropagation(),l.remove(),this.activePopover=null,this.confirmDelete(t)}),this.container.appendChild(l),this.activePopover=l}async confirmDelete(e){var a,o;const t=document.getElementById("confirm-overlay");document.getElementById("confirm-title").textContent=u()==="en"?"Delete Asset":"删除资产",document.getElementById("confirm-message").textContent=u()==="en"?`Delete "${e.name}"? Items using this asset will not display.`:`确定要删除「${e.name}」吗?删除后地图中使用该资产的物件将无法显示。`,t.classList.add("open"),await new Promise(r=>{const s=document.getElementById("confirm-ok"),n=document.getElementById("confirm-cancel"),c=d=>{t.classList.remove("open"),s.removeEventListener("click",i),n.removeEventListener("click",m),t.removeEventListener("click",g),r(d)},i=()=>c(!0),m=()=>c(!1),g=d=>{d.target===t&&c(!1)};s.addEventListener("click",i),n.addEventListener("click",m),t.addEventListener("click",g)})&&(((a=this.selectedCustomAsset)==null?void 0:a.id)===e.id&&(this.selectedCustomAsset=null,this.editor.stopPlacing()),await((o=this.customStore)==null?void 0:o.delete(e.id)))}guessIconByType(e){const t=l=>`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">${l}</svg>`;return t(e==="building"?'<path d="M3 21h18"/><path d="M5 21V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16"/><path d="M9 7h1"/><path d="M14 7h1"/><path d="M9 11h1"/><path d="M14 11h1"/>':e==="road"?'<path d="M4 19L20 19"/><path d="M4 15h16"/><path d="M12 3v16"/>':'<path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/><polyline points="3.27 6.96 12 12.01 20.73 6.96"/><line x1="12" y1="22.08" x2="12" y2="12"/>')}escHtml(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}startPlacingCurrent(){var t;if(!this.selectedGroup)return;const e=this.resolveEntry(this.selectedGroup,this.selectedColor);e&&(this.editor.startPlacing(e),(t=this.preview)==null||t.show(e.url,e.name,e.fixRotationX))}resolveEntry(e,t){const l=e.filePattern.replace("{color}",t),a=e.urlPattern+l;return{key:`${e.type}_${e.style}_${t}`.toLowerCase().replace(/\s+/g,"_"),name:`${e.name} (${t})`,url:a,cells:e.cells,defaultScale:e.defaultScale,fixRotationX:e.fixRotationX,category:this.activeCategory,assetType:e.type.toLowerCase()}}truncName(e){let t=e.replace(/^Building\s*/i,"Bld ").replace(/^Parking\s*Road/i,"P-Road").replace(/^Road\s*Mid/i,"RdMid");return t.length>20&&(t=t.slice(0,19)+"…"),t}guessIcon(e){const t=e.type.toLowerCase(),l=a=>`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">${a}</svg>`;return t.includes("tree")||t.includes("bush")||t.includes("flower")||t.includes("mushroom")?l('<path d="M12 22v-7"/><path d="M9 9a5 5 0 0 1 6 0"/><circle cx="12" cy="8" r="5"/>'):t.includes("road")||t.includes("parking")||t.includes("tile")||t.includes("grass")?l('<path d="M4 19L20 19"/><path d="M4 15h16"/><path d="M12 3v16"/><path d="M12 7h0"/><path d="M12 11h0"/>'):t.includes("building")||t.includes("fabric")?l('<path d="M3 21h18"/><path d="M5 21V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16"/><path d="M9 7h1"/><path d="M14 7h1"/><path d="M9 11h1"/><path d="M14 11h1"/>'):t.includes("car")||t.includes("taxi")||t.includes("truck")||t.includes("rv")||t.includes("police")||t.includes("bus")?l('<path d="M5 17h14"/><rect x="3" y="11" width="18" height="6" rx="2"/><path d="M6 11V7a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v4"/><circle cx="7" cy="17" r="2"/><circle cx="17" cy="17" r="2"/>'):t.includes("lamp")||t.includes("light")||t.includes("streetlamp")?l('<line x1="12" y1="2" x2="12" y2="14"/><path d="M9 14h6"/><path d="M8 22h8"/><path d="M10 22v-4h4v4"/>'):t.includes("fence")||t.includes("wall")||t.includes("brick")?l('<rect x="1" y="4" width="22" height="16" rx="1"/><line x1="1" y1="10" x2="23" y2="10"/><line x1="1" y1="16" x2="23" y2="16"/><line x1="12" y1="4" x2="12" y2="10"/><line x1="7" y1="10" x2="7" y2="16"/><line x1="17" y1="10" x2="17" y2="16"/>'):t.includes("sign")||t.includes("bilboard")||t.includes("placard")?l('<rect x="4" y="3" width="16" height="12" rx="1"/><line x1="12" y1="15" x2="12" y2="22"/><line x1="8" y1="22" x2="16" y2="22"/>'):t.includes("bench")||t.includes("chair")||t.includes("table")||t.includes("parasol")?l('<path d="M4 18h16"/><path d="M4 18l1-6h14l1 6"/><path d="M6 12V8"/><path d="M18 12V8"/>'):t.includes("cone")||t.includes("barier")?l('<path d="M12 2L8 22h8L12 2z"/><line x1="6" y1="22" x2="18" y2="22"/>'):t.includes("food")||t.includes("burger")||t.includes("pizza")||t.includes("coffee")?l('<path d="M18 8h1a4 4 0 0 1 0 8h-1"/><path d="M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z"/><line x1="6" y1="1" x2="6" y2="4"/><line x1="10" y1="1" x2="10" y2="4"/><line x1="14" y1="1" x2="14" y2="4"/>'):t.includes("basket")?l('<circle cx="12" cy="12" r="10"/><path d="M12 2a14.5 14.5 0 0 0 0 20"/><path d="M2 12h20"/>'):t.includes("factory")||t.includes("gas")||t.includes("chimney")?l('<path d="M2 20h20"/><path d="M5 20V8l5 4V8l5 4V4h3v16"/>'):t.includes("rock")||t.includes("peble")?l('<path d="M6 18l-2-5 4-7 5-2 6 3 3 6-2 5H6z"/>'):t.includes("trash")||t.includes("dumpster")?l('<path d="M3 6h18"/><path d="M8 6V4h8v2"/><path d="M5 6v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6"/>'):t.includes("hydrant")||t.includes("post")?l('<rect x="9" y="3" width="6" height="18" rx="2"/><path d="M5 10h14"/>'):t.includes("plane")||t.includes("heli")||t.includes("cloud")||t.includes("antenna")?l('<path d="M17.8 19.2L16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z"/>'):t.includes("duck")?l('<circle cx="10" cy="8" r="5"/><path d="M15 8c2 0 4 1 5 3"/><path d="M5 13c-2 2-3 5-1 7h16c2-2 1-5-1-7"/>'):l('<path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/><polyline points="3.27 6.96 12 12.01 20.73 6.96"/><line x1="12" y1="22.08" x2="12" y2="12"/>')}deselect(){this.selectedGroup=null,this.selectedCustomAsset=null,this.renderList()}switchToCustom(){var e;this.activeCategory="custom",this.page=0,this.selectedGroup=null,this.container.querySelectorAll(".palette-tab").forEach(t=>t.classList.remove("active")),(e=this.container.querySelector('.palette-tab[data-category="custom"]'))==null||e.classList.add("active"),this.renderList()}}const Ht=1052696,It=2.5;class Nt{constructor(e){p(this,"container");p(this,"canvas");p(this,"renderer");p(this,"scene");p(this,"camera");p(this,"controls");p(this,"loader",new Fe);p(this,"currentModel",null);p(this,"infoName");p(this,"infoSize");p(this,"animId",0);p(this,"visible",!1);p(this,"pendingFixRotationX",0);var s;this.container=e,this.canvas=e.querySelector("canvas"),this.infoName=e.querySelector(".preview-name"),this.infoSize=e.querySelector(".preview-size"),this.renderer=new me({canvas:this.canvas,antialias:!0}),this.renderer.setPixelRatio(Math.min(devicePixelRatio,2)),this.renderer.outputColorSpace=xe,this.scene=new pe,this.scene.background=new _e(Ht),this.camera=new Pe(40,1,.01,200),this.camera.position.set(3,2,3),this.controls=new De(this.camera,this.canvas),this.controls.enableDamping=!0,this.controls.dampingFactor=.08,this.controls.autoRotate=!0,this.controls.autoRotateSpeed=1.5,this.controls.minDistance=.1,this.controls.maxDistance=50,this.controls.addEventListener("start",()=>{this.controls.autoRotate=!1});const t=new ye(16777215,.7);this.scene.add(t);const l=new ae(16777215,1.2);l.position.set(5,8,5),this.scene.add(l);const a=new ae(8947967,.3);a.position.set(-5,3,-5),this.scene.add(a);const o=new X(new Ee(40,40),new ge({color:1315872,roughness:.9}));o.rotation.x=-Math.PI/2,o.position.y=-.01,this.scene.add(o);const r=new Se(20,40,2236979,1579044);this.scene.add(r),(s=e.querySelector(".preview-close"))==null||s.addEventListener("click",()=>this.hide()),new ResizeObserver(()=>this.resize()).observe(this.canvas)}show(e,t,l){this.pendingFixRotationX=l??0,this.container.classList.add("visible"),this.visible||(this.visible=!0,this.resize(),this.startLoop()),this.loadModel(e,t)}hide(){this.container.classList.remove("visible"),this.visible=!1,cancelAnimationFrame(this.animId)}isOpen(){return this.visible}async loadModel(e,t){this.infoName.textContent=t,this.infoSize.textContent=u()==="en"?"Loading...":"加载中...";const l=/^(blob:|https?:\/\/)/.test(e)?e:"./"+e;try{const a=await this.loader.loadAsync(l);this.setModel(a.scene,t)}catch{this.infoSize.textContent=u()==="en"?"Load failed":"加载失败",this.currentModel&&(this.scene.remove(this.currentModel),this.currentModel=null)}}setModel(e,t){if(this.currentModel&&this.scene.remove(this.currentModel),this.pendingFixRotationX){const m=new V;for(m.rotation.x=this.pendingFixRotationX*Math.PI/180;e.children.length>0;)m.add(e.children[0]);const g=new V;g.add(m),e=g}this.currentModel=e,this.scene.add(e);const l=new z().setFromObject(e),a=l.getSize(new w),o=l.getCenter(new w),r=Math.max(a.x,a.y,a.z);if(r>0){const m=It/r;e.scale.setScalar(m),l.setFromObject(e),l.getCenter(o),e.position.sub(o),l.setFromObject(e),e.position.y-=l.min.y}const s=new z().setFromObject(e),n=s.getCenter(new w);this.controls.target.copy(n);const c=s.getSize(new w),i=Math.max(c.x,c.y,c.z)*2;this.camera.position.set(n.x+i*.7,n.y+i*.5,n.z+i*.7),this.controls.autoRotate=!0,this.controls.update(),this.infoName.textContent=t,this.infoSize.textContent=`${a.x.toFixed(1)} × ${a.y.toFixed(1)} × ${a.z.toFixed(1)}`}resize(){const e=this.canvas.clientWidth,t=this.canvas.clientHeight;e>0&&t>0&&(this.renderer.setSize(e,t),this.camera.aspect=e/t,this.camera.updateProjectionMatrix())}startLoop(){const e=()=>{this.visible&&(this.animId=requestAnimationFrame(e),this.controls.update(),this.renderer.render(this.scene,this.camera))};this.animId=requestAnimationFrame(e)}}const ne='<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21.5 2v6h-6"/><path d="M21.34 13.72A10 10 0 1 1 18.57 4.93L21.5 8"/></svg>',ce='<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3v18"/><path d="M16 7l4 5-4 5"/><path d="M8 7l-4 5 4 5"/></svg>',ie='<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12h18"/><path d="M7 8L12 4l5 4"/><path d="M7 16l5 4 5-4"/></svg>',de='<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 6h18M19 6v14a2 2 0 01-2 2H7a2 2 0 01-2-2V6m3 0V4a2 2 0 012-2h4a2 2 0 012 2v2"/></svg>',Wt='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="4" y1="2" x2="4" y2="22"/><rect x="8" y="6" width="12" height="4" rx="1"/><rect x="8" y="14" width="8" height="4" rx="1"/></svg>',zt='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="12" y1="2" x2="12" y2="22"/><rect x="4" y="6" width="16" height="4" rx="1"/><rect x="6" y="14" width="12" height="4" rx="1"/></svg>',Xt='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="20" y1="2" x2="20" y2="22"/><rect x="4" y="6" width="12" height="4" rx="1"/><rect x="8" y="14" width="8" height="4" rx="1"/></svg>',Kt='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="4" y="5" width="4" height="14" rx="1"/><rect x="10" y="5" width="4" height="14" rx="1"/><rect x="16" y="5" width="4" height="14" rx="1"/></svg>',Vt='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="2" y1="4" x2="22" y2="4"/><rect x="6" y="8" width="4" height="12" rx="1"/><rect x="14" y="8" width="4" height="8" rx="1"/></svg>',Jt='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="2" y1="12" x2="22" y2="12"/><rect x="6" y="4" width="4" height="16" rx="1"/><rect x="14" y="6" width="4" height="12" rx="1"/></svg>',$t='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="2" y1="20" x2="22" y2="20"/><rect x="6" y="4" width="4" height="12" rx="1"/><rect x="14" y="8" width="4" height="8" rx="1"/></svg>',Zt='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="5" y="4" width="14" height="4" rx="1"/><rect x="5" y="10" width="14" height="4" rx="1"/><rect x="5" y="16" width="14" height="4" rx="1"/></svg>',qt='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="2" y1="4" x2="4" y2="4"/><line x1="2" y1="12" x2="4" y2="12"/><line x1="2" y1="20" x2="4" y2="20"/><line x1="6" y1="4" x2="22" y2="4"/><rect x="10" y="8" width="4" height="12" rx="1"/><rect x="16" y="8" width="4" height="8" rx="1"/></svg>',Ut='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="2" y1="4" x2="4" y2="4"/><line x1="2" y1="12" x2="4" y2="12"/><line x1="2" y1="20" x2="4" y2="20"/><line x1="6" y1="12" x2="22" y2="12"/><rect x="10" y="4" width="4" height="16" rx="1"/><rect x="16" y="6" width="4" height="12" rx="1"/></svg>',Yt='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="2" y1="4" x2="4" y2="4"/><line x1="2" y1="12" x2="4" y2="12"/><line x1="2" y1="20" x2="4" y2="20"/><line x1="6" y1="20" x2="22" y2="20"/><rect x="10" y="4" width="4" height="12" rx="1"/><rect x="16" y="8" width="4" height="8" rx="1"/></svg>',jt='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="2" y1="4" x2="6" y2="4"/><line x1="2" y1="12" x2="6" y2="12"/><line x1="2" y1="20" x2="6" y2="20"/><rect x="9" y="2" width="6" height="4" rx="1"/><rect x="9" y="10" width="6" height="4" rx="1"/><rect x="9" y="18" width="6" height="4" rx="1"/></svg>';class Qt{constructor(e,t){p(this,"el");p(this,"editor");p(this,"currentItemId",null);p(this,"tooltipEl",null);this.el=e,this.editor=t,this.initTooltip()}initTooltip(){const e=document.createElement("div");e.className="pi-tooltip",document.body.appendChild(e),this.tooltipEl=e,this.el.addEventListener("pointerenter",t=>{const l=t.target.closest("[data-tip]");if(!l)return;e.textContent=l.dataset.tip,e.classList.add("visible");const a=l.getBoundingClientRect();e.style.left=`${a.left+a.width/2}px`,e.style.top=`${a.top-6}px`},!0),this.el.addEventListener("pointerleave",t=>{t.target.closest("[data-tip]")&&e.classList.remove("visible")},!0)}isStale(e){return this.currentItemId!==e}update(e){if(!e){this.el.classList.remove("visible"),this.currentItemId=null;return}this.el.classList.add("visible"),this.el.innerHTML="",this.currentItemId=e.data.id;const t=e.data;this.addTitle(u()==="en"?"Properties":"资产属性"),this.addInfoRow(u()==="en"?"Model":"模型",t.modelKey),e.kind==="building"&&this.addInfoRow(u()==="en"?"Size":"尺寸",`${t.widthCells}×${t.depthCells}`),this.addDivider(),this.addPositionAndTransformRows(e),this.addDivider(),this.addSectionTitle(u()==="en"?"Scale":"缩放"),this.addScaleSlider(e),this.addDivider(),this.addLightSection(e),e.kind==="prop"&&(this.addDivider(),this.addAnimationSection(e)),this.addDivider(),this.addDeleteButton()}updateMulti(e){if(e.length===0){this.el.classList.remove("visible"),this.currentItemId=null;return}if(e.length===1){this.update(e[0]);return}const t=this.editor.editorScene,l=t.findGroupForItem(e[0].data.id);if(l&&e.every(o=>{const r=t.findGroupForItem(o.data.id);return r&&r.id===l.id})&&l&&!t.isInsideGroup){this.showGroupPanel(l,e);return}this.el.classList.add("visible"),this.el.innerHTML="",this.currentItemId=null,this.addTitle(u()==="en"?`Multi-select (${e.length})`:`多选属性 (${e.length} 个资产)`),this.addDivider(),this.addSectionTitle(u()==="en"?"Align":"对齐"),this.addAlignmentSection(e),this.addDivider(),this.addSectionTitle(u()==="en"?"Rotate":"旋转"),this.addMultiTransformSection(e),this.addDivider(),this.addMultiScaleSection(e),this.addDivider(),this.addMultiActionButtons(e)}showGroupPanel(e,t){var v,x,D,B,f,h,k,F;this.el.classList.add("visible"),this.el.innerHTML="",this.currentItemId=null,this.addTitle(u()==="en"?`Group (${e.memberIds.length})`:`组合属性 (${e.memberIds.length} 个成员)`);const l=document.createElement("div");l.style.cssText="font-size:11px;color:var(--text-muted);margin-bottom:8px;",l.textContent=u()==="en"?"Double-click to edit group":"双击进入编辑组合内模型",this.el.appendChild(l),this.addDivider();const a=document.createElement("div");a.className="pi-angle-row",a.innerHTML=`
|
|
48
|
+
<div class="pi-num-field">
|
|
49
|
+
<span class="pi-num-label">X</span>
|
|
50
|
+
<input type="number" class="pi-num-input" id="pi-gx" value="${e.anchorX}" step="1" />
|
|
51
|
+
</div>
|
|
52
|
+
<div class="pi-num-field">
|
|
53
|
+
<span class="pi-num-label">Y</span>
|
|
54
|
+
<input type="number" class="pi-num-input" id="pi-gz" value="${e.anchorZ}" step="1" />
|
|
55
|
+
</div>
|
|
56
|
+
`,this.el.appendChild(a);const o=document.createElement("div");o.className="pi-angle-row";const r=e.elevation??0;o.innerHTML=`
|
|
57
|
+
<div class="pi-num-field">
|
|
58
|
+
<span class="pi-num-label">Z</span>
|
|
59
|
+
<input type="number" class="pi-num-input" id="pi-gelev" value="${r}" step="0.1" />
|
|
60
|
+
</div>
|
|
61
|
+
<div class="pi-transform-btns">
|
|
62
|
+
<button class="pi-icon-btn" id="pg-snap" data-tip="${u()==="en"?"Snap to top":"吸附:放到目标顶部"}">
|
|
63
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v8"/><path d="M8 6l4-4 4 4"/><rect x="4" y="14" width="16" height="6" rx="1"/></svg>
|
|
64
|
+
</button>
|
|
65
|
+
<button class="pi-icon-btn" id="pg-join" data-tip="${u()==="en"?"Join side":"拼接:贴到目标侧面"}">
|
|
66
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="6" width="8" height="12" rx="1"/><rect x="14" y="6" width="8" height="12" rx="1"/><path d="M10 12h4"/><path d="M12 10l2 2-2 2"/></svg>
|
|
67
|
+
</button>
|
|
68
|
+
<button class="pi-icon-btn" id="pg-ground" data-tip="${u()==="en"?"Ground":"落地:重置到地面"}">
|
|
69
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 18v-8"/><path d="M8 14l4 4 4-4"/><line x1="4" y1="22" x2="20" y2="22"/></svg>
|
|
70
|
+
</button>
|
|
71
|
+
</div>
|
|
72
|
+
`,this.el.appendChild(o);const s=document.createElement("div");s.className="pi-angle-row",s.innerHTML=`
|
|
73
|
+
<div class="pi-num-field">
|
|
74
|
+
<span class="pi-num-label">∠</span>
|
|
75
|
+
<input type="number" class="pi-num-input" id="pi-gangle" value="0" step="90" disabled />
|
|
76
|
+
</div>
|
|
77
|
+
<div class="pi-transform-btns">
|
|
78
|
+
<button class="pi-icon-btn" data-tip="${u()==="en"?"Rotate Group 90°":"整组旋转 90°"}" id="pg-rotate">${ne}</button>
|
|
79
|
+
<button class="pi-icon-btn" data-tip="${u()==="en"?"Flip Group H":"整组水平翻转"}" id="pg-flipx">${ce}</button>
|
|
80
|
+
<button class="pi-icon-btn" data-tip="${u()==="en"?"Flip Group V":"整组垂直翻转"}" id="pg-flipz">${ie}</button>
|
|
81
|
+
</div>
|
|
82
|
+
`,this.el.appendChild(s),this.addDivider(),this.addSectionTitle(u()==="en"?"Scale":"缩放");const n=document.createElement("div");n.className="pi-scale-row",n.innerHTML=`
|
|
83
|
+
<button class="pi-scale-btn" id="pg-sminus">−</button>
|
|
84
|
+
<input type="range" class="pi-scale-range" id="pg-srange" min="0.05" max="5" step="0.05" value="1" />
|
|
85
|
+
<button class="pi-scale-btn" id="pg-splus">+</button>
|
|
86
|
+
<input type="number" class="pi-scale-num" id="pg-snum" min="0.05" max="5" step="0.05" value="1" />
|
|
87
|
+
`,this.el.appendChild(n),this.addDivider();const c=document.createElement("div");c.className="pi-group-btns";const i=document.createElement("button");i.className="pi-group-btn btn-primary",i.textContent=u()==="en"?"Ungroup":"取消组合",i.addEventListener("click",()=>this.editor.ungroupSelected()),c.appendChild(i);const m=document.createElement("button");m.className="pi-group-btn",m.innerHTML=`${de} ${u()==="en"?"Delete Group":"删除组合"}`,m.style.color="var(--status-error)",m.style.borderColor="rgba(255,68,102,0.2)",m.addEventListener("click",()=>this.editor.deleteSelected()),c.appendChild(m),this.el.appendChild(c);const g=this.editor.editorScene,d=a.querySelector("#pi-gx"),_=a.querySelector("#pi-gz"),P=o.querySelector("#pi-gelev"),R=(A,G)=>{const M=A-e.anchorX,O=G-e.anchorZ;if(M===0&&O===0)return;const N=e.anchorX,L=e.anchorZ,H=t.map(I=>({x:I.data.gridX,z:I.data.gridZ})),$={execute:()=>{e.anchorX=A,e.anchorZ=G,t.forEach(I=>{I.data.gridX+=M,I.data.gridZ+=O,g.updateModelTransform(I)}),g.setSelection(t),this.showGroupPanel(e,t)},undo:()=>{e.anchorX=N,e.anchorZ=L,t.forEach((I,T)=>{I.data.gridX=H[T].x,I.data.gridZ=H[T].z,g.updateModelTransform(I)}),g.setSelection(t),this.showGroupPanel(e,t)}};this.editor.undoStack.push($)};d.addEventListener("keydown",A=>{if(A.key==="Enter"){const G=parseInt(d.value);isNaN(G)||R(G,e.anchorZ),d.blur()}A.key==="Escape"&&(d.value=String(e.anchorX),d.blur())}),d.addEventListener("blur",()=>{d.value=String(e.anchorX)}),_.addEventListener("keydown",A=>{if(A.key==="Enter"){const G=parseInt(_.value);isNaN(G)||R(e.anchorX,G),_.blur()}A.key==="Escape"&&(_.value=String(e.anchorZ),_.blur())}),_.addEventListener("blur",()=>{_.value=String(e.anchorZ)});const S=A=>{const G=e.elevation??0,M=A-G;if(M===0)return;const O=t.map(L=>L.data.elevation??0),N={execute:()=>{e.elevation=A||void 0,t.forEach(L=>{const H=L.data;H.elevation=Math.round(((H.elevation??0)+M)*10)/10||void 0,g.updateModelTransform(L)}),g.setSelection(t),this.showGroupPanel(e,t)},undo:()=>{e.elevation=G||void 0,t.forEach((L,H)=>{L.data.elevation=O[H]||void 0,g.updateModelTransform(L)}),g.setSelection(t),this.showGroupPanel(e,t)}};this.editor.undoStack.push(N)};P.addEventListener("keydown",A=>{if(A.key==="Enter"){const G=parseFloat(P.value);isNaN(G)||S(Math.round(G*10)/10),P.blur()}A.key==="Escape"&&(P.value=String(e.elevation??0),P.blur())}),P.addEventListener("blur",()=>{P.value=String(e.elevation??0)}),(v=o.querySelector("#pg-ground"))==null||v.addEventListener("click",()=>S(0)),(x=o.querySelector("#pg-snap"))==null||x.addEventListener("click",()=>{const A=t[0];g.enterSnapMode(A,(G,M,O)=>{const N=G-e.anchorX,L=M-e.anchorZ,H=e.anchorX,$=e.anchorZ,I=e.elevation??0,T=t.map(W=>({x:W.data.gridX,z:W.data.gridZ})),ee=t.map(W=>W.data.elevation??0),Ge={execute:()=>{e.anchorX+=N,e.anchorZ+=L,e.elevation=O||void 0;const W=O-I;t.forEach(J=>{J.data.gridX+=N,J.data.gridZ+=L;const he=J.data;he.elevation=Math.round(((he.elevation??0)+W)*10)/10||void 0,g.updateModelTransform(J)}),g.setSelection(t),this.showGroupPanel(e,t)},undo:()=>{e.anchorX=H,e.anchorZ=$,e.elevation=I||void 0,t.forEach((W,J)=>{W.data.gridX=T[J].x,W.data.gridZ=T[J].z,W.data.elevation=ee[J]||void 0,g.updateModelTransform(W)}),g.setSelection(t),this.showGroupPanel(e,t)}};this.editor.undoStack.push(Ge)})}),(D=o.querySelector("#pg-join"))==null||D.addEventListener("click",()=>{const A=t[0];g.enterJoinMode(A,(G,M)=>{const O=G-e.anchorX,N=M-e.anchorZ;if(O===0&&N===0)return;const L=e.anchorX,H=e.anchorZ,$=t.map(T=>({x:T.data.gridX,z:T.data.gridZ})),I={execute:()=>{e.anchorX+=O,e.anchorZ+=N,t.forEach(T=>{T.data.gridX+=O,T.data.gridZ+=N,g.updateModelTransform(T)}),g.setSelection(t),this.showGroupPanel(e,t)},undo:()=>{e.anchorX=L,e.anchorZ=H,t.forEach((T,ee)=>{T.data.gridX=$[ee].x,T.data.gridZ=$[ee].z,g.updateModelTransform(T)}),g.setSelection(t),this.showGroupPanel(e,t)}};this.editor.undoStack.push(I)})}),(B=s.querySelector("#pg-rotate"))==null||B.addEventListener("click",()=>{t.forEach(A=>g.rotateItem(A)),this.showGroupPanel(e,t)}),(f=s.querySelector("#pg-flipx"))==null||f.addEventListener("click",()=>{t.forEach(A=>g.flipItemX(A))}),(h=s.querySelector("#pg-flipz"))==null||h.addEventListener("click",()=>{t.forEach(A=>g.flipItemZ(A))});const y=n.querySelector("#pg-srange"),E=n.querySelector("#pg-snum"),b=A=>{t.forEach(G=>{const M=G.data;M.scale=Math.max(.05,Math.min(5,Math.round((M.scale??1)*A*100)/100)),g.updateModelTransform(G)}),g.setSelection(t)};(k=n.querySelector("#pg-sminus"))==null||k.addEventListener("click",()=>b(.9)),(F=n.querySelector("#pg-splus"))==null||F.addEventListener("click",()=>b(1.1)),y.addEventListener("input",()=>{E.value=y.value}),y.addEventListener("change",()=>{const A=parseFloat(y.value);!isNaN(A)&&A>0&&b(A),y.value="1",E.value="1"})}addAlignmentSection(e){const t=document.createElement("div");t.className="pi-align-section";const l=[{label:"X",axis:"x",distSvg:Kt,buttons:[{mode:"min",tip:u()==="en"?"Align Left":"左对齐",svg:Wt},{mode:"center",tip:u()==="en"?"Center H":"水平居中",svg:zt},{mode:"max",tip:u()==="en"?"Align Right":"右对齐",svg:Xt}]},{label:"Y",axis:"y",distSvg:Zt,buttons:[{mode:"min",tip:u()==="en"?"Align Top":"上对齐",svg:Vt},{mode:"center",tip:u()==="en"?"Center V":"垂直居中",svg:Jt},{mode:"max",tip:u()==="en"?"Align Bottom":"下对齐",svg:$t}]},{label:"Z",axis:"z",distSvg:jt,buttons:[{mode:"max",tip:u()==="en"?"Top":"顶对齐",svg:qt},{mode:"center",tip:u()==="en"?"Center Z":"高度居中",svg:Ut},{mode:"min",tip:u()==="en"?"Bottom":"底对齐",svg:Yt}]}];for(const a of l){const o=document.createElement("div");o.className="pi-align-row";const r=document.createElement("span");r.className="pi-align-label",r.textContent=a.label,o.appendChild(r);const s=document.createElement("div");s.className="pi-align-btns";for(const c of a.buttons){const i=document.createElement("button");i.className="pi-icon-btn",i.innerHTML=c.svg,i.dataset.tip=c.tip,i.addEventListener("click",()=>{this.editor.editorScene.alignItems(e,a.axis,c.mode)}),s.appendChild(i)}const n=document.createElement("button");n.className="pi-icon-btn",n.innerHTML=a.distSvg,n.dataset.tip=u()==="en"?`Distribute ${a.label}`:`${a.label} 等距分布`,n.addEventListener("click",()=>{this.editor.editorScene.distributeItems(e,a.axis)}),s.appendChild(n),o.appendChild(s),t.appendChild(o)}this.el.appendChild(t)}addMultiTransformSection(e){const t=document.createElement("div");t.className="pi-angle-row";const l=document.createElement("div");l.className="pi-num-field",l.innerHTML='<span class="pi-num-label">∠</span><span class="pi-value" style="font-size:12px;color:var(--text-dim)">—</span>',t.appendChild(l);const a=document.createElement("div");a.className="pi-transform-btns";const o=document.createElement("button");o.className="pi-icon-btn",o.innerHTML=ne,o.dataset.tip=u()==="en"?"Rotate All 90°":"全部旋转 90°",o.addEventListener("click",()=>{this.editor.rotateSelected(),this.updateMulti(e)}),a.appendChild(o);const r=document.createElement("button");r.className="pi-icon-btn",r.innerHTML=ce,r.dataset.tip=u()==="en"?"Flip All H":"全部水平翻转",r.addEventListener("click",()=>{for(const n of e)this.editor.editorScene.flipItemX(n)}),a.appendChild(r);const s=document.createElement("button");s.className="pi-icon-btn",s.innerHTML=ie,s.dataset.tip=u()==="en"?"Flip All V":"全部垂直翻转",s.addEventListener("click",()=>{for(const n of e)this.editor.editorScene.flipItemZ(n)}),a.appendChild(s),t.appendChild(a),this.el.appendChild(t)}addMultiScaleSection(e){var o,r;this.addSectionTitle(u()==="en"?"Scale":"缩放");const t=document.createElement("div");t.className="pi-scale-row",t.innerHTML=`
|
|
88
|
+
<button class="pi-scale-btn" id="pi-ms-minus">−</button>
|
|
89
|
+
<input type="range" class="pi-scale-range" id="pi-ms-range" min="0.05" max="5" step="0.05" value="1" />
|
|
90
|
+
<button class="pi-scale-btn" id="pi-ms-plus">+</button>
|
|
91
|
+
<span class="pi-value" style="width:50px;text-align:center;font-size:12px;color:var(--text-dim)">—</span>
|
|
92
|
+
`,this.el.appendChild(t);const l=t.querySelector("#pi-ms-range"),a=s=>{for(const n of e){const c=n.data,i=c.scale??1;c.scale=Math.max(.05,Math.min(5,Math.round((i+s)*100)/100)),this.editor.editorScene.updateModelTransform(n)}this.editor.editorScene.setSelection(e)};(o=t.querySelector("#pi-ms-minus"))==null||o.addEventListener("click",()=>a(-.1)),(r=t.querySelector("#pi-ms-plus"))==null||r.addEventListener("click",()=>a(.1)),l.addEventListener("input",()=>{const s=parseFloat(l.value);for(const n of e){const c=n.data;c.scale=s,this.editor.editorScene.updateModelTransform(n)}this.editor.editorScene.setSelection(e)})}addMultiActionButtons(e){const t=document.createElement("div");t.className="pi-group-btns";const l=document.createElement("button");l.className="pi-group-btn btn-primary",l.textContent=u()==="en"?"Group Ctrl+G":"组合 Ctrl+G",l.addEventListener("click",()=>this.editor.groupSelected()),t.appendChild(l);const a=document.createElement("button");a.className="pi-group-btn",a.innerHTML=`${de} ${u()==="en"?"Delete":"删除选中"}`,a.style.color="var(--status-error)",a.style.borderColor="rgba(255,68,102,0.2)",a.addEventListener("click",()=>this.editor.deleteSelected()),t.appendChild(a),this.el.appendChild(t)}addTitle(e){const t=document.createElement("div");t.className="pi-title",t.textContent=e,this.el.appendChild(t)}addDivider(){const e=document.createElement("div");e.className="pi-divider",this.el.appendChild(e)}addSectionTitle(e){const t=document.createElement("div");t.className="pi-section-title",t.textContent=e,this.el.appendChild(t)}addInfoRow(e,t){const l=document.createElement("div");l.className="pi-info-row",l.innerHTML=`<span class="pi-label">${e}</span><span class="pi-value">${t}</span>`,this.el.appendChild(l)}addPositionAndTransformRows(e){const t=e.data,l=t.id,a=t,o=document.createElement("div");o.className="pi-angle-row",o.innerHTML=`
|
|
93
|
+
<div class="pi-num-field">
|
|
94
|
+
<span class="pi-num-label">X</span>
|
|
95
|
+
<input type="number" class="pi-num-input" id="pi-pos-x" value="${t.gridX}" step="1" />
|
|
96
|
+
</div>
|
|
97
|
+
<div class="pi-num-field">
|
|
98
|
+
<span class="pi-num-label">Y</span>
|
|
99
|
+
<input type="number" class="pi-num-input" id="pi-pos-z" value="${t.gridZ}" step="1" />
|
|
100
|
+
</div>
|
|
101
|
+
`,this.el.appendChild(o);const r=t.elevation??0,s=document.createElement("div");s.className="pi-angle-row",s.innerHTML=`
|
|
102
|
+
<div class="pi-num-field">
|
|
103
|
+
<span class="pi-num-label">Z</span>
|
|
104
|
+
<input type="number" class="pi-num-input" id="pi-elev" value="${r}" step="0.1" />
|
|
105
|
+
</div>
|
|
106
|
+
<div class="pi-transform-btns" id="pi-snap-btns">
|
|
107
|
+
<button class="pi-icon-btn" id="pi-snap" data-tip="${u()==="en"?"Snap to top":"吸附:放到目标顶部"}">
|
|
108
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v8"/><path d="M8 6l4-4 4 4"/><rect x="4" y="14" width="16" height="6" rx="1"/></svg>
|
|
109
|
+
</button>
|
|
110
|
+
<button class="pi-icon-btn" id="pi-join" data-tip="${u()==="en"?"Join side":"拼接:贴到目标侧面"}">
|
|
111
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="6" width="8" height="12" rx="1"/><rect x="14" y="6" width="8" height="12" rx="1"/><path d="M10 12h4"/><path d="M12 10l2 2-2 2"/></svg>
|
|
112
|
+
</button>
|
|
113
|
+
<button class="pi-icon-btn" id="pi-ground" data-tip="${u()==="en"?"Ground":"落地:重置到地面"}">
|
|
114
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 18v-8"/><path d="M8 14l4 4 4-4"/><line x1="4" y1="22" x2="20" y2="22"/></svg>
|
|
115
|
+
</button>
|
|
116
|
+
</div>
|
|
117
|
+
`,this.el.appendChild(s);const n=document.createElement("div");n.className="pi-angle-row",n.innerHTML=`
|
|
118
|
+
<div class="pi-num-field">
|
|
119
|
+
<span class="pi-num-label">∠</span>
|
|
120
|
+
<input type="number" class="pi-num-input" id="pi-angle" value="${a.rotationY}" step="90" min="0" max="270" />
|
|
121
|
+
</div>
|
|
122
|
+
<div class="pi-transform-btns" id="pi-btns"></div>
|
|
123
|
+
`,this.el.appendChild(n);const c=o.querySelector("#pi-pos-x"),i=o.querySelector("#pi-pos-z"),m=(B,f)=>{if(this.isStale(l))return;const h=parseInt(B.value);if(isNaN(h)){B.value=String(f==="x"?t.gridX:t.gridZ);return}const k=f==="x"?t.gridX:t.gridZ;if(h===k)return;const F={execute:()=>{f==="x"?t.gridX=h:t.gridZ=h,this.editor.editorScene.updateModelTransform(e),this.editor.editorScene.setSelection(e)},undo:()=>{f==="x"?t.gridX=k:t.gridZ=k,this.editor.editorScene.updateModelTransform(e),this.editor.editorScene.setSelection(e)}};this.editor.undoStack.push(F)};c.addEventListener("keydown",B=>{B.key==="Enter"&&(m(c,"x"),c.blur()),B.key==="Escape"&&(c.value=String(t.gridX),c.blur())}),c.addEventListener("blur",()=>{c.value=String(t.gridX)}),i.addEventListener("keydown",B=>{B.key==="Enter"&&(m(i,"z"),i.blur()),B.key==="Escape"&&(i.value=String(t.gridZ),i.blur())}),i.addEventListener("blur",()=>{i.value=String(t.gridZ)});const g=s.querySelector("#pi-elev"),d=t,_=()=>{if(this.isStale(l))return;const B=parseFloat(g.value);if(isNaN(B)){g.value=String(d.elevation??0);return}const f=d.elevation??0,h=Math.round(B*10)/10;if(f===h)return;const k={execute:()=>{d.elevation=h||void 0,this.editor.editorScene.updateModelTransform(e),this.editor.editorScene.setSelection(e)},undo:()=>{d.elevation=f||void 0,this.editor.editorScene.updateModelTransform(e),this.editor.editorScene.setSelection(e)}};this.editor.undoStack.push(k)};g.addEventListener("keydown",B=>{B.key==="Enter"&&(_(),g.blur()),B.key==="Escape"&&(g.value=String(d.elevation??0),g.blur())}),g.addEventListener("blur",()=>{g.value=String(d.elevation??0)}),s.querySelector("#pi-snap").addEventListener("click",()=>{this.editor.editorScene.enterSnapMode(e,(B,f,h)=>{const k=t.gridX,F=t.gridZ,A=d.elevation??0,G={execute:()=>{t.gridX=B,t.gridZ=f,d.elevation=h||void 0,this.editor.editorScene.updateModelTransform(e),this.editor.editorScene.setSelection(e),this.update(e)},undo:()=>{t.gridX=k,t.gridZ=F,d.elevation=A||void 0,this.editor.editorScene.updateModelTransform(e),this.editor.editorScene.setSelection(e),this.update(e)}};this.editor.undoStack.push(G)})}),s.querySelector("#pi-join").addEventListener("click",()=>{this.editor.editorScene.enterJoinMode(e,(B,f)=>{const h=t.gridX,k=t.gridZ,F={execute:()=>{t.gridX=B,t.gridZ=f,this.editor.editorScene.updateModelTransform(e),this.editor.editorScene.setSelection(e),this.update(e)},undo:()=>{t.gridX=h,t.gridZ=k,this.editor.editorScene.updateModelTransform(e),this.editor.editorScene.setSelection(e),this.update(e)}};this.editor.undoStack.push(F)})}),s.querySelector("#pi-ground").addEventListener("click",()=>{const B=d.elevation??0;if(B===0)return;const f={execute:()=>{d.elevation=void 0,this.editor.editorScene.updateModelTransform(e),this.editor.editorScene.setSelection(e),this.update(e)},undo:()=>{d.elevation=B||void 0,this.editor.editorScene.updateModelTransform(e),this.editor.editorScene.setSelection(e),this.update(e)}};this.editor.undoStack.push(f)});const y=n.querySelector("#pi-angle"),E=()=>{if(this.isStale(l))return;let B=parseInt(y.value);if(isNaN(B)){y.value=String(a.rotationY);return}B=(B%360+360)%360;const f=[0,90,180,270].reduce((F,A)=>Math.abs(A-B)<Math.abs(F-B)?A:F,0),h=a.rotationY;if(f===h){y.value=String(h);return}const k={execute:()=>{a.rotationY=f,this.editor.editorScene.updateModelTransform(e),this.editor.editorScene.setSelection(e),this.update(e)},undo:()=>{a.rotationY=h,this.editor.editorScene.updateModelTransform(e),this.editor.editorScene.setSelection(e),this.update(e)}};this.editor.undoStack.push(k)};y.addEventListener("keydown",B=>{B.key==="Enter"&&(E(),y.blur()),B.key==="Escape"&&(y.value=String(a.rotationY),y.blur())}),y.addEventListener("blur",()=>{y.value=String(a.rotationY)});const b=n.querySelector("#pi-btns"),v=document.createElement("button");v.className="pi-icon-btn",v.innerHTML=ne,v.dataset.tip=u()==="en"?"Rotate 90°":"旋转 90°",v.addEventListener("click",()=>{this.editor.rotateSelected(),this.update(e)}),b.appendChild(v);const x=document.createElement("button");x.className="pi-icon-btn",x.innerHTML=ce,x.dataset.tip=u()==="en"?"Flip H":"水平翻转",t.flipX&&x.classList.add("active"),x.addEventListener("click",()=>{this.editor.editorScene.flipItemX(e),this.update(e)}),b.appendChild(x);const D=document.createElement("button");D.className="pi-icon-btn",D.innerHTML=ie,D.dataset.tip=u()==="en"?"Flip V":"垂直翻转",t.flipZ&&D.classList.add("active"),D.addEventListener("click",()=>{this.editor.editorScene.flipItemZ(e),this.update(e)}),b.appendChild(D)}addScaleSlider(e){var i,m;const t=e.data,l=t.scale??1,a=document.createElement("div");a.className="pi-scale-row",a.innerHTML=`
|
|
124
|
+
<button class="pi-scale-btn" id="pi-scale-minus">−</button>
|
|
125
|
+
<input type="range" class="pi-scale-range" id="pi-scale-range" min="0.05" max="5" step="0.05" value="${l}" />
|
|
126
|
+
<button class="pi-scale-btn" id="pi-scale-plus">+</button>
|
|
127
|
+
<input type="number" class="pi-scale-num" id="pi-scale-num" min="0.05" max="5" step="0.05" value="${l}" />
|
|
128
|
+
`,this.el.appendChild(a);const o=a.querySelector("#pi-scale-range"),r=a.querySelector("#pi-scale-num");let s=l;const n=g=>{g=Math.max(.05,Math.min(5,Math.round(g*100)/100)),t.scale=g,o.value=String(g),r.value=String(g),this.editor.editorScene.updateModelTransform(e),this.editor.editorScene.setSelection(e)},c=g=>{const d=s,_=Math.max(.05,Math.min(5,Math.round(g*100)/100));if(d===_)return;const P={execute:()=>{n(_)},undo:()=>{n(d)}};this.editor.undoStack.push(P),s=_};o.addEventListener("input",()=>n(parseFloat(o.value))),o.addEventListener("change",()=>c(parseFloat(o.value))),r.addEventListener("change",()=>c(parseFloat(r.value))),(i=a.querySelector("#pi-scale-minus"))==null||i.addEventListener("click",()=>{c((t.scale??1)-.1),this.update(e)}),(m=a.querySelector("#pi-scale-plus"))==null||m.addEventListener("click",()=>{c((t.scale??1)+.1),this.update(e)})}hexNumToStr(e){return"#"+e.toString(16).padStart(6,"0")}hexStrToNum(e){return parseInt(e.replace("#",""),16)}addLightSection(e){const t=e.data,l=t.lights,a=document.createElement("div");a.style.cssText="display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;";const o=document.createElement("span");o.className="pi-section-title",o.style.margin="0",o.textContent=`${u()==="en"?"Lights":"灯光"} (${(l==null?void 0:l.length)??0})`,a.appendChild(o);const r=document.createElement("button");r.className="pi-icon-btn",r.style.cssText="font-size:11px;padding:3px 10px;position:relative;white-space:nowrap;flex-shrink:0;width:auto;",r.textContent=u()==="en"?"+ Add":"+ 添加",a.appendChild(r),this.el.appendChild(a);const s=document.createElement("div");s.style.cssText="display:none;position:absolute;right:0;top:100%;background:var(--surface-2,#2a2a2a);border:1px solid var(--border,#444);border-radius:4px;z-index:100;min-width:90px;box-shadow:0 4px 12px rgba(0,0,0,0.3);",r.style.position="relative",r.appendChild(s);const n=[{label:u()==="en"?"Window":"窗户灯",type:"window"},{label:u()==="en"?"Street":"路灯",type:"street"},{label:u()==="en"?"Headlight":"车前灯",type:"vehicle_head"},{label:u()==="en"?"Taillight":"车尾灯",type:"vehicle_tail"}];for(const c of n){const i=document.createElement("div");i.style.cssText="padding:4px 10px;cursor:pointer;font-size:11px;white-space:nowrap;",i.textContent=c.label,i.addEventListener("pointerenter",()=>{i.style.background="rgba(255,255,255,0.1)"}),i.addEventListener("pointerleave",()=>{i.style.background=""}),i.addEventListener("click",m=>{m.stopPropagation(),s.style.display="none";const g={id:U("light"),offsetX:0,offsetY:.5,offsetZ:0,color:c.type==="vehicle_tail"?16720384:16769184,intensity:c.type==="street"?2:1.5,distance:c.type==="street"?12:4,type:c.type};t.lights||(t.lights=[]),t.lights.push(g),this.editor.onConfigChanged(),this.editor.editorScene.setSelection([e]),this.update(e)}),s.appendChild(i)}if(r.addEventListener("click",c=>{c.stopPropagation(),s.style.display=s.style.display==="none"?"block":"none"}),document.addEventListener("pointerdown",c=>{r.contains(c.target)||(s.style.display="none")},{once:!0}),!l||l.length===0){const c=document.createElement("div");c.style.cssText="font-size:11px;color:var(--text-muted);margin-bottom:4px;",c.textContent=u()==="en"?"No lights":"无灯光配置",this.el.appendChild(c);return}for(let c=0;c<l.length;c++){const i=l[c],m=document.createElement("div");m.style.cssText="background:rgba(0,0,0,0.15);border-radius:6px;padding:8px;margin-bottom:6px;";const P=i.type==="window"?'<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 18h6"/><path d="M10 22h4"/><path d="M12 2a7 7 0 017 7c0 2.38-1.19 4.47-3 5.74V17a1 1 0 01-1 1H9a1 1 0 01-1-1v-2.26C6.19 13.47 5 11.38 5 9a7 7 0 017-7z"/></svg>':i.type==="street"?'<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="5" r="3"/><line x1="12" y1="8" x2="12" y2="22"/><line x1="8" y1="22" x2="16" y2="22"/></svg>':'<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/></svg>',R=i.type==="window"?u()==="en"?"Window":"窗户灯":i.type==="street"?u()==="en"?"Street":"路灯":i.type==="vehicle_head"?u()==="en"?"Headlight":"车前灯":u()==="en"?"Taillight":"车尾灯",S=document.createElement("div");S.style.cssText="display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;";const y=document.createElement("span");y.innerHTML=`${P} ${R}`,y.style.cssText="font-size:11px;display:flex;align-items:center;gap:4px;",S.appendChild(y);const E=document.createElement("div");E.style.cssText="display:flex;gap:2px;align-items:center;";const b=document.createElement("button");b.className="pi-icon-btn",b.style.cssText="font-size:10px;padding:1px 4px;",b.innerHTML='<svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z"/><circle cx="12" cy="10" r="3"/></svg>',b.title=u()==="en"?"Relocate":"重新放置",b.addEventListener("click",()=>{this.editor.editorScene.enterLightPlaceMode(e,i.type,f=>{i.offsetX=Math.round(f.x*100)/100,i.offsetY=Math.round(f.y*100)/100,i.offsetZ=Math.round(f.z*100)/100,this.editor.onConfigChanged(),this.editor.editorScene.setSelection([e]),this.update(e)})}),E.appendChild(b);const v=document.createElement("button");v.className="pi-icon-btn",v.style.cssText="font-size:10px;color:var(--status-error);padding:1px 4px;",v.textContent="✕",v.addEventListener("click",()=>{t.lights.splice(c,1),t.lights.length===0&&(t.lights=void 0),this.editor.onConfigChanged(),this.editor.editorScene.setSelection([e]),this.update(e)}),E.appendChild(v),S.appendChild(E),m.appendChild(S);const x=document.createElement("div");x.className="pi-light-grid",x.innerHTML=`
|
|
129
|
+
<div class="pi-num-field"><span class="pi-num-label">oX</span><input type="number" class="pi-num-input" data-field="offsetX" value="${i.offsetX}" step="0.1" /></div>
|
|
130
|
+
<div class="pi-num-field"><span class="pi-num-label">oY</span><input type="number" class="pi-num-input" data-field="offsetY" value="${i.offsetY}" step="0.1" /></div>
|
|
131
|
+
<div class="pi-num-field"><span class="pi-num-label">oZ</span><input type="number" class="pi-num-input" data-field="offsetZ" value="${i.offsetZ}" step="0.1" /></div>
|
|
132
|
+
`,m.appendChild(x);for(const f of x.querySelectorAll("input"))f.addEventListener("change",()=>{const h=f.dataset.field,k=parseFloat(f.value);isNaN(k)||(i[h]=Math.round(k*100)/100,this.editor.onConfigChanged(),this.editor.editorScene.setSelection([e]))});const D=document.createElement("div");D.className="pi-light-grid",D.innerHTML=`
|
|
133
|
+
<div class="pi-num-field"><span class="pi-num-label">${u()==="en"?"C":"色"}</span><input type="color" class="pi-color-input" value="${this.hexNumToStr(i.color)}" /></div>
|
|
134
|
+
<div class="pi-num-field"><span class="pi-num-label">${u()==="en"?"D":"距"}</span><input type="number" class="pi-num-input" data-field="distance" value="${i.distance}" step="1" /></div>
|
|
135
|
+
<div class="pi-num-field"><span class="pi-num-label">${u()==="en"?"I":"强"}</span><input type="number" class="pi-num-input" data-field="intensity" value="${i.intensity}" step="0.1" /></div>
|
|
136
|
+
`,m.appendChild(D);const B=D.querySelector('input[type="color"]');B.addEventListener("input",()=>{i.color=this.hexStrToNum(B.value),this.editor.onConfigChanged()});for(const f of D.querySelectorAll('input[type="number"]'))f.addEventListener("change",()=>{const h=f.dataset.field,k=parseFloat(f.value);isNaN(k)||(i[h]=Math.round(k*100)/100,this.editor.onConfigChanged())});this.el.appendChild(m)}}addAnimationSection(e){const t=e.data;this.addSectionTitle(u()==="en"?"Animation":"动画");const l=document.createElement("div");l.style.cssText="display:flex;align-items:center;gap:8px;margin-bottom:8px;";const a=document.createElement("div");a.className="pi-toggle"+(t.animated?" active":"");const o=document.createElement("span");o.style.cssText="font-size:12px;color:var(--text-secondary,#ccc);cursor:pointer;user-select:none;",o.textContent=u()==="en"?"Animation":"启用动画",l.appendChild(a),l.appendChild(o),this.el.appendChild(l);const r=()=>{t.animated=!t.animated,a.classList.toggle("active",t.animated),t.animated&&!t.vehicleRoute&&(t.vehicleRoute={waypoints:[],speedMin:2,speedMax:5,laneOffset:0}),this.editor.onConfigChanged(),this.update(e)};if(a.addEventListener("click",r),o.addEventListener("click",r),!t.animated)return;const s=t.vehicleRoute??{waypoints:[],speedMin:2,speedMax:5,laneOffset:0};t.vehicleRoute||(t.vehicleRoute=s);const n=document.createElement("div");n.style.cssText="display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;";const c=document.createElement("span");c.style.cssText="font-size:11px;color:var(--text-muted);",c.textContent=u()==="en"?`Route: ${s.waypoints.length} pts`:`路线: ${s.waypoints.length} 个航点`,n.appendChild(c);const i=document.createElement("button");i.className="pi-icon-btn",i.style.cssText="font-size:11px;padding:3px 10px;white-space:nowrap;flex-shrink:0;width:auto;",i.textContent=u()==="en"?"Edit Route":"编辑路线",i.addEventListener("click",()=>{this.editor.editorScene.enterRouteEditMode(e,f=>{s.waypoints=f,t.vehicleRoute=s,this.editor.onConfigChanged(),this.update(e)})}),n.appendChild(i),this.el.appendChild(n);const m=document.createElement("div");m.style.cssText="display:flex;align-items:center;gap:8px;margin-bottom:8px;";const g=document.createElement("div");g.className="pi-toggle"+(s.loop?" active":"");const d=document.createElement("span");d.style.cssText="font-size:12px;color:var(--text-secondary,#ccc);cursor:pointer;user-select:none;",d.textContent=u()==="en"?"Loop":"循环路线",m.appendChild(g),m.appendChild(d),this.el.appendChild(m);const _=()=>{s.loop=!s.loop,g.classList.toggle("active",!!s.loop),t.vehicleRoute=s,this.editor.onConfigChanged()};g.addEventListener("click",_),d.addEventListener("click",_);const P=document.createElement("div");P.style.cssText="display:flex;align-items:center;gap:6px;margin-bottom:8px;";const R=Math.round((s.forwardAngle??0)*180/Math.PI),S=document.createElement("span");S.style.cssText="font-size:11px;color:var(--text-muted);",S.textContent=u()==="en"?`Forward: ${R}°`:`前方: ${R}°`,P.appendChild(S);const y=document.createElement("button");y.className="pi-icon-btn",y.style.cssText="font-size:10px;padding:2px 8px;white-space:nowrap;flex-shrink:0;margin-left:auto;",y.title=u()==="en"?"Click model front to mark forward direction":"点击模型车头标记前方方向",y.innerHTML='<svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 19V5"/><path d="M5 12l7-7 7 7"/></svg> '+(u()==="en"?"Mark Front":"标记前方"),y.addEventListener("click",()=>{this.editor.editorScene.enterForwardMarkMode(e,f=>{s.forwardAngle=Math.round(f*1e3)/1e3,t.vehicleRoute=s,this.editor.onConfigChanged(),this.update(e)})}),P.appendChild(y),this.el.appendChild(P);const E=document.createElement("div");E.className="pi-section-title",E.style.cssText="margin-top:4px;margin-bottom:6px;font-size:10px;",E.textContent=u()==="en"?"Speed":"速度",this.el.appendChild(E);const b=document.createElement("div");b.className="pi-angle-row",b.innerHTML=`
|
|
137
|
+
<div class="pi-num-field">
|
|
138
|
+
<span class="pi-num-label">${u()==="en"?"Min":"最小"}</span>
|
|
139
|
+
<input type="number" class="pi-num-input" id="pi-anim-smin" value="${s.speedMin}" step="0.5" />
|
|
140
|
+
</div>
|
|
141
|
+
<div class="pi-num-field">
|
|
142
|
+
<span class="pi-num-label">${u()==="en"?"Max":"最大"}</span>
|
|
143
|
+
<input type="number" class="pi-num-input" id="pi-anim-smax" value="${s.speedMax}" step="0.5" />
|
|
144
|
+
</div>
|
|
145
|
+
`,this.el.appendChild(b);const v=b.querySelector("#pi-anim-smin"),x=b.querySelector("#pi-anim-smax");v.addEventListener("change",()=>{const f=parseFloat(v.value);isNaN(f)||(s.speedMin=Math.round(f*10)/10,this.editor.onConfigChanged())}),x.addEventListener("change",()=>{const f=parseFloat(x.value);isNaN(f)||(s.speedMax=Math.round(f*10)/10,this.editor.onConfigChanged())});const D=document.createElement("div");D.className="pi-angle-row",D.innerHTML=`
|
|
146
|
+
<div class="pi-num-field">
|
|
147
|
+
<span class="pi-num-label">${u()==="en"?"Lane":"车道"}</span>
|
|
148
|
+
<input type="number" class="pi-num-input" id="pi-anim-lane" value="${s.laneOffset}" step="0.1" />
|
|
149
|
+
</div>
|
|
150
|
+
`,this.el.appendChild(D);const B=D.querySelector("#pi-anim-lane");B.addEventListener("change",()=>{const f=parseFloat(B.value);isNaN(f)||(s.laneOffset=Math.round(f*10)/10,this.editor.onConfigChanged())})}addDeleteButton(){const e=document.createElement("div");e.className="pi-delete-row";const t=document.createElement("button");t.className="pi-delete-btn",t.innerHTML=`${de} ${u()==="en"?"Delete":"删除资产"}`,t.addEventListener("click",()=>this.editor.deleteSelected()),e.appendChild(t),this.el.appendChild(e)}}const le={office:'<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M3 21h18"/><path d="M5 21V5a2 2 0 012-2h10a2 2 0 012 2v16"/><path d="M9 7h1"/><path d="M14 7h1"/><path d="M9 11h1"/><path d="M14 11h1"/><path d="M9 15h1"/><path d="M14 15h1"/></svg>',museum:'<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M3 21h18"/><path d="M3 10h18"/><path d="M12 3l9 7H3l9-7z"/><path d="M6 10v8"/><path d="M10 10v8"/><path d="M14 10v8"/><path d="M18 10v8"/></svg>',userHome:'<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M3 9l9-7 9 7v11a2 2 0 01-2 2H5a2 2 0 01-2-2z"/><polyline points="9 22 9 12 15 12 15 22"/></svg>',houses:'<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M3 9l4-3.5L11 9v9H3V9z"/><path d="M13 6l4-3.5L21 6v12h-8V6z"/><path d="M6 18v-3h2v3"/><path d="M16 18v-4h2v4"/></svg>'},el=[{slot:"office",icon:le.office,label:u()==="en"?"Office":"办公室",required:!0,auto:!1},{slot:"museum",icon:le.museum,label:u()==="en"?"Museum":"博物馆",required:!1,auto:!1},{slot:"userHome",icon:le.userHome,label:u()==="en"?"User Home":"用户住宅",required:!1,auto:!1},{slot:"houses",icon:le.houses,label:u()==="en"?"NPC Houses":"NPC 住宅",required:!1,auto:!0}];class tl{constructor(e,t){p(this,"el");p(this,"editor");p(this,"openDropdown",null);this.el=e,this.editor=t,document.addEventListener("click",l=>{this.openDropdown&&!this.openDropdown.contains(l.target)&&this.closeDropdown()})}refresh(){const t=this.editor.config.bindings;this.el.innerHTML="",this.openDropdown=null;const l=document.createElement("button");l.className="binding-close",l.innerHTML="×",l.addEventListener("click",()=>{var r;(r=document.getElementById("binding-overlay"))==null||r.classList.remove("open")}),this.el.appendChild(l);const a=document.createElement("div");a.className="binding-title",a.textContent=u()==="en"?"Bindings":"功能绑定",this.el.appendChild(a);for(const r of el)this.el.appendChild(this.renderSlotRow(r,t));const o=document.createElement("div");o.className="binding-tip",o.textContent=u()==="en"?"Select a building to bind":"从下拉列表中选择建筑进行绑定",this.el.appendChild(o)}closeDropdown(){this.openDropdown&&(this.openDropdown.remove(),this.openDropdown=null)}renderSlotRow(e,t){const l=document.createElement("div");l.className="binding-row";const a=document.createElement("span");a.className="binding-icon",a.innerHTML=e.icon;const o=document.createElement("div");o.className="binding-info";const r=document.createElement("div");r.className="binding-label",r.textContent=e.label;const s=e.slot==="houses"?t.houses.length>0:!!t[e.slot];let n,c;s?(n=u()==="en"?"Bound":"已绑定",c="tag-optional"):e.required?(n=u()==="en"?"Required":"必填",c="tag-required"):e.auto?(n=u()==="en"?"Auto":"自动",c="tag-auto"):(n=u()==="en"?"Optional":"推荐",c="tag-optional");const i=document.createElement("span");i.className=`binding-tag ${c}`,i.textContent=n,r.appendChild(i);const m=document.createElement("div");m.className="binding-desc",o.appendChild(r),o.appendChild(m);const g=document.createElement("div");if(g.className="binding-actions",e.slot==="houses"){const d=t.houses.length;m.textContent=d>0?u()==="en"?`${d} bound`:`${d} 栋已绑定`:u()==="en"?"Select building":"从列表中选择建筑绑定";const _=document.createElement("span");_.className=`binding-badge ${d>0?"set":"unset"}`,_.textContent=String(d),g.appendChild(_);const P=this.makeActionBtn(u()==="en"?"Add":"添加","bind",R=>{R.stopPropagation(),this.showBuildingDropdown(e.slot,P)});g.appendChild(P)}else{const d=t[e.slot];if(d){const _=this.editor.config.buildings.find(S=>S.id===d);m.textContent=(_==null?void 0:_.displayName)??(_==null?void 0:_.modelKey)??d;const P=this.makeActionBtn(u()==="en"?"Change":"更换","change",S=>{S.stopPropagation(),this.showBuildingDropdown(e.slot,P)});g.appendChild(P);const R=this.makeActionBtn(u()==="en"?"Unbind":"解绑","unbind",S=>{S.stopPropagation(),this.editor.unbind(e.slot),this.refresh()});g.appendChild(R)}else{m.textContent=u()==="en"?"Unbound":"未绑定";const _=this.makeActionBtn(u()==="en"?"Bind":"绑定","bind",P=>{P.stopPropagation(),this.showBuildingDropdown(e.slot,_)});g.appendChild(_)}}return l.appendChild(a),l.appendChild(o),l.appendChild(g),l}showBuildingDropdown(e,t){this.closeDropdown();const l=document.createElement("div");l.className="binding-dropdown";const a=this.editor.config.buildings;if(a.length===0){const s=document.createElement("div");s.className="bd-empty",s.textContent=u()==="en"?"No buildings":"地图中没有建筑",l.appendChild(s)}else for(const s of a){const n=He(this.editor.config,s.id),c=(n==null?void 0:n.slot)===e,i=n&&!c,m=document.createElement("div");m.className=`bd-item${i?" bd-disabled":""}${c?" bd-current":""}`;const g=document.createElement("span");g.className="bd-name",g.textContent=s.displayName??s.modelKey;const d=document.createElement("span");if(d.className="bd-meta",d.textContent=`${s.widthCells}×${s.depthCells}`,m.appendChild(g),m.appendChild(d),i){const _=document.createElement("span");_.className="bd-lock",_.textContent=n.label,m.appendChild(_)}if(c){const _=document.createElement("span");_.className="bd-current-tag",_.textContent=u()==="en"?"Current":"当前",m.appendChild(_)}!i&&!c&&m.addEventListener("click",_=>{_.stopPropagation(),this.closeDropdown(),this.editor.completeBinding(e,s.id),this.refresh()}),l.appendChild(m)}const o=t.getBoundingClientRect(),r=this.el.getBoundingClientRect();l.style.top=`${o.bottom-r.top+4}px`,l.style.right=`${r.right-o.right}px`,this.el.appendChild(l),this.openDropdown=l}makeActionBtn(e,t,l){const a=document.createElement("button");return a.className=`binding-action-btn btn-${t}`,a.textContent=e,a.addEventListener("click",l),a}}const ll=10*1024*1024,al=[".glb"],Q=class Q{constructor(e){p(this,"overlay");p(this,"store");p(this,"loader",new Fe);p(this,"previewRenderer",null);p(this,"previewScene",null);p(this,"previewCamera",null);p(this,"previewControls",null);p(this,"previewModel",null);p(this,"previewPivot",null);p(this,"previewCanvas",null);p(this,"animId",0);p(this,"currentFile",null);p(this,"editingAsset",null);p(this,"onComplete",null);p(this,"rawModelSize",new w);p(this,"basePreviewScale",1);this.store=e,this.overlay=document.getElementById("upload-overlay"),this.overlay.addEventListener("click",t=>{t.target===this.overlay&&this.close()})}open(e){this.editingAsset=null,this.currentFile=null,this.onComplete=e??null,this.overlay.classList.add("open"),this.showStep1()}openEdit(e,t){this.editingAsset=e,this.currentFile=null,this.onComplete=t??null,this.overlay.classList.add("open"),this.showStep2Edit(e)}close(){this.overlay.classList.remove("open"),this.stopPreview(),this.currentFile=null,this.editingAsset=null}showStep1(){const e=this.overlay.querySelector(".upload-panel");e.classList.remove("upload-panel--step2"),e.innerHTML=`
|
|
151
|
+
<div class="upload-header">
|
|
152
|
+
<span class="upload-title">${u()==="en"?"Add Asset":"添加资产"}</span>
|
|
153
|
+
<button class="upload-close-btn">
|
|
154
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M18 6L6 18M6 6l12 12"/></svg>
|
|
155
|
+
</button>
|
|
156
|
+
</div>
|
|
157
|
+
<div class="upload-dropzone" id="upload-dropzone">
|
|
158
|
+
<div class="dropzone-icon">
|
|
159
|
+
<svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
|
|
160
|
+
<path d="M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4"/>
|
|
161
|
+
<polyline points="17 8 12 3 7 8"/>
|
|
162
|
+
<line x1="12" y1="3" x2="12" y2="15"/>
|
|
163
|
+
</svg>
|
|
164
|
+
</div>
|
|
165
|
+
<div class="dropzone-text">${u()==="en"?"Drop .glb file here":"拖拽 .glb 文件到此处"}</div>
|
|
166
|
+
<div class="dropzone-hint">${u()==="en"?"or click to browse (≤ 10MB)":"或点击选择文件(≤ 10MB)"}</div>
|
|
167
|
+
<input type="file" accept=".glb" hidden id="upload-file-input">
|
|
168
|
+
</div>
|
|
169
|
+
<div class="upload-error" id="upload-error"></div>
|
|
170
|
+
<div class="upload-divider"><span class="upload-divider-line"></span><span class="upload-divider-text">${u()==="en"?"or":"或"}</span><span class="upload-divider-line"></span></div>
|
|
171
|
+
<button class="ai-gen-toggle" id="ai-gen-toggle">
|
|
172
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2l1.09 3.26L16.36 6l-3.27 1.09L12 10.36l-1.09-3.27L7.64 6l3.27-1.09L12 2z"/><path d="M5 15l.55 1.64L7.18 17.2 5.55 17.75 5 19.4l-.55-1.65L2.82 17.2l1.63-.56L5 15z"/><path d="M19 11l.55 1.64 1.63.56-1.63.55L19 15.4l-.55-1.65-1.63-.55 1.63-.56L19 11z"/></svg>
|
|
173
|
+
<span class="ai-gen-label">${u()==="en"?"AI Generate 3D":"AI 生成 3D 资产"}</span>
|
|
174
|
+
<svg class="ai-gen-arrow" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg>
|
|
175
|
+
</button>
|
|
176
|
+
<div class="ai-gen-tools" id="ai-gen-tools">
|
|
177
|
+
<a class="ai-tool-card" data-url="https://3d-models.hunyuan.tencent.com/">
|
|
178
|
+
<span class="ai-tool-logo" style="background:linear-gradient(135deg,#6366f1,#3b82f6)">H</span>
|
|
179
|
+
<span class="ai-tool-name">混元3D</span>
|
|
180
|
+
</a>
|
|
181
|
+
<a class="ai-tool-card" data-url="https://www.meshy.ai">
|
|
182
|
+
<span class="ai-tool-logo" style="background:linear-gradient(135deg,#f97316,#fb923c)">M</span>
|
|
183
|
+
<span class="ai-tool-name">Meshy</span>
|
|
184
|
+
</a>
|
|
185
|
+
<a class="ai-tool-card" data-url="https://hyper3d.ai">
|
|
186
|
+
<span class="ai-tool-logo" style="background:linear-gradient(135deg,#10b981,#34d399)">R</span>
|
|
187
|
+
<span class="ai-tool-name">Rodin</span>
|
|
188
|
+
</a>
|
|
189
|
+
<a class="ai-tool-card" data-url="https://www.tripo3d.ai">
|
|
190
|
+
<span class="ai-tool-logo" style="background:linear-gradient(135deg,#06b6d4,#22d3ee)">T</span>
|
|
191
|
+
<span class="ai-tool-name">Tripo</span>
|
|
192
|
+
</a>
|
|
193
|
+
</div>
|
|
194
|
+
`,e.querySelector(".upload-close-btn").addEventListener("click",()=>this.close());const t=e.querySelector("#upload-dropzone"),l=e.querySelector("#upload-file-input");t.addEventListener("click",()=>l.click()),t.addEventListener("dragover",r=>{r.preventDefault(),t.classList.add("dragover")}),t.addEventListener("dragleave",()=>{t.classList.remove("dragover")}),t.addEventListener("drop",r=>{var n;r.preventDefault(),t.classList.remove("dragover");const s=(n=r.dataTransfer)==null?void 0:n.files[0];s&&this.validateAndProceed(s)}),l.addEventListener("change",()=>{var s;const r=(s=l.files)==null?void 0:s[0];r&&this.validateAndProceed(r)});const a=e.querySelector("#ai-gen-toggle"),o=e.querySelector("#ai-gen-tools");a.addEventListener("click",()=>{const r=o.classList.toggle("expanded");a.classList.toggle("expanded",r)}),o.querySelectorAll(".ai-tool-card").forEach(r=>{r.addEventListener("click",s=>{s.preventDefault();const n=r.dataset.url;n&&window.open(n,"_blank","noopener")})})}validateAndProceed(e){const t=this.overlay.querySelector("#upload-error"),l=e.name.substring(e.name.lastIndexOf(".")).toLowerCase();if(!al.includes(l)){t.textContent=u()==="en"?"Only .glb supported":"仅支持 .glb 格式",t.classList.add("visible");return}if(e.size>ll){t.textContent=u()==="en"?"File exceeds 10MB":"文件超过 10MB 限制",t.classList.add("visible");return}this.currentFile=e,this.showStep2()}showStep2(){const e=this.currentFile.name.replace(/\.glb$/i,"").slice(0,20);this.renderStep2Form(e,1,"prop",0,0,0),this.loadPreviewFromFile(this.currentFile)}showStep2Edit(e){this.renderStep2Form(e.name,e.scale??1,e.assetType??"prop",e.fixRotationX??0,e.fixRotationY??0,e.fixRotationZ??0);const t=this.store.getModelUrl(e),l=/^(blob:|https?:\/\/)/.test(t)?t:"./"+t;this.initPreview(),this.loader.loadAsync(l).then(a=>{this.setPreviewModel(a.scene),this.applyPreviewRotation(),this.applyPreviewScale()}).catch(()=>{const a=this.overlay.querySelector(".upload-preview-info");a&&(a.textContent=u()==="en"?"Model load failed":"模型加载失败")})}renderStep2Form(e,t,l,a,o,r){const s=this.overlay.querySelector(".upload-panel"),n=!!this.editingAsset;s.classList.add("upload-panel--step2"),s.innerHTML=`
|
|
195
|
+
<div class="upload-header">
|
|
196
|
+
<span class="upload-title">${n?u()==="en"?"Edit Asset":"编辑资产":u()==="en"?"Add Asset":"添加资产"}</span>
|
|
197
|
+
<button class="upload-close-btn">
|
|
198
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M18 6L6 18M6 6l12 12"/></svg>
|
|
199
|
+
</button>
|
|
200
|
+
</div>
|
|
201
|
+
<div class="upload-body">
|
|
202
|
+
<div class="upload-form">
|
|
203
|
+
<label class="upload-label">
|
|
204
|
+
${u()==="en"?"Name":"名称"}
|
|
205
|
+
<input type="text" class="upload-input" id="upload-name" value="${this.escHtml(e)}" maxlength="20" placeholder="${u()==="en"?"Asset name":"资产名称"}">
|
|
206
|
+
</label>
|
|
207
|
+
<label class="upload-label">${u()==="en"?"Type":"放置类型"}</label>
|
|
208
|
+
<div class="upload-custom-select" id="upload-type-select">
|
|
209
|
+
<div class="upload-select-trigger" id="upload-type-trigger">
|
|
210
|
+
<span class="upload-select-value">${this.getAssetTypeLabel(l)}</span>
|
|
211
|
+
<svg class="upload-select-arrow" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg>
|
|
212
|
+
</div>
|
|
213
|
+
<div class="upload-select-dropdown" id="upload-type-dropdown">
|
|
214
|
+
${this.renderAssetTypeOptions(l)}
|
|
215
|
+
</div>
|
|
216
|
+
<input type="hidden" id="upload-type" value="${l}" />
|
|
217
|
+
</div>
|
|
218
|
+
<label class="upload-label">${u()==="en"?"Scale":"缩放"}</label>
|
|
219
|
+
<div class="upload-scale-row">
|
|
220
|
+
<button class="pi-scale-btn" data-action="scale-minus">−</button>
|
|
221
|
+
<input type="range" class="pi-scale-range" id="upload-scale" min="0.05" max="5" step="0.05" value="${t}" />
|
|
222
|
+
<button class="pi-scale-btn" data-action="scale-plus">+</button>
|
|
223
|
+
<input type="number" class="pi-scale-num" id="upload-scale-num" min="0.05" max="5" step="0.05" value="${t}" />
|
|
224
|
+
</div>
|
|
225
|
+
<label class="upload-label">${u()==="en"?"Rotation X":"旋转 X"}</label>
|
|
226
|
+
<div class="upload-scale-row">
|
|
227
|
+
<button class="pi-scale-btn" data-action="rotx-minus">−</button>
|
|
228
|
+
<input type="range" class="pi-scale-range" id="upload-rotx" min="-180" max="180" step="1" value="${a}" />
|
|
229
|
+
<button class="pi-scale-btn" data-action="rotx-plus">+</button>
|
|
230
|
+
<span class="upload-rot-wrap"><input type="number" class="pi-scale-num" id="upload-rotx-num" min="-180" max="180" step="1" value="${a}" /></span>
|
|
231
|
+
</div>
|
|
232
|
+
<label class="upload-label">${u()==="en"?"Rotation Y":"旋转 Y"}</label>
|
|
233
|
+
<div class="upload-scale-row">
|
|
234
|
+
<button class="pi-scale-btn" data-action="roty-minus">−</button>
|
|
235
|
+
<input type="range" class="pi-scale-range" id="upload-roty" min="-180" max="180" step="1" value="${o}" />
|
|
236
|
+
<button class="pi-scale-btn" data-action="roty-plus">+</button>
|
|
237
|
+
<span class="upload-rot-wrap"><input type="number" class="pi-scale-num" id="upload-roty-num" min="-180" max="180" step="1" value="${o}" /></span>
|
|
238
|
+
</div>
|
|
239
|
+
<label class="upload-label">${u()==="en"?"Rotation Z":"旋转 Z"}</label>
|
|
240
|
+
<div class="upload-scale-row">
|
|
241
|
+
<button class="pi-scale-btn" data-action="rotz-minus">−</button>
|
|
242
|
+
<input type="range" class="pi-scale-range" id="upload-rotz" min="-180" max="180" step="1" value="${r}" />
|
|
243
|
+
<button class="pi-scale-btn" data-action="rotz-plus">+</button>
|
|
244
|
+
<span class="upload-rot-wrap"><input type="number" class="pi-scale-num" id="upload-rotz-num" min="-180" max="180" step="1" value="${r}" /></span>
|
|
245
|
+
</div>
|
|
246
|
+
<div class="upload-error" id="upload-error"></div>
|
|
247
|
+
<div class="upload-footer">
|
|
248
|
+
<button class="upload-btn upload-btn-cancel" id="upload-cancel">${u()==="en"?"Cancel":"取消"}</button>
|
|
249
|
+
<button class="upload-btn upload-btn-save" id="upload-save">${n?u()==="en"?"Save":"保存修改":u()==="en"?"Save":"保存"}</button>
|
|
250
|
+
</div>
|
|
251
|
+
</div>
|
|
252
|
+
<div class="upload-preview-area">
|
|
253
|
+
<canvas class="upload-preview-canvas"></canvas>
|
|
254
|
+
<div class="upload-preview-info">${u()==="en"?"Loading...":"加载中..."}</div>
|
|
255
|
+
</div>
|
|
256
|
+
</div>
|
|
257
|
+
`,s.querySelector(".upload-close-btn").addEventListener("click",()=>this.close()),s.querySelector("#upload-cancel").addEventListener("click",()=>this.close()),s.querySelector("#upload-save").addEventListener("click",()=>this.handleSave()),this.bindScaleControls(),this.bindRotationControls(),this.bindCustomSelect(),n||this.initPreview()}bindScaleControls(){const e=this.overlay.querySelector("#upload-scale"),t=this.overlay.querySelector("#upload-scale-num"),l=this.overlay.querySelector('[data-action="scale-minus"]'),a=this.overlay.querySelector('[data-action="scale-plus"]'),o=r=>{r=Math.max(.05,Math.min(5,Math.round(r*100)/100)),e.value=String(r),t.value=String(r),this.applyPreviewScale()};e.addEventListener("input",()=>o(parseFloat(e.value))),t.addEventListener("input",()=>{const r=parseFloat(t.value);isNaN(r)||(e.value=String(r),this.applyPreviewScale())}),t.addEventListener("blur",()=>o(parseFloat(t.value)||1)),l.addEventListener("click",()=>o((parseFloat(e.value)||1)-.1)),a.addEventListener("click",()=>o((parseFloat(e.value)||1)+.1))}bindRotationControls(){const e=["rotx","roty","rotz"];for(const t of e){const l=this.overlay.querySelector(`#upload-${t}`),a=this.overlay.querySelector(`#upload-${t}-num`),o=this.overlay.querySelector(`[data-action="${t}-minus"]`),r=this.overlay.querySelector(`[data-action="${t}-plus"]`),s=n=>{n=Math.max(-180,Math.min(180,Math.round(n))),l.value=String(n),a.value=String(n),this.applyPreviewRotation()};l.addEventListener("input",()=>s(parseInt(l.value))),a.addEventListener("input",()=>{const n=parseInt(a.value);isNaN(n)||(l.value=String(n),this.applyPreviewRotation())}),a.addEventListener("blur",()=>s(parseInt(a.value)||0)),o.addEventListener("click",()=>s((parseInt(l.value)||0)-5)),r.addEventListener("click",()=>s((parseInt(l.value)||0)+5))}}applyPreviewRotation(){if(!this.previewPivot)return;const e=this.overlay.querySelector("#upload-rotx"),t=this.overlay.querySelector("#upload-roty"),l=this.overlay.querySelector("#upload-rotz"),a=parseFloat((e==null?void 0:e.value)??"0")||0,o=parseFloat((t==null?void 0:t.value)??"0")||0,r=parseFloat((l==null?void 0:l.value)??"0")||0;this.previewPivot.rotation.x=a*Math.PI/180,this.previewPivot.rotation.y=o*Math.PI/180,this.previewPivot.rotation.z=r*Math.PI/180}applyPreviewScale(){if(!this.previewPivot)return;const e=this.overlay.querySelector("#upload-scale"),t=parseFloat((e==null?void 0:e.value)??"1")||1;this.previewPivot.scale.setScalar(this.basePreviewScale*t)}async handleSave(){var m;const e=this.overlay.querySelector("#upload-name").value.trim(),t=parseFloat(this.overlay.querySelector("#upload-scale").value)||1,l=this.overlay.querySelector("#upload-type").value,a=parseInt(this.overlay.querySelector("#upload-rotx").value)||0,o=parseInt(this.overlay.querySelector("#upload-roty").value)||0,r=parseInt(this.overlay.querySelector("#upload-rotz").value)||0,s=this.overlay.querySelector("#upload-error"),n=this.computeCells(t);if(!e){s.textContent=u()==="en"?"Enter a name":"请输入资产名称",s.classList.add("visible");return}const c=this.captureThumbnail(),i=this.overlay.querySelector("#upload-save");i.disabled=!0,i.textContent=u()==="en"?"Saving...":"保存中...";try{if(this.editingAsset){const g=await this.store.update(this.editingAsset.id,{name:e,cells:n,scale:t,assetType:l,fixRotationX:a||void 0,fixRotationY:o||void 0,fixRotationZ:r||void 0});if("error"in g){s.textContent=g.error,s.classList.add("visible"),i.disabled=!1,i.textContent=u()==="en"?"Save":"保存修改";return}}else{if(!this.currentFile)return;const g=await this.store.upload({kind:"model",name:e,file:this.currentFile,cells:n,scale:t,assetType:l,fixRotationX:a||void 0,fixRotationY:o||void 0,fixRotationZ:r||void 0,thumbnail:c});if("error"in g){s.textContent=g.error,s.classList.add("visible"),i.disabled=!1,i.textContent=u()==="en"?"Save":"保存";return}}this.close(),(m=this.onComplete)==null||m.call(this)}catch{s.textContent=u()==="en"?"Save failed":"保存失败,请重试",s.classList.add("visible"),i.disabled=!1,i.textContent=this.editingAsset?u()==="en"?"Save":"保存修改":u()==="en"?"Save":"保存"}}computeCells(e){if(this.rawModelSize.x===0&&this.rawModelSize.z===0)return[1,1];const t=Math.max(1,Math.round(this.rawModelSize.x*e)),l=Math.max(1,Math.round(this.rawModelSize.z*e));return[t,l]}initPreview(){this.stopPreview();const e=this.overlay.querySelector(".upload-preview-canvas");if(!e)return;this.previewCanvas=e,this.previewRenderer=new me({canvas:e,antialias:!0}),this.previewRenderer.setPixelRatio(Math.min(devicePixelRatio,2)),this.previewRenderer.outputColorSpace=xe,this.previewScene=new pe,this.previewScene.background=new _e(1052696),this.previewCamera=new Pe(40,1,.01,200),this.previewCamera.position.set(3,2,3),this.previewControls=new De(this.previewCamera,e),this.previewControls.enableDamping=!0,this.previewControls.autoRotate=!1;const t=new ye(16777215,.7);this.previewScene.add(t);const l=new ae(16777215,1.2);l.position.set(5,8,5),this.previewScene.add(l);const a=new Se(10,20,2236979,1579044);this.previewScene.add(a),this.resizePreview(),this.startPreviewLoop()}loadPreviewFromFile(e){this.initPreview();const t=URL.createObjectURL(e);this.loader.loadAsync(t).then(l=>{URL.revokeObjectURL(t),this.setPreviewModel(l.scene)}).catch(()=>{URL.revokeObjectURL(t);const l=this.overlay.querySelector(".upload-preview-info");l&&(l.textContent=u()==="en"?"Model load failed":"模型加载失败,请检查文件是否完整")})}setPreviewModel(e){if(!this.previewScene||!this.previewCamera||!this.previewControls)return;this.previewPivot&&this.previewScene&&this.previewScene.remove(this.previewPivot),this.previewModel&&this.previewScene&&this.previewScene.remove(this.previewModel);const t=new V;t.add(e),this.previewModel=e,this.previewPivot=t,this.previewScene.add(t);const l=new z().setFromObject(e),a=l.getSize(new w),o=l.getCenter(new w),r=Math.max(a.x,a.y,a.z);this.rawModelSize.copy(a),r>0&&(this.basePreviewScale=2.5/r,t.scale.setScalar(this.basePreviewScale),l.setFromObject(t),l.getCenter(o),e.position.sub(new w(o.x/this.basePreviewScale,o.y/this.basePreviewScale,o.z/this.basePreviewScale)),l.setFromObject(t),e.position.y-=l.min.y/this.basePreviewScale);const s=new z().setFromObject(t),n=s.getCenter(new w);this.previewControls.target.copy(n);const c=s.getSize(new w),i=Math.max(c.x,c.y,c.z)*2;this.previewCamera.position.set(n.x+i*.7,n.y+i*.5,n.z+i*.7);const m=this.overlay.querySelector(".upload-preview-info");m&&(m.textContent=`${a.x.toFixed(1)} × ${a.y.toFixed(1)} × ${a.z.toFixed(1)}`),this.applyPreviewScale(),this.applyPreviewRotation()}resizePreview(){if(!this.previewCanvas||!this.previewRenderer||!this.previewCamera)return;const e=this.previewCanvas.clientWidth,t=this.previewCanvas.clientHeight;e>0&&t>0&&(this.previewRenderer.setSize(e,t),this.previewCamera.aspect=e/t,this.previewCamera.updateProjectionMatrix())}startPreviewLoop(){const e=()=>{var t;this.previewRenderer&&(this.animId=requestAnimationFrame(e),this.resizePreview(),(t=this.previewControls)==null||t.update(),this.previewRenderer.render(this.previewScene,this.previewCamera))};this.animId=requestAnimationFrame(e)}stopPreview(){var e,t;cancelAnimationFrame(this.animId),this.previewPivot&&this.previewScene&&this.previewScene.remove(this.previewPivot),(e=this.previewRenderer)==null||e.dispose(),(t=this.previewControls)==null||t.dispose(),this.previewRenderer=null,this.previewScene=null,this.previewCamera=null,this.previewControls=null,this.previewModel=null,this.previewPivot=null,this.previewCanvas=null}captureThumbnail(){if(!(!this.previewRenderer||!this.previewScene||!this.previewCamera)){this.previewRenderer.render(this.previewScene,this.previewCamera);try{return this.previewRenderer.domElement.toDataURL("image/png",.6)}catch{return}}}getAssetTypeLabel(e){var t;return((t=Q.ASSET_TYPE_OPTIONS.find(l=>l.value===e))==null?void 0:t.label)??(u()==="en"?"Prop":"道具")}renderAssetTypeOptions(e){return Q.ASSET_TYPE_OPTIONS.map(t=>`<div class="upload-select-option${t.value===e?" active":""}" data-value="${t.value}">${t.label}</div>`).join("")}bindCustomSelect(){const e=this.overlay.querySelector("#upload-type-select"),t=this.overlay.querySelector("#upload-type-trigger"),l=this.overlay.querySelector("#upload-type-dropdown"),a=this.overlay.querySelector("#upload-type"),o=t.querySelector(".upload-select-value");!e||!t||!l||!a||(t.addEventListener("click",r=>{r.stopPropagation();const s=e.classList.contains("open");e.classList.toggle("open",!s)}),l.addEventListener("click",r=>{const s=r.target.closest(".upload-select-option");if(!s)return;const n=s.dataset.value;a.value=n,o.textContent=this.getAssetTypeLabel(n),l.querySelectorAll(".upload-select-option").forEach(c=>c.classList.remove("active")),s.classList.add("active"),e.classList.remove("open")}),document.addEventListener("click",r=>{e.contains(r.target)||e.classList.remove("open")}))}escHtml(e){return e.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}};p(Q,"ASSET_TYPE_OPTIONS",[{value:"building",label:u()==="en"?"Building":"建筑"},{value:"road",label:u()==="en"?"Road":"道路"},{value:"prop",label:u()==="en"?"Prop":"道具"},{value:"vehicle",label:u()==="en"?"Vehicle":"汽车"},{value:"nature",label:u()==="en"?"Nature":"自然"},{value:"streetProp",label:u()==="en"?"Street":"街道"},{value:"tile",label:u()==="en"?"Tile":"瓦片"},{value:"sign",label:u()==="en"?"Sign":"标牌"},{value:"factory",label:u()==="en"?"Factory":"工厂"},{value:"food",label:u()==="en"?"Food":"餐饮"},{value:"roofProp",label:u()==="en"?"Roof":"屋顶"},{value:"basketball",label:u()==="en"?"Sports":"球场"},{value:"construction",label:u()==="en"?"Build":"工地"},{value:"other",label:u()==="en"?"Other":"其他"}]);let fe=Q;Le();async function sl(){var d,_,P,R,S,y,E,b,v,x,D,B;ol();const C=new tt;C.initScene(document.getElementById("scene-container")),C.initKeyboard(),C.initTerrainBar();const e=new Ie;await e.init(),C.editorScene.setCustomStore(e),C.editorScene.fullRebuild(),(d=document.getElementById("editor-loading"))==null||d.classList.add("hidden");const t=new Tt(document.getElementById("asset-palette"),C),l=new Nt(document.getElementById("asset-preview")),a=new fe(e);t.setPreview(l),t.setCustomStore(e),t.setCustomUpload(a);const o=new Qt(document.getElementById("property-inspector"),C),r=new tl(document.getElementById("binding-panel"),C),s=()=>{const{config:f}=C,h=document.getElementById("status-grid"),k=document.getElementById("status-buildings"),F=document.getElementById("status-props");h&&(h.textContent=`${f.grid.cols} × ${f.grid.rows}`),k&&(k.textContent=`建筑: ${f.buildings.length}`),F&&(F.textContent=`道具: ${f.props.length+f.roads.length}`)};C.on(f=>{f.type==="config_changed"&&s(),f.type==="selection_changed"&&o.updateMulti(f.items)}),s();const n=document.getElementById("scene-toolbar");{const f=document.createElement("div");f.className="pi-tooltip",document.body.appendChild(f);let h=null;n.addEventListener("pointermove",k=>{const F=k.target.closest("[data-tip]");if(F===h)return;if(h=F,!F){f.classList.remove("visible");return}f.textContent=F.dataset.tip;const A=F.getBoundingClientRect();f.style.left=`${A.left+A.width/2}px`,f.style.top=`${A.top-6}px`,f.classList.add("visible")}),n.addEventListener("pointerleave",()=>{h=null,f.classList.remove("visible")})}(_=document.getElementById("btn-undo"))==null||_.addEventListener("click",()=>C.undoStack.undo()),(P=document.getElementById("btn-redo"))==null||P.addEventListener("click",()=>C.undoStack.redo());const c=document.getElementById("btn-save"),i=f=>{if(!c)return;c.classList.add("save-flash");const h=c.lastChild,k=h.textContent;h.textContent=f,setTimeout(()=>{c.classList.remove("save-flash"),h.textContent=k},1200)},m=()=>{C.draftStore.saveImmediate(C.config),i(" 已保存")};c==null||c.addEventListener("click",m),window.addEventListener("keydown",f=>{(f.ctrlKey||f.metaKey)&&f.key==="s"&&(f.preventDefault(),m())}),(R=document.getElementById("btn-export"))==null||R.addEventListener("click",()=>{C.draftStore.saveImmediate(C.config),C.draftStore.exportJSON(C.config)}),(S=document.getElementById("btn-import"))==null||S.addEventListener("click",async()=>{const f=await C.draftStore.importJSON();f&&(C.config=f,C.undoStack.clear(),C.setSelection(null),C.editorScene.fullRebuild(),C.onConfigChanged())});const g=(f,h)=>new Promise(k=>{const F=document.getElementById("confirm-overlay");document.getElementById("confirm-title").textContent=f,document.getElementById("confirm-message").textContent=h,F.classList.add("open");const A=H=>{F.classList.remove("open"),N.removeEventListener("click",G),L.removeEventListener("click",M),F.removeEventListener("click",O),k(H)},G=()=>A(!0),M=()=>A(!1),O=H=>{H.target===F&&A(!1)},N=document.getElementById("confirm-ok"),L=document.getElementById("confirm-cancel");N.addEventListener("click",G),L.addEventListener("click",M),F.addEventListener("click",O)});(y=document.getElementById("btn-clear"))==null||y.addEventListener("click",async()=>{await g("清空地图","确定要清空当前地图吗?此操作不可撤销。")&&(C.config=Re(),C.undoStack.clear(),C.setSelection(null),C.editorScene.fullRebuild(),C.onConfigChanged())}),(E=document.getElementById("btn-bindings"))==null||E.addEventListener("click",()=>{var f;(f=document.getElementById("binding-overlay"))==null||f.classList.toggle("open"),r.refresh()}),(b=document.getElementById("binding-overlay"))==null||b.addEventListener("click",f=>{f.target===f.currentTarget&&f.currentTarget.classList.remove("open")}),(v=document.getElementById("btn-collapse-palette"))==null||v.addEventListener("click",()=>{var f;(f=document.getElementById("asset-palette"))==null||f.classList.add("collapsed")}),(x=document.getElementById("btn-expand-palette"))==null||x.addEventListener("click",()=>{var f;(f=document.getElementById("asset-palette"))==null||f.classList.remove("collapsed")}),document.querySelectorAll("#resize-menu button[data-dir]").forEach(f=>{f.addEventListener("click",()=>{const h=f.dataset.dir,k=parseInt(f.dataset.amount,10);C.resizeGrid(h,k)})}),(D=document.getElementById("btn-camera-toggle"))==null||D.addEventListener("click",()=>{C.toggleCamera()}),(B=document.getElementById("btn-preview"))==null||B.addEventListener("click",()=>{C.openPreview()}),window.__townEditor=C}sl().catch(console.error);function ol(){document.querySelectorAll("[data-i18n]").forEach(C=>{const e=C.getAttribute("data-i18n"),t=te(e);t!==e&&(C.textContent=t)}),document.querySelectorAll("[data-i18n-tip]").forEach(C=>{const e=C.getAttribute("data-i18n-tip"),t=te(e);t!==e&&C.setAttribute("data-tip",t)}),document.querySelectorAll("[data-i18n-title]").forEach(C=>{const e=C.getAttribute("data-i18n-title"),t=te(e);t!==e&&C.setAttribute("title",t)}),document.querySelectorAll("[data-i18n-placeholder]").forEach(C=>{const e=C.getAttribute("data-i18n-placeholder"),t=te(e);t!==e&&(C.placeholder=t)})}
|
|
258
|
+
//# sourceMappingURL=editor-B5QO0OtX.js.map
|