diff --git a/.agent/data/credentials_registry.md b/.agent/data/credentials_registry.md
new file mode 100644
index 0000000..f7d428b
--- /dev/null
+++ b/.agent/data/credentials_registry.md
@@ -0,0 +1,62 @@
+# ๐ WebPilot-Engine ํฌ๋ฆฌ๋ด์
๋ ์ง์คํธ๋ฆฌ (SSOT)
+
+> **์ด ํ์ผ์ ํ๋ก์ ํธ์ ๋ชจ๋ API ํค/ํ ํฐ ๋ฉํ์ ๋ณด๋ฅผ ๊ธฐ๋กํ๋ ๋จ์ผ ์ง์ค ์์ค(SSOT)์
๋๋ค.**
+> **์์ด์ ํธ๋ `.env*` ํ์ผ ์์ ์ ์ ๋ฐ๋์ ์ด ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์ฐธ์กฐํด์ผ ํฉ๋๋ค.**
+
+---
+
+## .env (Git ์ถ์ ๋จ โ ๏ธ)
+
+| ํ๊ฒฝ๋ณ์๋ช
| ์ฉ๋ | ๋ฐ๊ธ์ฒ |
+|------------|------|--------|
+| `DATABASE_URL` | SQLite ๋ก์ปฌ DB | ๋ด๋ถ ์ค์ |
+| `NEXT_PUBLIC_BLOCKADE_LABS_API_KEY` | Blockade Labs ์ค์นด์ด๋ฐ์ค AI | [Blockade Labs](https://skybox.blockadelabs.com/) |
+| `NEXT_PUBLIC_TRIPO_API_KEY` | Tripo3D 3D ๋ชจ๋ธ ์์ฑ | [Tripo3D](https://www.tripo3d.ai/) |
+| `GEMINI_API_KEY` | Google Gemini AI (์๋ฒ) | [Google AI Studio](https://aistudio.google.com/apikey) |
+| `NEXT_PUBLIC_GEMINI_API_KEY` | Google Gemini AI (ํด๋ผ์ด์ธํธ) | ์์ ๋์ผ |
+| `SUNO_API_KEY` | Suno AI BGM ์์ฑ | [Suno AI](https://suno.ai/) |
+| `ELEVENLABS_API_KEY` | ElevenLabs SFX ์์ฑ | [ElevenLabs](https://elevenlabs.io/) |
+| `NEXT_PUBLIC_SLYTHERIN_*` | ํ
๋ง ์ค์ (5๊ฐ) | ๋ด๋ถ ์ค์ |
+| `HYPER3D_API_KEY` | Hyper3D Rodin 3D ์์ฑ | [Hyper3D](https://hyper3d.ai/) |
+| `R2_BUCKET_URL` | Cloudflare R2 ์คํ ๋ฆฌ์ง | [Cloudflare](https://dash.cloudflare.com/) |
+| `R2_ACCOUNT_ID` | R2 ๊ณ์ ID | ์์ ๋์ผ |
+| `R2_BUCKET_NAME` | R2 ๋ฒํท ์ด๋ฆ | ์์ ๋์ผ |
+| `R2_ACCESS_KEY_ID` | R2 API ํค | ์์ ๋์ผ |
+| `R2_SECRET_ACCESS_KEY` | R2 ์ํฌ๋ฆฟ | ์์ ๋์ผ |
+| `SKETCHFAB_API_KEY` | Sketchfab 3D ๊ฒ์ | [Sketchfab](https://sketchfab.com/) |
+
+## .env.local (Git ์ถ์ ์ ๋จ ๐)
+
+| ํ๊ฒฝ๋ณ์๋ช
| ์ฉ๋ | ๋ฐ๊ธ์ฒ |
+|------------|------|--------|
+| `SLACK_WEBHOOK_URL` | Slack ์๋ฆผ ์นํ
| Slack App ์ค์ |
+| `OPENAI_API_KEY` | OpenAI (Vector Search Embedding) | [OpenAI](https://platform.openai.com/api-keys) |
+| `NEXT_PUBLIC_OPENAI_API_KEY` | OpenAI (ํด๋ผ์ด์ธํธ) | ์์ ๋์ผ |
+| `REPLICATE_API_TOKEN` | Replicate TripoSR | [Replicate](https://replicate.com/account/api-tokens) |
+| `POLY_PIZZA_API_KEY` | Poly Pizza 3D ๊ฒ์ | [Poly Pizza](https://polypizza.xyz/) |
+| `FREESOUND_CLIENT_ID` | Freesound ํด๋ผ์ด์ธํธ ID | [Freesound API](https://freesound.org/apiv2/apply/) |
+| `FREESOUND_API_KEY` | Freesound CC0 ํจ๊ณผ์ ์์ง | ์์ ๋์ผ |
+
+---
+
+## ์ฃผ์ ํ๋ก์ ํธ ๊ฒฝ๋ก
+
+| ํญ๋ชฉ | ๊ฒฝ๋ก/URL |
+|------|----------|
+| ๋ก์ปฌ ํ๋ก์ ํธ | `D:\test\WebPilot-Engine` |
+| Git ์๊ฒฉ | GitHub `yesol/webpilot-engine` (main) |
+| Vercel ๋ฐฐํฌ | webpilot-engine.vercel.app |
+| **๊ฐ๋ฐ ์๋ฒ** | **`localhost:8090`** (`next dev -p 8090`) |
+| ๋น๋ ๋ช
๋ น | `cross-env NEXT_TURBOPACK=0 next build` |
+| Dev ๋ฐฐํฌ | `vercel` (๊ธฐ๋ณธ โ ์์ด์ ํธ ์๋ ํ์ฉ) |
+| Live ๋ฐฐํฌ | `vercel --prod` (**์ฌ์ฉ์ ๋ช
์ ์์ฒญ ์์๋ง**) |
+| GLB ๋ชจ๋ธ | `public/models/` (1,680๊ฐ) |
+| HDRI | `public/skybox/` (30๊ฐ) |
+| PBR ํ
์ค์ฒ | `public/textures/` (70๊ฐ) |
+| ํํฐํด | `public/textures/particles/kenney/` (193๊ฐ) |
+| ํจ๊ณผ์ | `public/sounds/` |
+| ๋ฉํ๋ฐ์ดํฐ | `public/models/_metadata_physical.json`, `_metadata_semantic.json` |
+| .env ํ์ผ | `.env` (Git ์ถ์ ), `.env.local` (Git ๋ฏธ์ถ์ ) |
+
+---
+*๋ง์ง๋ง ์
๋ฐ์ดํธ: 2026-02-13*
diff --git a/.agent/data/git_changelog.json b/.agent/data/git_changelog.json
new file mode 100644
index 0000000..52bd139
--- /dev/null
+++ b/.agent/data/git_changelog.json
@@ -0,0 +1,1069 @@
+{
+ "lastUpdated": "2026-02-13T13:40:00+09:00",
+ "pushHistory": [
+ {
+ "timestamp": "2026-02-13T13:40:00+09:00",
+ "commits": [
+ {
+ "hash": "5509e8c",
+ "message": "fix: ์์
๋งค์นญ ํ์ง v3 - ์ญ๋ฐฉํฅ ํ๋ํฐ ๊ฐํ, ๋ค์ค ํ๋ณด ๋น๊ต, ์นดํ
๊ณ ๋ฆฌ ํ๋ํฐ, ์๊ณ๊ฐ ๋ณด์ ",
+ "description": "computeMatchScore ์ญ๋ฐฉํฅ ํ๋ํฐ 0.5โ0.3, findAssetByKeyword ์๊ณ๊ฐ ํด๋จํ 0.4~0.7, ClientResourceMatcher ๋ค์ค ํ๋ณด ๋น๊ต, VectorSearchService ์นดํ
๊ณ ๋ฆฌ ๋ถ์ผ์น ร0.5, AssetRegistry ์๊ณ๊ฐ ๋์ผ ๋ณด์ ",
+ "filesChanged": 4,
+ "insertions": 45,
+ "deletions": 32
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "์์
๋งค์นญ ํ์ง v3 โ 4๊ฐ ํ์ผ ๋์ ์ค์ฝ์ด๋ง ๊ฐํ (ํ๋์ฝ๋ฉ ์์)",
+ "category": [
+ "fix"
+ ],
+ "impact": {
+ "bugFixes": 1,
+ "totalFilesChanged": 4,
+ "totalInsertions": 45,
+ "totalDeletions": 32
+ }
+ },
+ {
+ "timestamp": "2026-02-12T09:52:00+09:00",
+ "commits": [
+ {
+ "hash": "e2422ad",
+ "message": "feat: ๋๋ฝ ๋ฆฌ์์ค ์๋ ์ถ์ ์์คํ
(MissingResourceTracker)",
+ "filesChanged": 5,
+ "insertions": 505,
+ "deletions": 1
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "1๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ โ MissingResourceTracker ์ฑ๊ธํค ์๋น์ค + AssetRetrieval/AssetOrchestrator/AIPipeline ํตํฉ + API ์๋ํฌ์ธํธ",
+ "category": [
+ "feat"
+ ],
+ "impact": {
+ "newFiles": 2,
+ "modifiedFiles": 3
+ }
+ },
+ {
+ "timestamp": "2026-02-12T09:23:00+09:00",
+ "commits": [
+ {
+ "hash": "a44fda0",
+ "message": "feat: 3D asset pipeline workflow + R&D reports + analysis scripts",
+ "filesChanged": 28,
+ "insertions": 2215,
+ "deletions": 0
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "feat: 3D ์์
ํ์ดํ๋ผ์ธ ์ํฌํ๋ก์ฐ ๊ฐ์ด๋ + R&D ๋ฆฌํฌํธ(HTML) + ์์
๊ฐญ ๋ถ์ ์คํฌ๋ฆฝํธ ์ถ๊ฐ"
+ },
+ {
+ "timestamp": "2026-02-11T15:36:00+09:00",
+ "commits": [
+ {
+ "hash": "0474521",
+ "message": "feat(Phase4): QualityGate 6๊ฐ Validator Tier ํตํฉ โ ArchitectAgent ์ฐ๊ฒฐ + QualityGateService ์ญ์ ",
+ "filesChanged": 7,
+ "insertions": 36623,
+ "deletions": 579
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "feat: Phase 4 ํ์ง ๊ฒ์ดํธ ํตํฉ (ArchitectAgent โ QualityGate 6๊ฐ Validator, QualityGateService ์ญ์ , ํ์
์๋ฌ 0๊ฑด)"
+ },
+ {
+ "timestamp": "2026-02-11T15:10:00+09:00",
+ "commits": [
+ {
+ "hash": "9b2d0e4",
+ "message": "feat(Phase0): ์๋งจํฑ ๊ฒ์ B+C ํตํฉ โ AI ํ๊น
+ ์ฌ์ ๋ฒกํฐ ์ธ๋ฑ์ค",
+ "filesChanged": 7,
+ "insertions": 94193,
+ "deletions": 15369
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "feat: Phase 0 ์๋งจํฑ ๊ฒ์ ํตํฉ (AI ํ๊น
semanticAssets ์ฌ์์ฑ + Float32 ๋ฒกํฐ ์ธ๋ฑ์ค + VectorSearchService ์ฌ์ ๋ก๋)"
+ },
+ {
+ "timestamp": "2026-02-11T14:55:00+09:00",
+ "commits": [
+ {
+ "hash": "a8d1907",
+ "message": "feat(Phase0): Step 3 ๋ฒกํฐ ์๋ฒ ๋ฉ ์์ฑ ์๋ฃ",
+ "filesChanged": 2,
+ "insertions": 3,
+ "deletions": 1
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "feat: Phase 0 Step 3 โ gemini-embedding-001 ๋ชจ๋ธ๋ก 1,680๊ฐ 3072์ฐจ์ ๋ฒกํฐ ์๋ฒ ๋ฉ ์์ฑ (249์ด). .gitignore ์
๋ฐ์ดํธ"
+ },
+ {
+ "timestamp": "2026-02-11T14:00:00+09:00",
+ "commits": [
+ {
+ "hash": "a990d9b",
+ "message": "feat(Phase5): ์์
์๋ ์ธ๋ฑ์ฑ ํ์ดํ๋ผ์ธ ์์ฑ",
+ "filesChanged": 31,
+ "insertions": 197221,
+ "deletions": 219
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "feat: Phase 5 ์์
์๋ ์ธ๋ฑ์ฑ โ audio/sfx/skybox ๋ผ์ด๋ธ๋ฌ๋ฆฌ JSON ์๋ ๋จธ์ง ๋ฆฌํฉํฐ๋ง, build-asset-registry.ts, package.json ์คํฌ๋ฆฝํธ ์ถ๊ฐ"
+ },
+ {
+ "timestamp": "2026-02-11T01:05:00+09:00",
+ "commits": [
+ {
+ "hash": "22c0636",
+ "message": "fix: MCTS-ReflexArc ์ถฉ๋ ๊ฐ์ง ๋ถ์ผ์น ํด๊ฒฐ",
+ "filesChanged": 3,
+ "insertions": 85,
+ "deletions": 24
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "MCTS-ReflexArc ์ถฉ๋ ๋ถ์ผ์น ํด๊ฒฐ โ createBBox ์ค์ฌAABB, ๋์ perturbation, ์ถฉ๋์๋์ง ๊ฐํ, seededRandomPosition ์ถฉ๋ํํผ, ๋์ NUDGE_MARGIN",
+ "category": [
+ "fix"
+ ],
+ "impact": {
+ "totalFiles": 3,
+ "totalInsertions": 85,
+ "totalDeletions": 24
+ }
+ },
+ {
+ "timestamp": "2026-02-10T17:05:00+09:00",
+ "commits": [
+ {
+ "hash": "1839690",
+ "message": "fix(pipeline): ์์
๋งค์นญ ํ์ง ๊ฐํ + WebGL/Audio/404 ๋ฒ๊ทธ ์์ ",
+ "filesChanged": 4,
+ "insertions": 178,
+ "deletions": 43
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "4๊ฑด ๋ฒ๊ทธ ์์ โ ์์
๋งค์นญ(ํ ํฐ ๊ธฐ๋ฐ+์นดํ
๊ณ ๋ฆฌ ๋ณด๋์ค), WebGL ์ต์ ํ, grid-bg SVG ๋์ฒด, Audio SFX ํ๋ง",
+ "category": [
+ "fix"
+ ],
+ "impact": {
+ "newFiles": 0,
+ "modifiedFiles": 4
+ }
+ },
+ {
+ "timestamp": "2026-02-10T15:48:00+09:00",
+ "commits": [
+ {
+ "hash": "b2da52e",
+ "message": "feat(matcap-phase2): 100๊ฐ CC0 Matcap ํ
์ค์ฒ ์์ง + DB ๋์ ์กฐํ ์ ํ",
+ "filesChanged": 2,
+ "insertions": 108,
+ "deletions": 10
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "Matcap Phase 2 โ 100๊ฐ CC0 ํ
์ค์ฒ R2 ์์ง + pickMatcapByCategory DB ๋์ ์กฐํ ์ ํ",
+ "category": [
+ "feat"
+ ],
+ "impact": {
+ "newFiles": 0,
+ "modifiedFiles": 2
+ }
+ },
+ {
+ "timestamp": "2026-02-10T15:20:00+09:00",
+ "commits": [
+ {
+ "hash": "a30c1c2",
+ "message": "feat: AssetHunterCell renderStyle 3๋จ๊ณ ํด๋ฐฑ + MainScene matcap ๋ผ์ฐํ
์ต์ ํ",
+ "filesChanged": 2,
+ "insertions": 200,
+ "deletions": 22
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "1๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ, 2๊ฐ ํ์ผ ๋ณ๊ฒฝ โ Matcap ์๋ ๊ฐ์ง ํด๋ฐฑ (DBโ์ปฌ๋ผโ๊ฒฝ๋ก) + MainScene ์ปดํฌ๋ํธ ๋ถ๋ฆฌ",
+ "category": [
+ "feat"
+ ],
+ "impact": {
+ "newFiles": 0,
+ "modifiedFiles": 2
+ }
+ },
+ {
+ "timestamp": "2026-02-10T10:37:00+09:00",
+ "commits": [
+ {
+ "hash": "f120fde",
+ "message": "feat: ๋ก์ปฌ ๋ฆฌ์์ค DB ๋ง์ด๊ทธ๋ ์ด์
โ 1,752๊ฑด ๋ฑ๋ก",
+ "filesChanged": 2,
+ "insertions": 281,
+ "deletions": 0
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "๋ก์ปฌ ์์
1,752๊ฑด DB ๋ง์ด๊ทธ๋ ์ด์
(๋ชจ๋ธ 1,678 + ์ค์นด์ด๋ฐ์ค 62 + ์ค๋์ค 12)",
+ "category": [
+ "feat"
+ ],
+ "impact": {
+ "newFiles": 1,
+ "modifiedFiles": 1
+ }
+ },
+ {
+ "timestamp": "2026-02-10T10:31:00+09:00",
+ "commits": [
+ {
+ "hash": "7014a77",
+ "message": "fix: audioSaver + tts/synthesize + ResourceMatcher R2 ์์นด์ด๋น ๋ณด์",
+ "filesChanged": 3,
+ "insertions": 34,
+ "deletions": 6
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "2์ฐจ ์ ์ ๊ฐ์ฌ๋ก ๋ฐ๊ฒฌํ audioSaver, tts/synthesize, ResourceMatcher 3๊ณณ ์ถ๊ฐ ๋ณด์",
+ "category": [
+ "fix"
+ ],
+ "impact": {
+ "newFiles": 0,
+ "modifiedFiles": 3
+ }
+ },
+ {
+ "timestamp": "2026-02-10T10:26:00+09:00",
+ "commits": [
+ {
+ "hash": "016c6d1",
+ "message": "fix: model/save + skybox/save R2 ์์นด์ด๋น ๋๋ฝ ๋ณด์ โ 100% ํ์ดํ๋ผ์ธ ์์ฑ",
+ "filesChanged": 2,
+ "insertions": 25,
+ "deletions": 19
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "model/save + skybox/save R2 ์์นด์ด๋น ๋๋ฝ ๋ณด์ โ ์ ์ฒด 8๊ฐ route 100% ์ปค๋ฒ๋ฆฌ์ง",
+ "category": [
+ "fix"
+ ],
+ "impact": {
+ "newFiles": 0,
+ "modifiedFiles": 2
+ }
+ },
+ {
+ "timestamp": "2026-02-10T09:59:00+09:00",
+ "commits": [
+ {
+ "hash": "089a62e",
+ "message": "feat: ResourceArchiver ์ค์ ์๋น์ค + ์ ์ฒด API route R2 ์์นด์ด๋น ์ฐ๊ฒฐ",
+ "filesChanged": 7,
+ "insertions": 337,
+ "deletions": 4
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "ResourceArchiver ์ค์ ์๋น์ค ๊ตฌํ + 6๊ฐ API route R2 ์์นด์ด๋น ์ฐ๊ฒฐ (fire-and-forget ํจํด)",
+ "category": [
+ "feat"
+ ],
+ "impact": {
+ "newFiles": 1,
+ "modifiedFiles": 6
+ }
+ },
+ {
+ "timestamp": "2026-02-09T15:50:00+09:00",
+ "commits": [
+ {
+ "hash": "61465a0",
+ "message": "feat(commander): MS3 ๋ฉด์ญ ํธ๋์์ดํฌ โ PLACEMENT_DONE ํ SemanticNK+AestheticMacro ๊ฒ์ฆ ๋๊ธฐ, 10์ด ํ์์์",
+ "filesChanged": 1,
+ "insertions": 83,
+ "deletions": 13
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "Commander โ ๋ฉด์ญ ์ธํฌ ํธ๋์์ดํฌ ์์ฑ",
+ "category": [
+ "feat"
+ ],
+ "impact": {
+ "newFiles": 0,
+ "modifiedFiles": 1
+ }
+ },
+ {
+ "timestamp": "2026-02-09T15:45:00+09:00",
+ "commits": [
+ {
+ "hash": "8fdbdcc",
+ "message": "feat(immune): MS3 ๋ฉด์ญ ๋ถ๋ โ SemanticNKCell ์๋ฏธ๊ฒ์ฆ + AestheticMacrophage ์ฌ๋ฏธ๊ฒ์ฆ + page.tsx ํตํฉ",
+ "filesChanged": 5,
+ "insertions": 403,
+ "deletions": 5
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "MS3 ๋ฉด์ญ ๋ถ๋ (์๋ฏธ + ์ฌ๋ฏธ ๊ฒ์ฆ ์ธํฌ)",
+ "category": [
+ "feat"
+ ],
+ "impact": {
+ "newFiles": 2,
+ "modifiedFiles": 3
+ }
+ },
+ {
+ "timestamp": "2026-02-09T15:30:00+09:00",
+ "commits": [
+ {
+ "hash": "e062fa3",
+ "message": "feat(cells): MS1.5 ํ๋๋ โ PropMaster ์์ฌ์ ์ค์ผ์ผ๋ง, AssetHunter ์์ฌ ๊ฒ์์ด, SpatialZoner mitosis",
+ "filesChanged": 3,
+ "insertions": 176,
+ "deletions": 11
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "MS1.5 ํ๋๋ (์์ฌ์ DNA ์ค์ง ํ์ฉ + ์ธํฌ ๋ถ์ด)",
+ "category": [
+ "feat"
+ ],
+ "impact": {
+ "newFiles": 0,
+ "modifiedFiles": 3
+ }
+ },
+ {
+ "timestamp": "2026-02-09T15:14:00+09:00",
+ "commits": [
+ {
+ "hash": "0e0538d",
+ "message": "feat(cells): MS1.5 ์๋
์ค ์ฐ๊ฒฐ โ Feature Flag, Commander narrative ์ ๋ฌ, PLACEMENT_DONE, page.tsx ํตํฉ",
+ "filesChanged": 4,
+ "insertions": 210,
+ "deletions": 50
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "MS1.5 ์๋
์ค ์ฐ๊ฒฐ (๋๋-๊ทผ๊ณจ๊ฒฉ ์ ์ฒด ํ์ดํ๋ผ์ธ ์ฐ๊ฒฐ)",
+ "category": [
+ "feat"
+ ],
+ "impact": {
+ "newFiles": 1,
+ "modifiedFiles": 3
+ }
+ },
+ {
+ "timestamp": "2026-02-09T14:58:00+09:00",
+ "commits": [
+ {
+ "hash": "c4aee21",
+ "message": "fix(cells): MS2 ์ฝ๋ ํ๋๋ โ Seeded RNG, Shrink ์์์ , Zone ID, ALARM ์ ํ, SIGNALS ํ์
์์ ์ฑ, ์ฆ๋ถ ์บ์ฑ",
+ "filesChanged": 6,
+ "insertions": 216,
+ "deletions": 62
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "MS2 ํ๋๋ (๋ฒ๊ทธ 3๊ฑด + ๊ตฌ์กฐ๊ฐ์ 3๊ฑด)",
+ "category": [
+ "fix"
+ ],
+ "impact": {
+ "newFiles": 0,
+ "modifiedFiles": 6
+ }
+ },
+ {
+ "timestamp": "2026-02-09T14:10:00+09:00",
+ "commits": [
+ {
+ "hash": "d79ca79",
+ "message": "feat(cells): MS2 ๊ทผ๊ณจ๊ฒฉ๊ณ ํต์ฌ ์ธํฌ 5๊ฐ ๊ตฌํ ์๋ฃ + API ์ ํฉ",
+ "filesChanged": 8,
+ "insertions": 1482,
+ "deletions": 7
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "MS2 ์ธํฌ ๊ตฌํ (ReflexArc, SpatialZoner, PropMaster, AssetHunter, ConstructorSquad) + API ์ ํฉ",
+ "category": [
+ "feat"
+ ],
+ "impact": {
+ "newFiles": 5,
+ "modifiedFiles": 3
+ }
+ },
+ {
+ "timestamp": "2026-02-09T13:38:00+09:00",
+ "commits": [
+ {
+ "hash": "7ee1bad",
+ "message": "feat(cells): MS1 ๋ด๋ก-์ ๊ธฐ์ ์ธํฌ ๊ตฌํ โ CommanderCell, IntentAnalystCell, LoreWeaverCell, ScenarioArchitectCell",
+ "filesChanged": 6,
+ "insertions": 968,
+ "deletions": 9
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "MS1 ์ธํฌ ๊ตฌํ (CommanderCell FSM, IntentAnalyst 3๋จ๊ณ ํ๊ทธ, LoreWeaver ๋ง์ดํฌ๋ก์คํ ๋ฆฌ, ScenarioArchitect Reflexion Loop)",
+ "category": [
+ "feat"
+ ],
+ "impact": {
+ "filesChanged": 6,
+ "insertions": 968,
+ "deletions": 9
+ }
+ },
+ {
+ "timestamp": "2026-02-09T12:57:00+09:00",
+ "commits": [
+ {
+ "hash": "41c820f",
+ "message": "feat(cells): ์ ๊ฒฝ-์ ๊ธฐ์ ์ํคํ
์ฒ ์ธํ๋ผ ๊ตฌ์ถ - BaseCell/types/index + AgentRoleSchema ํ์ฅ",
+ "filesChanged": 4,
+ "insertions": 457,
+ "deletions": 0
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "์ ๊ฒฝ-์ ๊ธฐ์ ์ํคํ
์ฒ ์ธํ๋ผ ๊ตฌ์ถ (cells/ ํด๋ ๊ตฌ์กฐ, BaseCell ์ถ์ ํด๋์ค, 17์ข
CellType ํ์
, AgentRoleSchema ํ์ฅ)",
+ "category": [
+ "feat"
+ ],
+ "impact": {
+ "newFeatures": 1,
+ "totalFilesChanged": 4,
+ "totalInsertions": 457,
+ "totalDeletions": 0
+ }
+ },
+ {
+ "timestamp": "2026-02-09T10:20:00+09:00",
+ "commits": [
+ {
+ "hash": "ec92d49",
+ "message": "fix: AI ์ฌ ์ํ ๋ณด์กด (sessionStorage) + ํ๋์ฝ๋ฉ ์ ๊ฑฐ (VectorSearch ์ฐ๋)",
+ "filesChanged": 3,
+ "insertions": 141,
+ "deletions": 18
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "AI ์ฌ sessionStorage ์์ํ, ํ๋์ฝ๋ฉ ํค์๋ ๋งคํ ์ ๊ฑฐ, VectorSearchService ์๋งจํฑ ๊ฒ์ ์ฐ๋",
+ "category": [
+ "fix"
+ ],
+ "impact": {
+ "bugFixes": 2,
+ "totalFilesChanged": 3,
+ "totalInsertions": 141,
+ "totalDeletions": 18
+ }
+ },
+ {
+ "timestamp": "2026-02-04T10:33:00+09:00",
+ "commits": [
+ {
+ "hash": "e90112c",
+ "message": "feat(ai): ์๋งจํฑ ๊ฒ์ ํ์ฑํ ๋ฐ ๋ค๊ตญ์ด ์ง์",
+ "filesChanged": 9,
+ "insertions": 582,
+ "deletions": 123
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "์๋งจํฑ ๊ฒ์ ํ์ฑํ, Director ๋ค๊ตญ์ด ์ง์, React Hook ์์ , ์์ฌ ์์ง ํตํฉ",
+ "category": [
+ "feat"
+ ],
+ "impact": {
+ "newFeatures": 4,
+ "totalFilesChanged": 9,
+ "totalInsertions": 582,
+ "totalDeletions": 123
+ }
+ },
+ {
+ "timestamp": "2026-02-03T17:05:00+09:00",
+ "commits": [
+ {
+ "hash": "eef8470",
+ "message": "feat(core): Phase 2 ์๋ฃ - LLM & Vector Search ํตํฉ",
+ "filesChanged": 3,
+ "insertions": 185,
+ "deletions": 26
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "Phase 2 ์๋ฃ (LLM, Vector Search, MCTS, Reflexion Loop)",
+ "category": [
+ "feat"
+ ],
+ "impact": {
+ "newFeatures": 3,
+ "totalFilesChanged": 3,
+ "totalInsertions": 185,
+ "totalDeletions": 26
+ }
+ },
+ {
+ "timestamp": "2026-02-03T16:25:00+09:00",
+ "commits": [
+ {
+ "hash": "8d6e92d",
+ "message": "feat(audio): SFX 49๊ฐ ์ถ๊ฐ ๋๋ ์์ฑ (์ด 62๊ฐ)",
+ "filesChanged": 51,
+ "insertions": 446,
+ "deletions": 0
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "SFX ๋๋ ์์ฑ: environment(15), magic(10), combat(10), object(10), ui(5) - 2MB",
+ "category": [
+ "feat"
+ ],
+ "impact": {
+ "totalFilesChanged": 51,
+ "totalInsertions": 446,
+ "totalDeletions": 0
+ }
+ },
+ {
+ "timestamp": "2026-02-03T16:20:00+09:00",
+ "commits": [
+ {
+ "hash": "92649fc",
+ "message": "feat(audio): ElevenLabs SFX 10๊ฐ ์ถ๊ฐ ์์ฑ (์ด 13๊ฐ)",
+ "filesChanged": 11,
+ "insertions": 135,
+ "deletions": 0
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "SFX 10๊ฐ ์ถ๊ฐ: environment, ui, object, character ์นดํ
๊ณ ๋ฆฌ",
+ "category": [
+ "feat"
+ ],
+ "impact": {
+ "totalFilesChanged": 11,
+ "totalInsertions": 135,
+ "totalDeletions": 0
+ }
+ },
+ {
+ "timestamp": "2026-02-03T16:15:00+09:00",
+ "commits": [
+ {
+ "hash": "3be61fd",
+ "message": "feat(audio): ElevenLabs SFX 3๊ฐ ์์ฑ",
+ "filesChanged": 4,
+ "insertions": 122,
+ "deletions": 0
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "ElevenLabs๋ก SFX ์์ฑ: fire_crackle, door_open, magic_sparkle",
+ "category": [
+ "feat"
+ ],
+ "impact": {
+ "totalFilesChanged": 4,
+ "totalInsertions": 122,
+ "totalDeletions": 0
+ }
+ },
+ {
+ "timestamp": "2026-02-03T16:10:00+09:00",
+ "commits": [
+ {
+ "hash": "36a7576",
+ "message": "feat(assets): ๋ฌด๋ฃ ์์
๋ค์ด๋ก๋ ๋ฐ ์ค๋ณต ๊ฒ์ฆ ์์คํ
",
+ "filesChanged": 6,
+ "insertions": 2258,
+ "deletions": 0
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "GitHub Raw์์ CC0 ์์
๋ค์ด๋ก๋, ์ค๋ณต ๊ฒ์ฌ ๋ฐ GLB ๊ฒ์ฆ ์์คํ
๊ตฌ์ถ",
+ "category": [
+ "feat"
+ ],
+ "impact": {
+ "totalFilesChanged": 6,
+ "totalInsertions": 2258,
+ "totalDeletions": 0
+ }
+ },
+ {
+ "timestamp": "2026-02-03T15:20:00+09:00",
+ "commits": [
+ {
+ "hash": "a73f334",
+ "message": "feat(cache): ์๋งจํฑ ์บ์ ์์คํ
๊ตฌํ",
+ "filesChanged": 4,
+ "insertions": 843,
+ "deletions": 2
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "์๋งจํฑ ์บ์ ์์คํ
๊ตฌํ (SemanticCacheService, ์บ์ ํต๊ณ API, ์ค๋์ค ์์ฑ ์คํฌ๋ฆฝํธ)",
+ "category": [
+ "feat"
+ ],
+ "impact": {
+ "totalFilesChanged": 4,
+ "totalInsertions": 843,
+ "totalDeletions": 2
+ }
+ },
+ {
+ "timestamp": "2026-02-03T14:43:00+09:00",
+ "commits": [
+ {
+ "hash": "e4b83d2",
+ "message": "docs: Git changelog ์ธ ๋ฒ์งธ push ์ด๋ ฅ ๋ฐ JSON ๊ตฌ๋ฌธ ์์ ",
+ "filesChanged": 1,
+ "insertions": 24,
+ "deletions": 1
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "Git changelog ์ต์ข
์ ๋ฆฌ",
+ "category": [
+ "docs"
+ ],
+ "impact": {
+ "totalFilesChanged": 1,
+ "totalInsertions": 24,
+ "totalDeletions": 1
+ }
+ },
+ {
+ "timestamp": "2026-02-03T14:42:00+09:00",
+ "commits": [
+ {
+ "hash": "2e0c157",
+ "message": "docs: Git changelog ๋ ๋ฒ์งธ push ์ด๋ ฅ ์ถ๊ฐ ๋ฐ JSON ๊ตฌ๋ฌธ ์์ ",
+ "description": "changelog JSON ๊ตฌ๋ฌธ ์์ ",
+ "filesChanged": 1,
+ "insertions": 25,
+ "deletions": 1
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "Git changelog JSON ์ ๊ทํ",
+ "category": [
+ "docs"
+ ],
+ "impact": {
+ "totalFilesChanged": 1,
+ "totalInsertions": 25,
+ "totalDeletions": 1
+ }
+ },
+ {
+ "timestamp": "2026-02-03T14:40:00+09:00",
+ "commits": [
+ {
+ "hash": "681528c",
+ "message": "chore: Git changelog ์
๋ฐ์ดํธ ๋ฐ ๊ฐ์ ์ ์ฑ
์ถ๊ฐ",
+ "description": "changelog ์ด๋ ฅ ๊ธฐ๋ก, ๊ฐ์ ์ ์ฑ
ํ์ผ ์์ฑ",
+ "filesChanged": 2,
+ "insertions": 86,
+ "deletions": 1
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "Git changelog ๊ฐ์ ์ ์ฑ
์์คํ
๊ตฌ์ถ",
+ "category": [
+ "chore"
+ ],
+ "impact": {
+ "infrastructure": 1,
+ "totalFilesChanged": 2,
+ "totalInsertions": 86,
+ "totalDeletions": 1
+ }
+ },
+ {
+ "timestamp": "2026-02-03T14:38:00+09:00",
+ "commits": [
+ {
+ "hash": "f0c2a64",
+ "message": "feat(placement): 3๊ณ์ธต AI ์์กด์ฑ ์์ ์ฒด๊ณ ๋ฐ MCTS ํด๋ฐฑ ๊ตฌํ",
+ "description": "getYRange, getPlacementStrategy ํฌํผ, ํ๋กฌํํธ ํ์ํ, ์คํค๋ง ๊ธฐ๋ณธ๊ฐ, ํฌ์ธํธ ๋ถ์กฑ MCTS ํด๋ฐฑ",
+ "filesChanged": 8,
+ "insertions": 1447,
+ "deletions": 10
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "AI ๋ฐฐ์น ์์กด์ฑ ์์ ํด๊ฒฐ - 3๊ณ์ธต ์์ ์ฅ์น + ๋ฐ์ดํฐ ํ๋ณด + MCTS ํด๋ฐฑ",
+ "category": [
+ "feat"
+ ],
+ "impact": {
+ "newFeatures": 4,
+ "totalFilesChanged": 8,
+ "totalInsertions": 1447,
+ "totalDeletions": 10
+ }
+ },
+ {
+ "timestamp": "2026-01-29T17:00:00+09:00",
+ "commits": [
+ {
+ "hash": "8ca0655",
+ "message": "feat(ai-pipeline): BVH ๊ธฐ๋ฐ ์ถฉ๋ ๊ฒ์ฌ ํตํฉ",
+ "description": "MCTSPlacementService v2.0, SpatialValidator v6.0 BVH ํตํฉ",
+ "filesChanged": 2,
+ "insertions": 399,
+ "deletions": 134
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "AI ํ์ดํ๋ผ์ธ BVH ์ถฉ๋ ๊ฒ์ฌ ํตํฉ",
+ "category": [
+ "feat"
+ ],
+ "impact": {
+ "newFeatures": 2,
+ "totalFilesChanged": 2,
+ "totalInsertions": 399,
+ "totalDeletions": 134
+ }
+ },
+ {
+ "timestamp": "2026-01-29T16:35:00+09:00",
+ "commits": [
+ {
+ "hash": "d55260d",
+ "message": "feat(usn): Phase 5-6 ์ค์๊ฐ ์ต์ ํ ๋ฐ ํ์ง ๊ฒ์ฆ ๊ตฌํ",
+ "description": "AssetQualityValidator, LODAssigner ๊ตฌํ",
+ "filesChanged": 3,
+ "insertions": 907,
+ "deletions": 0
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "Phase 5-6 ์ค์๊ฐ ์ต์ ํ ๋ฐ ํ์ง ๊ฒ์ฆ ์์คํ
",
+ "category": [
+ "feat"
+ ],
+ "impact": {
+ "newFeatures": 2,
+ "totalFilesChanged": 3,
+ "totalInsertions": 907,
+ "totalDeletions": 0
+ }
+ },
+ {
+ "timestamp": "2026-01-29T16:24:00+09:00",
+ "commits": [
+ {
+ "hash": "4588618",
+ "message": "feat(geometry): Phase A ํต์ฌ ๊ธฐํ ์์ง ๊ตฌํ ์๋ฃ",
+ "description": "BVHTree, SurfaceAnalyzer, PlacementSolver, SpatialRaycaster, OBBGenerator, ContainmentScanner, GeometryEngine 7๊ฐ ๋ชจ๋",
+ "filesChanged": 9,
+ "insertions": 3273,
+ "deletions": 0
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "Phase A ํต์ฌ ๊ธฐํ ์์ง ๊ตฌํ - ์ค๋ธ์ ํธ ๋ฐฐ์น ์์คํ
๊ธฐ๋ฐ",
+ "category": [
+ "feat"
+ ],
+ "impact": {
+ "newFeatures": 7,
+ "totalFilesChanged": 9,
+ "totalInsertions": 3273,
+ "totalDeletions": 0
+ }
+ },
+ {
+ "timestamp": "2026-01-28T18:05:00+09:00",
+ "commits": [
+ {
+ "hash": "c14f50a",
+ "message": "docs: Update daily report for Phase 2.5 Scale Stabilization",
+ "filesChanged": 1,
+ "insertions": 42,
+ "deletions": 58
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "Phase 2.5 ์ค์ผ์ผ ์ ๊ทํ ๋ฐ ๋ฆฌํฌํธ ์
๋ฐ์ดํธ",
+ "category": [
+ "docs"
+ ],
+ "impact": {
+ "totalFilesChanged": 1,
+ "totalInsertions": 42,
+ "totalDeletions": 58
+ }
+ },
+ {
+ "timestamp": "2026-01-28T11:48:00+09:00",
+ "commits": [
+ {
+ "hash": "c546bc2",
+ "message": "feat: Reports ํ์ด์ง์ Git Changelog ํญ ์ถ๊ฐ",
+ "description": "Deployment History โ Git Changelog ํญ ๊ต์ฒด, GitPushCard ์ปดํฌ๋ํธ ์์ฑ",
+ "filesChanged": 4,
+ "insertions": 199,
+ "deletions": 24
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "Reports ํ์ด์ง Git Changelog ํญ UI ๊ตฌํ",
+ "category": [
+ "feat"
+ ],
+ "impact": {
+ "newFeatures": 1,
+ "totalFilesChanged": 4,
+ "totalInsertions": 199,
+ "totalDeletions": 24
+ }
+ },
+ {
+ "timestamp": "2026-01-28T11:45:00+09:00",
+ "commits": [
+ {
+ "hash": "fd50bdb",
+ "message": "chore: ์์ด์ ํธ ์๋ํ ๊ท์น ์ถ๊ฐ - Git Push ์ ์๋ ๊ฐ๋ฐ ๋ก๊ทธ ๊ธฐ๋ก",
+ "filesChanged": 1,
+ "insertions": 27,
+ "deletions": 0
+ },
+ {
+ "hash": "bdf9f8f",
+ "message": "feat: Git Changelog Tracker ์คํฌ ์ถ๊ฐ + Daily ๋ฆฌํฌํธ (2026-01-28)",
+ "filesChanged": 3,
+ "insertions": 350,
+ "deletions": 0
+ }
+ ],
+ "totalCommits": 2,
+ "summary": "Git Push ์๋ ๊ฐ๋ฐ ๋ก๊ทธ ๊ธฐ๋ก ์์คํ
๊ตฌ์ถ",
+ "category": [
+ "chore",
+ "feat"
+ ],
+ "impact": {
+ "newFeatures": 1,
+ "infrastructure": 1,
+ "totalFilesChanged": 4,
+ "totalInsertions": 377,
+ "totalDeletions": 0
+ }
+ },
+ {
+ "timestamp": "2026-01-28T11:41:00+09:00",
+ "commits": [
+ {
+ "hash": "e52a4d4",
+ "message": "fix: AssetRetrievalService ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ์",
+ "filesChanged": 1,
+ "insertions": 6,
+ "deletions": 4
+ },
+ {
+ "hash": "2bce0ea",
+ "message": "feat: AI Scene Pipeline Phase 2 ๊ตฌํ (Stage 4-6)",
+ "filesChanged": 6,
+ "insertions": 1070,
+ "deletions": 7
+ }
+ ],
+ "totalCommits": 2,
+ "summary": "AI Pipeline Phase 2 (Stage 4-6) ๊ตฌํ ์๋ฃ",
+ "category": [
+ "feat",
+ "fix"
+ ],
+ "impact": {
+ "newFeatures": 3,
+ "bugFixes": 1,
+ "totalFilesChanged": 7,
+ "totalInsertions": 1076,
+ "totalDeletions": 11
+ }
+ },
+ {
+ "timestamp": "2026-01-27T09:00:00+09:00",
+ "commits": [
+ {
+ "hash": "1d0bdeb",
+ "message": "feat: Vercel Daily Report ์คํฌ ์ถ๊ฐ",
+ "filesChanged": 5,
+ "insertions": 409,
+ "deletions": 0
+ },
+ {
+ "hash": "b7f1adf",
+ "message": "docs: daily summary with all commits (2026-01-27)",
+ "filesChanged": 1,
+ "insertions": 56,
+ "deletions": 0
+ }
+ ],
+ "totalCommits": 2,
+ "summary": "Vercel Daily Reporter ์คํฌ ๊ตฌํ",
+ "category": [
+ "feat",
+ "docs"
+ ],
+ "impact": {
+ "newFeatures": 1,
+ "totalFilesChanged": 6,
+ "totalInsertions": 465,
+ "totalDeletions": 0
+ }
+ },
+ {
+ "timestamp": "2026-01-26T18:00:00+09:00",
+ "commits": [
+ {
+ "hash": "991d3c9",
+ "message": "feat(env): ์ค์นด์ด๋ฐ์ค ํด๋ ์์ฑ ๋ฐ README ์ถ๊ฐ",
+ "filesChanged": 2,
+ "insertions": 45,
+ "deletions": 0
+ }
+ ],
+ "totalCommits": 1,
+ "summary": "ํ๊ฒฝ ์์
๊ตฌ์กฐ ์ ๋ฆฌ",
+ "category": [
+ "feat"
+ ],
+ "impact": {
+ "totalFilesChanged": 2,
+ "totalInsertions": 45,
+ "totalDeletions": 0
+ }
+ },
+ {
+ "timestamp": "2026-01-22T12:30:00+09:00",
+ "commits": [
+ {
+ "hash": "21f6b23",
+ "message": "refactor: LLMProvider lint fix",
+ "filesChanged": 1,
+ "insertions": 5,
+ "deletions": 3
+ },
+ {
+ "hash": "e2c9a4a",
+ "message": "feat: ScenePlanner ์์ ๊ตฌํ",
+ "filesChanged": 8,
+ "insertions": 892,
+ "deletions": 45
+ },
+ {
+ "hash": "7ac12b5",
+ "message": "feat: VerifiedAssetPool ๊ธฐ๋ฐ ์์
๋งค์นญ",
+ "filesChanged": 5,
+ "insertions": 1200,
+ "deletions": 120
+ }
+ ],
+ "totalCommits": 3,
+ "summary": "ScenePlanner ๋ฐ VerifiedAssetPool ๊ตฌํ",
+ "category": [
+ "feat",
+ "refactor"
+ ],
+ "impact": {
+ "newFeatures": 2,
+ "totalFilesChanged": 14,
+ "totalInsertions": 2097,
+ "totalDeletions": 168
+ }
+ },
+ {
+ "timestamp": "2026-01-21T18:00:00+09:00",
+ "commits": [
+ {
+ "hash": "3cc17b0",
+ "message": "fix: Lint ์๋ฌ ์์ (๋์ import)",
+ "filesChanged": 3,
+ "insertions": 15,
+ "deletions": 12
+ },
+ {
+ "hash": "8f5d2e1",
+ "message": "feat: Smart Fallback System ๊ตฌํ",
+ "filesChanged": 4,
+ "insertions": 245,
+ "deletions": 30
+ }
+ ],
+ "totalCommits": 2,
+ "summary": "์์
Fallback ์์คํ
๋ฐ ์์ ํ",
+ "category": [
+ "feat",
+ "fix"
+ ],
+ "impact": {
+ "newFeatures": 1,
+ "bugFixes": 1,
+ "totalFilesChanged": 7,
+ "totalInsertions": 260,
+ "totalDeletions": 42
+ }
+ },
+ {
+ "timestamp": "2026-01-20T12:00:00+09:00",
+ "commits": [
+ {
+ "hash": "71db06a",
+ "message": "fix: ํจํด ์ฐ์ ์์ ์์ ๋ฐ ๋งค์นญ ํ
์คํธ ์ถ๊ฐ",
+ "filesChanged": 2,
+ "insertions": 85,
+ "deletions": 20
+ },
+ {
+ "hash": "a3f8b21",
+ "message": "feat: LayoutResolver ์ต์ด ๊ตฌํ",
+ "filesChanged": 6,
+ "insertions": 520,
+ "deletions": 0
+ }
+ ],
+ "totalCommits": 2,
+ "summary": "LayoutResolver ์ด๊ธฐ ๊ตฌํ",
+ "category": [
+ "feat",
+ "fix"
+ ],
+ "impact": {
+ "newFeatures": 1,
+ "bugFixes": 1,
+ "totalFilesChanged": 8,
+ "totalInsertions": 605,
+ "totalDeletions": 20
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.agent/rules/rule.md b/.agent/rules/rule.md
new file mode 100644
index 0000000..a7e0bcd
--- /dev/null
+++ b/.agent/rules/rule.md
@@ -0,0 +1,133 @@
+---
+trigger: always_on
+---
+
+# ๐ฏ ํ๋ก์ ํธ ์ต์ฐ์ ๋ชฉ์ (Mission Priority #1)
+
+> **"ํ
์คํธ ํ ์ค๋ก ์์ ํ 3D ์ธ๊ณ๋ฅผ ์ฐฝ์กฐํ๋ค"**
+
+๋ชจ๋ ๊ฐ๋ฐ์ **AI-Native Scene Generation Pipeline** ์์ฑ์ ํฅํด์ผ ํ๋ค:
+
+- โ ํ๋์ฝ๋ฉ๋ ๊ท์น ๊ธ์ง โ โ
AI๊ฐ ๊ท์น์ ๋์ ์์ฑ
+- โ ํค์๋ ๋งค์นญ ๊ธ์ง โ โ
Vector DB ์๋งจํฑ ๊ฒ์
+- โ ์ผ๊ด ์ค์ผ์ผ ๊ธ์ง โ โ
๊ฐ๋ณ ์ค๋ธ์ ํธ AI ์ถ๋ก
+- โ ์ง์ ์ขํ ์์ฑ ๊ธ์ง โ โ
MCTS ๊ธฐ๋ฐ ์ต์ ๋ฐฐ์น
+
+## ์ํคํ
์ฒ: Director-Architect-Renderer Triad
+
+- ๐ฌ **Director**: ์๋๋ฆฌ์ค โ ์ฅ๋ฉด ๋ช
์ธ์ (์ ์ญ ์ต์ ํ)
+- ๐ **Architect**: MCTS ๊ธฐ๋ฐ ์ถฉ๋ ์๋ ๋ฐฐ์น (์ง์ญ ์ต์ ํ)
+- ๐จ **Renderer**: WebGPU + NPR + ControlNet ์คํ์ผ ๋ณํ
+
+---
+
+# โ ๏ธ ์์ด์ ํธ ๊ธ์ง ๊ท์น (NEVER DO)
+
+## ๋ธ๋ผ์ฐ์ ํ
์คํธ ๊ธ์ง (CRITICAL)
+
+**๋ค์ ์กฐ๊ฑด์์ ๋ธ๋ผ์ฐ์ ์๋ํ ํ
์คํธ(browser_subagent)๋ฅผ ์ ๋ ์คํํ์ง ์๋๋ค:**
+
+1. **๋ก์ปฌ ์๋ฒ ์คํ ์ค์ผ ๋** - `localhost`, `127.0.0.1` ๋ฑ ๋ก์ปฌ ์ฃผ์ ํ
์คํธ ๊ธ์ง
+2. **์ฌ์ฉ์๊ฐ ๋ช
์์ ์ผ๋ก ํ์ฉํ์ง ์์ ๊ฒฝ์ฐ** - ๊ธฐ๋ณธ๊ฐ์ "๊ธ์ง"
+3. **๋ธ๋ผ์ฐ์ ์ฐ๊ฒฐ ์ค๋ฅ ๋ฐ์ ์** - ์ฌ์๋ ๊ธ์ง (ํ ํฐ ๋ญ๋น)
+
+**๋์:**
+
+- ์ฌ์ฉ์๊ฐ ์ง์ ํ
์คํธํ๊ณ ์ฝ์ ๋ก๊ทธ/์คํฌ๋ฆฐ์ท ์ ๊ณต
+- ํฐ๋ฏธ๋ ๋ช
๋ น์ผ๋ก ๋น๋/ํ์
์ฒดํฌ๋ง ์ํ
+
+## ํ๋์ฝ๋ฉ ๊ธ์ง (์ค์!)
+
+**ํน์ ํค์๋์ ๋ํ ํ๋์ฝ๋ฉ๋ ๋งคํ์ ์ถ๊ฐํ์ง ์๋๋ค:**
+
+```typescript
+// โ ์ ๋ ํ์ง ๋ง ๊ฒ
+if (concept.includes('hogwarts')) return '/models/Harry/hogwarts.glb';
+if (concept.includes('candle')) return '/models/candle.glb';
+
+// โ
๋์ ์๋งจํฑ ๊ฒ์ ์ฌ์ฉ
+const result = await VectorSearchService.search(concept);
+```
+
+**์ด์ :** ํ๋์ฝ๋ฉ์ ํ์ฅ์ฑ์ด ์๊ณ , ์ ์์
์ถ๊ฐ ์๋ง๋ค ์ฝ๋ ์์ ํ์
+
+---
+
+# ๊ธฐ์ ํ์ค (Technical Standards)
+
+3D ์ขํ๊ณ ํ์คํ: "๋ชจ๋ Three.js ๊ฐ์ฒด ๋ฐฐ์น๋ Y-up ์ขํ๊ณ๋ฅผ ๋ฐ๋ฅด๋ฉฐ, ๋ฐ๋ฅ๋ฉด์ y=0์ผ๋ก ๊ณ ์ ํ๋ค. ๊ฐ์ฒด ๊ฐ์ ๊ฒน์นจ(Overlapping)์ ๋ฐฉ์งํ๊ธฐ ์ํด Bounding Box ๊ณ์ฐ์ ํ์์ ์ผ๋ก ์ํํ๋ผ."
+
+์ํ ๊ด๋ฆฌ ์์น: "๋ชจ๋ ์ธํฐ๋์
๋ก์ง์ XState ๋จธ์ ์ผ๋ก ์ ์๋์ด์ผ ํ๋ฉฐ, ๋ถํ์คํ if-else ๋ถ๊ธฐ ๋์ ๋ช
์์ ์ธ ์ํ ์ ์ด(State Transition)๋ฅผ ์ฌ์ฉํ๋ผ."
+
+๋ฆฌ์์ค ๊ด๋ฆฌ: "์์ฑ๋ 3D ์์ฐ(GLB/Texture)์ ๋ฐ๋์ ๋น๋๊ธฐ์ ์ผ๋ก ๋ก๋๋์ด์ผ ํ๋ฉฐ, Suspense์ Fallback ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ํดํ์ง ์๋๋ก ํ๋ค."
+
+---
+
+# ์์ด์ ํธ ์๋ํ ๊ท์น (Agent Automation Rules)
+
+## Git Push ์๋ ๋ก๊น
+
+**Git Push๋ฅผ ์คํํ ๋๋ง๋ค ์๋์ผ๋ก ๋ค์์ ์ํํ๋ค:**
+
+1. **๊ฐ๋ฐ ๋ก๊ทธ ์
๋ฐ์ดํธ**: `.agent/data/git_changelog.json`์ Push ์ด๋ ฅ ์ถ๊ฐ
+ - ์ปค๋ฐ ํด์, ๋ฉ์์ง, ๋ณ๊ฒฝ ํ์ผ ์, insertions/deletions ๊ธฐ๋ก
+ - ์๋ summary ์์ฑ (feat/fix ๋ถ๋ฅ)
+
+2. **๊ธฐ๋กํ ์ ๋ณด**:
+
+ ```json
+ {
+ "timestamp": "ISO 8601 ํ์",
+ "commits": [{ "hash", "message", "filesChanged", "insertions", "deletions" }],
+ "totalCommits": ์ซ์,
+ "summary": "์๋ ์์ฑ๋ ์์ฝ"
+ }
+ ```
+
+3. **์คํ ์์ **: `git push` ์งํ ์ฆ์ ์คํ (์ฌ์ฉ์์๊ฒ ๋ฌป์ง ์์)
+
+> โ ๏ธ ์ด ๊ท์น์ WebPilot-Engine ํ๋ก์ ํธ์์ ํญ์ ์ ์ฉ๋๋ค.
+
+---
+
+# ๐ ํฌ๋ฆฌ๋ด์
๋ณด์ ๊ด๋ฆฌ (Credential Security โ MANDATORY)
+
+## ์ ๋ ๊ธ์ง ์ฌํญ
+
+1. **API ํค/ํ ํฐ์ ์ฝ๋, ์ฃผ์, ๋ก๊ทธ, ์ํฐํฉํธ, ๋ฌธ์์ ์ง์ ๊ธฐ์ฌํ์ง ์๋๋ค**
+2. **`.env*` ํ์ผ ๋ด์ฉ์ ๊ทธ๋๋ก ์ถ๋ ฅํ๊ฑฐ๋ ์ธ์ฉํ์ง ์๋๋ค**
+3. **์ปค๋ฐ ๋ฉ์์ง, PR ์ค๋ช
, walkthrough์ ํค ๊ฐ์ ํฌํจํ์ง ์๋๋ค**
+4. **์ฌ์ฉ์๊ฐ ์ ๊ณตํ ํค๋ฅผ ์ฑํ
์๋ต์ ๊ทธ๋๋ก ๋ฐ๋ณตํ์ง ์๋๋ค**
+
+## ๋ ์ง์คํธ๋ฆฌ ์ฐธ์กฐ ์๋ฌด
+
+- `.env*` ํ์ผ ์์ ์ **๋ฐ๋์** `.agent/data/credentials_registry.md` ์ฐธ์กฐ
+- ์ API ํค ์ถ๊ฐ ์ **์ฆ์** ๋ ์ง์คํธ๋ฆฌ์ ๋ฉํ์ ๋ณด(๋ณ์๋ช
, ์ฉ๋, ๋ฐ๊ธ์ฒ) ๋ฑ๋ก
+- ํค๊ฐ "์๋ค"๊ณ ํ๋จํ๊ธฐ ์ ์ `.env`, `.env.local` **์์ชฝ ๋ชจ๋** ํ์ธ
+- ์์ด์ ํธ๋ ํค๋ฅผ "์ ์ค"ํ๋ค๊ณ ํ๋จํ๋ฉด ์ฌ์ฉ์์๊ฒ ์ฆ์ ๋ณด๊ณ
+
+## .env ํ์ผ ์์ ๊ท์น
+
+- `.env`์ `.env.local` ์์ ์ ๊ธฐ์กด ๋ด์ฉ์ **์ ํํ ๋ณด์กด**
+- NULL ๋ฐ์ดํธ, ์ธ์ฝ๋ฉ ๊นจ์ง ๋ฐ๊ฒฌ ์ ์ฆ์ ์์ (UTF-8 ๊ฐ์ )
+- `.gitignore`์ `.env*` ํจํด์ด ๋ฐ๋์ ์๋์ง ํ์ธ ํ ์์
+
+---
+
+# ๐ ํ๋ก์ ํธ ์ฃผ์ ๊ฒฝ๋ก (SSOT)
+
+| ํญ๋ชฉ | ๊ฐ |
+|------|-----|
+| ๋ก์ปฌ ๊ฒฝ๋ก | `D:\test\WebPilot-Engine` |
+| Git ์๊ฒฉ | GitHub `yesol/webpilot-engine` (main) |
+| Vercel | webpilot-engine.vercel.app |
+| **๊ฐ๋ฐ ์๋ฒ** | **`localhost:8090`** (`next dev -p 8090`) |
+| ๋น๋ ๋ช
๋ น | `cross-env NEXT_TURBOPACK=0 next build` |
+| ๋ฐฐํฌ ๋ช
๋ น | `vercel` (Dev), `vercel --prod` (Live โ ์ฌ์ฉ์ ๋ช
์ ์๋ง) |
+| GLB ๋ชจ๋ธ | `public/models/` (1,680๊ฐ) |
+| HDRI | `public/skybox/` |
+| PBR ํ
์ค์ฒ | `public/textures/` |
+| ์ฌ์ด๋ | `public/sounds/` |
+| ํฌ๋ฆฌ๋ด์
๋ ์ง์คํธ๋ฆฌ | `.agent/data/credentials_registry.md` |
+| Git ๋ณ๊ฒฝ ๋ก๊ทธ | `.agent/data/git_changelog.json` |
+| .env | `.env` (์ถ์ ), `.env.local` (๋ฏธ์ถ์ ) |
diff --git a/.agent/workflows/deploy_master_rule.md b/.agent/workflows/deploy_master_rule.md
new file mode 100644
index 0000000..818d566
--- /dev/null
+++ b/.agent/workflows/deploy_master_rule.md
@@ -0,0 +1,92 @@
+---
+description: WebPilot-Engine ๋ฐฐํฌ ๋ง์คํฐ ๋ฃฐ โ Dev/Live ๊ตฌ๋ถ ๋ฐฐํฌ (Vercel CLI Direct Deploy)
+---
+
+# ๋ฐฐํฌ ๋ง์คํฐ ๋ฃฐ (Deployment Master Rule)
+
+**์์น**: GitHub ์ฉ๋ ์ ํ(100MB) ๋ฐ ๋คํธ์ํฌ ๋ถ์์ ์ฑ์ ์ฐํํ๊ธฐ ์ํด **Git์ ๊ฑฐ์น์ง ์๊ณ Vercel CLI๋ฅผ ํตํด ๋ก์ปฌ์์ ์ง์ ๋ฐฐํฌ**ํ๋ค.
+
+---
+
+## ๐จ ์ต์ฐ์ ๊ท์น: Dev / Live ๋ถ๋ฆฌ
+
+| ํ๊ฒฝ | ๋ช
๋ น์ด | URL | ์์ด์ ํธ ์๋ ์คํ |
+|------|--------|-----|-------------------|
+| **Dev (Preview)** | `vercel` | `*.vercel.app` (Preview URL) | โ
ํ์ฉ |
+| **Live (Production)** | `vercel --prod` | `web-pilot-engine.vercel.app` | โ **์ ๋ ๊ธ์ง** |
+
+> [!CAUTION]
+> **์์ด์ ํธ๋ `vercel --prod` (๋ผ์ด๋ธ ๋ฐฐํฌ)๋ฅผ ์ ๋ ์๋ ์คํํ์ง ์๋๋ค.**
+> ๋ผ์ด๋ธ ๋ฐฐํฌ๋ ๋ฐ๋์ ์ฌ์ฉ์๊ฐ "๋ผ์ด๋ธ ๋ฐฐํฌํด", "ํ๋ก๋์
๋ฐฐํฌํด" ๋ฑ **๋ช
์์ ์ผ๋ก ์์ฒญ**ํ์ ๋๋ง ์คํํ๋ค.
+> ๊ทธ ์ธ ๋ชจ๋ ์ํฉ์์๋ **Dev(Preview) ๋ฐฐํฌ๋ง** ์ํํ๋ค.
+
+---
+
+## 1. ์ฌ์ ์ ๊ฒ
+
+- ํ๋ก์ ํธ ๋ฃจํธ ๊ฒฝ๋ก(`d:\test\WebPilot-Engine`)์ ์์นํด์ผ ํ๋ค.
+- `.vercelignore` ํ์ผ์ด ์กด์ฌํ๊ณ , ๋ค์ ํญ๋ชฉ์ด ํฌํจ๋์ด ์๋์ง ํ์ธํ๋ค:
+ - `.git`
+ - `public/models/` (50MB ์ด์ ๋์ฉ๋ ํ์ผ)
+
+## 2. Dev ๋ฐฐํฌ (๊ธฐ๋ณธ)
+
+์์ด์ ํธ๊ฐ ๋ฐฐํฌํ ๋๋ **ํญ์ Dev(Preview) ๋ฐฐํฌ**๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ํ๋ค.
+
+```powershell
+# Dev(Preview) ๋ฐฐํฌ โ ์์ด์ ํธ ๊ธฐ๋ณธ ๋์
+vercel
+```
+
+- ๋ฐฐํฌ ์๋ฃ ํ ์์ฑ๋๋ **Preview URL**์ ์ฌ์ฉ์์๊ฒ ์ ๋ฌํ๋ค.
+- Preview URL ํ์: `webpilot-engine-.vercel.app`
+
+## 3. Live ๋ฐฐํฌ (์ฌ์ฉ์ ๋ช
์ ์์ฒญ ์์๋ง)
+
+์ฌ์ฉ์๊ฐ ์๋์ ๊ฐ์ **๋ช
์์ ํค์๋**๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ์๋ง ์คํํ๋ค:
+
+- "๋ผ์ด๋ธ ๋ฐฐํฌ", "ํ๋ก๋์
๋ฐฐํฌ", "prod ๋ฐฐํฌ", "--prod ๋ฐฐํฌ"
+- "๋ผ์ด๋ธ์ ์ฌ๋ ค", "ํ๋ก๋์
์ ์ฌ๋ ค"
+- "์ค์๋ฒ ๋ฐฐํฌ"
+
+```powershell
+# Live(Production) ๋ฐฐํฌ โ ์ฌ์ฉ์ ๋ช
์ ์์ฒญ ์์๋ง
+vercel --prod
+```
+
+- Live URL: `web-pilot-engine.vercel.app`
+
+## 4. ์ค์ ํ์ธ (์ต์ด ์คํ ์)
+
+- **Log in**: GitHub ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธ (๋ธ๋ผ์ฐ์ ์ธ์ฆ)
+- **Scope**: ๊ฐ์ธ ๊ณ์ ๋๋ ํ ์ ํ
+- **Link**: No ('N') -> ์ ํ๋ก์ ํธ ์์ฑ
+- **Project Name**: `webpilot-engine`
+- **Settings**: ๊ธฐ๋ณธ๊ฐ ์ ์ง ('Y')
+
+## 5. ํ๊ฒฝ ๋ณ์ ๋๊ธฐํ (ํ์)
+
+๋ฐฐํฌ ํ Vercel ๋์๋ณด๋(Settings > Environment Variables)์์ `.env.local`์ ๋ค์ ํค๊ฐ ๋ฑ๋ก๋์ด ์๋์ง ๋ฐ๋์ ํ์ธํ๋ค.
+
+- `NEXT_PUBLIC_TRIPO_API_KEY`
+- `NEXT_PUBLIC_BLOCKADE_LABS_API_KEY`
+- `GEMINI_API_KEY` (์๋ฒ์ฉ)
+
+## 6. ๋ฐฐํฌ ๊ฒ์ฆ
+
+- Vercel CLI ์ถ๋ ฅ์์ ๋ฐฐํฌ ์๋ฃ ์ฌ๋ถ๋ฅผ ํ์ธํ๋ค.
+- ์์ฑ๋ URL(Preview ๋๋ Production)์ ๊ธฐ๋กํ๋ค.
+- **โ ๏ธ ๋ธ๋ผ์ฐ์ ์ง์ ํ
์คํธ ๊ธ์ง** โ ์ฌ์ฉ์๊ฐ ์ง์ ํ์ธ
+
+---
+
+## ์์ฝ ์์ฌ๊ฒฐ์ ํธ๋ฆฌ
+
+```
+์ฌ์ฉ์๊ฐ "๋ฐฐํฌํด" ์์ฒญ
+ โโ "๋ผ์ด๋ธ/ํ๋ก๋์
/prod" ํค์๋ ํฌํจ?
+ โ โโ Yes โ vercel --prod (Live ๋ฐฐํฌ)
+ โ โโ No โ vercel (Dev ๋ฐฐํฌ)
+ โโ ์์ด์ ํธ ์์ฒด ํ๋จ์ผ๋ก ๋ฐฐํฌ?
+ โโ ํญ์ vercel (Dev ๋ฐฐํฌ๋ง ํ์ฉ)
+```
diff --git a/.vercelignore b/.vercelignore
index 928a3f3..0faad4a 100644
--- a/.vercelignore
+++ b/.vercelignore
@@ -85,17 +85,21 @@ Thumbs.db
.vercel
-# Large Files (>100MB) - GitHub ์ ํ
+# Large Files (>100MB) - Vercel ํ์ผ ํฌ๊ธฐ ์ ํ
+# ๋ชจ๋ ๋์ฉ๋ 3D ๋ชจ๋ธ ์์
์ ์ธ โ ๋ฐํ์์์ ์ธ๋ถ CDN ๋๋ R2๋ก ์ ๊ณต
+public/models/buildings/
+public/models/samples/
+public/models/weapons/
+public/models/characters/
public/models/dae_blacksmith_store.glb
public/models/cartoon_bedroom.glb
-
-# Large Files (>50MB) - ๋ฐฐํฌ ์์ ์ฑ ๋ฐ Vercel ์ฉ๋ ํ๋ณด
public/models/cartoon_two-story_villa_low_polygon_3d_model.glb
public/models/low_poly__sofa.glb
public/models/onigiri.glb
public/models/tyrant_king_-_tyrannosaurus.glb
public/models/cc0_axe.glb
public/models/angelic child 3d model.glb
+public/models/_index.json
.git
# Large Serverless Functions (gltf-transform ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ธํด ์ ์ธ)
diff --git a/README.md b/README.md
index 3bc1fa3..9870035 100644
--- a/README.md
+++ b/README.md
@@ -1,25 +1,28 @@
+
๐ WebPilot Engine
- ํ
์คํธ ํ ์ค๋ก ์์ ํ 3D ์ธ๊ณ๋ฅผ ์ฐฝ์กฐํ๋ AI-Native World Generator
+ ํ
์คํธ ํ ์ค๋ก ์์ ํ 3D ์ธ๊ณ๋ฅผ ์ฐฝ์กฐํ๋ AI-Native World Generator
+ ์๊ฐ ์งํํ ํ์ดํ๋ผ์ธ ยท VLM ํ์ ๋ฃจํ ยท ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์
ยท AAA๊ธ ํฌ์คํธ ํ๋ก์ธ์ฑ
- "๋ง๋ฒ์ ์ฒ์ ๋ง๋ค์ด์ค" โ AI ์๋๋ฆฌ์ค ๊ตฌ์ โ ์์
๊ฒ์ โ ๊ณต๊ฐ ๋ฐฐ์น โ ์ค์๊ฐ 3D ๋ ๋๋ง
+ "๋ง๋ฒ์ ์ฒ์ ๋ง๋ค์ด์ค" โ AI ์๋๋ฆฌ์ค ๊ตฌ์ โ ์์
๊ฒ์ โ ๋ฌผ๋ฆฌ ๋ฐฐ์น โ VLM ๋นํ โ ์์จ ๊ต์ โ ์ค์๊ฐ 3D ๋ ๋๋ง
-
-
+
+
-
+
+
@@ -28,7 +31,7 @@
- ๐ "Create a cyberpunk alley" โ AI๊ฐ ์๋๋ฆฌ์ค๋ฅผ ๋ถ์ํ๊ณ 3D ์๋๋ฅผ ์ค์๊ฐ ์์ฑ
+ ๐ "Create a cyberpunk alley" โ AI๊ฐ ์๋๋ฆฌ์ค๋ฅผ ๋ถ์ํ๊ณ 3D ์๋๋ฅผ ์ค์๊ฐ ์์ฑ โ VLM์ด ๋นํํ๊ณ ์์จ ๊ต์
@@ -46,7 +49,9 @@ WebPilot Engine์ ๊ธฐ์กด 3D ์ฌ ์์ฑ ๋ฐฉ์์ ๋ชจ๋ ํ๊ณ๋ฅผ **AI ์ถ๋ก **
| โ ํ๋์ฝ๋ฉ๋ ๋ฐฐ์น ๊ท์น | โ
AI๊ฐ ๋ฌธ๋งฅ์ ๋ง๋ ๊ท์น์ **๋์ ์์ฑ** |
| โ ํค์๋ ๋งค์นญ ์์
๊ฒ์ | โ
Gemini Embedding ๊ธฐ๋ฐ **์๋งจํฑ ๋ฒกํฐ ๊ฒ์** |
| โ ๋ชจ๋ ์ค๋ธ์ ํธ ๋์ผ ์ค์ผ์ผ | โ
๊ฐ ์ค๋ธ์ ํธ์ ์ญํ /๋งฅ๋ฝ์ ์ดํดํ **๊ฐ๋ณ AI ์ถ๋ก ** |
-| โ ์ขํ ์๋ ์ง์ | โ
MCTS ์๋์ง ํจ์ ๊ธฐ๋ฐ **์ต์ ๋ฐฐ์น** + ์ถฉ๋ ํํผ |
+| โ ์ขํ ์๋ ์ง์ | โ
MCTS ์๋์ง ํจ์ ๊ธฐ๋ฐ **์ต์ ๋ฐฐ์น** + ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์
|
+| โ ์์ฑ ํ ์์ ๋ถ๊ฐ | โ
**VLM(Gemini Vision) ์์จ ๋นํ โ ์๋ ๊ต์ ** ํ์ ๋ฃจํ |
+| โ ๊ธฐ๋ณธ ๋ ๋๋ง | โ
**Bloom/SSAO/Vignette** AAA๊ธ ํฌ์คํธ ํ๋ก์ธ์ฑ |
---
@@ -135,9 +140,9 @@ graph LR
---
-## ๐ง 7-Step AI ํ์ดํ๋ผ์ธ
+## ๐ง 12-Step AI ํ์ดํ๋ผ์ธ (v4.0)
-์ฌ์ฉ์ ํ๋กฌํํธ โ ์์ฑ๋ 3D ์ฌ๊น์ง **7๋จ๊ณ ์๋ ์ฒ๋ฆฌ**:
+์ฌ์ฉ์ ํ๋กฌํํธ โ ์์ฑ๋ 3D ์ฌ๊น์ง **12๋จ๊ณ ์๋ ์ฒ๋ฆฌ** + **์๊ฐ ์งํ ๋ฃจํ**:
```mermaid
graph LR
@@ -147,8 +152,14 @@ graph LR
S3 --> S4["โน Asset
Retrieval"]
S4 --> S5["โบ Scale
Reasoning"]
S5 --> S6["โป MCTS
Placement"]
- S6 --> S7["โผ Render &
Validate"]
- S7 --> OUTPUT["๐ฎ 3D ์ฌ"]
+ S6 --> S7["โผ Physics
Scattering"]
+ S7 --> S8["โฝ PBR
Materials"]
+ S8 --> S9["โพ VLM
Feedback"]
+ S9 --> S10["โฟ Auto-Fix
(Closed-loop)"]
+ S10 --> S11["โซ NavMesh
Generation"]
+ S11 --> S12["โฌ Post-
Processing"]
+ S12 --> OUTPUT["๐ฎ 3D ์ฌ"]
+ S10 -.->|"Score < 85"| S6
```
| ๋จ๊ณ | ์๋น์ค | ์ค๋ช
|
@@ -156,10 +167,15 @@ graph LR
| โถ | `PromptExpansionService` | ์ฌ์ฉ์ ์
๋ ฅ์ ์ธ๋ถํ๋ ์ฌ ์ค๋ช
์ผ๋ก ํ์ฅ |
| โท | `SpatialZoningService` | ๊ณต๊ฐ์ ์ค์/์ฃผ๋ณ/์ฝ๋ ์์ญ์ผ๋ก ๋ถํ |
| โธ | `AssetIntelligenceService` | ํ์ ์์
์ถ๋ก (์ญํ /ํฌ๊ธฐ/์๋/์์น ํํธ) |
-| โน | `AssetRetrievalService` + `VectorSearchService` | 3,477๊ฐ ์์
์์ ์๋งจํฑ ๋ฒกํฐ ๊ฒ์ |
+| โน | `AssetRetrievalService` + `VectorSearchService` | 26,926๊ฐ ์์
์์ ์๋งจํฑ ๋ฒกํฐ ๊ฒ์ |
| โบ | `ScaleReasoningService` + `SemanticScaleResolver` | ์ค๋ธ์ ํธ๋ณ ๊ฐ๋ณ ์ค์ผ์ผ AI ์ถ๋ก |
| โป | `MCTSPlacementService` | ์๋์ง ํจ์ ๊ธฐ๋ฐ ์ต์ ๋ฐฐ์น + BVH ์ถฉ๋ ํํผ |
-| โผ | `RenderValidationService` + `VQALoop` | WebGL ๋ ๋๋ง + VLM ํ์ง ๊ฒ์ฆ ๋ฃจํ |
+| โผ | `PhysicsScatteringService` | **[v4.0]** Rapier.js ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์
๊ธฐ๋ฐ ์์ฐ์ค๋ฌ์ด ์์ฐฉ |
+| โฝ | `PBRMaterialConverter` | **[v4.0]** PBR ์ฌ์ง ์๋ ๋ณํ (Metalness/Roughness) |
+| โพ | `VLMFeedbackService` | **[v4.0]** Gemini Vision ์ฅ๋ฉด ๋ถ์ + ํ์ง ์ ์ ์ฐ์ถ |
+| โฟ | `AutoFixEngine` | **[v4.0]** VLM ํผ๋๋ฐฑ ๊ธฐ๋ฐ ์์จ ๊ต์ (์์น/์ค์ผ์ผ/๋ถ์๊ธฐ) |
+| โซ | `NavMeshGenerationService` | **[v4.0]** ์ด๋ ๊ฐ๋ฅ ์์ญ ์๋ ์ฐ์ถ + ๊ณต๊ฐ ํ์ฉ์ฑ ๊ฒ์ฆ |
+| โฌ | `EffectComposer` | **[v4.0]** Bloom/SSAO/Vignette + ํ
๋ง๋ณ ์ปฌ๋ฌ ๊ทธ๋ ์ด๋ฉ |
---
@@ -221,11 +237,11 @@ UnifiedStore (Slice Architecture)
---
-## ๐ฆ ์์
๋ผ์ด๋ธ๋ฌ๋ฆฌ โ 3,477๊ฐ
+## ๐ฆ ์์
๋ผ์ด๋ธ๋ฌ๋ฆฌ โ 26,926+ ๊ฐ
| ์ ํ | ์๋ | ์ถ์ฒ |
|:-----|-----:|:-----|
-| 3D ๋ชจ๋ธ (GLB) | 2,632 | SDXL + TripoSR (์์ฒด ์์ฑ 952) + CC0 |
+| 3D ๋ชจ๋ธ (GLB) | 26,926 | SDXL + TripoSR (์์ฒด ์์ฑ 25,400+) + CC0 |
| BGM | 20 | ElevenLabs AI |
| SFX | 94 | Freesound CC0 + ElevenLabs |
| Ambient | 114 | Freesound CC0 |
@@ -234,7 +250,7 @@ UnifiedStore (Slice Architecture)
| PBR ํ
์ค์ฒ | 334 | Kenney + Poly Haven CC0 |
| ํํฐํด | 193 | Kenney CC0 |
-> ๐ 29๊ฐ ์นดํ
๊ณ ๋ฆฌ ยท ์ ์ ๊ฐ์ฌ ์์๋ฅ 0% ยท ๋ฐ๋ด๋ฅ 83%
+> ๐ 29๊ฐ ์นดํ
๊ณ ๋ฆฌ ยท ์ ์ ๊ฐ์ฌ ์๋ฃ ยท ๋น๋๊ธฐ ๋ก๋ฉ ์ต์ ํ ์ ์ฉ
---
@@ -242,13 +258,16 @@ UnifiedStore (Slice Architecture)
| ๊ณ์ธต | ๊ธฐ์ |
|:-----|:-----|
-| **ํ๋ ์์ํฌ** | Next.js 14 (App Router) |
-| **3D ์์ง** | Three.js 0.170 / React Three Fiber 8 |
+| **ํ๋ ์์ํฌ** | Next.js 16 (App Router) |
+| **3D ์์ง** | Three.js 0.160 / React Three Fiber 9 |
| **AI ๋ชจ๋ธ** | Gemini 2.0 Flash / Pro |
+| **AI ๋น์ ** | Gemini Vision (VLM ํ์ ๋ฃจํ) |
| **์๋ฒ ๋ฉ** | gemini-embedding-001 |
+| **๋ฌผ๋ฆฌ ์์ง** | Rapier.js (Physics Scattering) |
+| **ํฌ์คํธ ํ๋ก์ธ์ฑ** | @react-three/postprocessing (Bloom/SSAO/Vignette) |
| **์ํ ๊ด๋ฆฌ** | Zustand (UnifiedStore, Slice Pattern) |
| **์ํ ๋จธ์ ** | XState 5 |
-| **๊ณต๊ฐ ์ฐ์ฐ** | MCTS + BVH + Poisson Disk Sampling |
+| **๊ณต๊ฐ ์ฐ์ฐ** | MCTS + BVH + Poisson Disk + NavMesh |
| **์คํ์ผ๋ง** | TailwindCSS 3 |
| **๋ฐํ์ ๊ฒ์ฆ** | Zod (Schema Validation) |
| **์คํ ๋ฆฌ์ง** | Cloudflare R2 |
@@ -331,8 +350,8 @@ src/
โโโ config/ # โ๏ธ ์ค์
public/
-โโโ models/ # 2,632 GLB (Git LFS ยท 29 ์นดํ
๊ณ ๋ฆฌ)
-โ โโโ generated/ # 952๊ฐ โ SDXL+TripoSR ์์ฒด ์์ฑ
+โโโ models/ # 26,926 GLB (Git LFS ยท 29 ์นดํ
๊ณ ๋ฆฌ)
+โ โโโ generated/ # 25,400+ โ SDXL+TripoSR ์์ฒด ์์ฑ
โ โโโ Kenney/ # 800๊ฐ โ CC0
โ โโโ PolyPizza/ # 600๊ฐ โ CC ์ธ์ฆ
โ โโโ Quaternius/ # 200๊ฐ โ CC0
diff --git a/src/app/api/ai/expand-prompt/route.ts b/src/app/api/ai/expand-prompt/route.ts
index 2f2ebc0..b76b325 100644
--- a/src/app/api/ai/expand-prompt/route.ts
+++ b/src/app/api/ai/expand-prompt/route.ts
@@ -2,6 +2,6 @@
* Stage 1: Prompt Expansion API Route
*/
-import { createAIHandler } from '../utils/gemini';
+import { createAIHandler, AIModelTier } from '../utils/gemini';
-export const POST = createAIHandler('PromptExpansion');
+export const POST = createAIHandler('PromptExpansion', AIModelTier.ULTRA);
diff --git a/src/app/api/ai/quality-gate/route.ts b/src/app/api/ai/quality-gate/route.ts
new file mode 100644
index 0000000..f31137d
--- /dev/null
+++ b/src/app/api/ai/quality-gate/route.ts
@@ -0,0 +1,79 @@
+/**
+ * /api/ai/quality-gate/route.ts
+ *
+ * Stage 7: Quality Gate API
+ * ๋ฐฐ์น ๊ฒฐ๊ณผ์ ๋
ผ๋ฆฌ์ /์ฌ๋ฏธ์ ๋ฌด๊ฒฐ์ฑ์ ๋นํํ๊ณ ์์ ์ ์ ๋ฐํ
+ */
+
+import { NextRequest, NextResponse } from 'next/server';
+import { callGemini, AIModelTier } from '../utils/gemini';
+
+export async function POST(request: NextRequest) {
+ try {
+ const { placementResult, sceneSpec } = await request.json();
+
+ if (!placementResult || !sceneSpec) {
+ return NextResponse.json(
+ { error: 'placementResult์ sceneSpec์ด ํ์ํฉ๋๋ค' },
+ { status: 400 }
+ );
+ }
+
+ const prompt = `
+๋น์ ์ 3D ์ฌ ํ์ง ๊ฒ์๊ด(Quality Inspector)์
๋๋ค.
+๋ค์์ ์ฌ์ฉ์์ ์์ฒญ ์ฌํญ๊ณผ ๊ทธ์ ๋ฐ๋ผ ์์ฑ๋ 3D ์ค๋ธ์ ํธ ๋ฐฐ์น ๋ฐ์ดํฐ์
๋๋ค.
+
+## ์ฌ์ฉ์ ์์ฒญ (Scene Specification)
+${JSON.stringify(sceneSpec, null, 2)}
+
+## ๋ฐฐ์น ๋ฐ์ดํฐ (Placement Result)
+${JSON.stringify(placementResult.objects.map((o: any) => ({
+ name: o.concept,
+ role: o.semantic_role,
+ pos: o.position,
+ scale: o.scale
+ })), null, 2)}
+
+## ์์
๊ฐ์ด๋:
+1. ๋ฐฐ์น๊ฐ ์ฌ์ฉ์์ ์๋์ ์ผ์นํ๋์ง ๋
ผ๋ฆฌ์ ์ผ๋ก ๊ฒํ ํ์ธ์.
+2. ์ค๋ธ์ ํธ ๊ฐ์ ๋๋ฌด ์ฌํ ๊ฒน์นจ์ด๋ ์ง๋ฉด ์๋ ํ๋ฌปํ, ํ๋์ ๋ฌ ์ด์ํ ๋ฐฐ์น(๋ถ์ ์ค์ ์ด ์๋ ๊ฒฝ์ฐ)๋ฅผ ์ฐพ์ผ์ธ์.
+3. ๊ฐ ๋
ธ๋๋ณ๋ก "๊ฒ์ฆ ๊ฒฐ๊ณผ"์ "์์ ์ ์"์ JSON์ผ๋ก ์๋ตํ์ธ์.
+
+## ์๋ต ํ์ (JSON):
+{
+ "issues": [
+ {
+ "object_id": "๋์ ID",
+ "issue_type": "ground_penetration | collision | out_of_bounds | aesthetic_clutter",
+ "severity": "warning | error | fixed",
+ "description": "ํ๊ธ๋ก ๋ ๋ฌธ์ ์ค๋ช
",
+ "suggested_adjustment": {
+ "position": [x, y, z],
+ "scale": [sx, sy, sz]
+ }
+ }
+ ],
+ "render_ready": true/false
+}
+
+์ค์ง JSON๋ง ์๋ตํ์ธ์.
+`;
+
+ console.log('[QualityGate API] ๊ฒ์ฆ ์์ฒญ ์์ (Tier: FLASH)');
+
+ const resultText = await callGemini(prompt, AIModelTier.FLASH, {
+ responseMimeType: 'application/json',
+ temperature: 0.3, // ์ผ๊ด๋ ๋นํ์ ์ํด ๋ฎ์ ์จ๋๋ก ์ค์
+ });
+
+ const parsed = JSON.parse(resultText);
+ return NextResponse.json(parsed);
+
+ } catch (error) {
+ console.error('[QualityGate API] ์๋ฌ:', error);
+ return NextResponse.json(
+ { error: error instanceof Error ? error.message : '์ ์ ์๋ ์ค๋ฅ' },
+ { status: 500 }
+ );
+ }
+}
diff --git a/src/app/api/ai/unified-scene/route.ts b/src/app/api/ai/unified-scene/route.ts
index 577ff5f..3454175 100644
--- a/src/app/api/ai/unified-scene/route.ts
+++ b/src/app/api/ai/unified-scene/route.ts
@@ -6,10 +6,7 @@
*/
import { NextRequest, NextResponse } from 'next/server';
-import { GoogleGenerativeAI } from '@google/generative-ai';
-
-// Gemini API ํด๋ผ์ด์ธํธ
-const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY || '');
+import { callGemini, AIModelTier } from '../utils/gemini';
export async function POST(request: NextRequest) {
try {
@@ -22,34 +19,22 @@ export async function POST(request: NextRequest) {
);
}
- console.log('[UnifiedScene API] ์์ฒญ ์์ :', prompt.substring(0, 100));
+ console.log('[UnifiedScene API] ์์ฒญ ์์ (Tier: ULTRA):', prompt.substring(0, 100));
- // Gemini ๋ชจ๋ธ ํธ์ถ
- const model = genAI.getGenerativeModel({
- model: 'gemini-1.5-flash',
- generationConfig: {
- responseMimeType: 'application/json',
- temperature: 0.7,
- },
+ // [v3.0] ULTRA ํฐ์ด(gemini-2.0-pro-exp) ๋ชจ๋ธ ์ฌ์ฉ
+ const resultText = await callGemini(prompt, AIModelTier.ULTRA, {
+ responseMimeType: 'application/json',
+ temperature: 0.7,
});
- const result = await model.generateContent(prompt);
- const response = result.response;
- const text = response.text();
-
// JSON ํ์ฑ
let parsed;
try {
- // JSON ๋ธ๋ก ์ถ์ถ (๋งํฌ๋ค์ด ์ฝ๋ ๋ธ๋ก ์ฒ๋ฆฌ)
- const jsonMatch = text.match(/```json\s*([\s\S]*?)\s*```/) ||
- text.match(/```\s*([\s\S]*?)\s*```/) ||
- [null, text];
- const jsonStr = jsonMatch[1] || text;
- parsed = JSON.parse(jsonStr.trim());
+ parsed = JSON.parse(resultText);
} catch (parseError) {
console.error('[UnifiedScene API] JSON ํ์ฑ ์คํจ:', parseError);
return NextResponse.json(
- { error: 'AI ์๋ต ํ์ฑ ์คํจ', raw: text },
+ { error: 'AI ์๋ต ํ์ฑ ์คํจ', raw: resultText },
{ status: 500 }
);
}
diff --git a/src/app/api/ai/utils/gemini.ts b/src/app/api/ai/utils/gemini.ts
index e026780..a6952eb 100644
--- a/src/app/api/ai/utils/gemini.ts
+++ b/src/app/api/ai/utils/gemini.ts
@@ -5,7 +5,26 @@
*/
import { NextRequest, NextResponse } from 'next/server';
-import { GoogleGenerativeAI } from '@google/generative-ai';
+import { GoogleGenerativeAI, Part } from '@google/generative-ai';
+
+/**
+ * AI ๋ชจ๋ธ ํฐ์ด ์ ์
+ */
+export enum AIModelTier {
+ ULTRA = 'gemini-2.0-pro-exp', // ์ต๊ณ ์ง๋ฅ (์ ๋ต/ํ๊ฐ)
+ PRO = 'gemini-2.0-pro', // ๊ณ ์ง๋ฅ (๋นํ/์ฌ์ธต ๋ถ์)
+ FLASH = 'gemini-2.0-flash', // ๊ณ ์ (์ผ๋ฐ ๋ฐฐ์น/์ฑํ
/์ด๋ฏธ์ง ๋ถ์)
+ LITE = 'gemini-1.5-flash', // ๊ฒฝ๋ (๋จ์ ์ฒ๋ฆฌ)
+ EMBEDDING = 'text-embedding-004' // ์๋ฒ ๋ฉ
+}
+
+/**
+ * ํฐ์ด๋ณ ๋ชจ๋ธ ID ๋ฐํ (ํ๊ฒฝ ๋ณ์ ์ฐ์ )
+ */
+export function getModelForTier(tier: AIModelTier): string {
+ const envKey = `MODEL_${tier.replace(/-/g, '_').toUpperCase()}`;
+ return process.env[envKey] || tier;
+}
// Gemini ํด๋ผ์ด์ธํธ ์ด๊ธฐํ
const getGeminiClient = () => {
@@ -17,13 +36,33 @@ const getGeminiClient = () => {
};
/**
- * Gemini ํธ์ถ ๊ณตํต ํธ๋ค๋ฌ
+ * Gemini ํธ์ถ ๊ณตํต ํธ๋ค๋ฌ (ํ
์คํธ + ์ด๋ฏธ์ง ์ง์)
*/
-export async function callGemini(prompt: string, model: string = 'gemini-2.0-flash'): Promise {
+export async function callGemini(
+ prompt: string,
+ tier: AIModelTier = AIModelTier.FLASH,
+ options: {
+ temperature?: number;
+ responseMimeType?: string;
+ imageParts?: Part[]; // ๋ฉํฐ๋ชจ๋ฌ ์ง์
+ } = {}
+): Promise {
const genAI = getGeminiClient();
- const generativeModel = genAI.getGenerativeModel({ model });
+ const modelId = getModelForTier(tier);
+ const generativeModel = genAI.getGenerativeModel({
+ model: modelId,
+ generationConfig: {
+ temperature: options.temperature ?? 1.0,
+ responseMimeType: options.responseMimeType
+ }
+ });
- const result = await generativeModel.generateContent(prompt);
+ // ํ
์คํธ์ ์ด๋ฏธ์ง ํํธ ๊ฒฐํฉ
+ const content = options.imageParts
+ ? [prompt, ...options.imageParts]
+ : [prompt];
+
+ const result = await generativeModel.generateContent(content);
const response = await result.response;
const text = response.text();
@@ -39,10 +78,15 @@ export async function callGemini(prompt: string, model: string = 'gemini-2.0-fla
/**
* AI ํ๋กฌํํธ ์ฒ๋ฆฌ API Route ํฉํ ๋ฆฌ
*/
-export function createAIHandler(stageName: string) {
+export function createAIHandler(stageName: string, defaultTier: AIModelTier = AIModelTier.FLASH) {
return async function handler(request: NextRequest) {
try {
- const { prompt } = await request.json();
+ const body = await request.json();
+ const {
+ prompt,
+ tier = defaultTier,
+ images = [] // base64 ์ด๋ฏธ์ง ๋ฐฐ์ด ์ง์
+ } = body;
if (!prompt) {
return NextResponse.json(
@@ -51,10 +95,27 @@ export function createAIHandler(stageName: string) {
);
}
- console.log(`[API/${stageName}] ์์ฒญ ์ฒ๋ฆฌ ์ค...`);
+ // ์ด๋ฏธ์ง ํํธ ์์ฑ (๋ฉํฐ๋ชจ๋ฌ)
+ const imageParts: Part[] = images.map((base64: string) => {
+ // 'data:image/jpeg;base64,' ๋ฑ์ ์ ๋์ฌ ์ ๊ฑฐ
+ const cleanBase64 = base64.includes('base64,')
+ ? base64.split('base64,')[1]
+ : base64;
+
+ return {
+ inlineData: {
+ data: cleanBase64,
+ mimeType: 'image/jpeg'
+ }
+ };
+ });
+
+ console.log(`[API/${stageName}] ์์ฒญ ์ฒ๋ฆฌ ์ค... (Tier: ${tier}, Images: ${imageParts.length})`);
const startTime = Date.now();
- const result = await callGemini(prompt);
+ const result = await callGemini(prompt, tier as AIModelTier, {
+ imageParts: imageParts.length > 0 ? imageParts : undefined
+ });
const duration = Date.now() - startTime;
console.log(`[API/${stageName}] ์๋ฃ (${duration}ms)`);
diff --git a/src/app/api/analyze/route.ts b/src/app/api/analyze/route.ts
index 27cbba2..2d29150 100644
--- a/src/app/api/analyze/route.ts
+++ b/src/app/api/analyze/route.ts
@@ -1,11 +1,7 @@
import { NextRequest, NextResponse } from 'next/server';
-import { GoogleGenerativeAI } from '@google/generative-ai';
-import { ScenarioSchema } from '@/types/schema';
import { prisma } from '@/lib/prisma';
import { formatErrorResponse } from '@/lib/errorMessages';
-
-// Gemini API Client Init
-const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY || '');
+import { callGemini, AIModelTier } from '../ai/utils/gemini';
export async function POST(req: NextRequest) {
try {
@@ -19,77 +15,39 @@ export async function POST(req: NextRequest) {
}, { status: 400 });
}
- const apiKey = process.env.GEMINI_API_KEY || '';
- if (!apiKey) {
- return NextResponse.json({
- error: '๐ API ํค๊ฐ ์ค์ ๋์ง ์์์ต๋๋ค.',
- message: 'Gemini API ํค๊ฐ ๋๋ฝ๋์์ต๋๋ค.',
- suggestion: '.env.local ํ์ผ์ GEMINI_API_KEY๋ฅผ ์ถ๊ฐํด ์ฃผ์ธ์.'
- }, { status: 500 });
- }
- console.log('Gemini API Key loaded:', `Yes (${apiKey.substring(0, 4)}...)`);
-
- const model = genAI.getGenerativeModel({
- model: "gemini-2.0-flash",
- generationConfig: {
- responseMimeType: "application/json",
- }
- });
-
// [Feature] Genre-Specific Deep System Prompts (Visual Literalism)
- // Minimizes hallucinations by enforcing strict visual constraints.
const GENRE_PROMPTS: Record = {
fantasy: `
**CRITICAL ROLE: FANTASY ENVIRONMENT ARTIST**
OBJECTIVE: Create a magical, medieval fantasy scene.
-VISUAL STYLE:
-- Materials: Stone, wood, gold, crystal, parchment.
-- Lighting: Warm candlelight, magical glow, sunlight through leaves.
-- Atmosphere: Mystical, ancient, wondrous.
-MANDATORY ELEMENTS: If the image is abstract, interpret it as a magical artifact or location.
+VISUAL STYLE: Stone, wood, gold, crystal, parchment. Warm candlelight, magical glow.
`,
scifi: `
**CRITICAL ROLE: SCI-FI CONCEPT ARTIST**
OBJECTIVE: Create a futuristic, high-tech sci-fi scene.
-VISUAL STYLE:
-- Materials: Metal, glass, neon, synthetics, holograms.
-- Lighting: Cool blue/cyan, artificial strips, stark contrast.
-- Atmosphere: Sterile, advanced, industrial or cyberpunk.
-MANDATORY ELEMENTS: Interpret objects as machinery, terminals, or space-age tech.
+VISUAL STYLE: Metal, glass, neon, synthetics. Cool blue/cyan, artificial strips.
`,
horror: `
**CRITICAL ROLE: HORROR LEVEL DESIGNER**
OBJECTIVE: Create a terrifying, abandoned horror scene.
-VISUAL STYLE:
-- Materials: Rusted metal, rotting wood, stained fabric, grime.
-- Lighting: Dim, flickering, heavy shadows, cold flashlight beam.
-- Atmosphere: Oppressive, dangerous, abandoned.
-MANDATORY ELEMENTS: Highlight decay, danger, and clues.
+VISUAL STYLE: Rusted metal, rotting wood, stained fabric, grime. Dim, flickering lighting.
`,
mystery: `
**CRITICAL ROLE: ESCAPE ROOM DESIGNER**
OBJECTIVE: Create a mysterious puzzle room full of secrets.
-VISUAL STYLE:
-- Materials: Polished wood, brass, velvet, old paper.
-- Lighting: Dim but focused, noir style, dusty rays.
-- Atmosphere: Intriguing, secretive, silent.
-MANDATORY ELEMENTS: Focus on interactable objects, keys, and codes.
+VISUAL STYLE: Polished wood, brass, velvet, old paper. Dim but focused lighting.
`,
modern: `
**CRITICAL ROLE: INTERIOR DESIGNER**
OBJECTIVE: Create a realistic modern space.
-VISUAL STYLE:
-- Materials: Concrete, fabric, clean wood, glass.
-- Lighting: Natural daylight, soft ambient.
-- Atmosphere: Clean, functional, comfortable.
+VISUAL STYLE: Concrete, fabric, clean wood, glass. Natural daylight.
`
};
- // [Feature] Game Type Logic
const GAME_TYPE_INSTRUCTIONS: Record = {
- escape: "**GAME MODE: ESCAPE ROOM**\n- Focus on hidden keys, locked containers, and puzzles.\n- Objects should be 'interactable' and contain clues.",
- roleplay: "**GAME MODE: STORY RPG**\n- Focus on environmental storytelling, lore, and atmosphere.\n- Objects should reveal history or character backing.",
- casual: "**GAME MODE: CASUAL VIEWING**\n- Focus on aesthetics and comfort.\n- Objects should be decorative and fun to look at."
+ escape: "**GAME MODE: ESCAPE ROOM**\n- Focus on hidden keys, locked containers, and puzzles.",
+ roleplay: "**GAME MODE: STORY RPG**\n- Focus on environmental storytelling, lore, and atmosphere.",
+ casual: "**GAME MODE: CASUAL VIEWING**\n- Focus on aesthetics and comfort."
};
const selectedGenrePrompt = GENRE_PROMPTS[genre?.toLowerCase() || 'modern'] || GENRE_PROMPTS['modern'];
@@ -102,11 +60,10 @@ VISUAL STYLE:
**TASK:**
Analyze the provided image and generate a 3D scenario JSON.
- **CONSTRAINTS:**
**CONSTRAINTS:**
1. **User Prompt:** "${prompt || 'None'}" - Prioritize this.
- 2. **Objects:** Identify **10-15** physical objects. Mix **Large Furniture** (tables, shelves) with **Small Clutter** (books, tools).
- 3. **Relationships (CRITICAL):** You MUST specify \`relationships\` for all small items. E.g., 'book' MUST be \`on_top_of\` 'table'. Do NOT leave small items floating.
+ 2. **Objects:** Identify **10-15** physical objects.
+ 3. **Relationships (CRITICAL):** You MUST specify \`relationships\` for all small items. E.g., 'book' MUST be \`on_top_of\` 'table'.
4. **Root Property:** The JSON root must contain \`nodes\` array.
**OUTPUT FORMAT (JSON ONLY):**
@@ -123,39 +80,33 @@ VISUAL STYLE:
"relationships": [
{ "targetId": "obj_2", "type": "on_top_of" }
],
- "tags": {
- "style": "realistic",
- "material": "wood",
- "era": "modern",
- "mood": "neutral"
- }
+ "tags": { "style": "realistic", "material": "wood", "era": "modern", "mood": "neutral" }
}
]
}
`;
- // Handle Base64 image
- const mimeType = image.match(/data:([a-zA-Z0-9]+\/[a-zA-Z0-9-.+]+).*,.*/)?.[1] || 'image/jpeg';
+ // ์ด๋ฏธ์ง ์ฒ๋ฆฌ (Base64)
+ const cleanBase64 = image.includes('base64,') ? image.split('base64,')[1] : image;
const imagePart = {
inlineData: {
- data: image.split(',')[1] || image,
- mimeType: mimeType,
- },
+ data: cleanBase64,
+ mimeType: 'image/jpeg'
+ }
};
- const result = await model.generateContent([systemPrompt, imagePart]);
- const responseText = result.response.text();
-
- // [FIX] Robust JSON extraction
- const cleanedText = responseText.replace(/```json/g, '').replace(/```/g, '').trim();
-
- console.log('[Analyze] Raw Response:', cleanedText.substring(0, 100) + '...');
+ // ํตํฉ ์ ํธ๋ฆฌํฐ ํธ์ถ (FLASH ํฐ์ด ์ ์ฉ)
+ console.log('[Analyze] Gemini ํธ์ถ ์ค (FLASH)...');
+ const resultText = await callGemini(systemPrompt, AIModelTier.FLASH, {
+ responseMimeType: "application/json",
+ imageParts: [imagePart]
+ });
let scenarioData;
try {
- scenarioData = JSON.parse(cleanedText);
+ scenarioData = JSON.parse(resultText);
} catch (parseError) {
- console.error("JSON Parse Error:", parseError, "Response:", responseText);
+ console.error("JSON Parse Error:", parseError, "Response:", resultText);
throw new Error("Gemini response was not valid JSON");
}
@@ -167,7 +118,6 @@ VISUAL STYLE:
update: { count: { increment: 1 } },
create: { date: today, provider: 'gemini', count: 1 }
});
- console.log('[API] Gemini Usage Logged: +1');
} catch (dbErr) {
console.warn("Usage logging failed:", dbErr);
}
@@ -175,7 +125,7 @@ VISUAL STYLE:
return NextResponse.json(scenarioData);
} catch (error: any) {
- console.error('Gemini API Error:', error);
+ console.error('Analyze API Error:', error);
const userError = formatErrorResponse(error, 'gemini');
return NextResponse.json(userError, { status: 500 });
}
diff --git a/src/app/api/assets/search/route.ts b/src/app/api/assets/search/route.ts
index dd73cdb..2354dfc 100644
--- a/src/app/api/assets/search/route.ts
+++ b/src/app/api/assets/search/route.ts
@@ -28,7 +28,7 @@ export async function GET(request: Request) {
try {
console.log(`[PolyPizza] Searching for: ${query}`);
- const response = await fetch(`${POLY_PIZZA_API_URL}?q=${encodeURIComponent(query)}&format=gltf&limit=${limit}`, {
+ const response = await fetch(`${POLY_PIZZA_API_URL}?q=${encodeURIComponent(query)}&format=gltf&limit=${limit}&license=cc0`, {
headers: {
'X-Auth-Token': apiKey
}
@@ -58,6 +58,10 @@ export async function GET(request: Request) {
} catch (error) {
console.error('[API] Poly Pizza Search Failed:', error);
- return NextResponse.json({ success: false, error: 'External API Error' }, { status: 500 });
+ console.error('[API] Poly Pizza Search Failed:', error instanceof Error ? error.message : String(error));
+ return NextResponse.json({
+ success: false,
+ error: error instanceof Error ? error.message : 'External API Error'
+ }, { status: 500 });
}
}
diff --git a/src/app/api/chat/npc/route.ts b/src/app/api/chat/npc/route.ts
index 2ad3364..4e8aa2b 100644
--- a/src/app/api/chat/npc/route.ts
+++ b/src/app/api/chat/npc/route.ts
@@ -64,8 +64,11 @@ PROCESS:
const typePrompt = GAMETYPE_INSTRUCTIONS[gameType?.toLowerCase()] || GAMETYPE_INSTRUCTIONS['escape'];
// 2. Select Model (Gemini 2.0 Flash)
+ const { getModelForTier, AIModelTier } = require('../utils/gemini');
+ const modelId = getModelForTier(AIModelTier.FLASH);
+
const model = genAI.getGenerativeModel({
- model: 'gemini-2.0-flash',
+ model: modelId,
generationConfig: {
responseMimeType: "application/json" // Force JSON output
},
diff --git a/src/app/api/resources/match/route.ts b/src/app/api/resources/match/route.ts
index 9676faa..03a8b7e 100644
--- a/src/app/api/resources/match/route.ts
+++ b/src/app/api/resources/match/route.ts
@@ -83,11 +83,13 @@ export async function POST(request: Request) {
}
}
- // ๋ชจ๋ ๋ ์ด์ด ๋งค์นญ ์คํจ
- return NextResponse.json(
- { error: '๋งค์นญ ๊ฒฐ๊ณผ ์์', description },
- { status: 404 }
- );
+ // ๋ชจ๋ ๋ ์ด์ด ๋งค์นญ ์คํจ - 404 ๋์ 200(none) ๋ฐํํ์ฌ ๋ก๊ทธ ๋
ธ์ด์ฆ ์ ๊ฑฐ
+ return NextResponse.json({
+ type: 'none',
+ source: 'none',
+ message: '์ ์ ํ ๋งค์นญ ๊ฒฐ๊ณผ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.',
+ description
+ }, { status: 200 });
} catch (error) {
console.error('[API] Resource Match Error:', error);
return NextResponse.json(
diff --git a/src/app/page.tsx b/src/app/page.tsx
index 93a7721..4cc6152 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -1,6 +1,6 @@
'use client';
-import React, { useState } from 'react';
+import React, { useState, useEffect } from 'react';
import { useRouter } from 'next/navigation';
import { useSceneData } from '@/context/SceneContext';
import { GeminiService } from '@/services/GeminiService';
@@ -201,12 +201,38 @@ export default function CreatorStudioPage() {
}
};
+ // [FIX] AI ํ์ดํ๋ผ์ธ์ด ํตํฉ ์คํ ์ด์ ์ฌ์ ์ค์ ํ๋ฉด previewNodes ์๋ ๋๊ธฐํ
+ const aiSceneObjects = useUnifiedStore((s) => s.aiScene.objects);
+ const aiSceneGenerated = useUnifiedStore((s) => s.aiScene.isGenerated);
+
+ React.useEffect(() => {
+ if (aiSceneGenerated && aiSceneObjects.length > 0 && previewNodes.length === 0) {
+ // AI ํ์ดํ๋ผ์ธ์ด ์ฌ์ ์์ฑํ์ง๋ง previewNodes๊ฐ ๋น์ด์๋ ๊ฒฝ์ฐ ๋๊ธฐํ
+ const nodes = aiSceneObjects.map((obj: any) => ({
+ id: obj.id || obj.concept,
+ name: obj.name || obj.concept,
+ modelUrl: obj.modelUrl || obj.file_path,
+ position: obj.position || [0, 0, 0],
+ rotation: obj.rotation || [0, 0, 0],
+ scale: obj.scale || [1, 1, 1],
+ }));
+ setPreviewNodes(nodes as any);
+ setStatus('๐ฎ "์๋ ์
์ฅ" ๋ฒํผ์ ํด๋ฆญํ์ธ์!');
+ setLoading(false);
+ console.log('[Studio] AI ํ์ดํ๋ผ์ธ ์ฌ โ previewNodes ๋๊ธฐํ:', nodes.length, '๊ฐ');
+ }
+ }, [aiSceneGenerated, aiSceneObjects]);
+
// ์์ฑ ํธ๋ค๋ฌ
const handleGenerate = async () => {
setError('');
setLoading(true);
setStatus(inputMode === 'image' ? '๐ ์ด๋ฏธ์ง ๋ถ์ ์ค...' : '๐ ์๋๋ฆฌ์ค ์์ฑ ์ค...');
+ // [FIX] ์ด์ ์ฌ ๋ฐ์ดํฐ ํด๋ฆฌ์ด (์บ์ ์์ฌ ๋ฐฉ์ง)
+ setPreviewNodes([]);
+ sessionStorage.removeItem('webpilot_ai_scene');
+
// ์์ฑ ์นด์ดํฐ ์ด๊ธฐํ (1ํ ์๋๋น 5๊ฐ ์ ํ)
if (typeof window !== 'undefined') {
(window as Window & { __GENERATION_COUNT?: number }).__GENERATION_COUNT = 0;
@@ -325,16 +351,48 @@ export default function CreatorStudioPage() {
};
// ์๋ ์
์ฅ (Seamless Transition)
+ // [FIX] ํตํฉ ์คํ ์ด์ ์ต์ AI ์ฌ์ ์ฐ์ ์ฌ์ฉ (stale ์บ์ ๋ฐฉ์ง)
const handleEnterWorld = () => {
+ const unifiedStore = getUnifiedStore();
const store = useGameStore.getState();
- store.setLoaded(true);
-
- // [FIX] game.ts ์คํ ์ด์๋ ์๋๋ฆฌ์ค ๋ฐ์ดํฐ ๋๊ธฐํ
- // Experience.tsx๊ฐ game.ts์ currentScenario๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ
const gameStore2 = useGameStore2.getState();
- if (store.scenario && store.scenario.id) {
- gameStore2.loadScenario(store.scenario as any); // [FIX] ํ์
ํธํ์ฑ (optional id vs required id)
- gameStore2.setGameMode('custom');
+
+ // 1. ํตํฉ ์คํ ์ด์์ ์ต์ AI ์ฌ ํ์ธ
+ if (unifiedStore.aiScene.isGenerated && unifiedStore.aiScene.objects.length > 0) {
+ console.log('[Studio] โ
ํตํฉ ์คํ ์ด AI ์ฌ์ผ๋ก ์๋ ์ง์
:', unifiedStore.aiScene.objects.length, '๊ฐ ์ค๋ธ์ ํธ');
+
+ // AI ์ฌ โ Scenario ๋ณํ
+ unifiedStore.enterAIWorld();
+ const scenario = unifiedStore.convertAISceneToScenario();
+
+ if (scenario) {
+ // ๋ ๊ฑฐ์ ์คํ ์ด ๋๊ธฐํ
+ setSceneData(scenario as any);
+ store.setScenario(scenario as any);
+ store.setLoaded(true);
+ gameStore2.loadScenario(scenario as any);
+ gameStore2.setGameMode('custom');
+
+ // sessionStorage์ ์ ์ฅ (ํ์ด์ง ๋ฆฌ๋ก๋ ์์กด)
+ try {
+ sessionStorage.setItem('webpilot_ai_scene', JSON.stringify({
+ scenario,
+ gameMode: 'custom',
+ aiScene: unifiedStore.aiScene,
+ timestamp: Date.now(),
+ }));
+ } catch (e) {
+ console.warn('[Studio] sessionStorage ์ ์ฅ ์คํจ:', e);
+ }
+ }
+ } else if (store.scenario) {
+ // 2. ๋ ๊ฑฐ์ ์๋๋ฆฌ์ค ์ฌ์ฉ (AI ํ์ดํ๋ผ์ธ ์๋ ๊ฒฝ์ฐ)
+ console.log('[Studio] ๋ ๊ฑฐ์ ์๋๋ฆฌ์ค๋ก ์๋ ์ง์
');
+ store.setLoaded(true);
+ if (store.scenario.id) {
+ gameStore2.loadScenario(store.scenario as any);
+ gameStore2.setGameMode('custom');
+ }
}
setIsIngame(true); // ํ์ด์ง ์ด๋ ์์ด ์ฆ์ ๊ฒ์ ๋ชจ๋ ์ ํ
diff --git a/src/cells/core/ReflexArc.ts b/src/cells/core/ReflexArc.ts
index df4f935..b3885c1 100644
--- a/src/cells/core/ReflexArc.ts
+++ b/src/cells/core/ReflexArc.ts
@@ -29,11 +29,11 @@ import {
import type { ReflexResult, PlacedObject } from '../types';
// โโ ๋ฐ์ฌ ์ ๊ฒฝ ์์ โโ
-const MAX_NUDGE_ATTEMPTS = 3; // MTV Nudge ์ต๋ ์๋ ํ์
+const MAX_NUDGE_ATTEMPTS = 5; // MTV Nudge ์ต๋ ์๋ ํ์ ์ํฅ (3->5)
const MAX_SHRINK_ITERATIONS = 5; // ์ค์ผ์ผ ์ถ์ ์ต๋ ๋ฐ๋ณต
const SHRINK_FACTOR = 0.9; // ์ถ์ ๋น์จ (10% ๊ฐ์)
-const MIN_NUDGE_MARGIN = 0.05; // ์ต์ Nudge ๋ง์ง (5cm)
-const NUDGE_MARGIN_RATIO = 0.1; // ์ค๋ธ์ ํธ ํฌ๊ธฐ ๋๋น ๋ง์ง ๋น์จ (10%)
+const MIN_NUDGE_MARGIN = 0.08; // ์ต์ Nudge ๋ง์ง ์ํฅ (5cm -> 8cm)
+const NUDGE_MARGIN_RATIO = 0.12; // ์ค๋ธ์ ํธ ํฌ๊ธฐ ๋๋น ๋ง์ง ๋น์จ ์ํฅ (10% -> 12%)
/**
* ReflexArc โ ์ฒ์ ๋ฐ์ฌ ์ ๊ฒฝ ์์คํ
diff --git a/src/cells/musculoskeletal/AssetHunterCell.ts b/src/cells/musculoskeletal/AssetHunterCell.ts
index de4b880..aae34f2 100644
--- a/src/cells/musculoskeletal/AssetHunterCell.ts
+++ b/src/cells/musculoskeletal/AssetHunterCell.ts
@@ -257,20 +257,16 @@ export class AssetHunterCell extends BaseCell {
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// ์นดํ
๊ณ ๋ฆฌ โ Matcap ํ
์ค์ฒ ์๋ ๋งคํ
- // nidorx/matcaps ์ ์ฅ์์ ํ
์ค์ฒ URL ์ฌ์ฉ (CC0)
- private static readonly MATCAP_BY_CATEGORY: Record = {
- // ๊ฐ๊ตฌ/๋๋ฌด โ ๋ฐ๋ปํ ๋๋ฌด ํค
- furniture: 'https://raw.githubusercontent.com/nidorx/matcaps/master/1024/C7B898_6C4B25_A08552_8C704C.png',
- // ์ฐจ๋/๊ธ์ โ ๋ฉํ๋ฆญ
- vehicle: 'https://raw.githubusercontent.com/nidorx/matcaps/master/1024/C8C8C8_4B4B4B_8E8E8E_6C6C6C.png',
- // ์์ฐ/์๋ฌผ โ ๋
น์ ๋ฌด๊ด
- nature: 'https://raw.githubusercontent.com/nidorx/matcaps/master/1024/4B6B35_BEE08C_8DA962_698844.png',
- // ๊ฑด๋ฌผ/๊ตฌ์กฐ๋ฌผ โ ๋ฐ์ ์ฝํฌ๋ฆฌํธ
- structural: 'https://raw.githubusercontent.com/nidorx/matcaps/master/1024/E6BF3C_864A1C_B69131_FEEA74.png',
- // ๊ธฐ๋ณธ๊ฐ โ ์ธ๋ผ๋ฏน/ํด๋ ์ด
- default: 'https://raw.githubusercontent.com/nidorx/matcaps/master/1024/3B3C3F_76777B_505255_626469.png',
+ // nidorx/matcaps ์ ์ฅ์ URL์ด ๋ถ์์ ํ๋ฏ๋ก, ๊ธฐ๋ณธ์ ์ผ๋ก undefined๋ฅผ ๋ฐํํ์ฌ
+ // LowPolyMaterialAdapter๊ฐ ๋ด๋ถ ํ๋ก์์ ๋ด ํ
์ค์ฒ๋ฅผ ์์ฑํ๋๋ก ์ ๋ํฉ๋๋ค.
+ private static readonly MATCAP_URLS: Record = {
+ // user-defined types can be added here if we host them locally
};
+ private getMatcapForType(type: string): string | undefined {
+ return AssetHunterCell.MATCAP_URLS[type];
+ }
+
/**
* ๋ ๋ ์คํ์ผ ํด์ โ 3๋จ๊ณ ํด๋ฐฑ ์ ๋ต
*
@@ -412,30 +408,13 @@ export class AssetHunterCell extends BaseCell {
* 1์์: DB์์ subCategory ๊ธฐ๋ฐ ๋๋ค ์ ํ
* 2์์: ๊ธฐ์กด ๊ณ ์ URL ํด๋ฐฑ
*/
- private async pickMatcapByCategory(category?: string): Promise {
+ private async pickMatcapByCategory(category?: string): Promise {
// DB ๋์ ์กฐํ ์๋
const dbMatcap = await this.queryMatcapFromDB(category);
if (dbMatcap) return dbMatcap;
- // ํด๋ฐฑ: ๊ธฐ์กด ๊ณ ์ URL
- if (!category) return AssetHunterCell.MATCAP_BY_CATEGORY.default;
-
- const lower = category.toLowerCase();
-
- if (['furniture', 'support'].some(k => lower.includes(k))) {
- return AssetHunterCell.MATCAP_BY_CATEGORY.furniture;
- }
- if (['vehicle', 'car', 'metal'].some(k => lower.includes(k))) {
- return AssetHunterCell.MATCAP_BY_CATEGORY.vehicle;
- }
- if (['nature', 'tree', 'plant', 'vegetation', 'ambient'].some(k => lower.includes(k))) {
- return AssetHunterCell.MATCAP_BY_CATEGORY.nature;
- }
- if (['structural', 'building', 'wall', 'floor', 'focal'].some(k => lower.includes(k))) {
- return AssetHunterCell.MATCAP_BY_CATEGORY.structural;
- }
-
- return AssetHunterCell.MATCAP_BY_CATEGORY.default;
+ // ํด๋ฐฑ: ์ธ๋ถ URL์ด ์์ผ๋ฏ๋ก undefined ๋ฐํ -> ๋ด์ฅ ํ๋ก์์ ๋ด ํ
์ค์ฒ ์ฌ์ฉ
+ return undefined;
}
/**
diff --git a/src/components/3d/AssetLoader.tsx b/src/components/3d/AssetLoader.tsx
index b7b73ec..d1128c6 100644
--- a/src/components/3d/AssetLoader.tsx
+++ b/src/components/3d/AssetLoader.tsx
@@ -330,7 +330,7 @@ const Content = React.memo(({ modelUrl, fallback, isGenerating, scale, onSelect,
rotation={rotation}
scale={scale}
type={(description.toLowerCase().match(/(room|hall|castle|dungeon|environment)/) || type === 'static_mesh' || description.includes('hat')) ? "fixed" : "dynamic"}
- colliders={description.toLowerCase().match(/(room|hall|castle|dungeon)/) ? "trimesh" : "cuboid"}
+ colliders={description.toLowerCase().match(/(room|hall|castle|dungeon)/) ? "trimesh" : "hull"}
userData={{ isAssetRoot: true }}
>
;
}
diff --git a/src/components/audio/AudioManager.tsx b/src/components/audio/AudioManager.tsx
index 08b932a..ef27601 100644
--- a/src/components/audio/AudioManager.tsx
+++ b/src/components/audio/AudioManager.tsx
@@ -34,14 +34,30 @@ export default function AudioManagerComponent() {
}
}, [bgmUrl, currentGenre]);
- // [Narration Logic - Keeping as HTMLAudio for now]
+ // [Narration Logic - Memory Leak Prevention]
useEffect(() => {
- if (!narrationRef.current) narrationRef.current = new Audio();
+ if (!narrationRef.current) {
+ narrationRef.current = new Audio();
+ }
+
+ const audio = narrationRef.current;
if (narrationUrl) {
- narrationRef.current.src = narrationUrl;
- narrationRef.current.play().catch(e => console.warn("Narration Play error:", e));
+ audio.pause();
+ audio.src = narrationUrl;
+ audio.load(); // ๋ช
์์ ๋ก๋
+ audio.play().catch(e => console.warn("[Audio] Narration Play error:", e));
}
+
+ // ์ปดํฌ๋ํธ ์ธ๋ง์ดํธ ์ ๋๋ URL ๋ณ๊ฒฝ ์ ์ ๋ฆฌ
+ return () => {
+ if (audio) {
+ audio.pause();
+ audio.src = '';
+ audio.removeAttribute('src'); // DOM ๋จ๊ณ์์ ๋ฆฌ์์ค ํ์คํ ์ ๊ฑฐ
+ audio.load(); // ๋น ์ํ๋ก ๋ก๋ํ์ฌ ์คํธ๋ฆผ ํด์
+ }
+ };
}, [narrationUrl]);
// [Sync Volume & Mute]
@@ -49,19 +65,17 @@ export default function AudioManagerComponent() {
// Sync GameStore volume to Howler
audioManager.setVolume(gameAudio.volume);
- if (gameAudio.isMuted !== audioManager.toggleMute()) {
- // Sync mute state if needed, but toggleMute toggles.
- // Better to set explicit mute if API supported, but for now we trust the store is source of truth.
- // Actually toggleMute returns new state.
- // Let's rely on setVolume(0) for mute or fix AudioManger to have setMute.
- // For now, let's just use volume.
- if (gameAudio.isMuted) audioManager.setVolume(0);
- else audioManager.setVolume(gameAudio.volume);
+ // Mute ์ฒ๋ฆฌ: Howler.mute() ๋์ ๋ณผ๋ฅจ 0 ์ฒ๋ฆฌ๋ก ๋ ํ์คํ๊ฒ ์ ์ด (Howler pool ์ด์ ๋์)
+ if (gameAudio.isMuted) {
+ audioManager.setVolume(0);
+ } else {
+ audioManager.setVolume(gameAudio.volume);
}
// Also control Narration volume
if (narrationRef.current) {
narrationRef.current.volume = gameAudio.isMuted ? 0 : audioStoreVolume.narration;
+ narrationRef.current.muted = gameAudio.isMuted;
}
}, [gameAudio.volume, gameAudio.isMuted, audioStoreVolume.narration]);
diff --git a/src/components/canvas/DynamicModel.tsx b/src/components/canvas/DynamicModel.tsx
index 839b424..34b3949 100644
--- a/src/components/canvas/DynamicModel.tsx
+++ b/src/components/canvas/DynamicModel.tsx
@@ -274,8 +274,19 @@ function LoadedModel({
);
}
+ // [v3.4 FIX] ๊ตฌ์กฐ๋ฌผ ์์
์ ๋ํด ๋ ์ ๋ฐํ ์ฝ๋ผ์ด๋(trimesh) ์๋ ๊ฒฐ์
+ const effectiveCollider = useMemo(() => {
+ if (colliderType) return colliderType;
+ const lowerPath = filePath.toLowerCase();
+ if (lowerPath.includes('room') || lowerPath.includes('hall') ||
+ lowerPath.includes('dungeon') || lowerPath.includes('interior')) {
+ return 'trimesh';
+ }
+ return 'hull'; // ๊ธฐ๋ณธ๊ฐ (๊ธฐ์กด cuboid๋ณด๋ค ์ ๋ฐํจ)
+ }, [colliderType, filePath]);
+
return (
-
+
0) {
+ const restoredMode = parsed.gameMode || 'custom';
+ console.log('[Experience] โ
AI ์ฌ ๋ณต์:', parsed.scenario.nodes.length, '๊ฐ ๋
ธ๋, ๋ชจ๋:', restoredMode);
store.loadScenario(parsed.scenario);
- store.setGameMode('custom');
+ store.setGameMode(restoredMode);
store.setLoading(false);
// ํตํฉ ์คํ ์ด์๋ ๋๊ธฐํ
diff --git a/src/components/canvas/LayoutResolver.tsx b/src/components/canvas/LayoutResolver.tsx
index 91b2ee1..4429923 100644
--- a/src/components/canvas/LayoutResolver.tsx
+++ b/src/components/canvas/LayoutResolver.tsx
@@ -66,6 +66,7 @@ const DirectModelLoader = ({
scale,
onClick,
disableCollider = false,
+ colliderType = 'trimesh' as 'hull' | 'cuboid' | 'trimesh' | false,
}: {
url: string;
position: [number, number, number];
@@ -73,6 +74,7 @@ const DirectModelLoader = ({
scale: [number, number, number];
onClick?: () => void;
disableCollider?: boolean;
+ colliderType?: 'hull' | 'cuboid' | 'trimesh' | false;
}) => {
// [FIX] ์ ์ ์ฅ์ ์ค๋ธ์ ํธ๋ RigidBody ์์ด ๋ ๋๋ง (ํ๋ ์ด์ด ๊ฐ๋๊ธฐ ๋ฐฉ์ง)
if (disableCollider) {
@@ -85,7 +87,7 @@ const DirectModelLoader = ({
);
}
return (
-
+
{ e.stopPropagation(); onClick?.(); }} />
@@ -263,7 +265,9 @@ const SceneNodeRenderer = ({ node, theme }: { node: SceneNode, theme: string })
position={position}
rotation={rotation}
scale={scale}
- disableCollider={node.type === 'static_mesh'}
+ // [v3.4 PERFECTION] ์ฑ๋ฅ ์ต์ ํ: ๊ธฐ๋ณธ์ hull๋ก ํ๊ณ , ๋ํ ๊ฑด์ถ๋ฌผ๋ง ์ ๋ณ์ ์ผ๋ก trimesh ์ ์ฉ
+ colliderType={(node as any).colliderType || (node.type === 'static_mesh' ? 'hull' : 'cuboid')}
+ disableCollider={false}
onClick={() => {
if (node.type === 'interactive_prop' || node.type === 'npc') {
console.log(`[Interaction] Object Clicked: ${node.id}`);
@@ -287,7 +291,7 @@ const SceneNodeRenderer = ({ node, theme }: { node: SceneNode, theme: string })
type={node.type}
theme={theme}
tags={node.tags}
- colliderType={node.type === 'static_mesh' ? false : (node as unknown as { colliderType?: 'hull' | 'cuboid' | 'trimesh' | false }).colliderType}
+ colliderType={(node as any).colliderType !== undefined ? (node as any).colliderType : 'hull'}
onClick={() => {
if (node.type === 'interactive_prop' || node.type === 'npc') {
console.log(`[Interaction] Object Clicked: ${node.id}`);
diff --git a/src/components/canvas/SceneCanvas.tsx b/src/components/canvas/SceneCanvas.tsx
index f031935..78a529f 100644
--- a/src/components/canvas/SceneCanvas.tsx
+++ b/src/components/canvas/SceneCanvas.tsx
@@ -88,7 +88,7 @@ export default function SceneCanvas({ children, cameraMode = 'follow' }: SceneCa
{/* Physics World */}
-
+
{/*
The Main Scene Content goes here.
Usually or specific scene nodes.
diff --git a/src/components/landing/HeroSection.tsx b/src/components/landing/HeroSection.tsx
index 428e1d2..f47e072 100644
--- a/src/components/landing/HeroSection.tsx
+++ b/src/components/landing/HeroSection.tsx
@@ -9,11 +9,25 @@
import Link from 'next/link';
import dynamic from 'next/dynamic';
+import { useRouter } from 'next/navigation';
+import { useUnifiedStore } from '@/store/unifiedStore';
+import { DEFAULT_SCENARIO } from '@/data/scenarios';
// 3D ์บ๋ฒ์ค๋ ํด๋ผ์ด์ธํธ์์๋ง ๋ก๋
const HeroCanvas = dynamic(() => import('./HeroCanvas'), { ssr: false });
export function HeroSection() {
+ const router = useRouter();
+ const unifiedStore = useUnifiedStore();
+
+ const handleStartDemo = () => {
+ // [SSOT] ํตํฉ ์คํ ์ด ์ก์
์ฌ์ฉ + Fallback ์๋๋ฆฌ์ค ์ฃผ์
+ unifiedStore.enterDemoMode(DEFAULT_SCENARIO);
+
+ // ๊ฒ์ ํ์ด์ง๋ก ์ด๋
+ router.push('/game');
+ };
+
return (
{/* 3D ๋ฐฐ๊ฒฝ */}
@@ -59,12 +73,12 @@ export function HeroSection() {
-
๐ฉ ๋ฐ๋ชจ ์ฒดํํ๊ธฐ
-
+
{/* ๊ธฐ์ ์คํ ๋ฏธ๋ ๋ฐฐ์ง */}
diff --git a/src/components/providers/GLTFLoaderConfig.tsx b/src/components/providers/GLTFLoaderConfig.tsx
index 9727b2d..1d56e1d 100644
--- a/src/components/providers/GLTFLoaderConfig.tsx
+++ b/src/components/providers/GLTFLoaderConfig.tsx
@@ -15,12 +15,16 @@
import { useEffect } from 'react';
import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
import { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader.js';
+import { KTX2Loader } from 'three/examples/jsm/loaders/KTX2Loader.js';
import { useGLTF } from '@react-three/drei';
import * as THREE from 'three';
// Draco CDN ๊ฒฝ๋ก
const DRACO_CDN = 'https://www.gstatic.com/draco/versioned/decoders/1.5.7/';
+// KTX2 Basis Universal ํธ๋์ค์ฝ๋ CDN ๊ฒฝ๋ก
+const KTX2_TRANSCODER_CDN = 'https://cdn.jsdelivr.net/gh/pmndrs/drei-assets/basis/';
+
// ์๋ฌ ๋ก๊ทธ ์ค๋ณต ๋ฐฉ์ง์ฉ ์บ์
const loggedErrors = new Set();
@@ -92,19 +96,41 @@ export default function GLTFLoaderConfig() {
const gltfLoader = new GLTFLoader();
gltfLoader.setDRACOLoader(dracoLoader);
- // 4. DefaultLoadingManager์ ๋ฑ๋ก (drei useGLTF์ ์ฐ๋)
+ // 4. KTX2Loader ์ค์ (KTX2 ํ
์ค์ฒ ์ง์)
+ let ktx2Loader: KTX2Loader | null = null;
+ try {
+ ktx2Loader = new KTX2Loader();
+ ktx2Loader.setTranscoderPath(KTX2_TRANSCODER_CDN);
+
+ // KTX2๋ GPU ์ง์ ๊ฐ์ง๋ฅผ ์ํด WebGLRenderer๊ฐ ํ์
+ const tempCanvas = document.createElement('canvas');
+ const tempRenderer = new THREE.WebGLRenderer({
+ canvas: tempCanvas,
+ context: tempCanvas.getContext('webgl2') || undefined,
+ });
+ ktx2Loader.detectSupport(tempRenderer);
+ tempRenderer.dispose();
+
+ gltfLoader.setKTX2Loader(ktx2Loader);
+ console.log('[GLTFLoaderConfig] โ๏ธ KTX2 ํธ๋์ค์ฝ๋ ์ค์ ์๋ฃ');
+ } catch (e) {
+ console.warn('[GLTFLoaderConfig] โ ๏ธ KTX2Loader ์ด๊ธฐํ ์คํจ (๋ฌด์):', e);
+ }
+
+ // 5. DefaultLoadingManager์ ๋ฑ๋ก (drei useGLTF์ ์ฐ๋)
THREE.DefaultLoadingManager.addHandler(/\.glb$/i, gltfLoader);
THREE.DefaultLoadingManager.addHandler(/\.gltf$/i, gltfLoader);
- // 5. Drei ์ ์ฉ ์ค์ ๋ ์ ์ง (ํธํ์ฑ)
+ // 6. Drei ์ ์ฉ ์ค์ ๋ ์ ์ง (ํธํ์ฑ)
useGLTF.setDecoderPath(DRACO_CDN);
- console.log('[GLTFLoaderConfig] โ๏ธ Draco ๋์ฝ๋ ์ค์ ์๋ฃ');
+ console.log('[GLTFLoaderConfig] โ๏ธ Draco + KTX2 ๋์ฝ๋ ์ค์ ์๋ฃ');
console.log(' - ์ค๋ณต ์๋ฌ ๋ก๊ทธ ์ต์ ํ์ฑํ');
// Cleanup
return () => {
dracoLoader.dispose();
+ ktx2Loader?.dispose();
restoreLogs();
loggedErrors.clear();
};
diff --git a/src/components/scene/GeneratedModel.tsx b/src/components/scene/GeneratedModel.tsx
index 7d74869..9763c21 100644
--- a/src/components/scene/GeneratedModel.tsx
+++ b/src/components/scene/GeneratedModel.tsx
@@ -4,7 +4,7 @@ import { useEffect, useState, useRef } from 'react';
import * as THREE from 'three';
import { useMachine } from '@xstate/react';
import { RigidBody, CuboidCollider, BallCollider } from '@react-three/rapier';
-import { useGameStore } from '@/store/useGameStore';
+import { useGameStore } from '@/store/game';
import { useInteraction } from '@/components/interaction/InteractionManager';
import { objectMachine } from '@/machines/objectMachine';
import { useObjectStore } from '@/store/useObjectStore';
@@ -24,6 +24,7 @@ interface GeneratedModelProps {
semanticName: string; // Debug Friendly Name
prompt: string;
initialPosition: [number, number, number];
+ initialScale?: [number, number, number]; // [v3.5] ๋ฌผ๋ฆฌ ์ถ๋ก ์ฉ ์ค์ผ์ผ
initialRotation?: [number, number, number]; // Y์ถ ํ์ (๊ทธ๋ฆฌ๋ ๋ฐฐ์น ์ ์ค์ ๋ฐฉํฅ)
spatialDesc: string;
modelUrl?: string; // [FIX] Add modelUrl prop
@@ -37,7 +38,16 @@ interface GeneratedModelProps {
* - [New] Auto-Rigging: ์ ์ฐจ์ ์ ๋๋ฉ์ด์
์ ์ฉ
* - [New] Grid Layout: ๊ทธ๋ฆฌ๋ ๊ธฐ๋ฐ ์๋ ๋ฐฐ์น ๋ฐ ํ์
*/
-export default function GeneratedModel({ id, semanticName, prompt, initialPosition, initialScale = [1, 1, 1], initialRotation = [0, 0, 0], spatialDesc, modelUrl }: GeneratedModelProps & { initialScale?: [number, number, number] }) {
+export default function GeneratedModel({
+ id,
+ semanticName,
+ prompt,
+ initialPosition,
+ initialScale = [1, 1, 1],
+ initialRotation = [0, 0, 0],
+ spatialDesc,
+ modelUrl
+}: GeneratedModelProps) {
const groupRef = useRef(null);
const [isLoaded, setIsLoaded] = useState(false);
@@ -100,16 +110,31 @@ export default function GeneratedModel({ id, semanticName, prompt, initialPositi
if (!isClient) return null;
+ // [v3.4 PERFECTION] ๋ฌผ๋ฆฌ ์ ํ ๋ฐ ๊ณ ์ ์ฌ๋ถ ๋์ ๊ฒฐ์
+ // 1. ๋ฐฉ, ์งํ, ๋ฐ๋ฅ์ ํญ์ fixed(๊ณ ์ )
+ const isStaticBase = isRoom || initialScale[0] > 10 || initialScale[2] > 10;
+
+ // 2. ์ฝ๋ผ์ด๋ ํ์
๊ฒฐ์
+ let colliderType: 'trimesh' | 'hull' | 'cuboid' = (physicsProps.collider as any) || 'cuboid';
+ if (isRoom) colliderType = 'trimesh';
+ else if (initialScale[0] > 5) colliderType = 'hull'; // ๊ฑฐ๋ ๊ตฌ์กฐ๋ฌผ์ hull
+ else colliderType = 'cuboid'; // ์ผ๋ฐ ์ํ์ ์ฑ๋ฅ์ ์ํด cuboid
+
return (
- {/* Explicit Colliders for Props Only */}
- {!isRoom && (
- physicsProps.collider === 'ball' ? (
-
- ) : (
-
- )
- )}
-
{
diff --git a/src/components/scene/MainScene.tsx b/src/components/scene/MainScene.tsx
index 0b6e338..76e9f43 100644
--- a/src/components/scene/MainScene.tsx
+++ b/src/components/scene/MainScene.tsx
@@ -1,15 +1,12 @@
-
"use client";
-import React, { Suspense } from 'react';
+import React, { Suspense, useState, useRef, useEffect } from 'react';
import { Canvas } from '@react-three/fiber';
-import { OrbitControls, Environment, ContactShadows, useGLTF } from '@react-three/drei';
+import { OrbitControls, Environment, ContactShadows, useGLTF, useTexture } from '@react-three/drei';
import { useSceneStore, SceneObject } from '../../store/useSceneStore';
// Model Loader Component
-import { useRef, useEffect } from 'react';
import * as THREE from 'three';
-import { useTexture } from '@react-three/drei';
import { LowPolyMaterialAdapter } from '../../services/LowPolyMaterialAdapter';
// Model Loader Component
@@ -28,33 +25,50 @@ const ModelBase = ({ info }: { info: SceneObject }) => {
);
};
+// Matcap ํ
์ค์ฒ ๋ก๋ ์ปดํฌ๋ํธ (์กฐ๊ฑด๋ถ Hook ํธ์ถ์ ์ํด ๋ถ๋ฆฌ)
+function MatcapLoader({ url, onLoad }: { url: string; onLoad: (tex: THREE.Texture) => void }) {
+ const texture = useTexture(url);
+ useEffect(() => {
+ if (texture) onLoad(texture);
+ }, [texture, url, onLoad]);
+ return null;
+}
+
// Matcap ์ ์ฉ Model Component โ useTexture ์กฐ๊ฑด ๋ถ๋ฆฌ
const ModelWithMatcap = ({ info }: { info: SceneObject }) => {
const { scene } = useGLTF(info.path);
const clonedScene = React.useMemo(() => scene.clone(), [scene]);
const group = useRef(null);
+ const [loadedMatcap, setLoadedMatcap] = useState(undefined);
// Matcap ํ
์ค์ฒ ๋ก๋ (info.matcapTexture ๋๋ ๊ธฐ๋ณธ๊ฐ)
- const matcapUrl = info.matcapTexture
- || 'https://raw.githubusercontent.com/nidorx/matcaps/master/1024/3B3C3F_76777B_505255_626469.png';
- const matcapTexture = useTexture(matcapUrl);
+ // ์ธ๋ถ URL ์ ๊ฑฐ ๋ด์ฅ ํ๋ก์์ ๋ด ํ
์ค์ฒ ์ฌ์ฉ
+ const matcapFromStore = useSceneStore((state) => state.matcapTexture);
+ const matcapUrl = info.matcapTexture || matcapFromStore;
+
+ // Matcap ํ
์ค์ฒ๊ฐ ์ค๋น๋๋ฉด ์ ์ฉ
+ const matcapTexture = loadedMatcap;
// Matcap ์คํ์ผ ์ ์ฉ
useEffect(() => {
if (!group.current) return;
+ // ํ
์ค์ฒ๊ฐ ์์ผ๋ฉด ๋ด๋ถ ํ๋ก์์ ๋ด ํ
์ค์ฒ ์ฌ์ฉ
LowPolyMaterialAdapter.applyMatcapStyle(group.current, {
customMatcap: matcapTexture
});
}, [matcapTexture, clonedScene]);
return (
-
+ <>
+ {matcapUrl && }
+
+ >
);
};
diff --git a/src/components/studio/PreviewCanvas.tsx b/src/components/studio/PreviewCanvas.tsx
index 7137741..25f37aa 100644
--- a/src/components/studio/PreviewCanvas.tsx
+++ b/src/components/studio/PreviewCanvas.tsx
@@ -18,10 +18,15 @@ import { useSafeGLTF } from '@/hooks/useSafeGLTF';
import * as THREE from 'three';
import { SceneNode, SemanticRole } from '@/lib/schema/scene';
import { autoScaleAssetSync, autoScaleAssetSemantic, registerContainerForScaling } from '@/utils/autoScaleAsset';
+import { PhysicsInferenceQueue } from '@/services/PhysicsInferenceQueue';
+import { PBRMaterialConverter } from '@/services/ai-pipeline/PBRMaterialConverter';
+import { UnifiedSceneNode } from '@/services/ai-pipeline/UnifiedSceneGenerationService';
import { SemanticScaleResolver, createSemanticScaleResolver } from '@/services/ai-pipeline/SemanticScaleResolver';
import ObjectInfoPopup from './ObjectInfoPopup';
import ParticleSystem from '@/components/effects/ParticleSystem';
import BGMControlButton from '@/components/ui/BGMControlButton';
+import { EffectComposer, Bloom, Vignette, SSAO, BrightnessContrast, HueSaturation } from '@react-three/postprocessing';
+import { BlendFunction } from 'postprocessing';
@@ -93,6 +98,78 @@ function ExposureController() {
return null;
}
+/**
+ * WebGLMonitor: ์ปจํ
์คํธ ์ ์ค ๊ฐ์ ๋ฐ ์๋ ๋ณต๊ตฌ ์ ๋
+ */
+function WebGLMonitor() {
+ const { gl } = useThree();
+
+ useEffect(() => {
+ const canvas = gl.domElement;
+
+ const handleContextLost = (e: Event) => {
+ e.preventDefault();
+ console.error('[PreviewCanvas] ๐จ WebGL Context Lost! GPU ๋ฉ๋ชจ๋ฆฌ ์ด๊ณผ ๋๋ ๋๋ผ์ด๋ฒ ํฌ๋์ ์์ฌ.');
+ window.dispatchEvent(new CustomEvent('webglStatus', { detail: { status: 'lost' } }));
+ };
+
+ const handleContextRestored = () => {
+ console.log('[PreviewCanvas] โจ WebGL Context Restored. ์ฌ ์ฌ๊ตฌ์ฑ ์ค...');
+ window.location.reload(); // ๋จ์ ๋ณต๊ตฌ๋ณด๋ค๋ ํ์ด์ง ์๋ก๊ณ ์นจ์ด ์์
+ };
+
+ canvas.addEventListener('webglcontextlost', handleContextLost, false);
+ canvas.addEventListener('webglcontextrestored', handleContextRestored, false);
+
+ return () => {
+ canvas.removeEventListener('webglcontextlost', handleContextLost);
+ canvas.removeEventListener('webglcontextrestored', handleContextRestored);
+ };
+ }, [gl]);
+
+ return null;
+}
+
+/**
+ * CaptureScene: ์ธ๋ถ ์์ฒญ ์ ํ์ฌ ์บ๋ฒ์ค๋ฅผ ์บก์ฒํ์ฌ ์ ๋ฌ (v4.0 MACR ๊ธฐ๋ฐ)
+ */
+function CaptureScene() {
+ const { gl, scene, camera } = useThree();
+
+ useEffect(() => {
+ const handleCapture = (e: Event) => {
+ const customEvent = e as CustomEvent;
+ const { requestId, callback } = customEvent.detail;
+
+ try {
+ // 1. ๊ฐ์ ๋ ๋๋ง (ํ์ฌ ํ๋ ์ ๋ณด์ฅ)
+ gl.render(scene, camera);
+
+ // 2. Base64 ์ถ์ถ (WebP ๊ถ์ฅ)
+ const dataUrl = gl.domElement.toDataURL('image/webp', 0.8);
+
+ console.log(`[CaptureScene] ๐ธ ์บก์ฒ ์๋ฃ (requestId: ${requestId})`);
+
+ // 3. ์ฝ๋ฐฑ ์คํ ๋๋ ์ด๋ฒคํธ ์๋ต
+ if (callback) callback(dataUrl);
+ window.dispatchEvent(new CustomEvent(`captureResponse_${requestId}`, {
+ detail: { dataUrl, success: true }
+ }));
+ } catch (err) {
+ console.error('[CaptureScene] โ ์บก์ฒ ์คํจ:', err);
+ window.dispatchEvent(new CustomEvent(`captureResponse_${requestId}`, {
+ detail: { success: false, error: (err as Error).message }
+ }));
+ }
+ };
+
+ window.addEventListener('requestSceneCapture', handleCapture);
+ return () => window.removeEventListener('requestSceneCapture', handleCapture);
+ }, [gl, scene, camera]);
+
+ return null;
+}
+
interface PreviewCanvasProps {
nodes: SceneNode[];
@@ -206,19 +283,23 @@ function PreviewNode({ node }: { node: SceneNode }) {
// ๋ก์ปฌ ๊ฒฝ๋ก์ธ ๊ฒฝ์ฐ์๋ง /models/ prefix ์ ์ฉ
const isExternalUrl = rawUrl.startsWith('http://') || rawUrl.startsWith('https://');
const modelUrl = isExternalUrl
- ? rawUrl // ์ธ๋ถ URL์ ๊ทธ๋๋ก
+ ? rawUrl
: rawUrl.startsWith('/')
- ? rawUrl // /๋ก ์์ํ๋ ๋ก์ปฌ ๊ฒฝ๋ก๋ ๊ทธ๋๋ก
- : `/models/${rawUrl}.glb`; // ๊ทธ ์ธ๋ ๋ก์ปฌ ๋ชจ๋ธ๋ก ์ทจ๊ธ
+ ? rawUrl
+ : rawUrl.endsWith('.glb')
+ ? `/models/${rawUrl}`
+ : `/models/${rawUrl}.glb`;
console.log(`[PreviewNode] ๐ ์ง์ ์ง์ : ${node.name} โ ${modelUrl}`);
setModelPath(modelUrl);
setSearchAttempted(true);
return;
}
- // 1๋จ๊ณ: ๋ก์ปฌ ์์
๊ฒ์ (AssetRegistry - ํค์๋ ๋งค์นญ)
+ // 1๋จ๊ณ: ๋ก์ปฌ ์์
๊ฒ์ (์คํต - v3.4 Fix ๋ฉ๋ชจ๋ฆฌ ์ต์ ํ)
+ // [v3.4 Fix] ํด๋ผ์ด์ธํธ ์ฌ์ด๋ AssetRegistry ๋ก๋ ๋ฐฉ์ง๋ฅผ ์ํด ๋ก์ปฌ ๊ฒ์์ ์ต์ํํ๊ฑฐ๋ ์คํตํจ.
+ /*
const { searchAssets } = await import('@/data/AssetRegistry');
- const matches = searchAssets(searchKey);
+ const matches = await searchAssets(searchKey);
if (matches.length > 0) {
const bestMatch = matches[0];
@@ -227,28 +308,35 @@ function PreviewNode({ node }: { node: SceneNode }) {
setSearchAttempted(true);
return;
}
+ */
// 2๋จ๊ณ: API ํด๋ฐฑ (DB ๊ธฐ๋ฐ ๊ฒ์ - 2400+ ์์
)
- console.log(`[PreviewNode] ๐ API ๊ฒ์ ์๋: "${searchKey}"`);
- const response = await fetch('/api/resources/match', {
- method: 'POST',
- headers: { 'Content-Type': 'application/json' },
- body: JSON.stringify({ description: searchKey })
- });
-
- if (response.ok) {
- const result = await response.json();
- // ResourceMatcher๋ filePath๋ฅผ ๋ฐํ, ์ผ๋ถ๋ url ์ฌ์ฉ
- const modelUrl = result?.url || result?.filePath;
- if (modelUrl) {
- console.log(`[PreviewNode] โ
API ๋งค์นญ: "${searchKey}" โ ${modelUrl}`);
- setModelPath(modelUrl);
- setSearchAttempted(true);
- return;
+ // type: 'asset' ํ์ โ API ๋ผ์ฐํธ๊ฐ ํ์
๋ณ ๋ถ๊ธฐ ์ฒ๋ฆฌ
+ try {
+ console.log(`[PreviewNode] ๐ API ๊ฒ์ ์๋: "${searchKey}"`);
+ const response = await fetch('/api/resources/match', {
+ method: 'POST',
+ headers: { 'Content-Type': 'application/json' },
+ body: JSON.stringify({ type: 'asset', description: searchKey })
+ });
+
+ if (response.ok) {
+ const result = await response.json();
+ // ResourceMatcher๋ filePath๋ฅผ ๋ฐํ, ์ผ๋ถ๋ url ์ฌ์ฉ
+ const modelUrl = result?.url || result?.filePath;
+ if (modelUrl) {
+ console.log(`[PreviewNode] โ
API ๋งค์นญ: "${searchKey}" โ ${modelUrl}`);
+ setModelPath(modelUrl);
+ setSearchAttempted(true);
+ return;
+ }
}
+ // 404๋ ๋งค์นญ ์คํจ์ ์ ์ ์ผ์ด์ค โ ์กฐ์ฉํ ์ฒ๋ฆฌ
+ } catch {
+ // API ์๋ฒ ๋ฏธ์๋ต ๋ฑ ๋คํธ์ํฌ ์๋ฌ โ ๋ฌด์ํ๊ณ ํด๋ฐฑ ์งํ
}
- // ๋ชจ๋ ๋งค์นญ ์คํจ
+ // ๋ชจ๋ ๋งค์นญ ์คํจ โ ์ ์ฐจ์ ๋ฉ์๋ก ํด๋ฐฑ
console.log(`[PreviewNode] โ ๋งค์นญ ์คํจ: "${searchKey}" (${node.type})`);
setSearchAttempted(true);
@@ -464,6 +552,34 @@ function GLBModelInner({ path, position, rotation, scale, matcapUrl, onError }:
return finalScale;
}, [scene, scale, path]);
+ // [Phase 3.3] ๋ฆฌ์์ค ํด์ ๊ฐํ (Memory Leak & WebGL Context Loss ๋ฐฉ์ง)
+ useEffect(() => {
+ return () => {
+ if (clonedScene) {
+ console.log(`[PreviewCanvas] ๐งน ๋ฆฌ์์ค ์ ๋ฐ ํด์ : ${path.split('/').pop()}`);
+ clonedScene.traverse((obj: any) => {
+ if (obj.isMesh) {
+ // Geometry ํด์
+ if (obj.geometry) obj.geometry.dispose();
+
+ // Material ๋ฐ Texture ํด์
+ const materials = Array.isArray(obj.material) ? obj.material : [obj.material];
+ materials.forEach((m: any) => {
+ if (!m) return;
+ // ํ
์ค์ฒ ๋งต ์ ์ ์กฐ์ฌ ๋ฐ ํด์
+ Object.keys(m).forEach(key => {
+ if (m[key] && m[key].isTexture) {
+ m[key].dispose();
+ }
+ });
+ m.dispose();
+ });
+ }
+ });
+ }
+ };
+ }, [clonedScene, path]);
+
// GLB ๋ฉํ๋ฐ์ดํฐ์์ ๋ผ์ดํ
์ค์ ํ์ธ ๋ฐ ์๋ ์ ์ฉ
useEffect(() => {
if (!scene) {
@@ -540,6 +656,19 @@ function GLBModelInner({ path, position, rotation, scale, matcapUrl, onError }:
}
}, [scene, userData, gltf, path, onError, setExposure, setMetadata]);
+ // [v4.0] PBR ์ฌ์ง ์๋ ๋ณํ (Premium Visuals)
+ useEffect(() => {
+ if (!clonedScene) return;
+
+ // 1. ์๋งจํฑ ์ญํ (SemanticRole) ์ถ์ถ
+ const semanticRole = (userData as any)?.semanticRole || (userData as any)?.category || 'prop';
+
+ // 2. PBR ๋ณํ ๋ฐ ๋ฌผ์ฑ ์ต์ ํ ์ ์ฉ
+ PBRMaterialConverter.applyByRole(clonedScene, semanticRole);
+
+ console.log(`[GLBModelInner] ๐ PBR ๋ณํ ์ ์ฉ๋จ (${semanticRole}): ${path.split('/').pop()}`);
+ }, [clonedScene, userData, path]);
+
// [Matcap Integration] matcap ํ
์ค์ฒ ์ ์ฉ
useEffect(() => {
@@ -616,15 +745,18 @@ function PreviewNodes({ nodes, prompt }: { nodes: SceneNode[], prompt?: string }
async function matchEnvironmentFromPrompt() {
if (!prompt) return;
+ // [v3.4 Fix] ํ๊ฒฝ ์์
๋งค์นญ๋ ์๋ฒ API ๋๋ ์ฌ์ ์ ํํฐ๋ง๋ ๋ฐ์ดํฐ๋ง ์ฌ์ฉํ๋๋ก ์ ๋
+ // ์ฌ๊ธฐ์๋ ์ผ๋จ ์ง์ ์ ์ธ registry ๊ฒ์์ ์ฃผ์ ์ฒ๋ฆฌํ์ฌ ๋ฉ๋ชจ๋ฆฌ ์ธ์ด๋ธ
+ /*
const { searchAssets } = await import('@/data/AssetRegistry');
- const matches = searchAssets(prompt);
+ const matches = await searchAssets(prompt);
const envMatch = matches.find(m => m.category === 'environment');
if (envMatch) {
- // ํ๊ฒฝ ๋งค์นญ์ ํ ๋ฒ๋ง ๋ก๊ทธ
console.log(`[PreviewNodes] ๐ ํ๊ฒฝ ์์
๋ก๋: "${prompt}" โ ${envMatch.path}`);
setDirectEnvironmentMatch(envMatch.path);
}
+ */
}
matchEnvironmentFromPrompt();
}, [prompt]);
@@ -798,22 +930,16 @@ export default function PreviewCanvas({ nodes, isGenerating, isEmpty, prompt }:
shadows
gl={{
toneMappingExposure: exposureValue,
- antialias: false, // [Phase 5] WebGL ๋ฉ๋ชจ๋ฆฌ ์ ์ฝ
- powerPreference: 'default', // GPU ์ ๋ ฅ/๋ฉ๋ชจ๋ฆฌ ๊ท ํ
+ antialias: true,
+ powerPreference: 'high-performance',
failIfMajorPerformanceCaveat: false,
- }}
- onCreated={({ gl }) => {
- // [Phase 5] WebGL Context Lost/Restore ํธ๋ค๋ฌ
- const canvas = gl.domElement;
- canvas.addEventListener('webglcontextlost', (e) => {
- e.preventDefault();
- console.warn('[WebGL] โ ๏ธ Context Lost - ์๋ ๋ณต๊ตฌ ์๋...');
- });
- canvas.addEventListener('webglcontextrestored', () => {
- console.log('[WebGL] โ
Context Restored');
- });
+ stencil: false,
+ depth: true,
+ preserveDrawingBuffer: true, // v4.0 ์บก์ฒ ๊ธฐ๋ฅ์ ์ํด true๋ก ์ค์
}}
>
+
+
{/* ๋์ Exposure ์
๋ฐ์ดํธ */}
@@ -871,6 +997,46 @@ export default function PreviewCanvas({ nodes, isGenerating, isEmpty, prompt }:
enableRotate={true}
maxPolarAngle={Math.PI / 2}
/>
+
+ {/* [Phase 4] Premium Post-processing (Stage 12) */}
+
+ {[
+ /* 1. Bloom (๋น ๋ฒ์ง) */
+ aiPostProcessing?.bloom ? (
+
+ ) : null,
+
+ /* 2. Vignette (์ธ๊ณฝ ์ด๋์) */
+ aiPostProcessing?.vignette ? (
+
+ ) : null,
+
+ /* 3. SSAO (๊ธฐ๋ณธ ์ฐ๋น์ธํธ ์คํด๋ฃจ์ ) */
+ ,
+
+ /* 4. Color Grading */
+ aiPostProcessing?.colorGrading === 'warm' ? (
+
+ ) : null,
+ aiPostProcessing?.colorGrading === 'cyberpunk' ? (
+
+ ) : null
+ ].filter((c): c is React.ReactElement => c !== null)}
+
diff --git a/src/config/ScaleNormalizationConfig.ts b/src/config/ScaleNormalizationConfig.ts
index 8b2e8d7..6aa4162 100644
--- a/src/config/ScaleNormalizationConfig.ts
+++ b/src/config/ScaleNormalizationConfig.ts
@@ -57,8 +57,8 @@ export const CATEGORY_SCALE_TABLE: Record = {
*/
export const KEYWORD_CATEGORY_MAP: Record = {
'buildings': ['castle', 'tower', 'house', 'building', 'palace', 'temple'],
- 'environment_container': ['grand_hall', 'great_hall', 'hogwarts', 'throne_room', 'cathedral', 'ballroom', 'arena', 'colosseum', 'gryffindor', 'slytherin', 'hufflepuff', 'ravenclaw', 'common_room', 'dorm_room', 'dormitory'],
- 'environment': ['dungeon', 'cave', 'terrain', 'ground', 'floor', 'sky'],
+ 'environment_container': ['grand_hall', 'great_hall', 'hogwarts', 'throne_room', 'cathedral', 'ballroom', 'arena', 'colosseum', 'gryffindor', 'slytherin', 'hufflepuff', 'ravenclaw', 'common_room', 'dorm_room', 'dormitory', 'field', 'plain', 'ocean', 'forest', 'desert', 'valley'],
+ 'environment': ['dungeon', 'cave', 'terrain', 'ground', 'floor', 'sky', 'wall', 'ceiling'],
'characters': ['man', 'woman', 'hero', 'villain', 'npc'],
'creatures': ['monster', 'beast', 'dragon', 'animal', 'wolf'],
'furniture': ['table', 'chair', 'desk', 'bed', 'sofa', 'shelf', 'bookcase'],
diff --git a/src/data/AssetRegistry.ts b/src/data/AssetRegistry.ts
index 212d72e..daee4eb 100644
--- a/src/data/AssetRegistry.ts
+++ b/src/data/AssetRegistry.ts
@@ -1,6 +1,6 @@
/**
- * AssetRegistry.ts (Auto-Generated via File Scan)
- * ๋ก์ปฌ ํ์ผ ์์คํ
์ ์์
์ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋จ.
+ * AssetRegistry.ts (Async Singleton Wrapper)
+ * ๋ํ JSON ๋ฐ์ดํฐ๋ฅผ ๋ฐํ์์ ๋น๋๊ธฐ๋ก ๋ก๋ํ์ฌ ๋น๋ ์ฑ๋ฅ์ ์ต์ ํํจ.
*/
export interface AssetMetadata {
@@ -21,14961 +21,39 @@ export interface AssetMetadata {
};
}
-const ASSETS: AssetMetadata[] = [
- {
- id: 'local_0',
- path: '/models/buildings/both_houses_scene.glb', // both_houses_scene
- category: 'structure',
- keywords: ['both', 'houses', 'scene', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1',
- path: '/models/buildings/car-kit_debris-door-window.glb', // car-kit_debris-door-window
- category: 'structure',
- keywords: ['car', 'kit', 'debris', 'door', 'window', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_2',
- path: '/models/buildings/car-kit_debris-door.glb', // car-kit_debris-door
- category: 'structure',
- keywords: ['car', 'kit', 'debris', 'door', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_3',
- path: '/models/buildings/cellarDoor.glb', // cellarDoor
- category: 'structure',
- keywords: ['cellarDoor', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_4',
- path: '/models/buildings/detailed_realistic_model_houseelf_01.glb', // detailed_realistic_model_houseelf_01
- category: 'structure',
- keywords: ['detailed', 'realistic', 'model', 'houseelf', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_5',
- path: '/models/buildings/detailed_realistic_model_houseelf_02.glb', // detailed_realistic_model_houseelf_02
- category: 'structure',
- keywords: ['detailed', 'realistic', 'model', 'houseelf', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_6',
- path: '/models/buildings/detailed_realistic_model_house_01.glb', // detailed_realistic_model_house_01
- category: 'structure',
- keywords: ['detailed', 'realistic', 'model', 'house', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_7',
- path: '/models/buildings/dumbledores_office.glb', // dumbledores_office
- category: 'structure',
- keywords: ['dumbledores', 'office', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_8',
- path: '/models/buildings/fantasy-town-kit_balcony-wall-fence.glb', // fantasy-town-kit_balcony-wall-fence
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'balcony', 'wall', 'fence', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_9',
- path: '/models/buildings/fantasy-town-kit_balcony-wall.glb', // fantasy-town-kit_balcony-wall
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'balcony', 'wall', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_10',
- path: '/models/buildings/fantasy-town-kit_fence-broken.glb', // fantasy-town-kit_fence-broken
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'fence', 'broken', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_11',
- path: '/models/buildings/fantasy-town-kit_fence-curved.glb', // fantasy-town-kit_fence-curved
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'fence', 'curved', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_12',
- path: '/models/buildings/fantasy-town-kit_fence-gate.glb', // fantasy-town-kit_fence-gate
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'fence', 'gate', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_13',
- path: '/models/buildings/fantasy-town-kit_fence.glb', // fantasy-town-kit_fence
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'fence', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_14',
- path: '/models/buildings/fantasy-town-kit_hedge-gate.glb', // fantasy-town-kit_hedge-gate
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'hedge', 'gate', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_15',
- path: '/models/buildings/fantasy-town-kit_hedge-large-gate.glb', // fantasy-town-kit_hedge-large-gate
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'hedge', 'large', 'gate', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_16',
- path: '/models/buildings/fantasy-town-kit_roof-corner-inner.glb', // fantasy-town-kit_roof-corner-inner
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'corner', 'inner', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_17',
- path: '/models/buildings/fantasy-town-kit_roof-corner-round.glb', // fantasy-town-kit_roof-corner-round
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'corner', 'round', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_18',
- path: '/models/buildings/fantasy-town-kit_roof-corner.glb', // fantasy-town-kit_roof-corner
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'corner', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_19',
- path: '/models/buildings/fantasy-town-kit_roof-flat.glb', // fantasy-town-kit_roof-flat
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'flat', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_20',
- path: '/models/buildings/fantasy-town-kit_roof-gable-detail.glb', // fantasy-town-kit_roof-gable-detail
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'gable', 'detail', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_21',
- path: '/models/buildings/fantasy-town-kit_roof-gable-end.glb', // fantasy-town-kit_roof-gable-end
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'gable', 'end', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_22',
- path: '/models/buildings/fantasy-town-kit_roof-gable-top.glb', // fantasy-town-kit_roof-gable-top
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'gable', 'top', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_23',
- path: '/models/buildings/fantasy-town-kit_roof-gable.glb', // fantasy-town-kit_roof-gable
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'gable', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_24',
- path: '/models/buildings/fantasy-town-kit_roof-high-corner-round.glb', // fantasy-town-kit_roof-high-corner-round
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'high', 'corner', 'round', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_25',
- path: '/models/buildings/fantasy-town-kit_roof-high-corner.glb', // fantasy-town-kit_roof-high-corner
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'high', 'corner', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_26',
- path: '/models/buildings/fantasy-town-kit_roof-high-cornerinner.glb', // fantasy-town-kit_roof-high-cornerinner
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'high', 'cornerinner', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_27',
- path: '/models/buildings/fantasy-town-kit_roof-high-flat.glb', // fantasy-town-kit_roof-high-flat
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'high', 'flat', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_28',
- path: '/models/buildings/fantasy-town-kit_roof-high-gable-detail.glb', // fantasy-town-kit_roof-high-gable-detail
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'high', 'gable', 'detail', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_29',
- path: '/models/buildings/fantasy-town-kit_roof-high-gable-end.glb', // fantasy-town-kit_roof-high-gable-end
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'high', 'gable', 'end', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_30',
- path: '/models/buildings/fantasy-town-kit_roof-high-gable-top.glb', // fantasy-town-kit_roof-high-gable-top
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'high', 'gable', 'top', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_31',
- path: '/models/buildings/fantasy-town-kit_roof-high-gable.glb', // fantasy-town-kit_roof-high-gable
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'high', 'gable', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_32',
- path: '/models/buildings/fantasy-town-kit_roof-high-left.glb', // fantasy-town-kit_roof-high-left
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'high', 'left', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_33',
- path: '/models/buildings/fantasy-town-kit_roof-high-point.glb', // fantasy-town-kit_roof-high-point
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'high', 'point', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_34',
- path: '/models/buildings/fantasy-town-kit_roof-high-right.glb', // fantasy-town-kit_roof-high-right
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'high', 'right', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_35',
- path: '/models/buildings/fantasy-town-kit_roof-high-window.glb', // fantasy-town-kit_roof-high-window
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'high', 'window', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_36',
- path: '/models/buildings/fantasy-town-kit_roof-high.glb', // fantasy-town-kit_roof-high
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'high', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_37',
- path: '/models/buildings/fantasy-town-kit_roof-left.glb', // fantasy-town-kit_roof-left
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'left', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_38',
- path: '/models/buildings/fantasy-town-kit_roof-point.glb', // fantasy-town-kit_roof-point
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'point', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_39',
- path: '/models/buildings/fantasy-town-kit_roof-right.glb', // fantasy-town-kit_roof-right
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'right', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_40',
- path: '/models/buildings/fantasy-town-kit_roof-window.glb', // fantasy-town-kit_roof-window
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'window', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_41',
- path: '/models/buildings/fantasy-town-kit_roof.glb', // fantasy-town-kit_roof
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'roof', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_42',
- path: '/models/buildings/fantasy-town-kit_wall-arch-top-detail.glb', // fantasy-town-kit_wall-arch-top-detail
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'arch', 'top', 'detail', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_43',
- path: '/models/buildings/fantasy-town-kit_wall-arch-top.glb', // fantasy-town-kit_wall-arch-top
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'arch', 'top', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_44',
- path: '/models/buildings/fantasy-town-kit_wall-arch.glb', // fantasy-town-kit_wall-arch
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'arch', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_45',
- path: '/models/buildings/fantasy-town-kit_wall-block-half.glb', // fantasy-town-kit_wall-block-half
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'block', 'half', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_46',
- path: '/models/buildings/fantasy-town-kit_wall-block.glb', // fantasy-town-kit_wall-block
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'block', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_47',
- path: '/models/buildings/fantasy-town-kit_wall-broken.glb', // fantasy-town-kit_wall-broken
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'broken', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_48',
- path: '/models/buildings/fantasy-town-kit_wall-corner-detail.glb', // fantasy-town-kit_wall-corner-detail
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'corner', 'detail', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_49',
- path: '/models/buildings/fantasy-town-kit_wall-corner-diagonal-half.glb', // fantasy-town-kit_wall-corner-diagonal-half
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'corner', 'diagonal', 'half', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_50',
- path: '/models/buildings/fantasy-town-kit_wall-corner-diagonal.glb', // fantasy-town-kit_wall-corner-diagonal
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'corner', 'diagonal', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_51',
- path: '/models/buildings/fantasy-town-kit_wall-corner-edge.glb', // fantasy-town-kit_wall-corner-edge
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'corner', 'edge', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_52',
- path: '/models/buildings/fantasy-town-kit_wall-corner.glb', // fantasy-town-kit_wall-corner
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'corner', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_53',
- path: '/models/buildings/fantasy-town-kit_wall-curved.glb', // fantasy-town-kit_wall-curved
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'curved', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_54',
- path: '/models/buildings/fantasy-town-kit_wall-detail-cross.glb', // fantasy-town-kit_wall-detail-cross
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'detail', 'cross', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_55',
- path: '/models/buildings/fantasy-town-kit_wall-detail-diagonal.glb', // fantasy-town-kit_wall-detail-diagonal
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'detail', 'diagonal', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_56',
- path: '/models/buildings/fantasy-town-kit_wall-detail-horizontal.glb', // fantasy-town-kit_wall-detail-horizontal
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'detail', 'horizontal', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_57',
- path: '/models/buildings/fantasy-town-kit_wall-diagonal.glb', // fantasy-town-kit_wall-diagonal
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'diagonal', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_58',
- path: '/models/buildings/fantasy-town-kit_wall-door.glb', // fantasy-town-kit_wall-door
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'door', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_59',
- path: '/models/buildings/fantasy-town-kit_wall-doorway-base.glb', // fantasy-town-kit_wall-doorway-base
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'doorway', 'base', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_60',
- path: '/models/buildings/fantasy-town-kit_wall-doorway-round.glb', // fantasy-town-kit_wall-doorway-round
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'doorway', 'round', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_61',
- path: '/models/buildings/fantasy-town-kit_wall-doorway-square-wide-curved.glb', // fantasy-town-kit_wall-doorway-square-wide-curved
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'doorway', 'square', 'wide', 'curved', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_62',
- path: '/models/buildings/fantasy-town-kit_wall-doorway-square-wide.glb', // fantasy-town-kit_wall-doorway-square-wide
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'doorway', 'square', 'wide', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_63',
- path: '/models/buildings/fantasy-town-kit_wall-doorway-square.glb', // fantasy-town-kit_wall-doorway-square
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'doorway', 'square', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_64',
- path: '/models/buildings/fantasy-town-kit_wall-half.glb', // fantasy-town-kit_wall-half
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'half', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_65',
- path: '/models/buildings/fantasy-town-kit_wall-rounded.glb', // fantasy-town-kit_wall-rounded
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'rounded', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_66',
- path: '/models/buildings/fantasy-town-kit_wall-side.glb', // fantasy-town-kit_wall-side
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'side', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_67',
- path: '/models/buildings/fantasy-town-kit_wall-slope.glb', // fantasy-town-kit_wall-slope
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'slope', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_68',
- path: '/models/buildings/fantasy-town-kit_wall-window-glass.glb', // fantasy-town-kit_wall-window-glass
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'window', 'glass', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_69',
- path: '/models/buildings/fantasy-town-kit_wall-window-round.glb', // fantasy-town-kit_wall-window-round
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'window', 'round', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_70',
- path: '/models/buildings/fantasy-town-kit_wall-window-shutters.glb', // fantasy-town-kit_wall-window-shutters
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'window', 'shutters', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_71',
- path: '/models/buildings/fantasy-town-kit_wall-window-small.glb', // fantasy-town-kit_wall-window-small
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'window', 'small', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_72',
- path: '/models/buildings/fantasy-town-kit_wall-wood-arch-top-detail.glb', // fantasy-town-kit_wall-wood-arch-top-detail
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'arch', 'top', 'detail', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_73',
- path: '/models/buildings/fantasy-town-kit_wall-wood-arch-top.glb', // fantasy-town-kit_wall-wood-arch-top
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'arch', 'top', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_74',
- path: '/models/buildings/fantasy-town-kit_wall-wood-arch.glb', // fantasy-town-kit_wall-wood-arch
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'arch', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_75',
- path: '/models/buildings/fantasy-town-kit_wall-wood-block-half.glb', // fantasy-town-kit_wall-wood-block-half
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'block', 'half', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_76',
- path: '/models/buildings/fantasy-town-kit_wall-wood-block.glb', // fantasy-town-kit_wall-wood-block
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'block', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_77',
- path: '/models/buildings/fantasy-town-kit_wall-wood-broken.glb', // fantasy-town-kit_wall-wood-broken
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'broken', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_78',
- path: '/models/buildings/fantasy-town-kit_wall-wood-corner-diagonal-half.glb', // fantasy-town-kit_wall-wood-corner-diagonal-half
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'corner', 'diagonal', 'half', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_79',
- path: '/models/buildings/fantasy-town-kit_wall-wood-corner-diagonal.glb', // fantasy-town-kit_wall-wood-corner-diagonal
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'corner', 'diagonal', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_80',
- path: '/models/buildings/fantasy-town-kit_wall-wood-corner-edge.glb', // fantasy-town-kit_wall-wood-corner-edge
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'corner', 'edge', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_81',
- path: '/models/buildings/fantasy-town-kit_wall-wood-corner.glb', // fantasy-town-kit_wall-wood-corner
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'corner', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_82',
- path: '/models/buildings/fantasy-town-kit_wall-wood-curved.glb', // fantasy-town-kit_wall-wood-curved
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'curved', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_83',
- path: '/models/buildings/fantasy-town-kit_wall-wood-detail-cross.glb', // fantasy-town-kit_wall-wood-detail-cross
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'detail', 'cross', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_84',
- path: '/models/buildings/fantasy-town-kit_wall-wood-detail-diagonal.glb', // fantasy-town-kit_wall-wood-detail-diagonal
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'detail', 'diagonal', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_85',
- path: '/models/buildings/fantasy-town-kit_wall-wood-detail-horizontal.glb', // fantasy-town-kit_wall-wood-detail-horizontal
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'detail', 'horizontal', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_86',
- path: '/models/buildings/fantasy-town-kit_wall-wood-diagonal.glb', // fantasy-town-kit_wall-wood-diagonal
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'diagonal', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_87',
- path: '/models/buildings/fantasy-town-kit_wall-wood-door.glb', // fantasy-town-kit_wall-wood-door
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'door', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_88',
- path: '/models/buildings/fantasy-town-kit_wall-wood-doorway-base.glb', // fantasy-town-kit_wall-wood-doorway-base
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'doorway', 'base', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_89',
- path: '/models/buildings/fantasy-town-kit_wall-wood-doorway-round.glb', // fantasy-town-kit_wall-wood-doorway-round
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'doorway', 'round', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_90',
- path: '/models/buildings/fantasy-town-kit_wall-wood-doorway-square-wide-curved.glb', // fantasy-town-kit_wall-wood-doorway-square-wide-curved
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'doorway', 'square', 'wide', 'curved', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_91',
- path: '/models/buildings/fantasy-town-kit_wall-wood-doorway-square-wide.glb', // fantasy-town-kit_wall-wood-doorway-square-wide
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'doorway', 'square', 'wide', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_92',
- path: '/models/buildings/fantasy-town-kit_wall-wood-doorway-square.glb', // fantasy-town-kit_wall-wood-doorway-square
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'doorway', 'square', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_93',
- path: '/models/buildings/fantasy-town-kit_wall-wood-half.glb', // fantasy-town-kit_wall-wood-half
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'half', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_94',
- path: '/models/buildings/fantasy-town-kit_wall-wood-rounded.glb', // fantasy-town-kit_wall-wood-rounded
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'rounded', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_95',
- path: '/models/buildings/fantasy-town-kit_wall-wood-side.glb', // fantasy-town-kit_wall-wood-side
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'side', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_96',
- path: '/models/buildings/fantasy-town-kit_wall-wood-slope.glb', // fantasy-town-kit_wall-wood-slope
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'slope', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_97',
- path: '/models/buildings/fantasy-town-kit_wall-wood-window-glass.glb', // fantasy-town-kit_wall-wood-window-glass
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'window', 'glass', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_98',
- path: '/models/buildings/fantasy-town-kit_wall-wood-window-round.glb', // fantasy-town-kit_wall-wood-window-round
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'window', 'round', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_99',
- path: '/models/buildings/fantasy-town-kit_wall-wood-window-shutters.glb', // fantasy-town-kit_wall-wood-window-shutters
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'window', 'shutters', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_100',
- path: '/models/buildings/fantasy-town-kit_wall-wood-window-small.glb', // fantasy-town-kit_wall-wood-window-small
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'window', 'small', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_101',
- path: '/models/buildings/fantasy-town-kit_wall-wood.glb', // fantasy-town-kit_wall-wood
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_102',
- path: '/models/buildings/fantasy-town-kit_wall.glb', // fantasy-town-kit_wall
- category: 'structure',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_103',
- path: '/models/buildings/fence.glb', // fence
- category: 'structure',
- keywords: ['fence', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_104',
- path: '/models/buildings/fenceACorner1.glb', // fenceACorner1
- category: 'structure',
- keywords: ['fenceACorner1', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_105',
- path: '/models/buildings/fenceACorner2.glb', // fenceACorner2
- category: 'structure',
- keywords: ['fenceACorner2', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_106',
- path: '/models/buildings/fenceACorner3.glb', // fenceACorner3
- category: 'structure',
- keywords: ['fenceACorner3', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_107',
- path: '/models/buildings/fenceACorner4.glb', // fenceACorner4
- category: 'structure',
- keywords: ['fenceACorner4', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_108',
- path: '/models/buildings/fenceAGate.glb', // fenceAGate
- category: 'structure',
- keywords: ['fenceAGate', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_109',
- path: '/models/buildings/fenceAPillar1.glb', // fenceAPillar1
- category: 'structure',
- keywords: ['fenceAPillar1', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_110',
- path: '/models/buildings/fenceAPillar2.glb', // fenceAPillar2
- category: 'structure',
- keywords: ['fenceAPillar2', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_111',
- path: '/models/buildings/fenceAPillar3.glb', // fenceAPillar3
- category: 'structure',
- keywords: ['fenceAPillar3', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_112',
- path: '/models/buildings/fenceAPillar4.glb', // fenceAPillar4
- category: 'structure',
- keywords: ['fenceAPillar4', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_113',
- path: '/models/buildings/fenceAPillar5.glb', // fenceAPillar5
- category: 'structure',
- keywords: ['fenceAPillar5', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_114',
- path: '/models/buildings/fenceAPillar6.glb', // fenceAPillar6
- category: 'structure',
- keywords: ['fenceAPillar6', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_115',
- path: '/models/buildings/fenceAPillar7.glb', // fenceAPillar7
- category: 'structure',
- keywords: ['fenceAPillar7', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_116',
- path: '/models/buildings/fenceAPillar8.glb', // fenceAPillar8
- category: 'structure',
- keywords: ['fenceAPillar8', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_117',
- path: '/models/buildings/fenceASection1.glb', // fenceASection1
- category: 'structure',
- keywords: ['fenceASection1', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_118',
- path: '/models/buildings/fenceASection2.glb', // fenceASection2
- category: 'structure',
- keywords: ['fenceASection2', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_119',
- path: '/models/buildings/fenceASection3.glb', // fenceASection3
- category: 'structure',
- keywords: ['fenceASection3', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_120',
- path: '/models/buildings/fenceASection4.glb', // fenceASection4
- category: 'structure',
- keywords: ['fenceASection4', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_121',
- path: '/models/buildings/fenceASection5.glb', // fenceASection5
- category: 'structure',
- keywords: ['fenceASection5', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_122',
- path: '/models/buildings/fenceBCorner1.glb', // fenceBCorner1
- category: 'structure',
- keywords: ['fenceBCorner1', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_123',
- path: '/models/buildings/fenceBCorner2.glb', // fenceBCorner2
- category: 'structure',
- keywords: ['fenceBCorner2', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_124',
- path: '/models/buildings/fenceBCorner3.glb', // fenceBCorner3
- category: 'structure',
- keywords: ['fenceBCorner3', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_125',
- path: '/models/buildings/fenceBPillar1.glb', // fenceBPillar1
- category: 'structure',
- keywords: ['fenceBPillar1', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_126',
- path: '/models/buildings/fenceBPillar2.glb', // fenceBPillar2
- category: 'structure',
- keywords: ['fenceBPillar2', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_127',
- path: '/models/buildings/fenceBPillar3.glb', // fenceBPillar3
- category: 'structure',
- keywords: ['fenceBPillar3', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_128',
- path: '/models/buildings/fenceBPillar4.glb', // fenceBPillar4
- category: 'structure',
- keywords: ['fenceBPillar4', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_129',
- path: '/models/buildings/fenceBSection1.glb', // fenceBSection1
- category: 'structure',
- keywords: ['fenceBSection1', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_130',
- path: '/models/buildings/fenceBSection2.glb', // fenceBSection2
- category: 'structure',
- keywords: ['fenceBSection2', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_131',
- path: '/models/buildings/fenceBSection3.glb', // fenceBSection3
- category: 'structure',
- keywords: ['fenceBSection3', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_132',
- path: '/models/buildings/fenceBSection4.glb', // fenceBSection4
- category: 'structure',
- keywords: ['fenceBSection4', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_133',
- path: '/models/buildings/fenceC1.glb', // fenceC1
- category: 'structure',
- keywords: ['fenceC1', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_134',
- path: '/models/buildings/fenceC1Skewed.glb', // fenceC1Skewed
- category: 'structure',
- keywords: ['fenceC1Skewed', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_135',
- path: '/models/buildings/fenceC2.glb', // fenceC2
- category: 'structure',
- keywords: ['fenceC2', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_136',
- path: '/models/buildings/fenceC3.glb', // fenceC3
- category: 'structure',
- keywords: ['fenceC3', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_137',
- path: '/models/buildings/GlassBrokenWindow.glb', // GlassBrokenWindow
- category: 'structure',
- keywords: ['GlassBrokenWindow', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_138',
- path: '/models/buildings/graveyard-kit_brick-wall-curve-small.glb', // graveyard-kit_brick-wall-curve-small
- category: 'structure',
- keywords: ['graveyard', 'kit', 'brick', 'wall', 'curve', 'small', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_139',
- path: '/models/buildings/graveyard-kit_brick-wall-curve.glb', // graveyard-kit_brick-wall-curve
- category: 'structure',
- keywords: ['graveyard', 'kit', 'brick', 'wall', 'curve', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_140',
- path: '/models/buildings/graveyard-kit_brick-wall-end.glb', // graveyard-kit_brick-wall-end
- category: 'structure',
- keywords: ['graveyard', 'kit', 'brick', 'wall', 'end', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_141',
- path: '/models/buildings/graveyard-kit_brick-wall.glb', // graveyard-kit_brick-wall
- category: 'structure',
- keywords: ['graveyard', 'kit', 'brick', 'wall', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_142',
- path: '/models/buildings/graveyard-kit_column-large.glb', // graveyard-kit_column-large
- category: 'structure',
- keywords: ['graveyard', 'kit', 'column', 'large', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_143',
- path: '/models/buildings/graveyard-kit_cross-column.glb', // graveyard-kit_cross-column
- category: 'structure',
- keywords: ['graveyard', 'kit', 'cross', 'column', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_144',
- path: '/models/buildings/graveyard-kit_crypt-door.glb', // graveyard-kit_crypt-door
- category: 'structure',
- keywords: ['graveyard', 'kit', 'crypt', 'door', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_145',
- path: '/models/buildings/graveyard-kit_crypt-large-door.glb', // graveyard-kit_crypt-large-door
- category: 'structure',
- keywords: ['graveyard', 'kit', 'crypt', 'large', 'door', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_146',
- path: '/models/buildings/graveyard-kit_crypt-large-roof.glb', // graveyard-kit_crypt-large-roof
- category: 'structure',
- keywords: ['graveyard', 'kit', 'crypt', 'large', 'roof', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_147',
- path: '/models/buildings/graveyard-kit_crypt-small-roof.glb', // graveyard-kit_crypt-small-roof
- category: 'structure',
- keywords: ['graveyard', 'kit', 'crypt', 'small', 'roof', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_148',
- path: '/models/buildings/graveyard-kit_fence-damaged.glb', // graveyard-kit_fence-damaged
- category: 'structure',
- keywords: ['graveyard', 'kit', 'fence', 'damaged', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_149',
- path: '/models/buildings/graveyard-kit_fence-gate.glb', // graveyard-kit_fence-gate
- category: 'structure',
- keywords: ['graveyard', 'kit', 'fence', 'gate', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_150',
- path: '/models/buildings/graveyard-kit_fence.glb', // graveyard-kit_fence
- category: 'structure',
- keywords: ['graveyard', 'kit', 'fence', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_151',
- path: '/models/buildings/graveyard-kit_iron-fence-bar.glb', // graveyard-kit_iron-fence-bar
- category: 'structure',
- keywords: ['graveyard', 'kit', 'iron', 'fence', 'bar', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_152',
- path: '/models/buildings/graveyard-kit_iron-fence-border-column.glb', // graveyard-kit_iron-fence-border-column
- category: 'structure',
- keywords: ['graveyard', 'kit', 'iron', 'fence', 'border', 'column', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_153',
- path: '/models/buildings/graveyard-kit_iron-fence-border-curve.glb', // graveyard-kit_iron-fence-border-curve
- category: 'structure',
- keywords: ['graveyard', 'kit', 'iron', 'fence', 'border', 'curve', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_154',
- path: '/models/buildings/graveyard-kit_iron-fence-border-gate.glb', // graveyard-kit_iron-fence-border-gate
- category: 'structure',
- keywords: ['graveyard', 'kit', 'iron', 'fence', 'border', 'gate', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_155',
- path: '/models/buildings/graveyard-kit_iron-fence-border.glb', // graveyard-kit_iron-fence-border
- category: 'structure',
- keywords: ['graveyard', 'kit', 'iron', 'fence', 'border', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_156',
- path: '/models/buildings/graveyard-kit_iron-fence-curve.glb', // graveyard-kit_iron-fence-curve
- category: 'structure',
- keywords: ['graveyard', 'kit', 'iron', 'fence', 'curve', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_157',
- path: '/models/buildings/graveyard-kit_iron-fence-damaged.glb', // graveyard-kit_iron-fence-damaged
- category: 'structure',
- keywords: ['graveyard', 'kit', 'iron', 'fence', 'damaged', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_158',
- path: '/models/buildings/graveyard-kit_iron-fence.glb', // graveyard-kit_iron-fence
- category: 'structure',
- keywords: ['graveyard', 'kit', 'iron', 'fence', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_159',
- path: '/models/buildings/gryffindor_common_room.glb', // gryffindor_common_room
- category: 'structure',
- keywords: ['gryffindor', 'common', 'room', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_160',
- path: '/models/buildings/haunted_house.glb', // haunted_house
- category: 'structure',
- keywords: ['haunted', 'house', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_161',
- // โ ๏ธ hogwarts_grand_hall.glb๋ ์ธ๋ถ ํ
์ค์ฒ ์ฐธ์กฐ๋ก ์ฌ์ฉ ๋ถ๊ฐ
- // hogwarts_corridor.glb (35๊ฐ ํ
์ค์ฒ ์๋ฒ ๋ฉ๋จ) ์ฌ์ฉ
- path: '/models/samples/hogwarts_corridor.glb',
- category: 'structure',
- keywords: ['hogwarts', 'grand', 'hall', 'buildings', '๋๊ฐ๋น', '๋ง๋ฒํ๊ต'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_162',
- path: '/models/buildings/honey_dukes_shop.glb', // honey_dukes_shop
- category: 'structure',
- keywords: ['honey', 'dukes', 'shop', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_163',
- path: '/models/buildings/house_scene.glb', // house_scene
- category: 'structure',
- keywords: ['house', 'scene', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_164',
- path: '/models/buildings/modular-dungeon-kit_corridor-corner.glb', // modular-dungeon-kit_corridor-corner
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'corridor', 'corner', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_165',
- path: '/models/buildings/modular-dungeon-kit_corridor-end.glb', // modular-dungeon-kit_corridor-end
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'corridor', 'end', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_166',
- path: '/models/buildings/modular-dungeon-kit_corridor-intersection.glb', // modular-dungeon-kit_corridor-intersection
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'corridor', 'intersection', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_167',
- path: '/models/buildings/modular-dungeon-kit_corridor-junction.glb', // modular-dungeon-kit_corridor-junction
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'corridor', 'junction', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_168',
- path: '/models/buildings/modular-dungeon-kit_corridor-transition.glb', // modular-dungeon-kit_corridor-transition
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'corridor', 'transition', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_169',
- path: '/models/buildings/modular-dungeon-kit_corridor-wide-corner.glb', // modular-dungeon-kit_corridor-wide-corner
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'corridor', 'wide', 'corner', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_170',
- path: '/models/buildings/modular-dungeon-kit_corridor-wide-end.glb', // modular-dungeon-kit_corridor-wide-end
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'corridor', 'wide', 'end', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_171',
- path: '/models/buildings/modular-dungeon-kit_corridor-wide-intersection.glb', // modular-dungeon-kit_corridor-wide-intersection
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'corridor', 'wide', 'intersection', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_172',
- path: '/models/buildings/modular-dungeon-kit_corridor-wide-junction.glb', // modular-dungeon-kit_corridor-wide-junction
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'corridor', 'wide', 'junction', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_173',
- path: '/models/buildings/modular-dungeon-kit_corridor-wide.glb', // modular-dungeon-kit_corridor-wide
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'corridor', 'wide', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_174',
- path: '/models/buildings/modular-dungeon-kit_corridor.glb', // modular-dungeon-kit_corridor
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'corridor', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_175',
- path: '/models/buildings/modular-dungeon-kit_gate-door-window.glb', // modular-dungeon-kit_gate-door-window
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'gate', 'door', 'window', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_176',
- path: '/models/buildings/modular-dungeon-kit_gate-door.glb', // modular-dungeon-kit_gate-door
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'gate', 'door', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_177',
- path: '/models/buildings/modular-dungeon-kit_gate.glb', // modular-dungeon-kit_gate
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'gate', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_178',
- path: '/models/buildings/modular-dungeon-kit_room-corner.glb', // modular-dungeon-kit_room-corner
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'room', 'corner', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_179',
- path: '/models/buildings/modular-dungeon-kit_room-large-variation.glb', // modular-dungeon-kit_room-large-variation
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'room', 'large', 'variation', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_180',
- path: '/models/buildings/modular-dungeon-kit_room-large.glb', // modular-dungeon-kit_room-large
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'room', 'large', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_181',
- path: '/models/buildings/modular-dungeon-kit_room-small-variation.glb', // modular-dungeon-kit_room-small-variation
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'room', 'small', 'variation', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_182',
- path: '/models/buildings/modular-dungeon-kit_room-small.glb', // modular-dungeon-kit_room-small
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'room', 'small', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_183',
- path: '/models/buildings/modular-dungeon-kit_room-wide-variation.glb', // modular-dungeon-kit_room-wide-variation
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'room', 'wide', 'variation', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_184',
- path: '/models/buildings/modular-dungeon-kit_room-wide.glb', // modular-dungeon-kit_room-wide
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'room', 'wide', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_185',
- path: '/models/buildings/modular-dungeon-kit_stairs-wide.glb', // modular-dungeon-kit_stairs-wide
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'stairs', 'wide', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_186',
- path: '/models/buildings/modular-dungeon-kit_stairs.glb', // modular-dungeon-kit_stairs
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'stairs', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_187',
- path: '/models/buildings/modular-dungeon-kit_template-wall-corner.glb', // modular-dungeon-kit_template-wall-corner
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'template', 'wall', 'corner', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_188',
- path: '/models/buildings/modular-dungeon-kit_template-wall-detail-a.glb', // modular-dungeon-kit_template-wall-detail-a
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'template', 'wall', 'detail', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_189',
- path: '/models/buildings/modular-dungeon-kit_template-wall-half.glb', // modular-dungeon-kit_template-wall-half
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'template', 'wall', 'half', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_190',
- path: '/models/buildings/modular-dungeon-kit_template-wall-stairs.glb', // modular-dungeon-kit_template-wall-stairs
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'template', 'wall', 'stairs', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_191',
- path: '/models/buildings/modular-dungeon-kit_template-wall-top.glb', // modular-dungeon-kit_template-wall-top
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'template', 'wall', 'top', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_192',
- path: '/models/buildings/modular-dungeon-kit_template-wall.glb', // modular-dungeon-kit_template-wall
- category: 'structure',
- keywords: ['modular', 'dungeon', 'kit', 'template', 'wall', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_193',
- path: '/models/buildings/ollivanders_wand_shop.glb', // ollivanders_wand_shop
- category: 'structure',
- keywords: ['ollivanders', 'wand', 'shop', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_194',
- path: '/models/buildings/platformer-kit_door-large-open.glb', // platformer-kit_door-large-open
- category: 'structure',
- keywords: ['platformer', 'kit', 'door', 'large', 'open', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_195',
- path: '/models/buildings/platformer-kit_door-open.glb', // platformer-kit_door-open
- category: 'structure',
- keywords: ['platformer', 'kit', 'door', 'open', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_196',
- path: '/models/buildings/platformer-kit_door-rotate-large.glb', // platformer-kit_door-rotate-large
- category: 'structure',
- keywords: ['platformer', 'kit', 'door', 'rotate', 'large', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_197',
- path: '/models/buildings/platformer-kit_door-rotate.glb', // platformer-kit_door-rotate
- category: 'structure',
- keywords: ['platformer', 'kit', 'door', 'rotate', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_198',
- path: '/models/buildings/platformer-kit_fence-broken.glb', // platformer-kit_fence-broken
- category: 'structure',
- keywords: ['platformer', 'kit', 'fence', 'broken', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_199',
- path: '/models/buildings/platformer-kit_fence-corner-curved.glb', // platformer-kit_fence-corner-curved
- category: 'structure',
- keywords: ['platformer', 'kit', 'fence', 'corner', 'curved', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_200',
- path: '/models/buildings/platformer-kit_fence-corner.glb', // platformer-kit_fence-corner
- category: 'structure',
- keywords: ['platformer', 'kit', 'fence', 'corner', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_201',
- path: '/models/buildings/platformer-kit_fence-low-broken.glb', // platformer-kit_fence-low-broken
- category: 'structure',
- keywords: ['platformer', 'kit', 'fence', 'low', 'broken', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_202',
- path: '/models/buildings/platformer-kit_fence-low-corner-curved.glb', // platformer-kit_fence-low-corner-curved
- category: 'structure',
- keywords: ['platformer', 'kit', 'fence', 'low', 'corner', 'curved', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_203',
- path: '/models/buildings/platformer-kit_fence-low-corner.glb', // platformer-kit_fence-low-corner
- category: 'structure',
- keywords: ['platformer', 'kit', 'fence', 'low', 'corner', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_204',
- path: '/models/buildings/platformer-kit_fence-low-straight.glb', // platformer-kit_fence-low-straight
- category: 'structure',
- keywords: ['platformer', 'kit', 'fence', 'low', 'straight', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_205',
- path: '/models/buildings/platformer-kit_fence-rope.glb', // platformer-kit_fence-rope
- category: 'structure',
- keywords: ['platformer', 'kit', 'fence', 'rope', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_206',
- path: '/models/buildings/platformer-kit_fence-straight.glb', // platformer-kit_fence-straight
- category: 'structure',
- keywords: ['platformer', 'kit', 'fence', 'straight', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_207',
- path: '/models/buildings/potions_classroom.glb', // potions_classroom
- category: 'structure',
- keywords: ['potions', 'classroom', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_208',
- path: '/models/buildings/slytherin_dorm_room.glb', // slytherin_dorm_room
- category: 'structure',
- keywords: ['slytherin', 'dorm', 'room', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_209',
- path: '/models/buildings/slytherin_dorm_room_1769413346242.glb', // slytherin_dorm_room_1769413346242
- category: 'structure',
- keywords: ['slytherin', 'dorm', 'room', '1769413346242', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_210',
- path: '/models/buildings/Slytherin_Dorm_Room_v20260121_135123_MetadataPatched.glb', // Slytherin_Dorm_Room_v20260121_135123_MetadataPatched
- category: 'structure',
- keywords: ['Slytherin', 'Dorm', 'Room', 'v20260121', '135123', 'MetadataPatched', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_211',
- path: '/models/buildings/three.js-examples_dungeon_warkarma.glb', // three.js-examples_dungeon_warkarma
- category: 'structure',
- keywords: ['three.js', 'examples', 'dungeon', 'warkarma', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_212',
- path: '/models/buildings/TransmissionThinwallTestGrid.glb', // TransmissionThinwallTestGrid
- category: 'structure',
- keywords: ['TransmissionThinwallTestGrid', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_213',
- path: '/models/buildings/umbridges_office.glb', // umbridges_office
- category: 'structure',
- keywords: ['umbridges', 'office', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_214',
- path: '/models/buildings/wall.glb', // wall
- category: 'structure',
- keywords: ['wall', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_215',
- path: '/models/buildings/wallArch.glb', // wallArch
- category: 'structure',
- keywords: ['wallArch', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_216',
- path: '/models/buildings/wallCorner.glb', // wallCorner
- category: 'structure',
- keywords: ['wallCorner', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_217',
- path: '/models/buildings/window.glb', // window
- category: 'structure',
- keywords: ['window', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_218',
- path: '/models/buildings/window2.glb', // window2
- category: 'structure',
- keywords: ['window2', 'buildings'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_219',
- path: '/models/characters/babylon-assets_BoxSemantics.glb', // babylon-assets_BoxSemantics
- category: 'prop',
- keywords: ['babylon', 'assets', 'BoxSemantics', 'characters'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_220',
- path: '/models/characters/babylon-assets_CesiumMan.glb', // babylon-assets_CesiumMan
- category: 'prop',
- keywords: ['babylon', 'assets', 'CesiumMan', 'characters'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_221',
- path: '/models/characters/CesiumMan.glb', // CesiumMan
- category: 'prop',
- keywords: ['CesiumMan', 'characters'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_222',
- path: '/models/characters/graveyard-kit_character-ghost.glb', // graveyard-kit_character-ghost
- category: 'prop',
- keywords: ['graveyard', 'kit', 'character', 'ghost', 'characters'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_223',
- path: '/models/characters/graveyard-kit_character-keeper.glb', // graveyard-kit_character-keeper
- category: 'prop',
- keywords: ['graveyard', 'kit', 'character', 'keeper', 'characters'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_224',
- path: '/models/characters/graveyard-kit_character-skeleton.glb', // graveyard-kit_character-skeleton
- category: 'prop',
- keywords: ['graveyard', 'kit', 'character', 'skeleton', 'characters'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_225',
- path: '/models/characters/graveyard-kit_character-vampire.glb', // graveyard-kit_character-vampire
- category: 'prop',
- keywords: ['graveyard', 'kit', 'character', 'vampire', 'characters'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_226',
- path: '/models/characters/graveyard-kit_character-zombie.glb', // graveyard-kit_character-zombie
- category: 'prop',
- keywords: ['graveyard', 'kit', 'character', 'zombie', 'characters'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_227',
- path: '/models/characters/HVGirl.glb', // HVGirl
- category: 'prop',
- keywords: ['HVGirl', 'characters'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_228',
- path: '/models/characters/NodePerformanceTest.glb', // NodePerformanceTest
- category: 'prop',
- keywords: ['NodePerformanceTest', 'characters'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_229',
- path: '/models/characters/platformer-kit_character-oobi.glb', // platformer-kit_character-oobi
- category: 'prop',
- keywords: ['platformer', 'kit', 'character', 'oobi', 'characters'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_230',
- path: '/models/characters/platformer-kit_character-oodi.glb', // platformer-kit_character-oodi
- category: 'prop',
- keywords: ['platformer', 'kit', 'character', 'oodi', 'characters'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_231',
- path: '/models/characters/platformer-kit_character-ooli.glb', // platformer-kit_character-ooli
- category: 'prop',
- keywords: ['platformer', 'kit', 'character', 'ooli', 'characters'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_232',
- path: '/models/characters/platformer-kit_character-oopi.glb', // platformer-kit_character-oopi
- category: 'prop',
- keywords: ['platformer', 'kit', 'character', 'oopi', 'characters'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_233',
- path: '/models/characters/platformer-kit_character-oozi.glb', // platformer-kit_character-oozi
- category: 'prop',
- keywords: ['platformer', 'kit', 'character', 'oozi', 'characters'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_234',
- path: '/models/characters/snowMan.glb', // snowMan
- category: 'prop',
- keywords: ['snowMan', 'characters'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_235',
- path: '/models/characters/three.js-examples_Soldier.glb', // three.js-examples_Soldier
- category: 'prop',
- keywords: ['three.js', 'examples', 'Soldier', 'characters'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_236',
- path: '/models/creatures/babylon-assets_BarramundiFish.glb', // babylon-assets_BarramundiFish
- category: 'prop',
- keywords: ['babylon', 'assets', 'BarramundiFish', 'creatures'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_237',
- path: '/models/creatures/babylon-assets_Monster.glb', // babylon-assets_Monster
- category: 'prop',
- keywords: ['babylon', 'assets', 'Monster', 'creatures'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_238',
- path: '/models/creatures/babylon-assets_ReciprocatingSaw.glb', // babylon-assets_ReciprocatingSaw
- category: 'prop',
- keywords: ['babylon', 'assets', 'ReciprocatingSaw', 'creatures'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_239',
- path: '/models/creatures/BarramundiFish.glb', // BarramundiFish
- category: 'prop',
- keywords: ['BarramundiFish', 'creatures'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_240',
- path: '/models/creatures/dragon.glb', // dragon
- category: 'prop',
- keywords: ['dragon', 'creatures'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_241',
- path: '/models/creatures/DragonAttenuation.glb', // DragonAttenuation
- category: 'prop',
- keywords: ['DragonAttenuation', 'creatures'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_242',
- path: '/models/creatures/DragonDispersion.glb', // DragonDispersion
- category: 'prop',
- keywords: ['DragonDispersion', 'creatures'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_243',
- path: '/models/creatures/dragonUV.glb', // dragonUV
- category: 'prop',
- keywords: ['dragonUV', 'creatures'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_244',
- path: '/models/creatures/fish.glb', // fish
- category: 'prop',
- keywords: ['fish', 'creatures'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_245',
- path: '/models/creatures/Fox.glb', // Fox
- category: 'prop',
- keywords: ['Fox', 'creatures'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_246',
- path: '/models/creatures/ScatteringSkull.glb', // ScatteringSkull
- category: 'prop',
- keywords: ['ScatteringSkull', 'creatures'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_247',
- path: '/models/creatures/tarisland_dragon_high_poly.glb', // tarisland_dragon_high_poly
- category: 'prop',
- keywords: ['tarisland', 'dragon', 'high', 'poly', 'creatures'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_248',
- path: '/models/creatures/three.js-examples_DragonAttenuation.glb', // three.js-examples_DragonAttenuation
- category: 'prop',
- keywords: ['three.js', 'examples', 'DragonAttenuation', 'creatures'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_249',
- path: '/models/creatures/three.js-examples_Horse.glb', // three.js-examples_Horse
- category: 'prop',
- keywords: ['three.js', 'examples', 'Horse', 'creatures'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_250',
- path: '/models/creatures/underwaterSceneShadowCatcher.glb', // underwaterSceneShadowCatcher
- category: 'prop',
- keywords: ['underwaterSceneShadowCatcher', 'creatures'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_251',
- path: '/models/food/babylon-assets_WaterBottle.glb', // babylon-assets_WaterBottle
- category: 'prop',
- keywords: ['babylon', 'assets', 'WaterBottle', 'food'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_252',
- path: '/models/food/DiffuseTransmissionTeacup.glb', // DiffuseTransmissionTeacup
- category: 'prop',
- keywords: ['DiffuseTransmissionTeacup', 'food'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_253',
- path: '/models/food/graveyard-kit_detail-plate.glb', // graveyard-kit_detail-plate
- category: 'prop',
- keywords: ['graveyard', 'kit', 'detail', 'plate', 'food'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_254',
- path: '/models/food/modular-dungeon-kit_template-corner.glb', // modular-dungeon-kit_template-corner
- category: 'prop',
- keywords: ['modular', 'dungeon', 'kit', 'template', 'corner', 'food'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_255',
- path: '/models/food/modular-dungeon-kit_template-detail.glb', // modular-dungeon-kit_template-detail
- category: 'prop',
- keywords: ['modular', 'dungeon', 'kit', 'template', 'detail', 'food'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_256',
- path: '/models/food/modular-dungeon-kit_template-floor-big.glb', // modular-dungeon-kit_template-floor-big
- category: 'prop',
- keywords: ['modular', 'dungeon', 'kit', 'template', 'floor', 'big', 'food'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_257',
- path: '/models/food/modular-dungeon-kit_template-floor-detail-a.glb', // modular-dungeon-kit_template-floor-detail-a
- category: 'prop',
- keywords: ['modular', 'dungeon', 'kit', 'template', 'floor', 'detail', 'food'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_258',
- path: '/models/food/modular-dungeon-kit_template-floor-detail.glb', // modular-dungeon-kit_template-floor-detail
- category: 'prop',
- keywords: ['modular', 'dungeon', 'kit', 'template', 'floor', 'detail', 'food'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_259',
- path: '/models/food/modular-dungeon-kit_template-floor-layer-raised.glb', // modular-dungeon-kit_template-floor-layer-raised
- category: 'prop',
- keywords: ['modular', 'dungeon', 'kit', 'template', 'floor', 'layer', 'raised', 'food'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_260',
- path: '/models/food/modular-dungeon-kit_template-floor-layer.glb', // modular-dungeon-kit_template-floor-layer
- category: 'prop',
- keywords: ['modular', 'dungeon', 'kit', 'template', 'floor', 'layer', 'food'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_261',
- path: '/models/food/modular-dungeon-kit_template-floor.glb', // modular-dungeon-kit_template-floor
- category: 'prop',
- keywords: ['modular', 'dungeon', 'kit', 'template', 'floor', 'food'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_262',
- path: '/models/food/mrtk-fluent-backplate.glb', // mrtk-fluent-backplate
- category: 'prop',
- keywords: ['mrtk', 'fluent', 'backplate', 'food'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_263',
- path: '/models/food/mrtk-fluent-frontplate.glb', // mrtk-fluent-frontplate
- category: 'prop',
- keywords: ['mrtk', 'fluent', 'frontplate', 'food'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_264',
- path: '/models/food/WaterBottle.glb', // WaterBottle
- category: 'prop',
- keywords: ['WaterBottle', 'food'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_265',
- path: '/models/furniture/AnisotropyBarnLamp.glb', // AnisotropyBarnLamp
- category: 'large_furniture',
- keywords: ['AnisotropyBarnLamp', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_266',
- path: '/models/furniture/ChairDamaskPurplegold.glb', // ChairDamaskPurplegold
- category: 'large_furniture',
- keywords: ['ChairDamaskPurplegold', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_267',
- path: '/models/furniture/detailed_realistic_model_ancientbookshelf_01.glb', // detailed_realistic_model_ancientbookshelf_01
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'ancientbookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_268',
- path: '/models/furniture/detailed_realistic_model_ancientbookshelf_02.glb', // detailed_realistic_model_ancientbookshelf_02
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'ancientbookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_269',
- path: '/models/furniture/detailed_realistic_model_ancientbookshelf_03.glb', // detailed_realistic_model_ancientbookshelf_03
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'ancientbookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_270',
- path: '/models/furniture/detailed_realistic_model_antiquebookshelf_02.glb', // detailed_realistic_model_antiquebookshelf_02
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antiquebookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_271',
- path: '/models/furniture/detailed_realistic_model_antiquebookshelf_03.glb', // detailed_realistic_model_antiquebookshelf_03
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antiquebookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_272',
- path: '/models/furniture/detailed_realistic_model_antiquebookshelf_04.glb', // detailed_realistic_model_antiquebookshelf_04
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antiquebookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_273',
- path: '/models/furniture/detailed_realistic_model_antiquebookshelf_05.glb', // detailed_realistic_model_antiquebookshelf_05
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antiquebookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_274',
- path: '/models/furniture/detailed_realistic_model_antiquebookshelf_06.glb', // detailed_realistic_model_antiquebookshelf_06
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antiquebookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_275',
- path: '/models/furniture/detailed_realistic_model_antiquebookshelf_07.glb', // detailed_realistic_model_antiquebookshelf_07
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antiquebookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_276',
- path: '/models/furniture/detailed_realistic_model_antiquebookshelf_08.glb', // detailed_realistic_model_antiquebookshelf_08
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antiquebookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_277',
- path: '/models/furniture/detailed_realistic_model_antiquebookshelf_09.glb', // detailed_realistic_model_antiquebookshelf_09
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antiquebookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_278',
- path: '/models/furniture/detailed_realistic_model_antiquebookshelf_10.glb', // detailed_realistic_model_antiquebookshelf_10
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antiquebookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_279',
- path: '/models/furniture/detailed_realistic_model_antiquebookshelf_11.glb', // detailed_realistic_model_antiquebookshelf_11
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antiquebookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_280',
- path: '/models/furniture/detailed_realistic_model_antiquebookshelf_12.glb', // detailed_realistic_model_antiquebookshelf_12
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antiquebookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_281',
- path: '/models/furniture/detailed_realistic_model_antiquebookshelf_13.glb', // detailed_realistic_model_antiquebookshelf_13
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antiquebookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_282',
- path: '/models/furniture/detailed_realistic_model_antiquebookshelf_14.glb', // detailed_realistic_model_antiquebookshelf_14
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antiquebookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_283',
- path: '/models/furniture/detailed_realistic_model_antiquebookshelf_15.glb', // detailed_realistic_model_antiquebookshelf_15
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antiquebookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_284',
- path: '/models/furniture/detailed_realistic_model_antiquebookshelf_16.glb', // detailed_realistic_model_antiquebookshelf_16
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antiquebookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_285',
- path: '/models/furniture/detailed_realistic_model_antiquebookshelf_17.glb', // detailed_realistic_model_antiquebookshelf_17
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antiquebookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_286',
- path: '/models/furniture/detailed_realistic_model_antiquebookshelf_18.glb', // detailed_realistic_model_antiquebookshelf_18
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antiquebookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_287',
- path: '/models/furniture/detailed_realistic_model_antiquebookshelf_19.glb', // detailed_realistic_model_antiquebookshelf_19
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antiquebookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_288',
- path: '/models/furniture/detailed_realistic_model_antiquebookshelf_20.glb', // detailed_realistic_model_antiquebookshelf_20
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antiquebookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_289',
- path: '/models/furniture/detailed_realistic_model_antiquebookshelf_21.glb', // detailed_realistic_model_antiquebookshelf_21
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antiquebookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_290',
- path: '/models/furniture/detailed_realistic_model_antiquebookshelf_22.glb', // detailed_realistic_model_antiquebookshelf_22
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antiquebookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_291',
- path: '/models/furniture/detailed_realistic_model_antiquebookshelf_23.glb', // detailed_realistic_model_antiquebookshelf_23
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antiquebookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_292',
- path: '/models/furniture/detailed_realistic_model_antiquebookshelf_24.glb', // detailed_realistic_model_antiquebookshelf_24
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antiquebookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_293',
- path: '/models/furniture/detailed_realistic_model_antiquebookshelf_25.glb', // detailed_realistic_model_antiquebookshelf_25
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antiquebookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_294',
- path: '/models/furniture/detailed_realistic_model_antiquebookshelf_26.glb', // detailed_realistic_model_antiquebookshelf_26
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antiquebookshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_295',
- path: '/models/furniture/detailed_realistic_model_antique_01.glb', // detailed_realistic_model_antique_01
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'antique', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_296',
- path: '/models/furniture/detailed_realistic_model_bookcase_01.glb', // detailed_realistic_model_bookcase_01
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'bookcase', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_297',
- path: '/models/furniture/detailed_realistic_model_broomstick_01.glb', // detailed_realistic_model_broomstick_01
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'broomstick', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_298',
- path: '/models/furniture/detailed_realistic_model_broomstick_02.glb', // detailed_realistic_model_broomstick_02
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'broomstick', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_299',
- path: '/models/furniture/detailed_realistic_model_castiron_01.glb', // detailed_realistic_model_castiron_01
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'castiron', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_300',
- path: '/models/furniture/detailed_realistic_model_grandoaktable_01.glb', // detailed_realistic_model_grandoaktable_01
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'grandoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_301',
- path: '/models/furniture/detailed_realistic_model_grandoaktable_02.glb', // detailed_realistic_model_grandoaktable_02
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'grandoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_302',
- path: '/models/furniture/detailed_realistic_model_grandoaktable_03.glb', // detailed_realistic_model_grandoaktable_03
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'grandoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_303',
- path: '/models/furniture/detailed_realistic_model_grandoaktable_04.glb', // detailed_realistic_model_grandoaktable_04
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'grandoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_304',
- path: '/models/furniture/detailed_realistic_model_grandoaktable_05.glb', // detailed_realistic_model_grandoaktable_05
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'grandoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_305',
- path: '/models/furniture/detailed_realistic_model_grandoaktable_06.glb', // detailed_realistic_model_grandoaktable_06
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'grandoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_306',
- path: '/models/furniture/detailed_realistic_model_grandoaktable_07.glb', // detailed_realistic_model_grandoaktable_07
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'grandoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_307',
- path: '/models/furniture/detailed_realistic_model_grandoaktable_08.glb', // detailed_realistic_model_grandoaktable_08
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'grandoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_308',
- path: '/models/furniture/detailed_realistic_model_grandoaktable_09.glb', // detailed_realistic_model_grandoaktable_09
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'grandoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_309',
- path: '/models/furniture/detailed_realistic_model_grandoaktable_10.glb', // detailed_realistic_model_grandoaktable_10
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'grandoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_310',
- path: '/models/furniture/detailed_realistic_model_grandoaktable_11.glb', // detailed_realistic_model_grandoaktable_11
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'grandoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_311',
- path: '/models/furniture/detailed_realistic_model_grandoaktable_12.glb', // detailed_realistic_model_grandoaktable_12
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'grandoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_312',
- path: '/models/furniture/detailed_realistic_model_grandoaktable_13.glb', // detailed_realistic_model_grandoaktable_13
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'grandoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_313',
- path: '/models/furniture/detailed_realistic_model_grandoaktable_14.glb', // detailed_realistic_model_grandoaktable_14
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'grandoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_314',
- path: '/models/furniture/detailed_realistic_model_grandoaktable_15.glb', // detailed_realistic_model_grandoaktable_15
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'grandoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_315',
- path: '/models/furniture/detailed_realistic_model_grandoaktable_16.glb', // detailed_realistic_model_grandoaktable_16
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'grandoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_316',
- path: '/models/furniture/detailed_realistic_model_grandoaktable_17.glb', // detailed_realistic_model_grandoaktable_17
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'grandoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_317',
- path: '/models/furniture/detailed_realistic_model_grand_01.glb', // detailed_realistic_model_grand_01
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'grand', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_318',
- path: '/models/furniture/detailed_realistic_model_largeoaktable_01.glb', // detailed_realistic_model_largeoaktable_01
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'largeoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_319',
- path: '/models/furniture/detailed_realistic_model_largeoaktable_02.glb', // detailed_realistic_model_largeoaktable_02
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'largeoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_320',
- path: '/models/furniture/detailed_realistic_model_largeoaktable_03.glb', // detailed_realistic_model_largeoaktable_03
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'largeoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_321',
- path: '/models/furniture/detailed_realistic_model_largeoaktable_04.glb', // detailed_realistic_model_largeoaktable_04
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'largeoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_322',
- path: '/models/furniture/detailed_realistic_model_largeoaktable_05.glb', // detailed_realistic_model_largeoaktable_05
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'largeoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_323',
- path: '/models/furniture/detailed_realistic_model_largeoaktable_06.glb', // detailed_realistic_model_largeoaktable_06
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'largeoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_324',
- path: '/models/furniture/detailed_realistic_model_largeoaktable_07.glb', // detailed_realistic_model_largeoaktable_07
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'largeoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_325',
- path: '/models/furniture/detailed_realistic_model_largeoaktable_08.glb', // detailed_realistic_model_largeoaktable_08
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'largeoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_326',
- path: '/models/furniture/detailed_realistic_model_largeoaktable_09.glb', // detailed_realistic_model_largeoaktable_09
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'largeoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_327',
- path: '/models/furniture/detailed_realistic_model_largeoaktable_10.glb', // detailed_realistic_model_largeoaktable_10
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'largeoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_328',
- path: '/models/furniture/detailed_realistic_model_largeoaktable_11.glb', // detailed_realistic_model_largeoaktable_11
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'largeoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_329',
- path: '/models/furniture/detailed_realistic_model_largeoaktable_12.glb', // detailed_realistic_model_largeoaktable_12
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'largeoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_330',
- path: '/models/furniture/detailed_realistic_model_largeoaktable_13.glb', // detailed_realistic_model_largeoaktable_13
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'largeoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_331',
- path: '/models/furniture/detailed_realistic_model_largeoaktable_14.glb', // detailed_realistic_model_largeoaktable_14
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'largeoaktable', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_332',
- path: '/models/furniture/detailed_realistic_model_potionshelf_01.glb', // detailed_realistic_model_potionshelf_01
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'potionshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_333',
- path: '/models/furniture/detailed_realistic_model_potionshelf_02.glb', // detailed_realistic_model_potionshelf_02
- category: 'large_furniture',
- keywords: ['detailed', 'realistic', 'model', 'potionshelf', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_334',
- path: '/models/furniture/fantasy-town-kit_stall-bench.glb', // fantasy-town-kit_stall-bench
- category: 'large_furniture',
- keywords: ['fantasy', 'town', 'kit', 'stall', 'bench', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_335',
- path: '/models/furniture/fantasy-town-kit_stall-stool.glb', // fantasy-town-kit_stall-stool
- category: 'large_furniture',
- keywords: ['fantasy', 'town', 'kit', 'stall', 'stool', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_336',
- path: '/models/furniture/GlamVelvetSofa.glb', // GlamVelvetSofa
- category: 'large_furniture',
- keywords: ['GlamVelvetSofa', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_337',
- path: '/models/furniture/graveyard-kit_bench-damaged.glb', // graveyard-kit_bench-damaged
- category: 'large_furniture',
- keywords: ['graveyard', 'kit', 'bench', 'damaged', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_338',
- path: '/models/furniture/graveyard-kit_bench.glb', // graveyard-kit_bench
- category: 'large_furniture',
- keywords: ['graveyard', 'kit', 'bench', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_339',
- path: '/models/furniture/IridescenceLamp.glb', // IridescenceLamp
- category: 'large_furniture',
- keywords: ['IridescenceLamp', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_340',
- path: '/models/furniture/LightsPunctualLamp.glb', // LightsPunctualLamp
- category: 'large_furniture',
- keywords: ['LightsPunctualLamp', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_341',
- path: '/models/furniture/modern_office_chair_padded_01.glb', // modern_office_chair_padded_01
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_342',
- path: '/models/furniture/modern_office_chair_padded_02.glb', // modern_office_chair_padded_02
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_343',
- path: '/models/furniture/modern_office_chair_padded_03.glb', // modern_office_chair_padded_03
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_344',
- path: '/models/furniture/modern_office_chair_padded_04.glb', // modern_office_chair_padded_04
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_345',
- path: '/models/furniture/modern_office_chair_padded_05.glb', // modern_office_chair_padded_05
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_346',
- path: '/models/furniture/modern_office_chair_padded_06.glb', // modern_office_chair_padded_06
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_347',
- path: '/models/furniture/modern_office_chair_padded_07.glb', // modern_office_chair_padded_07
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_348',
- path: '/models/furniture/modern_office_chair_padded_08.glb', // modern_office_chair_padded_08
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_349',
- path: '/models/furniture/modern_office_chair_padded_09.glb', // modern_office_chair_padded_09
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_350',
- path: '/models/furniture/modern_office_chair_padded_10.glb', // modern_office_chair_padded_10
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_351',
- path: '/models/furniture/modern_office_chair_padded_11.glb', // modern_office_chair_padded_11
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_352',
- path: '/models/furniture/modern_office_chair_padded_12.glb', // modern_office_chair_padded_12
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_353',
- path: '/models/furniture/modern_office_chair_padded_13.glb', // modern_office_chair_padded_13
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_354',
- path: '/models/furniture/modern_office_chair_padded_14.glb', // modern_office_chair_padded_14
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_355',
- path: '/models/furniture/modern_office_chair_padded_15.glb', // modern_office_chair_padded_15
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_356',
- path: '/models/furniture/modern_office_chair_padded_16.glb', // modern_office_chair_padded_16
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_357',
- path: '/models/furniture/modern_office_chair_padded_17.glb', // modern_office_chair_padded_17
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_358',
- path: '/models/furniture/modern_office_chair_padded_18.glb', // modern_office_chair_padded_18
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_359',
- path: '/models/furniture/modern_office_chair_padded_19.glb', // modern_office_chair_padded_19
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_360',
- path: '/models/furniture/modern_office_chair_padded_20.glb', // modern_office_chair_padded_20
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_361',
- path: '/models/furniture/modern_office_chair_padded_21.glb', // modern_office_chair_padded_21
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_362',
- path: '/models/furniture/modern_office_chair_padded_22.glb', // modern_office_chair_padded_22
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_363',
- path: '/models/furniture/modern_office_chair_padded_23.glb', // modern_office_chair_padded_23
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_364',
- path: '/models/furniture/modern_office_chair_padded_24.glb', // modern_office_chair_padded_24
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_365',
- path: '/models/furniture/modern_office_chair_padded_25.glb', // modern_office_chair_padded_25
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_366',
- path: '/models/furniture/modern_office_chair_padded_26.glb', // modern_office_chair_padded_26
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_367',
- path: '/models/furniture/modern_office_chair_padded_27.glb', // modern_office_chair_padded_27
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_368',
- path: '/models/furniture/modern_office_chair_padded_28.glb', // modern_office_chair_padded_28
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_369',
- path: '/models/furniture/modern_office_chair_padded_29.glb', // modern_office_chair_padded_29
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_370',
- path: '/models/furniture/modern_office_chair_padded_30.glb', // modern_office_chair_padded_30
- category: 'large_furniture',
- keywords: ['modern', 'office', 'chair', 'padded', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_371',
- path: '/models/furniture/realistic_wooden_office_desk_01.glb', // realistic_wooden_office_desk_01
- category: 'large_furniture',
- keywords: ['realistic', 'wooden', 'office', 'desk', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_372',
- path: '/models/furniture/realistic_wooden_office_desk_02.glb', // realistic_wooden_office_desk_02
- category: 'large_furniture',
- keywords: ['realistic', 'wooden', 'office', 'desk', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_373',
- path: '/models/furniture/realistic_wooden_office_desk_03.glb', // realistic_wooden_office_desk_03
- category: 'large_furniture',
- keywords: ['realistic', 'wooden', 'office', 'desk', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_374',
- path: '/models/furniture/realistic_wooden_office_desk_04.glb', // realistic_wooden_office_desk_04
- category: 'large_furniture',
- keywords: ['realistic', 'wooden', 'office', 'desk', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_375',
- path: '/models/furniture/SheenChair.glb', // SheenChair
- category: 'large_furniture',
- keywords: ['SheenChair', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_376',
- path: '/models/furniture/SheenChair_1769416633174.glb', // SheenChair_1769416633174
- category: 'large_furniture',
- keywords: ['SheenChair', '1769416633174', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_377',
- path: '/models/furniture/SheenWoodLeatherSofa.glb', // SheenWoodLeatherSofa
- category: 'large_furniture',
- keywords: ['SheenWoodLeatherSofa', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_378',
- path: '/models/furniture/three.js-examples_AnisotropyBarnLamp.glb', // three.js-examples_AnisotropyBarnLamp
- category: 'large_furniture',
- keywords: ['three.js', 'examples', 'AnisotropyBarnLamp', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_379',
- path: '/models/furniture/three.js-examples_IridescenceLamp.glb', // three.js-examples_IridescenceLamp
- category: 'large_furniture',
- keywords: ['three.js', 'examples', 'IridescenceLamp', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_380',
- path: '/models/furniture/three.js-examples_minimalistic_modern_bedroom.glb', // three.js-examples_minimalistic_modern_bedroom
- category: 'large_furniture',
- keywords: ['three.js', 'examples', 'minimalistic', 'modern', 'bedroom', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_381',
- path: '/models/furniture/three.js-examples_SheenChair.glb', // three.js-examples_SheenChair
- category: 'large_furniture',
- keywords: ['three.js', 'examples', 'SheenChair', 'furniture'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_382',
- path: '/models/nature/bush1.glb', // bush1
- category: 'environment',
- keywords: ['bush1', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_383',
- path: '/models/nature/bush2.glb', // bush2
- category: 'environment',
- keywords: ['bush2', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_384',
- path: '/models/nature/bush3.glb', // bush3
- category: 'environment',
- keywords: ['bush3', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_385',
- path: '/models/nature/bush4.glb', // bush4
- category: 'environment',
- keywords: ['bush4', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_386',
- path: '/models/nature/bush5.glb', // bush5
- category: 'environment',
- keywords: ['bush5', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_387',
- path: '/models/nature/detailed_realistic_model_crystalball_02.glb', // detailed_realistic_model_crystalball_02
- category: 'environment',
- keywords: ['detailed', 'realistic', 'model', 'crystalball', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_388',
- path: '/models/nature/detailed_realistic_model_crystalball_03.glb', // detailed_realistic_model_crystalball_03
- category: 'environment',
- keywords: ['detailed', 'realistic', 'model', 'crystalball', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_389',
- path: '/models/nature/detailed_realistic_model_crystalball_04.glb', // detailed_realistic_model_crystalball_04
- category: 'environment',
- keywords: ['detailed', 'realistic', 'model', 'crystalball', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_390',
- path: '/models/nature/detailed_realistic_model_crystalball_05.glb', // detailed_realistic_model_crystalball_05
- category: 'environment',
- keywords: ['detailed', 'realistic', 'model', 'crystalball', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_391',
- path: '/models/nature/detailed_realistic_model_crystalball_06.glb', // detailed_realistic_model_crystalball_06
- category: 'environment',
- keywords: ['detailed', 'realistic', 'model', 'crystalball', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_392',
- path: '/models/nature/detailed_realistic_model_crystalball_07.glb', // detailed_realistic_model_crystalball_07
- category: 'environment',
- keywords: ['detailed', 'realistic', 'model', 'crystalball', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_393',
- path: '/models/nature/detailed_realistic_model_crystalball_08.glb', // detailed_realistic_model_crystalball_08
- category: 'environment',
- keywords: ['detailed', 'realistic', 'model', 'crystalball', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_394',
- path: '/models/nature/detailed_realistic_model_crystalball_09.glb', // detailed_realistic_model_crystalball_09
- category: 'environment',
- keywords: ['detailed', 'realistic', 'model', 'crystalball', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_395',
- path: '/models/nature/detailed_realistic_model_crystalball_10.glb', // detailed_realistic_model_crystalball_10
- category: 'environment',
- keywords: ['detailed', 'realistic', 'model', 'crystalball', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_396',
- path: '/models/nature/detailed_realistic_model_crystalball_11.glb', // detailed_realistic_model_crystalball_11
- category: 'environment',
- keywords: ['detailed', 'realistic', 'model', 'crystalball', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_397',
- path: '/models/nature/detailed_realistic_model_crystalball_12.glb', // detailed_realistic_model_crystalball_12
- category: 'environment',
- keywords: ['detailed', 'realistic', 'model', 'crystalball', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_398',
- path: '/models/nature/detailed_realistic_model_crystalball_13.glb', // detailed_realistic_model_crystalball_13
- category: 'environment',
- keywords: ['detailed', 'realistic', 'model', 'crystalball', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_399',
- path: '/models/nature/detailed_realistic_model_crystalball_14.glb', // detailed_realistic_model_crystalball_14
- category: 'environment',
- keywords: ['detailed', 'realistic', 'model', 'crystalball', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_400',
- path: '/models/nature/detailed_realistic_model_crystalball_15.glb', // detailed_realistic_model_crystalball_15
- category: 'environment',
- keywords: ['detailed', 'realistic', 'model', 'crystalball', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_401',
- path: '/models/nature/detailed_realistic_model_crystalball_16.glb', // detailed_realistic_model_crystalball_16
- category: 'environment',
- keywords: ['detailed', 'realistic', 'model', 'crystalball', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_402',
- path: '/models/nature/detailed_realistic_model_crystalball_17.glb', // detailed_realistic_model_crystalball_17
- category: 'environment',
- keywords: ['detailed', 'realistic', 'model', 'crystalball', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_403',
- path: '/models/nature/detailed_realistic_model_crystalball_18.glb', // detailed_realistic_model_crystalball_18
- category: 'environment',
- keywords: ['detailed', 'realistic', 'model', 'crystalball', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_404',
- path: '/models/nature/detailed_realistic_model_crystalball_19.glb', // detailed_realistic_model_crystalball_19
- category: 'environment',
- keywords: ['detailed', 'realistic', 'model', 'crystalball', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_405',
- path: '/models/nature/detailed_realistic_model_crystalball_20.glb', // detailed_realistic_model_crystalball_20
- category: 'environment',
- keywords: ['detailed', 'realistic', 'model', 'crystalball', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_406',
- path: '/models/nature/detailed_realistic_model_crystalball_21.glb', // detailed_realistic_model_crystalball_21
- category: 'environment',
- keywords: ['detailed', 'realistic', 'model', 'crystalball', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_407',
- path: '/models/nature/detailed_realistic_model_crystalball_22.glb', // detailed_realistic_model_crystalball_22
- category: 'environment',
- keywords: ['detailed', 'realistic', 'model', 'crystalball', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_408',
- path: '/models/nature/detailed_realistic_model_crystalball_23.glb', // detailed_realistic_model_crystalball_23
- category: 'environment',
- keywords: ['detailed', 'realistic', 'model', 'crystalball', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_409',
- path: '/models/nature/detailed_realistic_model_crystalball_24.glb', // detailed_realistic_model_crystalball_24
- category: 'environment',
- keywords: ['detailed', 'realistic', 'model', 'crystalball', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_410',
- path: '/models/nature/detailed_realistic_model_stone_01.glb', // detailed_realistic_model_stone_01
- category: 'environment',
- keywords: ['detailed', 'realistic', 'model', 'stone', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_411',
- path: '/models/nature/DiffuseTransmissionPlant.glb', // DiffuseTransmissionPlant
- category: 'environment',
- keywords: ['DiffuseTransmissionPlant', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_412',
- path: '/models/nature/fantasy-town-kit_pillar-stone.glb', // fantasy-town-kit_pillar-stone
- category: 'environment',
- keywords: ['fantasy', 'town', 'kit', 'pillar', 'stone', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_413',
- path: '/models/nature/fantasy-town-kit_rock-large.glb', // fantasy-town-kit_rock-large
- category: 'environment',
- keywords: ['fantasy', 'town', 'kit', 'rock', 'large', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_414',
- path: '/models/nature/fantasy-town-kit_rock-small.glb', // fantasy-town-kit_rock-small
- category: 'environment',
- keywords: ['fantasy', 'town', 'kit', 'rock', 'small', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_415',
- path: '/models/nature/fantasy-town-kit_rock-wide.glb', // fantasy-town-kit_rock-wide
- category: 'environment',
- keywords: ['fantasy', 'town', 'kit', 'rock', 'wide', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_416',
- path: '/models/nature/fantasy-town-kit_stairs-stone-corner.glb', // fantasy-town-kit_stairs-stone-corner
- category: 'environment',
- keywords: ['fantasy', 'town', 'kit', 'stairs', 'stone', 'corner', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_417',
- path: '/models/nature/fantasy-town-kit_stairs-stone-handrail.glb', // fantasy-town-kit_stairs-stone-handrail
- category: 'environment',
- keywords: ['fantasy', 'town', 'kit', 'stairs', 'stone', 'handrail', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_418',
- path: '/models/nature/fantasy-town-kit_stairs-stone-round.glb', // fantasy-town-kit_stairs-stone-round
- category: 'environment',
- keywords: ['fantasy', 'town', 'kit', 'stairs', 'stone', 'round', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_419',
- path: '/models/nature/fantasy-town-kit_stairs-stone.glb', // fantasy-town-kit_stairs-stone
- category: 'environment',
- keywords: ['fantasy', 'town', 'kit', 'stairs', 'stone', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_420',
- path: '/models/nature/fantasy-town-kit_stairs-wide-stone-handrail.glb', // fantasy-town-kit_stairs-wide-stone-handrail
- category: 'environment',
- keywords: ['fantasy', 'town', 'kit', 'stairs', 'wide', 'stone', 'handrail', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_421',
- path: '/models/nature/fantasy-town-kit_stairs-wide-stone.glb', // fantasy-town-kit_stairs-wide-stone
- category: 'environment',
- keywords: ['fantasy', 'town', 'kit', 'stairs', 'wide', 'stone', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_422',
- path: '/models/nature/fantasy-town-kit_tree-crooked.glb', // fantasy-town-kit_tree-crooked
- category: 'environment',
- keywords: ['fantasy', 'town', 'kit', 'tree', 'crooked', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_423',
- path: '/models/nature/fantasy-town-kit_tree-high-crooked.glb', // fantasy-town-kit_tree-high-crooked
- category: 'environment',
- keywords: ['fantasy', 'town', 'kit', 'tree', 'high', 'crooked', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_424',
- path: '/models/nature/fantasy-town-kit_tree-high-round.glb', // fantasy-town-kit_tree-high-round
- category: 'environment',
- keywords: ['fantasy', 'town', 'kit', 'tree', 'high', 'round', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_425',
- path: '/models/nature/fantasy-town-kit_tree-high.glb', // fantasy-town-kit_tree-high
- category: 'environment',
- keywords: ['fantasy', 'town', 'kit', 'tree', 'high', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_426',
- path: '/models/nature/fantasy-town-kit_tree.glb', // fantasy-town-kit_tree
- category: 'environment',
- keywords: ['fantasy', 'town', 'kit', 'tree', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_427',
- path: '/models/nature/fantasy-town-kit_wall-window-stone.glb', // fantasy-town-kit_wall-window-stone
- category: 'environment',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'window', 'stone', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_428',
- path: '/models/nature/fantasy-town-kit_wall-wood-window-stone.glb', // fantasy-town-kit_wall-wood-window-stone
- category: 'environment',
- keywords: ['fantasy', 'town', 'kit', 'wall', 'wood', 'window', 'stone', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_429',
- path: '/models/nature/GlassVaseFlowers.glb', // GlassVaseFlowers
- category: 'environment',
- keywords: ['GlassVaseFlowers', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_430',
- path: '/models/nature/graveyard-kit_altar-stone.glb', // graveyard-kit_altar-stone
- category: 'environment',
- keywords: ['graveyard', 'kit', 'altar', 'stone', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_431',
- path: '/models/nature/graveyard-kit_gravestone-bevel.glb', // graveyard-kit_gravestone-bevel
- category: 'environment',
- keywords: ['graveyard', 'kit', 'gravestone', 'bevel', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_432',
- path: '/models/nature/graveyard-kit_gravestone-broken.glb', // graveyard-kit_gravestone-broken
- category: 'environment',
- keywords: ['graveyard', 'kit', 'gravestone', 'broken', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_433',
- path: '/models/nature/graveyard-kit_gravestone-cross-large.glb', // graveyard-kit_gravestone-cross-large
- category: 'environment',
- keywords: ['graveyard', 'kit', 'gravestone', 'cross', 'large', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_434',
- path: '/models/nature/graveyard-kit_gravestone-cross.glb', // graveyard-kit_gravestone-cross
- category: 'environment',
- keywords: ['graveyard', 'kit', 'gravestone', 'cross', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_435',
- path: '/models/nature/graveyard-kit_gravestone-debris.glb', // graveyard-kit_gravestone-debris
- category: 'environment',
- keywords: ['graveyard', 'kit', 'gravestone', 'debris', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_436',
- path: '/models/nature/graveyard-kit_gravestone-decorative.glb', // graveyard-kit_gravestone-decorative
- category: 'environment',
- keywords: ['graveyard', 'kit', 'gravestone', 'decorative', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_437',
- path: '/models/nature/graveyard-kit_gravestone-roof.glb', // graveyard-kit_gravestone-roof
- category: 'environment',
- keywords: ['graveyard', 'kit', 'gravestone', 'roof', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_438',
- path: '/models/nature/graveyard-kit_gravestone-round.glb', // graveyard-kit_gravestone-round
- category: 'environment',
- keywords: ['graveyard', 'kit', 'gravestone', 'round', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_439',
- path: '/models/nature/graveyard-kit_gravestone-wide.glb', // graveyard-kit_gravestone-wide
- category: 'environment',
- keywords: ['graveyard', 'kit', 'gravestone', 'wide', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_440',
- path: '/models/nature/graveyard-kit_rocks-tall.glb', // graveyard-kit_rocks-tall
- category: 'environment',
- keywords: ['graveyard', 'kit', 'rocks', 'tall', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_441',
- path: '/models/nature/graveyard-kit_rocks.glb', // graveyard-kit_rocks
- category: 'environment',
- keywords: ['graveyard', 'kit', 'rocks', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_442',
- path: '/models/nature/graveyard-kit_stone-wall-column.glb', // graveyard-kit_stone-wall-column
- category: 'environment',
- keywords: ['graveyard', 'kit', 'stone', 'wall', 'column', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_443',
- path: '/models/nature/graveyard-kit_stone-wall-curve.glb', // graveyard-kit_stone-wall-curve
- category: 'environment',
- keywords: ['graveyard', 'kit', 'stone', 'wall', 'curve', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_444',
- path: '/models/nature/graveyard-kit_stone-wall-damaged.glb', // graveyard-kit_stone-wall-damaged
- category: 'environment',
- keywords: ['graveyard', 'kit', 'stone', 'wall', 'damaged', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_445',
- path: '/models/nature/graveyard-kit_stone-wall.glb', // graveyard-kit_stone-wall
- category: 'environment',
- keywords: ['graveyard', 'kit', 'stone', 'wall', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_446',
- path: '/models/nature/platformer-kit_block-grass-corner-low.glb', // platformer-kit_block-grass-corner-low
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'corner', 'low', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_447',
- path: '/models/nature/platformer-kit_block-grass-corner-overhang-low.glb', // platformer-kit_block-grass-corner-overhang-low
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'corner', 'overhang', 'low', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_448',
- path: '/models/nature/platformer-kit_block-grass-corner-overhang.glb', // platformer-kit_block-grass-corner-overhang
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'corner', 'overhang', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_449',
- path: '/models/nature/platformer-kit_block-grass-corner.glb', // platformer-kit_block-grass-corner
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'corner', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_450',
- path: '/models/nature/platformer-kit_block-grass-curve-half.glb', // platformer-kit_block-grass-curve-half
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'curve', 'half', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_451',
- path: '/models/nature/platformer-kit_block-grass-curve-low.glb', // platformer-kit_block-grass-curve-low
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'curve', 'low', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_452',
- path: '/models/nature/platformer-kit_block-grass-curve.glb', // platformer-kit_block-grass-curve
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'curve', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_453',
- path: '/models/nature/platformer-kit_block-grass-edge.glb', // platformer-kit_block-grass-edge
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'edge', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_454',
- path: '/models/nature/platformer-kit_block-grass-hexagon.glb', // platformer-kit_block-grass-hexagon
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'hexagon', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_455',
- path: '/models/nature/platformer-kit_block-grass-large-slope-narrow.glb', // platformer-kit_block-grass-large-slope-narrow
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'large', 'slope', 'narrow', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_456',
- path: '/models/nature/platformer-kit_block-grass-large-slope-steep-narrow.glb', // platformer-kit_block-grass-large-slope-steep-narrow
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'large', 'slope', 'steep', 'narrow', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_457',
- path: '/models/nature/platformer-kit_block-grass-large-slope-steep.glb', // platformer-kit_block-grass-large-slope-steep
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'large', 'slope', 'steep', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_458',
- path: '/models/nature/platformer-kit_block-grass-large-slope.glb', // platformer-kit_block-grass-large-slope
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'large', 'slope', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_459',
- path: '/models/nature/platformer-kit_block-grass-large-tall.glb', // platformer-kit_block-grass-large-tall
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'large', 'tall', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_460',
- path: '/models/nature/platformer-kit_block-grass-large.glb', // platformer-kit_block-grass-large
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'large', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_461',
- path: '/models/nature/platformer-kit_block-grass-long.glb', // platformer-kit_block-grass-long
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'long', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_462',
- path: '/models/nature/platformer-kit_block-grass-low-hexagon.glb', // platformer-kit_block-grass-low-hexagon
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'low', 'hexagon', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_463',
- path: '/models/nature/platformer-kit_block-grass-low-large.glb', // platformer-kit_block-grass-low-large
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'low', 'large', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_464',
- path: '/models/nature/platformer-kit_block-grass-low-long.glb', // platformer-kit_block-grass-low-long
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'low', 'long', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_465',
- path: '/models/nature/platformer-kit_block-grass-low-narrow.glb', // platformer-kit_block-grass-low-narrow
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'low', 'narrow', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_466',
- path: '/models/nature/platformer-kit_block-grass-low.glb', // platformer-kit_block-grass-low
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'low', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_467',
- path: '/models/nature/platformer-kit_block-grass-narrow.glb', // platformer-kit_block-grass-narrow
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'narrow', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_468',
- path: '/models/nature/platformer-kit_block-grass-overhang-corner.glb', // platformer-kit_block-grass-overhang-corner
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'overhang', 'corner', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_469',
- path: '/models/nature/platformer-kit_block-grass-overhang-edge.glb', // platformer-kit_block-grass-overhang-edge
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'overhang', 'edge', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_470',
- path: '/models/nature/platformer-kit_block-grass-overhang-hexagon.glb', // platformer-kit_block-grass-overhang-hexagon
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'overhang', 'hexagon', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_471',
- path: '/models/nature/platformer-kit_block-grass-overhang-large-slope-narrow.glb', // platformer-kit_block-grass-overhang-large-slope-narrow
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'overhang', 'large', 'slope', 'narrow', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_472',
- path: '/models/nature/platformer-kit_block-grass-overhang-large-slope-steep-narrow.glb', // platformer-kit_block-grass-overhang-large-slope-steep-narrow
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'overhang', 'large', 'slope', 'steep', 'narrow', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_473',
- path: '/models/nature/platformer-kit_block-grass-overhang-large-slope-steep.glb', // platformer-kit_block-grass-overhang-large-slope-steep
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'overhang', 'large', 'slope', 'steep', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_474',
- path: '/models/nature/platformer-kit_block-grass-overhang-large-slope.glb', // platformer-kit_block-grass-overhang-large-slope
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'overhang', 'large', 'slope', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_475',
- path: '/models/nature/platformer-kit_block-grass-overhang-large-tall.glb', // platformer-kit_block-grass-overhang-large-tall
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'overhang', 'large', 'tall', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_476',
- path: '/models/nature/platformer-kit_block-grass-overhang-large.glb', // platformer-kit_block-grass-overhang-large
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'overhang', 'large', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_477',
- path: '/models/nature/platformer-kit_block-grass-overhang-long.glb', // platformer-kit_block-grass-overhang-long
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'overhang', 'long', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_478',
- path: '/models/nature/platformer-kit_block-grass-overhang-low-hexagon.glb', // platformer-kit_block-grass-overhang-low-hexagon
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'overhang', 'low', 'hexagon', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_479',
- path: '/models/nature/platformer-kit_block-grass-overhang-low-large.glb', // platformer-kit_block-grass-overhang-low-large
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'overhang', 'low', 'large', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_480',
- path: '/models/nature/platformer-kit_block-grass-overhang-low-long.glb', // platformer-kit_block-grass-overhang-low-long
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'overhang', 'low', 'long', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_481',
- path: '/models/nature/platformer-kit_block-grass-overhang-low-narrow.glb', // platformer-kit_block-grass-overhang-low-narrow
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'overhang', 'low', 'narrow', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_482',
- path: '/models/nature/platformer-kit_block-grass-overhang-low.glb', // platformer-kit_block-grass-overhang-low
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'overhang', 'low', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_483',
- path: '/models/nature/platformer-kit_block-grass-overhang-narrow.glb', // platformer-kit_block-grass-overhang-narrow
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'overhang', 'narrow', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_484',
- path: '/models/nature/platformer-kit_block-grass.glb', // platformer-kit_block-grass
- category: 'environment',
- keywords: ['platformer', 'kit', 'block', 'grass', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_485',
- path: '/models/nature/platformer-kit_flowers-tall.glb', // platformer-kit_flowers-tall
- category: 'environment',
- keywords: ['platformer', 'kit', 'flowers', 'tall', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_486',
- path: '/models/nature/platformer-kit_flowers.glb', // platformer-kit_flowers
- category: 'environment',
- keywords: ['platformer', 'kit', 'flowers', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_487',
- path: '/models/nature/platformer-kit_grass.glb', // platformer-kit_grass
- category: 'environment',
- keywords: ['platformer', 'kit', 'grass', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_488',
- path: '/models/nature/platformer-kit_mushrooms.glb', // platformer-kit_mushrooms
- category: 'environment',
- keywords: ['platformer', 'kit', 'mushrooms', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_489',
- path: '/models/nature/platformer-kit_plant.glb', // platformer-kit_plant
- category: 'environment',
- keywords: ['platformer', 'kit', 'plant', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_490',
- path: '/models/nature/platformer-kit_rocks.glb', // platformer-kit_rocks
- category: 'environment',
- keywords: ['platformer', 'kit', 'rocks', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_491',
- path: '/models/nature/platformer-kit_stones.glb', // platformer-kit_stones
- category: 'environment',
- keywords: ['platformer', 'kit', 'stones', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_492',
- path: '/models/nature/platformer-kit_tree-pine-small.glb', // platformer-kit_tree-pine-small
- category: 'environment',
- keywords: ['platformer', 'kit', 'tree', 'pine', 'small', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_493',
- path: '/models/nature/platformer-kit_tree-pine-snow-small.glb', // platformer-kit_tree-pine-snow-small
- category: 'environment',
- keywords: ['platformer', 'kit', 'tree', 'pine', 'snow', 'small', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_494',
- path: '/models/nature/platformer-kit_tree-pine-snow.glb', // platformer-kit_tree-pine-snow
- category: 'environment',
- keywords: ['platformer', 'kit', 'tree', 'pine', 'snow', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_495',
- path: '/models/nature/platformer-kit_tree-pine.glb', // platformer-kit_tree-pine
- category: 'environment',
- keywords: ['platformer', 'kit', 'tree', 'pine', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_496',
- path: '/models/nature/platformer-kit_tree-snow.glb', // platformer-kit_tree-snow
- category: 'environment',
- keywords: ['platformer', 'kit', 'tree', 'snow', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_497',
- path: '/models/nature/platformer-kit_tree.glb', // platformer-kit_tree
- category: 'environment',
- keywords: ['platformer', 'kit', 'tree', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_498',
- path: '/models/nature/rocks1.glb', // rocks1
- category: 'environment',
- keywords: ['rocks1', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_499',
- path: '/models/nature/rocks2.glb', // rocks2
- category: 'environment',
- keywords: ['rocks2', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_500',
- path: '/models/nature/rocks3.glb', // rocks3
- category: 'environment',
- keywords: ['rocks3', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_501',
- path: '/models/nature/rocks4.glb', // rocks4
- category: 'environment',
- keywords: ['rocks4', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_502',
- path: '/models/nature/three.js-examples_Flower.glb', // three.js-examples_Flower
- category: 'environment',
- keywords: ['three.js', 'examples', 'Flower', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_503',
- path: '/models/nature/three.js-examples_forest_house.glb', // three.js-examples_forest_house
- category: 'environment',
- keywords: ['three.js', 'examples', 'forest', 'house', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_504',
- path: '/models/nature/tombstone1.glb', // tombstone1
- category: 'environment',
- keywords: ['tombstone1', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_505',
- path: '/models/nature/tombstone10.glb', // tombstone10
- category: 'environment',
- keywords: ['tombstone10', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_506',
- path: '/models/nature/tombstone11.glb', // tombstone11
- category: 'environment',
- keywords: ['tombstone11', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_507',
- path: '/models/nature/tombstone1Weathered.glb', // tombstone1Weathered
- category: 'environment',
- keywords: ['tombstone1Weathered', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_508',
- path: '/models/nature/tombstone2.glb', // tombstone2
- category: 'environment',
- keywords: ['tombstone2', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_509',
- path: '/models/nature/tombstone2Weathered.glb', // tombstone2Weathered
- category: 'environment',
- keywords: ['tombstone2Weathered', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_510',
- path: '/models/nature/tombstone3.glb', // tombstone3
- category: 'environment',
- keywords: ['tombstone3', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_511',
- path: '/models/nature/tombstone4.glb', // tombstone4
- category: 'environment',
- keywords: ['tombstone4', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_512',
- path: '/models/nature/tombstone5.glb', // tombstone5
- category: 'environment',
- keywords: ['tombstone5', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_513',
- path: '/models/nature/tombstone5Weathered.glb', // tombstone5Weathered
- category: 'environment',
- keywords: ['tombstone5Weathered', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_514',
- path: '/models/nature/tombstone6.glb', // tombstone6
- category: 'environment',
- keywords: ['tombstone6', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_515',
- path: '/models/nature/tombstone7.glb', // tombstone7
- category: 'environment',
- keywords: ['tombstone7', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_516',
- path: '/models/nature/tombstone8.glb', // tombstone8
- category: 'environment',
- keywords: ['tombstone8', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_517',
- path: '/models/nature/tombstone9.glb', // tombstone9
- category: 'environment',
- keywords: ['tombstone9', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_518',
- path: '/models/nature/tree1.glb', // tree1
- category: 'environment',
- keywords: ['tree1', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_519',
- path: '/models/nature/tree2.glb', // tree2
- category: 'environment',
- keywords: ['tree2', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_520',
- path: '/models/nature/tree3.glb', // tree3
- category: 'environment',
- keywords: ['tree3', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_521',
- path: '/models/nature/tree4.glb', // tree4
- category: 'environment',
- keywords: ['tree4', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_522',
- path: '/models/nature/tree5.glb', // tree5
- category: 'environment',
- keywords: ['tree5', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_523',
- path: '/models/nature/tree6.glb', // tree6
- category: 'environment',
- keywords: ['tree6', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_524',
- path: '/models/nature/tree7.glb', // tree7
- category: 'environment',
- keywords: ['tree7', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_525',
- path: '/models/nature/tree8.glb', // tree8
- category: 'environment',
- keywords: ['tree8', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_526',
- path: '/models/nature/underwaterSceneRocksBarnaclesMussels.glb', // underwaterSceneRocksBarnaclesMussels
- category: 'environment',
- keywords: ['underwaterSceneRocksBarnaclesMussels', 'nature'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_527',
- path: '/models/props/babylon-assets_BoomBox.glb', // babylon-assets_BoomBox
- category: 'prop',
- keywords: ['babylon', 'assets', 'BoomBox', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_528',
- path: '/models/props/babylon-assets_Box.glb', // babylon-assets_Box
- category: 'prop',
- keywords: ['babylon', 'assets', 'Box', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_529',
- path: '/models/props/babylon-assets_BoxAnimated.glb', // babylon-assets_BoxAnimated
- category: 'prop',
- keywords: ['babylon', 'assets', 'BoxAnimated', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_530',
- path: '/models/props/babylon-assets_BoxInterleaved.glb', // babylon-assets_BoxInterleaved
- category: 'prop',
- keywords: ['babylon', 'assets', 'BoxInterleaved', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_531',
- path: '/models/props/babylon-assets_BoxTextured.glb', // babylon-assets_BoxTextured
- category: 'prop',
- keywords: ['babylon', 'assets', 'BoxTextured', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_532',
- path: '/models/props/babylon-assets_BoxVertexColors.glb', // babylon-assets_BoxVertexColors
- category: 'prop',
- keywords: ['babylon', 'assets', 'BoxVertexColors', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_533',
- path: '/models/props/babylon-assets_BoxWithoutIndices.glb', // babylon-assets_BoxWithoutIndices
- category: 'prop',
- keywords: ['babylon', 'assets', 'BoxWithoutIndices', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_534',
- path: '/models/props/babylon-assets_GearboxAssy.glb', // babylon-assets_GearboxAssy
- category: 'prop',
- keywords: ['babylon', 'assets', 'GearboxAssy', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_535',
- path: '/models/props/barrel.glb', // barrel
- category: 'prop',
- keywords: ['barrel', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_536',
- path: '/models/props/BoomBox.glb', // BoomBox
- category: 'prop',
- keywords: ['BoomBox', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_537',
- path: '/models/props/BoomBox_1769416633018.glb', // BoomBox_1769416633018
- category: 'prop',
- keywords: ['BoomBox', '1769416633018', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_538',
- path: '/models/props/Box-draco.glb', // Box-draco
- category: 'prop',
- keywords: ['Box', 'draco', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_539',
- path: '/models/props/Box.glb', // Box
- category: 'prop',
- keywords: ['Box', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_540',
- path: '/models/props/BoxAnimated.glb', // BoxAnimated
- category: 'prop',
- keywords: ['BoxAnimated', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_541',
- path: '/models/props/BoxInterleaved.glb', // BoxInterleaved
- category: 'prop',
- keywords: ['BoxInterleaved', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_542',
- path: '/models/props/BoxTextured.glb', // BoxTextured
- category: 'prop',
- keywords: ['BoxTextured', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_543',
- path: '/models/props/BoxTexturedNonPowerOfTwo.glb', // BoxTexturedNonPowerOfTwo
- category: 'prop',
- keywords: ['BoxTexturedNonPowerOfTwo', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_544',
- path: '/models/props/BoxVertexColors.glb', // BoxVertexColors
- category: 'prop',
- keywords: ['BoxVertexColors', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_545',
- path: '/models/props/box_1769416633021.glb', // box_1769416633021
- category: 'prop',
- keywords: ['box', '1769416633021', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_546',
- path: '/models/props/cornellBox.glb', // cornellBox
- category: 'prop',
- keywords: ['cornellBox', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_547',
- path: '/models/props/crate1.glb', // crate1
- category: 'prop',
- keywords: ['crate1', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_548',
- path: '/models/props/crate2.glb', // crate2
- category: 'prop',
- keywords: ['crate2', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_549',
- path: '/models/props/crateStack.glb', // crateStack
- category: 'prop',
- keywords: ['crateStack', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_550',
- path: '/models/props/detailed_realistic_model_albusdumbledore_02.glb', // detailed_realistic_model_albusdumbledore_02
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_551',
- path: '/models/props/detailed_realistic_model_albusdumbledore_03.glb', // detailed_realistic_model_albusdumbledore_03
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_552',
- path: '/models/props/detailed_realistic_model_albusdumbledore_04.glb', // detailed_realistic_model_albusdumbledore_04
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_553',
- path: '/models/props/detailed_realistic_model_albusdumbledore_05.glb', // detailed_realistic_model_albusdumbledore_05
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_554',
- path: '/models/props/detailed_realistic_model_albusdumbledore_06.glb', // detailed_realistic_model_albusdumbledore_06
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_555',
- path: '/models/props/detailed_realistic_model_albusdumbledore_07.glb', // detailed_realistic_model_albusdumbledore_07
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_556',
- path: '/models/props/detailed_realistic_model_albusdumbledore_08.glb', // detailed_realistic_model_albusdumbledore_08
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_557',
- path: '/models/props/detailed_realistic_model_albusdumbledore_09.glb', // detailed_realistic_model_albusdumbledore_09
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_558',
- path: '/models/props/detailed_realistic_model_albusdumbledore_10.glb', // detailed_realistic_model_albusdumbledore_10
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_559',
- path: '/models/props/detailed_realistic_model_albusdumbledore_11.glb', // detailed_realistic_model_albusdumbledore_11
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_560',
- path: '/models/props/detailed_realistic_model_albusdumbledore_12.glb', // detailed_realistic_model_albusdumbledore_12
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_561',
- path: '/models/props/detailed_realistic_model_albusdumbledore_13.glb', // detailed_realistic_model_albusdumbledore_13
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_562',
- path: '/models/props/detailed_realistic_model_albusdumbledore_14.glb', // detailed_realistic_model_albusdumbledore_14
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_563',
- path: '/models/props/detailed_realistic_model_albusdumbledore_15.glb', // detailed_realistic_model_albusdumbledore_15
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_564',
- path: '/models/props/detailed_realistic_model_albusdumbledore_16.glb', // detailed_realistic_model_albusdumbledore_16
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_565',
- path: '/models/props/detailed_realistic_model_albusdumbledore_17.glb', // detailed_realistic_model_albusdumbledore_17
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_566',
- path: '/models/props/detailed_realistic_model_albusdumbledore_18.glb', // detailed_realistic_model_albusdumbledore_18
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_567',
- path: '/models/props/detailed_realistic_model_albusdumbledore_19.glb', // detailed_realistic_model_albusdumbledore_19
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_568',
- path: '/models/props/detailed_realistic_model_albusdumbledore_20.glb', // detailed_realistic_model_albusdumbledore_20
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_569',
- path: '/models/props/detailed_realistic_model_albusdumbledore_21.glb', // detailed_realistic_model_albusdumbledore_21
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_570',
- path: '/models/props/detailed_realistic_model_albusdumbledore_22.glb', // detailed_realistic_model_albusdumbledore_22
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_571',
- path: '/models/props/detailed_realistic_model_albusdumbledore_23.glb', // detailed_realistic_model_albusdumbledore_23
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_572',
- path: '/models/props/detailed_realistic_model_albusdumbledore_24.glb', // detailed_realistic_model_albusdumbledore_24
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_573',
- path: '/models/props/detailed_realistic_model_albusdumbledore_25.glb', // detailed_realistic_model_albusdumbledore_25
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_574',
- path: '/models/props/detailed_realistic_model_albusdumbledore_26.glb', // detailed_realistic_model_albusdumbledore_26
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_575',
- path: '/models/props/detailed_realistic_model_albusdumbledore_27.glb', // detailed_realistic_model_albusdumbledore_27
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_576',
- path: '/models/props/detailed_realistic_model_albusdumbledore_28.glb', // detailed_realistic_model_albusdumbledore_28
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'albusdumbledore', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_577',
- path: '/models/props/detailed_realistic_model_dark_01.glb', // detailed_realistic_model_dark_01
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'dark', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_578',
- path: '/models/props/detailed_realistic_model_default_01.glb', // detailed_realistic_model_default_01
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'default', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_579',
- path: '/models/props/detailed_realistic_model_default_02.glb', // detailed_realistic_model_default_02
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'default', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_580',
- path: '/models/props/detailed_realistic_model_default_03.glb', // detailed_realistic_model_default_03
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'default', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_581',
- path: '/models/props/detailed_realistic_model_default_04.glb', // detailed_realistic_model_default_04
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'default', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_582',
- path: '/models/props/detailed_realistic_model_default_05.glb', // detailed_realistic_model_default_05
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'default', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_583',
- path: '/models/props/detailed_realistic_model_floatingcandles_02.glb', // detailed_realistic_model_floatingcandles_02
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_584',
- path: '/models/props/detailed_realistic_model_floatingcandles_03.glb', // detailed_realistic_model_floatingcandles_03
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_585',
- path: '/models/props/detailed_realistic_model_floatingcandles_04.glb', // detailed_realistic_model_floatingcandles_04
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_586',
- path: '/models/props/detailed_realistic_model_floatingcandles_05.glb', // detailed_realistic_model_floatingcandles_05
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_587',
- path: '/models/props/detailed_realistic_model_floatingcandles_06.glb', // detailed_realistic_model_floatingcandles_06
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_588',
- path: '/models/props/detailed_realistic_model_floatingcandles_07.glb', // detailed_realistic_model_floatingcandles_07
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_589',
- path: '/models/props/detailed_realistic_model_floatingcandles_08.glb', // detailed_realistic_model_floatingcandles_08
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_590',
- path: '/models/props/detailed_realistic_model_floatingcandles_09.glb', // detailed_realistic_model_floatingcandles_09
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_591',
- path: '/models/props/detailed_realistic_model_floatingcandles_10.glb', // detailed_realistic_model_floatingcandles_10
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_592',
- path: '/models/props/detailed_realistic_model_floatingcandles_11.glb', // detailed_realistic_model_floatingcandles_11
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_593',
- path: '/models/props/detailed_realistic_model_floatingcandles_12.glb', // detailed_realistic_model_floatingcandles_12
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_594',
- path: '/models/props/detailed_realistic_model_floatingcandles_13.glb', // detailed_realistic_model_floatingcandles_13
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_595',
- path: '/models/props/detailed_realistic_model_floatingcandles_14.glb', // detailed_realistic_model_floatingcandles_14
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_596',
- path: '/models/props/detailed_realistic_model_floatingcandles_15.glb', // detailed_realistic_model_floatingcandles_15
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_597',
- path: '/models/props/detailed_realistic_model_floatingcandles_16.glb', // detailed_realistic_model_floatingcandles_16
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_598',
- path: '/models/props/detailed_realistic_model_floatingcandles_17.glb', // detailed_realistic_model_floatingcandles_17
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_599',
- path: '/models/props/detailed_realistic_model_floatingcandles_18.glb', // detailed_realistic_model_floatingcandles_18
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_600',
- path: '/models/props/detailed_realistic_model_floatingcandles_19.glb', // detailed_realistic_model_floatingcandles_19
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_601',
- path: '/models/props/detailed_realistic_model_floatingcandles_20.glb', // detailed_realistic_model_floatingcandles_20
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_602',
- path: '/models/props/detailed_realistic_model_floatingcandles_21.glb', // detailed_realistic_model_floatingcandles_21
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_603',
- path: '/models/props/detailed_realistic_model_floatingcandles_22.glb', // detailed_realistic_model_floatingcandles_22
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_604',
- path: '/models/props/detailed_realistic_model_floatingcandles_23.glb', // detailed_realistic_model_floatingcandles_23
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_605',
- path: '/models/props/detailed_realistic_model_floatingcandles_24.glb', // detailed_realistic_model_floatingcandles_24
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_606',
- path: '/models/props/detailed_realistic_model_floatingcandles_25.glb', // detailed_realistic_model_floatingcandles_25
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_607',
- path: '/models/props/detailed_realistic_model_floatingcandles_26.glb', // detailed_realistic_model_floatingcandles_26
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_608',
- path: '/models/props/detailed_realistic_model_floatingcandles_27.glb', // detailed_realistic_model_floatingcandles_27
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_609',
- path: '/models/props/detailed_realistic_model_floatingcandles_28.glb', // detailed_realistic_model_floatingcandles_28
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_610',
- path: '/models/props/detailed_realistic_model_floatingcandles_29.glb', // detailed_realistic_model_floatingcandles_29
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_611',
- path: '/models/props/detailed_realistic_model_floatingcandles_30.glb', // detailed_realistic_model_floatingcandles_30
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floatingcandles', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_612',
- path: '/models/props/detailed_realistic_model_floating_01.glb', // detailed_realistic_model_floating_01
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floating', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_613',
- path: '/models/props/detailed_realistic_model_floating_02.glb', // detailed_realistic_model_floating_02
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'floating', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_614',
- path: '/models/props/detailed_realistic_model_ghostly_01.glb', // detailed_realistic_model_ghostly_01
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'ghostly', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_615',
- path: '/models/props/detailed_realistic_model_glass_01.glb', // detailed_realistic_model_glass_01
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'glass', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_616',
- path: '/models/props/detailed_realistic_model_glass_02.glb', // detailed_realistic_model_glass_02
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'glass', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_617',
- path: '/models/props/detailed_realistic_model_goldensnitch_01.glb', // detailed_realistic_model_goldensnitch_01
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'goldensnitch', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_618',
- path: '/models/props/detailed_realistic_model_goldensnitch_02.glb', // detailed_realistic_model_goldensnitch_02
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'goldensnitch', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_619',
- path: '/models/props/detailed_realistic_model_hogwarts_01.glb', // detailed_realistic_model_hogwarts_01
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'hogwarts', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_620',
- path: '/models/props/detailed_realistic_model_leatherbound_01.glb', // detailed_realistic_model_leatherbound_01
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'leatherbound', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_621',
- path: '/models/props/detailed_realistic_model_leatherbound_02.glb', // detailed_realistic_model_leatherbound_02
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'leatherbound', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_622',
- path: '/models/props/detailed_realistic_model_magic_01.glb', // detailed_realistic_model_magic_01
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'magic', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_623',
- path: '/models/props/detailed_realistic_model_portrait_01.glb', // detailed_realistic_model_portrait_01
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'portrait', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_624',
- path: '/models/props/detailed_realistic_model_portrait_02.glb', // detailed_realistic_model_portrait_02
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'portrait', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_625',
- path: '/models/props/detailed_realistic_model_potions_01.glb', // detailed_realistic_model_potions_01
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'potions', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_626',
- path: '/models/props/detailed_realistic_model_potions_02.glb', // detailed_realistic_model_potions_02
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'potions', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_627',
- path: '/models/props/detailed_realistic_model_sleeping_01.glb', // detailed_realistic_model_sleeping_01
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'sleeping', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_628',
- path: '/models/props/detailed_realistic_model_solid_01.glb', // detailed_realistic_model_solid_01
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'solid', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_629',
- path: '/models/props/detailed_realistic_model_solid_02.glb', // detailed_realistic_model_solid_02
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'solid', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_630',
- path: '/models/props/detailed_realistic_model_solid_03.glb', // detailed_realistic_model_solid_03
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'solid', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_631',
- path: '/models/props/detailed_realistic_model_solid_04.glb', // detailed_realistic_model_solid_04
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'solid', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_632',
- path: '/models/props/detailed_realistic_model_solid_05.glb', // detailed_realistic_model_solid_05
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'solid', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_633',
- path: '/models/props/detailed_realistic_model_solid_06.glb', // detailed_realistic_model_solid_06
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'solid', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_634',
- path: '/models/props/detailed_realistic_model_solid_07.glb', // detailed_realistic_model_solid_07
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'solid', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_635',
- path: '/models/props/detailed_realistic_model_solid_08.glb', // detailed_realistic_model_solid_08
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'solid', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_636',
- path: '/models/props/detailed_realistic_model_solid_09.glb', // detailed_realistic_model_solid_09
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'solid', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_637',
- path: '/models/props/detailed_realistic_model_solid_10.glb', // detailed_realistic_model_solid_10
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'solid', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_638',
- path: '/models/props/detailed_realistic_model_solid_11.glb', // detailed_realistic_model_solid_11
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'solid', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_639',
- path: '/models/props/detailed_realistic_model_solid_12.glb', // detailed_realistic_model_solid_12
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'solid', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_640',
- path: '/models/props/detailed_realistic_model_solid_13.glb', // detailed_realistic_model_solid_13
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'solid', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_641',
- path: '/models/props/detailed_realistic_model_solid_14.glb', // detailed_realistic_model_solid_14
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'solid', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_642',
- path: '/models/props/detailed_realistic_model_solid_15.glb', // detailed_realistic_model_solid_15
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'solid', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_643',
- path: '/models/props/detailed_realistic_model_solid_16.glb', // detailed_realistic_model_solid_16
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'solid', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_644',
- path: '/models/props/detailed_realistic_model_solid_17.glb', // detailed_realistic_model_solid_17
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'solid', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_645',
- path: '/models/props/detailed_realistic_model_solid_18.glb', // detailed_realistic_model_solid_18
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'solid', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_646',
- path: '/models/props/detailed_realistic_model_sortinghat_01.glb', // detailed_realistic_model_sortinghat_01
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'sortinghat', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_647',
- path: '/models/props/detailed_realistic_model_sortinghat_02.glb', // detailed_realistic_model_sortinghat_02
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'sortinghat', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_648',
- path: '/models/props/detailed_realistic_model_sortinghat_03.glb', // detailed_realistic_model_sortinghat_03
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'sortinghat', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_649',
- path: '/models/props/detailed_realistic_model_sortinghat_04.glb', // detailed_realistic_model_sortinghat_04
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'sortinghat', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_650',
- path: '/models/props/detailed_realistic_model_sortinghat_05.glb', // detailed_realistic_model_sortinghat_05
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'sortinghat', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_651',
- path: '/models/props/detailed_realistic_model_sortinghat_06.glb', // detailed_realistic_model_sortinghat_06
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'sortinghat', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_652',
- path: '/models/props/detailed_realistic_model_sortinghat_07.glb', // detailed_realistic_model_sortinghat_07
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'sortinghat', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_653',
- path: '/models/props/detailed_realistic_model_sortinghat_08.glb', // detailed_realistic_model_sortinghat_08
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'sortinghat', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_654',
- path: '/models/props/detailed_realistic_model_sortinghat_09.glb', // detailed_realistic_model_sortinghat_09
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'sortinghat', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_655',
- path: '/models/props/detailed_realistic_model_sortinghat_10.glb', // detailed_realistic_model_sortinghat_10
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'sortinghat', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_656',
- path: '/models/props/detailed_realistic_model_sortinghat_11.glb', // detailed_realistic_model_sortinghat_11
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'sortinghat', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_657',
- path: '/models/props/detailed_realistic_model_sortinghat_12.glb', // detailed_realistic_model_sortinghat_12
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'sortinghat', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_658',
- path: '/models/props/detailed_realistic_model_sortinghat_13.glb', // detailed_realistic_model_sortinghat_13
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'sortinghat', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_659',
- path: '/models/props/detailed_realistic_model_sortinghat_14.glb', // detailed_realistic_model_sortinghat_14
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'sortinghat', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_660',
- path: '/models/props/detailed_realistic_model_sortinghat_15.glb', // detailed_realistic_model_sortinghat_15
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'sortinghat', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_661',
- path: '/models/props/detailed_realistic_model_sortinghat_16.glb', // detailed_realistic_model_sortinghat_16
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'sortinghat', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_662',
- path: '/models/props/detailed_realistic_model_sorting_01.glb', // detailed_realistic_model_sorting_01
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'sorting', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_663',
- path: '/models/props/detailed_realistic_model_sorting_01_1769413346495.glb', // detailed_realistic_model_sorting_01_1769413346495
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'sorting', '1769413346495', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_664',
- path: '/models/props/detailed_realistic_model_sorting_02.glb', // detailed_realistic_model_sorting_02
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'sorting', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_665',
- path: '/models/props/detailed_realistic_model_stack_01.glb', // detailed_realistic_model_stack_01
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'stack', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_666',
- path: '/models/props/detailed_realistic_model_stack_02.glb', // detailed_realistic_model_stack_02
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'stack', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_667',
- path: '/models/props/detailed_realistic_model_test_01.glb', // detailed_realistic_model_test_01
- category: 'prop',
- keywords: ['detailed', 'realistic', 'model', 'test', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_668',
- path: '/models/props/ExplodingBarrel.glb', // ExplodingBarrel
- category: 'prop',
- keywords: ['ExplodingBarrel', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_669',
- path: '/models/props/gemOnly.glb', // gemOnly
- category: 'prop',
- keywords: ['gemOnly', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_670',
- path: '/models/props/GlassHurricaneCandleHolder.glb', // GlassHurricaneCandleHolder
- category: 'prop',
- keywords: ['GlassHurricaneCandleHolder', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_671',
- path: '/models/props/graveyard-kit_candle-multiple.glb', // graveyard-kit_candle-multiple
- category: 'prop',
- keywords: ['graveyard', 'kit', 'candle', 'multiple', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_672',
- path: '/models/props/graveyard-kit_candle.glb', // graveyard-kit_candle
- category: 'prop',
- keywords: ['graveyard', 'kit', 'candle', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_673',
- path: '/models/props/graveyard-kit_lantern-candle.glb', // graveyard-kit_lantern-candle
- category: 'prop',
- keywords: ['graveyard', 'kit', 'lantern', 'candle', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_674',
- path: '/models/props/platformer-kit_barrel.glb', // platformer-kit_barrel
- category: 'prop',
- keywords: ['platformer', 'kit', 'barrel', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_675',
- path: '/models/props/platformer-kit_chest.glb', // platformer-kit_chest
- category: 'prop',
- keywords: ['platformer', 'kit', 'chest', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_676',
- path: '/models/props/platformer-kit_coin-bronze.glb', // platformer-kit_coin-bronze
- category: 'prop',
- keywords: ['platformer', 'kit', 'coin', 'bronze', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_677',
- path: '/models/props/platformer-kit_coin-gold.glb', // platformer-kit_coin-gold
- category: 'prop',
- keywords: ['platformer', 'kit', 'coin', 'gold', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_678',
- path: '/models/props/platformer-kit_coin-silver.glb', // platformer-kit_coin-silver
- category: 'prop',
- keywords: ['platformer', 'kit', 'coin', 'silver', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_679',
- path: '/models/props/platformer-kit_crate-item-strong.glb', // platformer-kit_crate-item-strong
- category: 'prop',
- keywords: ['platformer', 'kit', 'crate', 'item', 'strong', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_680',
- path: '/models/props/platformer-kit_crate-item.glb', // platformer-kit_crate-item
- category: 'prop',
- keywords: ['platformer', 'kit', 'crate', 'item', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_681',
- path: '/models/props/platformer-kit_crate-strong.glb', // platformer-kit_crate-strong
- category: 'prop',
- keywords: ['platformer', 'kit', 'crate', 'strong', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_682',
- path: '/models/props/platformer-kit_crate.glb', // platformer-kit_crate
- category: 'prop',
- keywords: ['platformer', 'kit', 'crate', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_683',
- path: '/models/props/platformer-kit_flag.glb', // platformer-kit_flag
- category: 'prop',
- keywords: ['platformer', 'kit', 'flag', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_684',
- path: '/models/props/platformer-kit_key.glb', // platformer-kit_key
- category: 'prop',
- keywords: ['platformer', 'kit', 'key', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_685',
- path: '/models/props/three.js-examples_BoomBox.glb', // three.js-examples_BoomBox
- category: 'prop',
- keywords: ['three.js', 'examples', 'BoomBox', 'props'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_686',
- path: '/models/samples/ABeautifulGame.glb', // ABeautifulGame
- category: 'prop',
- keywords: ['ABeautifulGame', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_687',
- path: '/models/samples/alien.glb', // alien
- category: 'prop',
- keywords: ['alien', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_688',
- path: '/models/samples/AnimatedColorsCube.glb', // AnimatedColorsCube
- category: 'prop',
- keywords: ['AnimatedColorsCube', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_689',
- path: '/models/samples/AnimationPointerUVs.glb', // AnimationPointerUVs
- category: 'prop',
- keywords: ['AnimationPointerUVs', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_690',
- path: '/models/samples/AntiqueCamera.glb', // AntiqueCamera
- category: 'prop',
- keywords: ['AntiqueCamera', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_691',
- path: '/models/samples/Avocado.glb', // Avocado
- category: 'prop',
- keywords: ['Avocado', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_692',
- path: '/models/samples/babylon-assets_2CylinderEngine.glb', // babylon-assets_2CylinderEngine
- category: 'prop',
- keywords: ['babylon', 'assets', '2CylinderEngine', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_693',
- path: '/models/samples/babylon-assets_Avocado.glb', // babylon-assets_Avocado
- category: 'prop',
- keywords: ['babylon', 'assets', 'Avocado', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_694',
- path: '/models/samples/babylon-assets_BrainStem.glb', // babylon-assets_BrainStem
- category: 'prop',
- keywords: ['babylon', 'assets', 'BrainStem', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_695',
- path: '/models/samples/babylon-assets_Corset.glb', // babylon-assets_Corset
- category: 'prop',
- keywords: ['babylon', 'assets', 'Corset', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_696',
- path: '/models/samples/babylon-assets_Duck.glb', // babylon-assets_Duck
- category: 'prop',
- keywords: ['babylon', 'assets', 'Duck', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_697',
- path: '/models/samples/babylon-assets_Lantern.glb', // babylon-assets_Lantern
- category: 'prop',
- keywords: ['babylon', 'assets', 'Lantern', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_698',
- path: '/models/samples/babylon-assets_MetalRoughSpheres.glb', // babylon-assets_MetalRoughSpheres
- category: 'prop',
- keywords: ['babylon', 'assets', 'MetalRoughSpheres', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_699',
- path: '/models/samples/babylon-assets_RiggedFigure.glb', // babylon-assets_RiggedFigure
- category: 'prop',
- keywords: ['babylon', 'assets', 'RiggedFigure', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_700',
- path: '/models/samples/babylon-assets_RiggedSimple.glb', // babylon-assets_RiggedSimple
- category: 'prop',
- keywords: ['babylon', 'assets', 'RiggedSimple', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_701',
- path: '/models/samples/babylon-assets_SmilingFace.glb', // babylon-assets_SmilingFace
- category: 'prop',
- keywords: ['babylon', 'assets', 'SmilingFace', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_702',
- path: '/models/samples/babylon-assets_TextureSettingsTest.glb', // babylon-assets_TextureSettingsTest
- category: 'prop',
- keywords: ['babylon', 'assets', 'TextureSettingsTest', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_703',
- path: '/models/samples/babylon-assets_VC.glb', // babylon-assets_VC
- category: 'prop',
- keywords: ['babylon', 'assets', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_704',
- path: '/models/samples/babylon-assets_WalkingLady.glb', // babylon-assets_WalkingLady
- category: 'prop',
- keywords: ['babylon', 'assets', 'WalkingLady', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_705',
- path: '/models/samples/babylonBuoy.glb', // babylonBuoy
- category: 'prop',
- keywords: ['babylonBuoy', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_706',
- path: '/models/samples/BabylonShaderBall_Simple.glb', // BabylonShaderBall_Simple
- category: 'prop',
- keywords: ['BabylonShaderBall', 'Simple', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_707',
- path: '/models/samples/ballMesh.glb', // ballMesh
- category: 'prop',
- keywords: ['ballMesh', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_708',
- path: '/models/samples/bars.glb', // bars
- category: 'prop',
- keywords: ['bars', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_709',
- path: '/models/samples/Bee.glb', // Bee
- category: 'prop',
- keywords: ['Bee', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_710',
- path: '/models/samples/blackPearl.glb', // blackPearl
- category: 'prop',
- keywords: ['blackPearl', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_711',
- path: '/models/samples/BrainStem.glb', // BrainStem
- category: 'prop',
- keywords: ['BrainStem', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_712',
- path: '/models/samples/cannon.glb', // cannon
- category: 'prop',
- keywords: ['cannon', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_713',
- path: '/models/samples/ceiling corner.glb', // ceiling corner
- category: 'prop',
- keywords: ['ceiling', 'corner', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_714',
- path: '/models/samples/ceiling straight.glb', // ceiling straight
- category: 'prop',
- keywords: ['ceiling', 'straight', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_715',
- path: '/models/samples/ceiling.glb', // ceiling
- category: 'prop',
- keywords: ['ceiling', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_716',
- path: '/models/samples/ChronographWatch.glb', // ChronographWatch
- category: 'prop',
- keywords: ['ChronographWatch', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_717',
- path: '/models/samples/clothFolds.glb', // clothFolds
- category: 'prop',
- keywords: ['clothFolds', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_718',
- path: '/models/samples/cloth_meshV1.glb', // cloth_meshV1
- category: 'prop',
- keywords: ['cloth', 'meshV1', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_719',
- path: '/models/samples/cloth_meshV2.glb', // cloth_meshV2
- category: 'prop',
- keywords: ['cloth', 'meshV2', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_720',
- path: '/models/samples/cloth_meshV3.glb', // cloth_meshV3
- category: 'prop',
- keywords: ['cloth', 'meshV3', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_721',
- path: '/models/samples/cloth_meshV4.glb', // cloth_meshV4
- category: 'prop',
- keywords: ['cloth', 'meshV4', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_722',
- path: '/models/samples/cloth_meshV5.glb', // cloth_meshV5
- category: 'prop',
- keywords: ['cloth', 'meshV5', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_723',
- path: '/models/samples/cloth_meshV6.glb', // cloth_meshV6
- category: 'prop',
- keywords: ['cloth', 'meshV6', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_724',
- path: '/models/samples/cloth_meshV7.glb', // cloth_meshV7
- category: 'prop',
- keywords: ['cloth', 'meshV7', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_725',
- path: '/models/samples/cloth_meshV8.glb', // cloth_meshV8
- category: 'prop',
- keywords: ['cloth', 'meshV8', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_726',
- path: '/models/samples/cloth_meshV9.glb', // cloth_meshV9
- category: 'prop',
- keywords: ['cloth', 'meshV9', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_727',
- path: '/models/samples/coffin.glb', // coffin
- category: 'prop',
- keywords: ['coffin', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_728',
- path: '/models/samples/coffinOpen.glb', // coffinOpen
- category: 'prop',
- keywords: ['coffinOpen', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_729',
- path: '/models/samples/CommercialRefrigerator.glb', // CommercialRefrigerator
- category: 'prop',
- keywords: ['CommercialRefrigerator', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_730',
- path: '/models/samples/corner.glb', // corner
- category: 'prop',
- keywords: ['corner', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_731',
- path: '/models/samples/corner2.glb', // corner2
- category: 'prop',
- keywords: ['corner2', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_732',
- path: '/models/samples/Corset.glb', // Corset
- category: 'prop',
- keywords: ['Corset', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_733',
- path: '/models/samples/cottage.glb', // cottage
- category: 'prop',
- keywords: ['cottage', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_734',
- path: '/models/samples/D20_Animation.glb', // D20_Animation
- category: 'prop',
- keywords: ['D20', 'Animation', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_735',
- path: '/models/samples/DirectionalLight.glb', // DirectionalLight
- category: 'prop',
- keywords: ['DirectionalLight', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_736',
- path: '/models/samples/Duck.glb', // Duck
- category: 'prop',
- keywords: ['Duck', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_737',
- path: '/models/samples/emoji_heart.glb', // emoji_heart
- category: 'prop',
- keywords: ['emoji', 'heart', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_738',
- path: '/models/samples/fantasy-town-kit_blade.glb', // fantasy-town-kit_blade
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'blade', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_739',
- path: '/models/samples/fantasy-town-kit_fountain-corner-inner.glb', // fantasy-town-kit_fountain-corner-inner
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'fountain', 'corner', 'inner', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_740',
- path: '/models/samples/fantasy-town-kit_fountain-curved.glb', // fantasy-town-kit_fountain-curved
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'fountain', 'curved', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_741',
- path: '/models/samples/fantasy-town-kit_fountain-round-detail.glb', // fantasy-town-kit_fountain-round-detail
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'fountain', 'round', 'detail', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_742',
- path: '/models/samples/fantasy-town-kit_fountain-round.glb', // fantasy-town-kit_fountain-round
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'fountain', 'round', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_743',
- path: '/models/samples/fantasy-town-kit_fountain-square-detail.glb', // fantasy-town-kit_fountain-square-detail
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'fountain', 'square', 'detail', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_744',
- path: '/models/samples/fantasy-town-kit_fountain-square.glb', // fantasy-town-kit_fountain-square
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'fountain', 'square', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_745',
- path: '/models/samples/fantasy-town-kit_hedge-curved.glb', // fantasy-town-kit_hedge-curved
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'hedge', 'curved', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_746',
- path: '/models/samples/fantasy-town-kit_hedge-large-curved.glb', // fantasy-town-kit_hedge-large-curved
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'hedge', 'large', 'curved', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_747',
- path: '/models/samples/fantasy-town-kit_lantern.glb', // fantasy-town-kit_lantern
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'lantern', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_748',
- path: '/models/samples/fantasy-town-kit_planks-opening.glb', // fantasy-town-kit_planks-opening
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'planks', 'opening', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_749',
- path: '/models/samples/fantasy-town-kit_planks.glb', // fantasy-town-kit_planks
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'planks', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_750',
- path: '/models/samples/fantasy-town-kit_road-bend.glb', // fantasy-town-kit_road-bend
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'road', 'bend', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_751',
- path: '/models/samples/fantasy-town-kit_road-corner-inner.glb', // fantasy-town-kit_road-corner-inner
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'road', 'corner', 'inner', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_752',
- path: '/models/samples/fantasy-town-kit_road-corner.glb', // fantasy-town-kit_road-corner
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'road', 'corner', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_753',
- path: '/models/samples/fantasy-town-kit_stairs-wide-wood-handrail.glb', // fantasy-town-kit_stairs-wide-wood-handrail
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'stairs', 'wide', 'wood', 'handrail', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_754',
- path: '/models/samples/fantasy-town-kit_stairs-wide-wood.glb', // fantasy-town-kit_stairs-wide-wood
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'stairs', 'wide', 'wood', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_755',
- path: '/models/samples/fantasy-town-kit_stairs-wood-handrail.glb', // fantasy-town-kit_stairs-wood-handrail
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'stairs', 'wood', 'handrail', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_756',
- path: '/models/samples/fantasy-town-kit_stairs-wood.glb', // fantasy-town-kit_stairs-wood
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'stairs', 'wood', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_757',
- path: '/models/samples/fantasy-town-kit_stall-green.glb', // fantasy-town-kit_stall-green
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'stall', 'green', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_758',
- path: '/models/samples/fantasy-town-kit_stall-red.glb', // fantasy-town-kit_stall-red
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'stall', 'red', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_759',
- path: '/models/samples/fantasy-town-kit_stall.glb', // fantasy-town-kit_stall
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'stall', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_760',
- path: '/models/samples/fantasy-town-kit_watermill-wide.glb', // fantasy-town-kit_watermill-wide
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'watermill', 'wide', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_761',
- path: '/models/samples/fantasy-town-kit_watermill.glb', // fantasy-town-kit_watermill
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'watermill', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_762',
- path: '/models/samples/fantasy-town-kit_wheel.glb', // fantasy-town-kit_wheel
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'wheel', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_763',
- path: '/models/samples/fantasy-town-kit_windmill.glb', // fantasy-town-kit_windmill
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'windmill', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_764',
- path: '/models/samples/Gap.glb', // Gap
- category: 'prop',
- keywords: ['Gap', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_765',
- path: '/models/samples/gothic_cloister_corner.glb', // gothic_cloister_corner
- category: 'prop',
- keywords: ['gothic', 'cloister', 'corner', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_766',
- path: '/models/samples/graveyard-kit_altar-wood.glb', // graveyard-kit_altar-wood
- category: 'prop',
- keywords: ['graveyard', 'kit', 'altar', 'wood', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_767',
- path: '/models/samples/graveyard-kit_border-pillar.glb', // graveyard-kit_border-pillar
- category: 'prop',
- keywords: ['graveyard', 'kit', 'border', 'pillar', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_768',
- path: '/models/samples/graveyard-kit_coffin-old.glb', // graveyard-kit_coffin-old
- category: 'prop',
- keywords: ['graveyard', 'kit', 'coffin', 'old', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_769',
- path: '/models/samples/graveyard-kit_coffin.glb', // graveyard-kit_coffin
- category: 'prop',
- keywords: ['graveyard', 'kit', 'coffin', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_770',
- path: '/models/samples/graveyard-kit_cross-wood.glb', // graveyard-kit_cross-wood
- category: 'prop',
- keywords: ['graveyard', 'kit', 'cross', 'wood', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_771',
- path: '/models/samples/graveyard-kit_cross.glb', // graveyard-kit_cross
- category: 'prop',
- keywords: ['graveyard', 'kit', 'cross', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_772',
- path: '/models/samples/graveyard-kit_crypt-a.glb', // graveyard-kit_crypt-a
- category: 'prop',
- keywords: ['graveyard', 'kit', 'crypt', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_773',
- path: '/models/samples/graveyard-kit_crypt-b.glb', // graveyard-kit_crypt-b
- category: 'prop',
- keywords: ['graveyard', 'kit', 'crypt', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_774',
- path: '/models/samples/graveyard-kit_crypt-large.glb', // graveyard-kit_crypt-large
- category: 'prop',
- keywords: ['graveyard', 'kit', 'crypt', 'large', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_775',
- path: '/models/samples/graveyard-kit_crypt-small.glb', // graveyard-kit_crypt-small
- category: 'prop',
- keywords: ['graveyard', 'kit', 'crypt', 'small', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_776',
- path: '/models/samples/graveyard-kit_crypt.glb', // graveyard-kit_crypt
- category: 'prop',
- keywords: ['graveyard', 'kit', 'crypt', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_777',
- path: '/models/samples/graveyard-kit_debris-wood.glb', // graveyard-kit_debris-wood
- category: 'prop',
- keywords: ['graveyard', 'kit', 'debris', 'wood', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_778',
- path: '/models/samples/graveyard-kit_debris.glb', // graveyard-kit_debris
- category: 'prop',
- keywords: ['graveyard', 'kit', 'debris', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_779',
- path: '/models/samples/graveyard-kit_detail-chalice.glb', // graveyard-kit_detail-chalice
- category: 'prop',
- keywords: ['graveyard', 'kit', 'detail', 'chalice', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_780',
- path: '/models/samples/graveyard-kit_fire-basket.glb', // graveyard-kit_fire-basket
- category: 'prop',
- keywords: ['graveyard', 'kit', 'fire', 'basket', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_781',
- path: '/models/samples/graveyard-kit_grave-border.glb', // graveyard-kit_grave-border
- category: 'prop',
- keywords: ['graveyard', 'kit', 'grave', 'border', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_782',
- path: '/models/samples/graveyard-kit_grave.glb', // graveyard-kit_grave
- category: 'prop',
- keywords: ['graveyard', 'kit', 'grave', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_783',
- path: '/models/samples/graveyard-kit_hay-bale-bundled.glb', // graveyard-kit_hay-bale-bundled
- category: 'prop',
- keywords: ['graveyard', 'kit', 'hay', 'bale', 'bundled', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_784',
- path: '/models/samples/graveyard-kit_hay-bale.glb', // graveyard-kit_hay-bale
- category: 'prop',
- keywords: ['graveyard', 'kit', 'hay', 'bale', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_785',
- path: '/models/samples/graveyard-kit_lantern-glass.glb', // graveyard-kit_lantern-glass
- category: 'prop',
- keywords: ['graveyard', 'kit', 'lantern', 'glass', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_786',
- path: '/models/samples/graveyard-kit_lightpost-all.glb', // graveyard-kit_lightpost-all
- category: 'prop',
- keywords: ['graveyard', 'kit', 'lightpost', 'all', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_787',
- path: '/models/samples/graveyard-kit_lightpost-double.glb', // graveyard-kit_lightpost-double
- category: 'prop',
- keywords: ['graveyard', 'kit', 'lightpost', 'double', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_788',
- path: '/models/samples/graveyard-kit_lightpost-single.glb', // graveyard-kit_lightpost-single
- category: 'prop',
- keywords: ['graveyard', 'kit', 'lightpost', 'single', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_789',
- path: '/models/samples/graveyard-kit_pillar-large.glb', // graveyard-kit_pillar-large
- category: 'prop',
- keywords: ['graveyard', 'kit', 'pillar', 'large', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_790',
- path: '/models/samples/graveyard-kit_pillar-small.glb', // graveyard-kit_pillar-small
- category: 'prop',
- keywords: ['graveyard', 'kit', 'pillar', 'small', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_791',
- path: '/models/samples/graveyard-kit_pillar-square.glb', // graveyard-kit_pillar-square
- category: 'prop',
- keywords: ['graveyard', 'kit', 'pillar', 'square', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_792',
- path: '/models/samples/graveyard-kit_pine-crooked.glb', // graveyard-kit_pine-crooked
- category: 'prop',
- keywords: ['graveyard', 'kit', 'pine', 'crooked', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_793',
- path: '/models/samples/graveyard-kit_pine-fall-crooked.glb', // graveyard-kit_pine-fall-crooked
- category: 'prop',
- keywords: ['graveyard', 'kit', 'pine', 'fall', 'crooked', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_794',
- path: '/models/samples/graveyard-kit_pine-fall.glb', // graveyard-kit_pine-fall
- category: 'prop',
- keywords: ['graveyard', 'kit', 'pine', 'fall', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_795',
- path: '/models/samples/graveyard-kit_pine.glb', // graveyard-kit_pine
- category: 'prop',
- keywords: ['graveyard', 'kit', 'pine', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_796',
- path: '/models/samples/graveyard-kit_pumpkin-tall.glb', // graveyard-kit_pumpkin-tall
- category: 'prop',
- keywords: ['graveyard', 'kit', 'pumpkin', 'tall', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_797',
- path: '/models/samples/graveyard-kit_pumpkin.glb', // graveyard-kit_pumpkin
- category: 'prop',
- keywords: ['graveyard', 'kit', 'pumpkin', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_798',
- path: '/models/samples/graveyard-kit_road.glb', // graveyard-kit_road
- category: 'prop',
- keywords: ['graveyard', 'kit', 'road', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_799',
- path: '/models/samples/graveyard-kit_shovel-dirt.glb', // graveyard-kit_shovel-dirt
- category: 'prop',
- keywords: ['graveyard', 'kit', 'shovel', 'dirt', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_800',
- path: '/models/samples/graveyard-kit_shovel.glb', // graveyard-kit_shovel
- category: 'prop',
- keywords: ['graveyard', 'kit', 'shovel', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_801',
- path: '/models/samples/graveyard-kit_trunk-long.glb', // graveyard-kit_trunk-long
- category: 'prop',
- keywords: ['graveyard', 'kit', 'trunk', 'long', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_802',
- path: '/models/samples/graveyard-kit_trunk.glb', // graveyard-kit_trunk
- category: 'prop',
- keywords: ['graveyard', 'kit', 'trunk', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_803',
- path: '/models/samples/graveyard-kit_urn-round.glb', // graveyard-kit_urn-round
- category: 'prop',
- keywords: ['graveyard', 'kit', 'urn', 'round', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_804',
- path: '/models/samples/graveyard-kit_urn-square.glb', // graveyard-kit_urn-square
- category: 'prop',
- keywords: ['graveyard', 'kit', 'urn', 'square', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_805',
- path: '/models/samples/graveyardScene.glb', // graveyardScene
- category: 'prop',
- keywords: ['graveyardScene', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_806',
- path: '/models/samples/greenEnergyBall.glb', // greenEnergyBall
- category: 'prop',
- keywords: ['greenEnergyBall', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_807',
- path: '/models/samples/greySnapper_vertColor.glb', // greySnapper_vertColor
- category: 'prop',
- keywords: ['greySnapper', 'vertColor', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_808',
- path: '/models/samples/HarryPotter_Hat_Test.glb', // HarryPotter_Hat_Test
- category: 'prop',
- keywords: ['HarryPotter', 'Hat', 'Test', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_809',
- path: '/models/samples/head.glb', // head
- category: 'prop',
- keywords: ['head', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_810',
- path: '/models/samples/hexTile.glb', // hexTile
- category: 'prop',
- keywords: ['hexTile', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_811',
- path: '/models/samples/hogwarts_corridor.glb', // hogwarts_corridor
- category: 'prop',
- keywords: ['hogwarts', 'corridor', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_812',
- path: '/models/samples/holiday2021.glb', // holiday2021
- category: 'prop',
- keywords: ['holiday2021', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_813',
- path: '/models/samples/hollowLog.glb', // hollowLog
- category: 'prop',
- keywords: ['hollowLog', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_814',
- path: '/models/samples/inn.glb', // inn
- category: 'prop',
- keywords: ['inn', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_815',
- path: '/models/samples/IridescentDishWithOlives.glb', // IridescentDishWithOlives
- category: 'prop',
- keywords: ['IridescentDishWithOlives', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_816',
- path: '/models/samples/iridescentSphere.glb', // iridescentSphere
- category: 'prop',
- keywords: ['iridescentSphere', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_817',
- path: '/models/samples/KHR_materials_volume_testing.glb', // KHR_materials_volume_testing
- category: 'prop',
- keywords: ['KHR', 'materials', 'volume', 'testing', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_818',
- path: '/models/samples/Lantern.glb', // Lantern
- category: 'prop',
- keywords: ['Lantern', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_819',
- path: '/models/samples/left.glb', // left
- category: 'prop',
- keywords: ['left', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_820',
- path: '/models/samples/lightFixture.glb', // lightFixture
- category: 'prop',
- keywords: ['lightFixture', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_821',
- path: '/models/samples/lightPaddle.glb', // lightPaddle
- category: 'prop',
- keywords: ['lightPaddle', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_822',
- path: '/models/samples/lightPost1.glb', // lightPost1
- category: 'prop',
- keywords: ['lightPost1', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_823',
- path: '/models/samples/lightPost2.glb', // lightPost2
- category: 'prop',
- keywords: ['lightPost2', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_824',
- path: '/models/samples/lightPost3.glb', // lightPost3
- category: 'prop',
- keywords: ['lightPost3', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_825',
- path: '/models/samples/logSaw.glb', // logSaw
- category: 'prop',
- keywords: ['logSaw', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_826',
- path: '/models/samples/l_hand_lhs.glb', // l_hand_lhs
- category: 'prop',
- keywords: ['hand', 'lhs', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_827',
- path: '/models/samples/l_hand_rhs.glb', // l_hand_rhs
- category: 'prop',
- keywords: ['hand', 'rhs', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_828',
- path: '/models/samples/marineGround.glb', // marineGround
- category: 'prop',
- keywords: ['marineGround', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_829',
- path: '/models/samples/mausoleumLarge.glb', // mausoleumLarge
- category: 'prop',
- keywords: ['mausoleumLarge', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_830',
- path: '/models/samples/mausoleumLargeSkewed.glb', // mausoleumLargeSkewed
- category: 'prop',
- keywords: ['mausoleumLargeSkewed', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_831',
- path: '/models/samples/mausoleumSmall.glb', // mausoleumSmall
- category: 'prop',
- keywords: ['mausoleumSmall', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_832',
- path: '/models/samples/mausoleumSmallSkewed.glb', // mausoleumSmallSkewed
- category: 'prop',
- keywords: ['mausoleumSmallSkewed', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_833',
- path: '/models/samples/MetalRoughSpheres.glb', // MetalRoughSpheres
- category: 'prop',
- keywords: ['MetalRoughSpheres', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_834',
- path: '/models/samples/MetalRoughSpheresNoTextures.glb', // MetalRoughSpheresNoTextures
- category: 'prop',
- keywords: ['MetalRoughSpheresNoTextures', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_835',
- path: '/models/samples/miniBar2.glb', // miniBar2
- category: 'prop',
- keywords: ['miniBar2', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_836',
- path: '/models/samples/model_0093b022-794.glb', // model_0093b022-794
- category: 'prop',
- keywords: ['model', '0093b022', '794', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_837',
- path: '/models/samples/model_00f59c8c-52a.glb', // model_00f59c8c-52a
- category: 'prop',
- keywords: ['model', '00f59c8c', '52a', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_838',
- path: '/models/samples/model_01510687-984.glb', // model_01510687-984
- category: 'prop',
- keywords: ['model', '01510687', '984', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_839',
- path: '/models/samples/model_016a52a6-dce.glb', // model_016a52a6-dce
- category: 'prop',
- keywords: ['model', '016a52a6', 'dce', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_840',
- path: '/models/samples/model_01843fe1-0d8.glb', // model_01843fe1-0d8
- category: 'prop',
- keywords: ['model', '01843fe1', '0d8', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_841',
- path: '/models/samples/model_018e3909-86a.glb', // model_018e3909-86a
- category: 'prop',
- keywords: ['model', '018e3909', '86a', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_842',
- path: '/models/samples/model_01d40f41-443.glb', // model_01d40f41-443
- category: 'prop',
- keywords: ['model', '01d40f41', '443', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_843',
- path: '/models/samples/model_03ce66cf-2cb.glb', // model_03ce66cf-2cb
- category: 'prop',
- keywords: ['model', '03ce66cf', '2cb', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_844',
- path: '/models/samples/model_04055cca-aa4.glb', // model_04055cca-aa4
- category: 'prop',
- keywords: ['model', '04055cca', 'aa4', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_845',
- path: '/models/samples/model_0453ed65-f52.glb', // model_0453ed65-f52
- category: 'prop',
- keywords: ['model', '0453ed65', 'f52', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_846',
- path: '/models/samples/model_04c0a68c-4d3.glb', // model_04c0a68c-4d3
- category: 'prop',
- keywords: ['model', '04c0a68c', '4d3', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_847',
- path: '/models/samples/model_0528de32-356.glb', // model_0528de32-356
- category: 'prop',
- keywords: ['model', '0528de32', '356', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_848',
- path: '/models/samples/model_0551ca36-061.glb', // model_0551ca36-061
- category: 'prop',
- keywords: ['model', '0551ca36', '061', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_849',
- path: '/models/samples/model_05a53f67-4b9.glb', // model_05a53f67-4b9
- category: 'prop',
- keywords: ['model', '05a53f67', '4b9', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_850',
- path: '/models/samples/model_07860247-cc1.glb', // model_07860247-cc1
- category: 'prop',
- keywords: ['model', '07860247', 'cc1', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_851',
- path: '/models/samples/model_07e883b3-2e4.glb', // model_07e883b3-2e4
- category: 'prop',
- keywords: ['model', '07e883b3', '2e4', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_852',
- path: '/models/samples/model_087513b0-788.glb', // model_087513b0-788
- category: 'prop',
- keywords: ['model', '087513b0', '788', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_853',
- path: '/models/samples/model_08d8ba2b-37f.glb', // model_08d8ba2b-37f
- category: 'prop',
- keywords: ['model', '08d8ba2b', '37f', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_854',
- path: '/models/samples/model_09507cba-d6a.glb', // model_09507cba-d6a
- category: 'prop',
- keywords: ['model', '09507cba', 'd6a', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_855',
- path: '/models/samples/model_0970fa42-4ab.glb', // model_0970fa42-4ab
- category: 'prop',
- keywords: ['model', '0970fa42', '4ab', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_856',
- path: '/models/samples/model_098364b0-485.glb', // model_098364b0-485
- category: 'prop',
- keywords: ['model', '098364b0', '485', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_857',
- path: '/models/samples/model_0a81f502-144.glb', // model_0a81f502-144
- category: 'prop',
- keywords: ['model', '0a81f502', '144', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_858',
- path: '/models/samples/model_0af6ef40-5d9.glb', // model_0af6ef40-5d9
- category: 'prop',
- keywords: ['model', '0af6ef40', '5d9', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_859',
- path: '/models/samples/model_0b5e780a-7fd.glb', // model_0b5e780a-7fd
- category: 'prop',
- keywords: ['model', '0b5e780a', '7fd', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_860',
- path: '/models/samples/model_0c8f0256-480.glb', // model_0c8f0256-480
- category: 'prop',
- keywords: ['model', '0c8f0256', '480', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_861',
- path: '/models/samples/model_0d126e35-a18.glb', // model_0d126e35-a18
- category: 'prop',
- keywords: ['model', '0d126e35', 'a18', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_862',
- path: '/models/samples/model_0d5aa4c9-f28.glb', // model_0d5aa4c9-f28
- category: 'prop',
- keywords: ['model', '0d5aa4c9', 'f28', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_863',
- path: '/models/samples/model_0da49c1d-aad.glb', // model_0da49c1d-aad
- category: 'prop',
- keywords: ['model', '0da49c1d', 'aad', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_864',
- path: '/models/samples/model_0e689817-18d.glb', // model_0e689817-18d
- category: 'prop',
- keywords: ['model', '0e689817', '18d', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_865',
- path: '/models/samples/model_1058e0f3-ca5.glb', // model_1058e0f3-ca5
- category: 'prop',
- keywords: ['model', '1058e0f3', 'ca5', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_866',
- path: '/models/samples/model_11aba94f-2a2.glb', // model_11aba94f-2a2
- category: 'prop',
- keywords: ['model', '11aba94f', '2a2', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_867',
- path: '/models/samples/model_12363a91-7c2.glb', // model_12363a91-7c2
- category: 'prop',
- keywords: ['model', '12363a91', '7c2', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_868',
- path: '/models/samples/model_12487f1b-e31.glb', // model_12487f1b-e31
- category: 'prop',
- keywords: ['model', '12487f1b', 'e31', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_869',
- path: '/models/samples/model_135ccf25-173.glb', // model_135ccf25-173
- category: 'prop',
- keywords: ['model', '135ccf25', '173', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_870',
- path: '/models/samples/model_142eb426-331.glb', // model_142eb426-331
- category: 'prop',
- keywords: ['model', '142eb426', '331', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_871',
- path: '/models/samples/model_154c5dbd-c67.glb', // model_154c5dbd-c67
- category: 'prop',
- keywords: ['model', '154c5dbd', 'c67', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_872',
- path: '/models/samples/model_155077a0-2bf.glb', // model_155077a0-2bf
- category: 'prop',
- keywords: ['model', '155077a0', '2bf', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_873',
- path: '/models/samples/model_16938d74-b1b.glb', // model_16938d74-b1b
- category: 'prop',
- keywords: ['model', '16938d74', 'b1b', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_874',
- path: '/models/samples/model_16d8adee-41d.glb', // model_16d8adee-41d
- category: 'prop',
- keywords: ['model', '16d8adee', '41d', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_875',
- path: '/models/samples/model_174e6c87-f89.glb', // model_174e6c87-f89
- category: 'prop',
- keywords: ['model', '174e6c87', 'f89', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_876',
- path: '/models/samples/model_1755311d-a94.glb', // model_1755311d-a94
- category: 'prop',
- keywords: ['model', '1755311d', 'a94', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_877',
- path: '/models/samples/model_178bcd33-dde.glb', // model_178bcd33-dde
- category: 'prop',
- keywords: ['model', '178bcd33', 'dde', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_878',
- path: '/models/samples/model_1821afe6-4c6.glb', // model_1821afe6-4c6
- category: 'prop',
- keywords: ['model', '1821afe6', '4c6', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_879',
- path: '/models/samples/model_18d93646-1b6.glb', // model_18d93646-1b6
- category: 'prop',
- keywords: ['model', '18d93646', '1b6', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_880',
- path: '/models/samples/model_1946522f-f26.glb', // model_1946522f-f26
- category: 'prop',
- keywords: ['model', '1946522f', 'f26', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_881',
- path: '/models/samples/model_1a2b827d-ca0.glb', // model_1a2b827d-ca0
- category: 'prop',
- keywords: ['model', '1a2b827d', 'ca0', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_882',
- path: '/models/samples/model_1be984cb-ce8.glb', // model_1be984cb-ce8
- category: 'prop',
- keywords: ['model', '1be984cb', 'ce8', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_883',
- path: '/models/samples/model_1c8af2e7-e0e.glb', // model_1c8af2e7-e0e
- category: 'prop',
- keywords: ['model', '1c8af2e7', 'e0e', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_884',
- path: '/models/samples/model_1cd08e71-e60.glb', // model_1cd08e71-e60
- category: 'prop',
- keywords: ['model', '1cd08e71', 'e60', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_885',
- path: '/models/samples/model_1d34d1bb-fa4.glb', // model_1d34d1bb-fa4
- category: 'prop',
- keywords: ['model', '1d34d1bb', 'fa4', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_886',
- path: '/models/samples/model_1ebaca74-ea4.glb', // model_1ebaca74-ea4
- category: 'prop',
- keywords: ['model', '1ebaca74', 'ea4', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_887',
- path: '/models/samples/model_1ebf3984-395.glb', // model_1ebf3984-395
- category: 'prop',
- keywords: ['model', '1ebf3984', '395', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_888',
- path: '/models/samples/model_1f6de2b1-6a8.glb', // model_1f6de2b1-6a8
- category: 'prop',
- keywords: ['model', '1f6de2b1', '6a8', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_889',
- path: '/models/samples/model_1fec001e-606.glb', // model_1fec001e-606
- category: 'prop',
- keywords: ['model', '1fec001e', '606', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_890',
- path: '/models/samples/model_200b163b-fb2.glb', // model_200b163b-fb2
- category: 'prop',
- keywords: ['model', '200b163b', 'fb2', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_891',
- path: '/models/samples/model_202ac3e3-c96.glb', // model_202ac3e3-c96
- category: 'prop',
- keywords: ['model', '202ac3e3', 'c96', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_892',
- path: '/models/samples/model_20d6b88d-840.glb', // model_20d6b88d-840
- category: 'prop',
- keywords: ['model', '20d6b88d', '840', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_893',
- path: '/models/samples/model_21a2c8fa-3bd.glb', // model_21a2c8fa-3bd
- category: 'prop',
- keywords: ['model', '21a2c8fa', '3bd', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_894',
- path: '/models/samples/model_21aa0d34-46b.glb', // model_21aa0d34-46b
- category: 'prop',
- keywords: ['model', '21aa0d34', '46b', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_895',
- path: '/models/samples/model_21c2cbf9-0c1.glb', // model_21c2cbf9-0c1
- category: 'prop',
- keywords: ['model', '21c2cbf9', '0c1', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_896',
- path: '/models/samples/model_21cc9c37-d86.glb', // model_21cc9c37-d86
- category: 'prop',
- keywords: ['model', '21cc9c37', 'd86', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_897',
- path: '/models/samples/model_21fdb9e5-1ad.glb', // model_21fdb9e5-1ad
- category: 'prop',
- keywords: ['model', '21fdb9e5', '1ad', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_898',
- path: '/models/samples/model_2445097b-bdf.glb', // model_2445097b-bdf
- category: 'prop',
- keywords: ['model', '2445097b', 'bdf', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_899',
- path: '/models/samples/model_24769937-ced.glb', // model_24769937-ced
- category: 'prop',
- keywords: ['model', '24769937', 'ced', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_900',
- path: '/models/samples/model_24cb8a6e-a2f.glb', // model_24cb8a6e-a2f
- category: 'prop',
- keywords: ['model', '24cb8a6e', 'a2f', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_901',
- path: '/models/samples/model_24ee6619-f7f.glb', // model_24ee6619-f7f
- category: 'prop',
- keywords: ['model', '24ee6619', 'f7f', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_902',
- path: '/models/samples/model_251a10e8-bf6.glb', // model_251a10e8-bf6
- category: 'prop',
- keywords: ['model', '251a10e8', 'bf6', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_903',
- path: '/models/samples/model_252c5cbe-f20.glb', // model_252c5cbe-f20
- category: 'prop',
- keywords: ['model', '252c5cbe', 'f20', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_904',
- path: '/models/samples/model_2544e0ef-078.glb', // model_2544e0ef-078
- category: 'prop',
- keywords: ['model', '2544e0ef', '078', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_905',
- path: '/models/samples/model_2568a43c-da7.glb', // model_2568a43c-da7
- category: 'prop',
- keywords: ['model', '2568a43c', 'da7', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_906',
- path: '/models/samples/model_2572bd61-6c2.glb', // model_2572bd61-6c2
- category: 'prop',
- keywords: ['model', '2572bd61', '6c2', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_907',
- path: '/models/samples/model_259a3789-b8f.glb', // model_259a3789-b8f
- category: 'prop',
- keywords: ['model', '259a3789', 'b8f', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_908',
- path: '/models/samples/model_2612a456-9d8.glb', // model_2612a456-9d8
- category: 'prop',
- keywords: ['model', '2612a456', '9d8', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_909',
- path: '/models/samples/model_263f2bfa-789.glb', // model_263f2bfa-789
- category: 'prop',
- keywords: ['model', '263f2bfa', '789', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_910',
- path: '/models/samples/model_26f30e42-e08.glb', // model_26f30e42-e08
- category: 'prop',
- keywords: ['model', '26f30e42', 'e08', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_911',
- path: '/models/samples/model_27d6327d-780.glb', // model_27d6327d-780
- category: 'prop',
- keywords: ['model', '27d6327d', '780', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_912',
- path: '/models/samples/model_285c3534-738.glb', // model_285c3534-738
- category: 'prop',
- keywords: ['model', '285c3534', '738', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_913',
- path: '/models/samples/model_29b2b8b8-376.glb', // model_29b2b8b8-376
- category: 'prop',
- keywords: ['model', '29b2b8b8', '376', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_914',
- path: '/models/samples/model_29f8c09b-7b5.glb', // model_29f8c09b-7b5
- category: 'prop',
- keywords: ['model', '29f8c09b', '7b5', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_915',
- path: '/models/samples/model_29fa4c1d-039.glb', // model_29fa4c1d-039
- category: 'prop',
- keywords: ['model', '29fa4c1d', '039', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_916',
- path: '/models/samples/model_2ae6b5f8-6b7.glb', // model_2ae6b5f8-6b7
- category: 'prop',
- keywords: ['model', '2ae6b5f8', '6b7', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_917',
- path: '/models/samples/model_2aeae9e8-f67.glb', // model_2aeae9e8-f67
- category: 'prop',
- keywords: ['model', '2aeae9e8', 'f67', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_918',
- path: '/models/samples/model_2b5e3201-eab.glb', // model_2b5e3201-eab
- category: 'prop',
- keywords: ['model', '2b5e3201', 'eab', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_919',
- path: '/models/samples/model_2c0c2b1e-d04.glb', // model_2c0c2b1e-d04
- category: 'prop',
- keywords: ['model', '2c0c2b1e', 'd04', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_920',
- path: '/models/samples/model_2c397d2d-152.glb', // model_2c397d2d-152
- category: 'prop',
- keywords: ['model', '2c397d2d', '152', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_921',
- path: '/models/samples/model_2ecdf33c-7b9.glb', // model_2ecdf33c-7b9
- category: 'prop',
- keywords: ['model', '2ecdf33c', '7b9', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_922',
- path: '/models/samples/model_2ef9fc2d-996.glb', // model_2ef9fc2d-996
- category: 'prop',
- keywords: ['model', '2ef9fc2d', '996', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_923',
- path: '/models/samples/model_2f2c50e9-b59.glb', // model_2f2c50e9-b59
- category: 'prop',
- keywords: ['model', '2f2c50e9', 'b59', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_924',
- path: '/models/samples/model_302cec82-856.glb', // model_302cec82-856
- category: 'prop',
- keywords: ['model', '302cec82', '856', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_925',
- path: '/models/samples/model_30b31ef3-3a0.glb', // model_30b31ef3-3a0
- category: 'prop',
- keywords: ['model', '30b31ef3', '3a0', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_926',
- path: '/models/samples/model_320a18cb-ccd.glb', // model_320a18cb-ccd
- category: 'prop',
- keywords: ['model', '320a18cb', 'ccd', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_927',
- path: '/models/samples/model_325e7a86-3c4.glb', // model_325e7a86-3c4
- category: 'prop',
- keywords: ['model', '325e7a86', '3c4', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_928',
- path: '/models/samples/model_32f1b9ae-541.glb', // model_32f1b9ae-541
- category: 'prop',
- keywords: ['model', '32f1b9ae', '541', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_929',
- path: '/models/samples/model_33f2ac81-de9.glb', // model_33f2ac81-de9
- category: 'prop',
- keywords: ['model', '33f2ac81', 'de9', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_930',
- path: '/models/samples/model_348d1f0e-886.glb', // model_348d1f0e-886
- category: 'prop',
- keywords: ['model', '348d1f0e', '886', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_931',
- path: '/models/samples/model_3545490d-1fe.glb', // model_3545490d-1fe
- category: 'prop',
- keywords: ['model', '3545490d', '1fe', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_932',
- path: '/models/samples/model_3570068e-f79.glb', // model_3570068e-f79
- category: 'prop',
- keywords: ['model', '3570068e', 'f79', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_933',
- path: '/models/samples/model_35c76694-fce.glb', // model_35c76694-fce
- category: 'prop',
- keywords: ['model', '35c76694', 'fce', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_934',
- path: '/models/samples/model_36d09061-0ee.glb', // model_36d09061-0ee
- category: 'prop',
- keywords: ['model', '36d09061', '0ee', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_935',
- path: '/models/samples/model_370372ec-666.glb', // model_370372ec-666
- category: 'prop',
- keywords: ['model', '370372ec', '666', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_936',
- path: '/models/samples/model_37ad51fd-fb2.glb', // model_37ad51fd-fb2
- category: 'prop',
- keywords: ['model', '37ad51fd', 'fb2', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_937',
- path: '/models/samples/model_3841d2a9-390.glb', // model_3841d2a9-390
- category: 'prop',
- keywords: ['model', '3841d2a9', '390', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_938',
- path: '/models/samples/model_38b81926-4a1.glb', // model_38b81926-4a1
- category: 'prop',
- keywords: ['model', '38b81926', '4a1', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_939',
- path: '/models/samples/model_38ee5af8-ae1.glb', // model_38ee5af8-ae1
- category: 'prop',
- keywords: ['model', '38ee5af8', 'ae1', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_940',
- path: '/models/samples/model_398b2073-135.glb', // model_398b2073-135
- category: 'prop',
- keywords: ['model', '398b2073', '135', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_941',
- path: '/models/samples/model_3a9e1495-750.glb', // model_3a9e1495-750
- category: 'prop',
- keywords: ['model', '3a9e1495', '750', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_942',
- path: '/models/samples/model_3e16d14d-c88.glb', // model_3e16d14d-c88
- category: 'prop',
- keywords: ['model', '3e16d14d', 'c88', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_943',
- path: '/models/samples/model_3ecf8f2f-db6.glb', // model_3ecf8f2f-db6
- category: 'prop',
- keywords: ['model', '3ecf8f2f', 'db6', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_944',
- path: '/models/samples/model_404c439e-090.glb', // model_404c439e-090
- category: 'prop',
- keywords: ['model', '404c439e', '090', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_945',
- path: '/models/samples/model_419f7c52-ba1.glb', // model_419f7c52-ba1
- category: 'prop',
- keywords: ['model', '419f7c52', 'ba1', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_946',
- path: '/models/samples/model_41a64de3-78b.glb', // model_41a64de3-78b
- category: 'prop',
- keywords: ['model', '41a64de3', '78b', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_947',
- path: '/models/samples/model_41d4e503-3fe.glb', // model_41d4e503-3fe
- category: 'prop',
- keywords: ['model', '41d4e503', '3fe', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_948',
- path: '/models/samples/model_41fd6727-c30.glb', // model_41fd6727-c30
- category: 'prop',
- keywords: ['model', '41fd6727', 'c30', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_949',
- path: '/models/samples/model_420be263-a32.glb', // model_420be263-a32
- category: 'prop',
- keywords: ['model', '420be263', 'a32', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_950',
- path: '/models/samples/model_427fe638-14f.glb', // model_427fe638-14f
- category: 'prop',
- keywords: ['model', '427fe638', '14f', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_951',
- path: '/models/samples/model_441d42f0-070.glb', // model_441d42f0-070
- category: 'prop',
- keywords: ['model', '441d42f0', '070', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_952',
- path: '/models/samples/model_45ae3e7a-bf6.glb', // model_45ae3e7a-bf6
- category: 'prop',
- keywords: ['model', '45ae3e7a', 'bf6', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_953',
- path: '/models/samples/model_45b034f5-5ab.glb', // model_45b034f5-5ab
- category: 'prop',
- keywords: ['model', '45b034f5', '5ab', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_954',
- path: '/models/samples/model_45ca27ef-75c.glb', // model_45ca27ef-75c
- category: 'prop',
- keywords: ['model', '45ca27ef', '75c', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_955',
- path: '/models/samples/model_45db5c7e-bd0.glb', // model_45db5c7e-bd0
- category: 'prop',
- keywords: ['model', '45db5c7e', 'bd0', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_956',
- path: '/models/samples/model_4647952e-a6b.glb', // model_4647952e-a6b
- category: 'prop',
- keywords: ['model', '4647952e', 'a6b', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_957',
- path: '/models/samples/model_46ae6877-d71.glb', // model_46ae6877-d71
- category: 'prop',
- keywords: ['model', '46ae6877', 'd71', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_958',
- path: '/models/samples/model_480f46bd-06c.glb', // model_480f46bd-06c
- category: 'prop',
- keywords: ['model', '480f46bd', '06c', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_959',
- path: '/models/samples/model_481f5d0e-822.glb', // model_481f5d0e-822
- category: 'prop',
- keywords: ['model', '481f5d0e', '822', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_960',
- path: '/models/samples/model_48697b19-ebd.glb', // model_48697b19-ebd
- category: 'prop',
- keywords: ['model', '48697b19', 'ebd', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_961',
- path: '/models/samples/model_48ab7121-570.glb', // model_48ab7121-570
- category: 'prop',
- keywords: ['model', '48ab7121', '570', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_962',
- path: '/models/samples/model_48ca45ab-5bb.glb', // model_48ca45ab-5bb
- category: 'prop',
- keywords: ['model', '48ca45ab', '5bb', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_963',
- path: '/models/samples/model_493cf84c-05a.glb', // model_493cf84c-05a
- category: 'prop',
- keywords: ['model', '493cf84c', '05a', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_964',
- path: '/models/samples/model_4b7a5f2d-508.glb', // model_4b7a5f2d-508
- category: 'prop',
- keywords: ['model', '4b7a5f2d', '508', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_965',
- path: '/models/samples/model_4b9310cf-647.glb', // model_4b9310cf-647
- category: 'prop',
- keywords: ['model', '4b9310cf', '647', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_966',
- path: '/models/samples/model_4c0a3ec9-bd7.glb', // model_4c0a3ec9-bd7
- category: 'prop',
- keywords: ['model', '4c0a3ec9', 'bd7', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_967',
- path: '/models/samples/model_4d36d320-19f.glb', // model_4d36d320-19f
- category: 'prop',
- keywords: ['model', '4d36d320', '19f', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_968',
- path: '/models/samples/model_4dda6fc2-86e.glb', // model_4dda6fc2-86e
- category: 'prop',
- keywords: ['model', '4dda6fc2', '86e', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_969',
- path: '/models/samples/model_4f2640bd-7ca.glb', // model_4f2640bd-7ca
- category: 'prop',
- keywords: ['model', '4f2640bd', '7ca', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_970',
- path: '/models/samples/model_500544e5-54b.glb', // model_500544e5-54b
- category: 'prop',
- keywords: ['model', '500544e5', '54b', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_971',
- path: '/models/samples/model_50087d98-87e.glb', // model_50087d98-87e
- category: 'prop',
- keywords: ['model', '50087d98', '87e', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_972',
- path: '/models/samples/model_51d0846a-cf4.glb', // model_51d0846a-cf4
- category: 'prop',
- keywords: ['model', '51d0846a', 'cf4', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_973',
- path: '/models/samples/model_51eca8bd-2b8.glb', // model_51eca8bd-2b8
- category: 'prop',
- keywords: ['model', '51eca8bd', '2b8', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_974',
- path: '/models/samples/model_51ef0b07-49c.glb', // model_51ef0b07-49c
- category: 'prop',
- keywords: ['model', '51ef0b07', '49c', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_975',
- path: '/models/samples/model_521a8d84-6bb.glb', // model_521a8d84-6bb
- category: 'prop',
- keywords: ['model', '521a8d84', '6bb', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_976',
- path: '/models/samples/model_529019ee-4bd.glb', // model_529019ee-4bd
- category: 'prop',
- keywords: ['model', '529019ee', '4bd', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_977',
- path: '/models/samples/model_52e6920e-889.glb', // model_52e6920e-889
- category: 'prop',
- keywords: ['model', '52e6920e', '889', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_978',
- path: '/models/samples/model_532b4eca-396.glb', // model_532b4eca-396
- category: 'prop',
- keywords: ['model', '532b4eca', '396', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_979',
- path: '/models/samples/model_53fa9973-756.glb', // model_53fa9973-756
- category: 'prop',
- keywords: ['model', '53fa9973', '756', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_980',
- path: '/models/samples/model_544c368c-c07.glb', // model_544c368c-c07
- category: 'prop',
- keywords: ['model', '544c368c', 'c07', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_981',
- path: '/models/samples/model_54db6bb7-87e.glb', // model_54db6bb7-87e
- category: 'prop',
- keywords: ['model', '54db6bb7', '87e', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_982',
- path: '/models/samples/model_55c86f23-52a.glb', // model_55c86f23-52a
- category: 'prop',
- keywords: ['model', '55c86f23', '52a', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_983',
- path: '/models/samples/model_55ef63a7-ffd.glb', // model_55ef63a7-ffd
- category: 'prop',
- keywords: ['model', '55ef63a7', 'ffd', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_984',
- path: '/models/samples/model_562d9272-9e4.glb', // model_562d9272-9e4
- category: 'prop',
- keywords: ['model', '562d9272', '9e4', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_985',
- path: '/models/samples/model_562f668f-4e6.glb', // model_562f668f-4e6
- category: 'prop',
- keywords: ['model', '562f668f', '4e6', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_986',
- path: '/models/samples/model_567d607b-d3e.glb', // model_567d607b-d3e
- category: 'prop',
- keywords: ['model', '567d607b', 'd3e', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_987',
- path: '/models/samples/model_5693c3cb-ead.glb', // model_5693c3cb-ead
- category: 'prop',
- keywords: ['model', '5693c3cb', 'ead', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_988',
- path: '/models/samples/model_575e6920-829.glb', // model_575e6920-829
- category: 'prop',
- keywords: ['model', '575e6920', '829', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_989',
- path: '/models/samples/model_5760d90d-3aa.glb', // model_5760d90d-3aa
- category: 'prop',
- keywords: ['model', '5760d90d', '3aa', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_990',
- path: '/models/samples/model_58cead34-52d.glb', // model_58cead34-52d
- category: 'prop',
- keywords: ['model', '58cead34', '52d', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_991',
- path: '/models/samples/model_58d94a98-dfa.glb', // model_58d94a98-dfa
- category: 'prop',
- keywords: ['model', '58d94a98', 'dfa', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_992',
- path: '/models/samples/model_58e02f30-f04.glb', // model_58e02f30-f04
- category: 'prop',
- keywords: ['model', '58e02f30', 'f04', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_993',
- path: '/models/samples/model_5943824c-1ee.glb', // model_5943824c-1ee
- category: 'prop',
- keywords: ['model', '5943824c', '1ee', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_994',
- path: '/models/samples/model_59ac0621-3d2.glb', // model_59ac0621-3d2
- category: 'prop',
- keywords: ['model', '59ac0621', '3d2', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_995',
- path: '/models/samples/model_59fbfef8-3f6.glb', // model_59fbfef8-3f6
- category: 'prop',
- keywords: ['model', '59fbfef8', '3f6', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_996',
- path: '/models/samples/model_5aeb6ff7-56c.glb', // model_5aeb6ff7-56c
- category: 'prop',
- keywords: ['model', '5aeb6ff7', '56c', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_997',
- path: '/models/samples/model_5af663c3-c23.glb', // model_5af663c3-c23
- category: 'prop',
- keywords: ['model', '5af663c3', 'c23', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_998',
- path: '/models/samples/model_5b05b336-1f5.glb', // model_5b05b336-1f5
- category: 'prop',
- keywords: ['model', '5b05b336', '1f5', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_999',
- path: '/models/samples/model_5ba62572-f9e.glb', // model_5ba62572-f9e
- category: 'prop',
- keywords: ['model', '5ba62572', 'f9e', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1000',
- path: '/models/samples/model_5c3443c6-f86.glb', // model_5c3443c6-f86
- category: 'prop',
- keywords: ['model', '5c3443c6', 'f86', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1001',
- path: '/models/samples/model_5d1b5201-0ed.glb', // model_5d1b5201-0ed
- category: 'prop',
- keywords: ['model', '5d1b5201', '0ed', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1002',
- path: '/models/samples/model_5d9f92bb-a69.glb', // model_5d9f92bb-a69
- category: 'prop',
- keywords: ['model', '5d9f92bb', 'a69', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1003',
- path: '/models/samples/model_5f3495ea-981.glb', // model_5f3495ea-981
- category: 'prop',
- keywords: ['model', '5f3495ea', '981', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1004',
- path: '/models/samples/model_6108e984-64b.glb', // model_6108e984-64b
- category: 'prop',
- keywords: ['model', '6108e984', '64b', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1005',
- path: '/models/samples/model_61d1f35c-9f4.glb', // model_61d1f35c-9f4
- category: 'prop',
- keywords: ['model', '61d1f35c', '9f4', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1006',
- path: '/models/samples/model_62eee14a-030.glb', // model_62eee14a-030
- category: 'prop',
- keywords: ['model', '62eee14a', '030', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1007',
- path: '/models/samples/model_630dda53-95a.glb', // model_630dda53-95a
- category: 'prop',
- keywords: ['model', '630dda53', '95a', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1008',
- path: '/models/samples/model_63789130-f81.glb', // model_63789130-f81
- category: 'prop',
- keywords: ['model', '63789130', 'f81', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1009',
- path: '/models/samples/model_63e35ef7-f63.glb', // model_63e35ef7-f63
- category: 'prop',
- keywords: ['model', '63e35ef7', 'f63', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1010',
- path: '/models/samples/model_64466ea0-e65.glb', // model_64466ea0-e65
- category: 'prop',
- keywords: ['model', '64466ea0', 'e65', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1011',
- path: '/models/samples/model_64604dc8-e3f.glb', // model_64604dc8-e3f
- category: 'prop',
- keywords: ['model', '64604dc8', 'e3f', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1012',
- path: '/models/samples/model_64809de3-3c5.glb', // model_64809de3-3c5
- category: 'prop',
- keywords: ['model', '64809de3', '3c5', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1013',
- path: '/models/samples/model_64f8b4c5-3ec.glb', // model_64f8b4c5-3ec
- category: 'prop',
- keywords: ['model', '64f8b4c5', '3ec', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1014',
- path: '/models/samples/model_677a7ddb-579.glb', // model_677a7ddb-579
- category: 'prop',
- keywords: ['model', '677a7ddb', '579', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1015',
- path: '/models/samples/model_67a706e9-022.glb', // model_67a706e9-022
- category: 'prop',
- keywords: ['model', '67a706e9', '022', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1016',
- path: '/models/samples/model_67d2ec8e-f3c.glb', // model_67d2ec8e-f3c
- category: 'prop',
- keywords: ['model', '67d2ec8e', 'f3c', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1017',
- path: '/models/samples/model_67f85603-aec.glb', // model_67f85603-aec
- category: 'prop',
- keywords: ['model', '67f85603', 'aec', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1018',
- path: '/models/samples/model_6821c653-ab1.glb', // model_6821c653-ab1
- category: 'prop',
- keywords: ['model', '6821c653', 'ab1', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1019',
- path: '/models/samples/model_68ad57d3-a67.glb', // model_68ad57d3-a67
- category: 'prop',
- keywords: ['model', '68ad57d3', 'a67', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1020',
- path: '/models/samples/model_68d94dec-206.glb', // model_68d94dec-206
- category: 'prop',
- keywords: ['model', '68d94dec', '206', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1021',
- path: '/models/samples/model_68fe46d0-625.glb', // model_68fe46d0-625
- category: 'prop',
- keywords: ['model', '68fe46d0', '625', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1022',
- path: '/models/samples/model_6a1191df-f09.glb', // model_6a1191df-f09
- category: 'prop',
- keywords: ['model', '6a1191df', 'f09', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1023',
- path: '/models/samples/model_6abeb22e-6d0.glb', // model_6abeb22e-6d0
- category: 'prop',
- keywords: ['model', '6abeb22e', '6d0', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1024',
- path: '/models/samples/model_6b2bc098-b3e.glb', // model_6b2bc098-b3e
- category: 'prop',
- keywords: ['model', '6b2bc098', 'b3e', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1025',
- path: '/models/samples/model_6b40811b-09b.glb', // model_6b40811b-09b
- category: 'prop',
- keywords: ['model', '6b40811b', '09b', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1026',
- path: '/models/samples/model_6b50b5e9-75b.glb', // model_6b50b5e9-75b
- category: 'prop',
- keywords: ['model', '6b50b5e9', '75b', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1027',
- path: '/models/samples/model_6b8cf82f-0a5.glb', // model_6b8cf82f-0a5
- category: 'prop',
- keywords: ['model', '6b8cf82f', '0a5', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1028',
- path: '/models/samples/model_6b91b218-950.glb', // model_6b91b218-950
- category: 'prop',
- keywords: ['model', '6b91b218', '950', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1029',
- path: '/models/samples/model_6bb02cd7-319.glb', // model_6bb02cd7-319
- category: 'prop',
- keywords: ['model', '6bb02cd7', '319', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1030',
- path: '/models/samples/model_6dc05ca3-8da.glb', // model_6dc05ca3-8da
- category: 'prop',
- keywords: ['model', '6dc05ca3', '8da', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1031',
- path: '/models/samples/model_6df40d45-207.glb', // model_6df40d45-207
- category: 'prop',
- keywords: ['model', '6df40d45', '207', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1032',
- path: '/models/samples/model_6e5aa4cf-0ac.glb', // model_6e5aa4cf-0ac
- category: 'prop',
- keywords: ['model', '6e5aa4cf', '0ac', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1033',
- path: '/models/samples/model_6f2d8423-3d1.glb', // model_6f2d8423-3d1
- category: 'prop',
- keywords: ['model', '6f2d8423', '3d1', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1034',
- path: '/models/samples/model_7089e8e3-3f8.glb', // model_7089e8e3-3f8
- category: 'prop',
- keywords: ['model', '7089e8e3', '3f8', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1035',
- path: '/models/samples/model_71a81dcc-ca5.glb', // model_71a81dcc-ca5
- category: 'prop',
- keywords: ['model', '71a81dcc', 'ca5', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1036',
- path: '/models/samples/model_71ea87eb-93e.glb', // model_71ea87eb-93e
- category: 'prop',
- keywords: ['model', '71ea87eb', '93e', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1037',
- path: '/models/samples/model_7239c899-1a2.glb', // model_7239c899-1a2
- category: 'prop',
- keywords: ['model', '7239c899', '1a2', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1038',
- path: '/models/samples/model_72503a6f-b90.glb', // model_72503a6f-b90
- category: 'prop',
- keywords: ['model', '72503a6f', 'b90', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1039',
- path: '/models/samples/model_7259b4e9-5c7.glb', // model_7259b4e9-5c7
- category: 'prop',
- keywords: ['model', '7259b4e9', '5c7', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1040',
- path: '/models/samples/model_738688be-9d4.glb', // model_738688be-9d4
- category: 'prop',
- keywords: ['model', '738688be', '9d4', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1041',
- path: '/models/samples/model_739d2b34-f1b.glb', // model_739d2b34-f1b
- category: 'prop',
- keywords: ['model', '739d2b34', 'f1b', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1042',
- path: '/models/samples/model_73aac0fd-d6c.glb', // model_73aac0fd-d6c
- category: 'prop',
- keywords: ['model', '73aac0fd', 'd6c', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1043',
- path: '/models/samples/model_74a1ed00-855.glb', // model_74a1ed00-855
- category: 'prop',
- keywords: ['model', '74a1ed00', '855', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1044',
- path: '/models/samples/model_751f546a-c93.glb', // model_751f546a-c93
- category: 'prop',
- keywords: ['model', '751f546a', 'c93', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1045',
- path: '/models/samples/model_752de33a-ec8.glb', // model_752de33a-ec8
- category: 'prop',
- keywords: ['model', '752de33a', 'ec8', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1046',
- path: '/models/samples/model_756a01ff-5ff.glb', // model_756a01ff-5ff
- category: 'prop',
- keywords: ['model', '756a01ff', '5ff', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1047',
- path: '/models/samples/model_75986358-ed1.glb', // model_75986358-ed1
- category: 'prop',
- keywords: ['model', '75986358', 'ed1', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1048',
- path: '/models/samples/model_75cb3c5e-85a.glb', // model_75cb3c5e-85a
- category: 'prop',
- keywords: ['model', '75cb3c5e', '85a', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1049',
- path: '/models/samples/model_76d45824-c8e.glb', // model_76d45824-c8e
- category: 'prop',
- keywords: ['model', '76d45824', 'c8e', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1050',
- path: '/models/samples/model_76daba86-cb1.glb', // model_76daba86-cb1
- category: 'prop',
- keywords: ['model', '76daba86', 'cb1', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1051',
- path: '/models/samples/model_770b16ec-204.glb', // model_770b16ec-204
- category: 'prop',
- keywords: ['model', '770b16ec', '204', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1052',
- path: '/models/samples/model_7718b337-b9a.glb', // model_7718b337-b9a
- category: 'prop',
- keywords: ['model', '7718b337', 'b9a', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1053',
- path: '/models/samples/model_77861599-217.glb', // model_77861599-217
- category: 'prop',
- keywords: ['model', '77861599', '217', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1054',
- path: '/models/samples/model_7838f3a5-a74.glb', // model_7838f3a5-a74
- category: 'prop',
- keywords: ['model', '7838f3a5', 'a74', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1055',
- path: '/models/samples/model_798dca47-818.glb', // model_798dca47-818
- category: 'prop',
- keywords: ['model', '798dca47', '818', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1056',
- path: '/models/samples/model_7a73c075-097.glb', // model_7a73c075-097
- category: 'prop',
- keywords: ['model', '7a73c075', '097', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1057',
- path: '/models/samples/model_7ab90fb6-577.glb', // model_7ab90fb6-577
- category: 'prop',
- keywords: ['model', '7ab90fb6', '577', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1058',
- path: '/models/samples/model_7c224626-641.glb', // model_7c224626-641
- category: 'prop',
- keywords: ['model', '7c224626', '641', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1059',
- path: '/models/samples/model_7c844771-055.glb', // model_7c844771-055
- category: 'prop',
- keywords: ['model', '7c844771', '055', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1060',
- path: '/models/samples/model_7cb88781-50b.glb', // model_7cb88781-50b
- category: 'prop',
- keywords: ['model', '7cb88781', '50b', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1061',
- path: '/models/samples/model_7cd3e5d3-73b.glb', // model_7cd3e5d3-73b
- category: 'prop',
- keywords: ['model', '7cd3e5d3', '73b', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1062',
- path: '/models/samples/model_7dd071e2-42f.glb', // model_7dd071e2-42f
- category: 'prop',
- keywords: ['model', '7dd071e2', '42f', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1063',
- path: '/models/samples/model_7e270461-09f.glb', // model_7e270461-09f
- category: 'prop',
- keywords: ['model', '7e270461', '09f', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1064',
- path: '/models/samples/model_7e2f9384-a39.glb', // model_7e2f9384-a39
- category: 'prop',
- keywords: ['model', '7e2f9384', 'a39', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1065',
- path: '/models/samples/model_7f99d291-4b4.glb', // model_7f99d291-4b4
- category: 'prop',
- keywords: ['model', '7f99d291', '4b4', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1066',
- path: '/models/samples/model_7fcf1b2e-9cc.glb', // model_7fcf1b2e-9cc
- category: 'prop',
- keywords: ['model', '7fcf1b2e', '9cc', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1067',
- path: '/models/samples/model_81502a49-a76.glb', // model_81502a49-a76
- category: 'prop',
- keywords: ['model', '81502a49', 'a76', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1068',
- path: '/models/samples/model_818c6699-100.glb', // model_818c6699-100
- category: 'prop',
- keywords: ['model', '818c6699', '100', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1069',
- path: '/models/samples/model_820c5597-d6c.glb', // model_820c5597-d6c
- category: 'prop',
- keywords: ['model', '820c5597', 'd6c', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1070',
- path: '/models/samples/model_821d7ef7-46d.glb', // model_821d7ef7-46d
- category: 'prop',
- keywords: ['model', '821d7ef7', '46d', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1071',
- path: '/models/samples/model_826ab42e-146.glb', // model_826ab42e-146
- category: 'prop',
- keywords: ['model', '826ab42e', '146', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1072',
- path: '/models/samples/model_83590595-f7b.glb', // model_83590595-f7b
- category: 'prop',
- keywords: ['model', '83590595', 'f7b', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1073',
- path: '/models/samples/model_848e2c98-2a9.glb', // model_848e2c98-2a9
- category: 'prop',
- keywords: ['model', '848e2c98', '2a9', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1074',
- path: '/models/samples/model_8506b1a5-5b5.glb', // model_8506b1a5-5b5
- category: 'prop',
- keywords: ['model', '8506b1a5', '5b5', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1075',
- path: '/models/samples/model_85903796-a0b.glb', // model_85903796-a0b
- category: 'prop',
- keywords: ['model', '85903796', 'a0b', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1076',
- path: '/models/samples/model_861b6368-f12.glb', // model_861b6368-f12
- category: 'prop',
- keywords: ['model', '861b6368', 'f12', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1077',
- path: '/models/samples/model_865cf0ba-2c1.glb', // model_865cf0ba-2c1
- category: 'prop',
- keywords: ['model', '865cf0ba', '2c1', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1078',
- path: '/models/samples/model_872cead7-b2a.glb', // model_872cead7-b2a
- category: 'prop',
- keywords: ['model', '872cead7', 'b2a', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1079',
- path: '/models/samples/model_8758563e-6d0.glb', // model_8758563e-6d0
- category: 'prop',
- keywords: ['model', '8758563e', '6d0', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1080',
- path: '/models/samples/model_8953543a-9fc.glb', // model_8953543a-9fc
- category: 'prop',
- keywords: ['model', '8953543a', '9fc', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1081',
- path: '/models/samples/model_8a5bb11a-f24.glb', // model_8a5bb11a-f24
- category: 'prop',
- keywords: ['model', '8a5bb11a', 'f24', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1082',
- path: '/models/samples/model_8a6839a3-0d9.glb', // model_8a6839a3-0d9
- category: 'prop',
- keywords: ['model', '8a6839a3', '0d9', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1083',
- path: '/models/samples/model_8a79e0ff-4b9.glb', // model_8a79e0ff-4b9
- category: 'prop',
- keywords: ['model', '8a79e0ff', '4b9', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1084',
- path: '/models/samples/model_8a7bdbf3-34a.glb', // model_8a7bdbf3-34a
- category: 'prop',
- keywords: ['model', '8a7bdbf3', '34a', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1085',
- path: '/models/samples/model_8a94fad3-036.glb', // model_8a94fad3-036
- category: 'prop',
- keywords: ['model', '8a94fad3', '036', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1086',
- path: '/models/samples/model_8ad79961-226.glb', // model_8ad79961-226
- category: 'prop',
- keywords: ['model', '8ad79961', '226', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1087',
- path: '/models/samples/model_8b212824-f1f.glb', // model_8b212824-f1f
- category: 'prop',
- keywords: ['model', '8b212824', 'f1f', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1088',
- path: '/models/samples/model_8c134eec-a13.glb', // model_8c134eec-a13
- category: 'prop',
- keywords: ['model', '8c134eec', 'a13', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1089',
- path: '/models/samples/model_8c4fe65f-7aa.glb', // model_8c4fe65f-7aa
- category: 'prop',
- keywords: ['model', '8c4fe65f', '7aa', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1090',
- path: '/models/samples/model_8ce8a9cf-1fd.glb', // model_8ce8a9cf-1fd
- category: 'prop',
- keywords: ['model', '8ce8a9cf', '1fd', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1091',
- path: '/models/samples/model_8d0593a2-c73.glb', // model_8d0593a2-c73
- category: 'prop',
- keywords: ['model', '8d0593a2', 'c73', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1092',
- path: '/models/samples/model_8d7b8b87-2c7.glb', // model_8d7b8b87-2c7
- category: 'prop',
- keywords: ['model', '8d7b8b87', '2c7', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1093',
- path: '/models/samples/model_8db63546-ac4.glb', // model_8db63546-ac4
- category: 'prop',
- keywords: ['model', '8db63546', 'ac4', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1094',
- path: '/models/samples/model_8e1d8db1-b39.glb', // model_8e1d8db1-b39
- category: 'prop',
- keywords: ['model', '8e1d8db1', 'b39', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1095',
- path: '/models/samples/model_8e455f37-a76.glb', // model_8e455f37-a76
- category: 'prop',
- keywords: ['model', '8e455f37', 'a76', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1096',
- path: '/models/samples/model_8e6f6c4e-dba.glb', // model_8e6f6c4e-dba
- category: 'prop',
- keywords: ['model', '8e6f6c4e', 'dba', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1097',
- path: '/models/samples/model_8ecff261-650.glb', // model_8ecff261-650
- category: 'prop',
- keywords: ['model', '8ecff261', '650', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1098',
- path: '/models/samples/model_8f0c1d57-f7f.glb', // model_8f0c1d57-f7f
- category: 'prop',
- keywords: ['model', '8f0c1d57', 'f7f', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1099',
- path: '/models/samples/model_903416f8-79e.glb', // model_903416f8-79e
- category: 'prop',
- keywords: ['model', '903416f8', '79e', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1100',
- path: '/models/samples/model_90c7020d-1f1.glb', // model_90c7020d-1f1
- category: 'prop',
- keywords: ['model', '90c7020d', '1f1', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1101',
- path: '/models/samples/model_914760d4-256.glb', // model_914760d4-256
- category: 'prop',
- keywords: ['model', '914760d4', '256', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1102',
- path: '/models/samples/model_91b0924d-be0.glb', // model_91b0924d-be0
- category: 'prop',
- keywords: ['model', '91b0924d', 'be0', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1103',
- path: '/models/samples/model_931f2e35-0ab.glb', // model_931f2e35-0ab
- category: 'prop',
- keywords: ['model', '931f2e35', '0ab', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1104',
- path: '/models/samples/model_93217842-b43.glb', // model_93217842-b43
- category: 'prop',
- keywords: ['model', '93217842', 'b43', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1105',
- path: '/models/samples/model_939669db-d08.glb', // model_939669db-d08
- category: 'prop',
- keywords: ['model', '939669db', 'd08', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1106',
- path: '/models/samples/model_94641a3c-4a7.glb', // model_94641a3c-4a7
- category: 'prop',
- keywords: ['model', '94641a3c', '4a7', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1107',
- path: '/models/samples/model_951a4c89-b28.glb', // model_951a4c89-b28
- category: 'prop',
- keywords: ['model', '951a4c89', 'b28', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1108',
- path: '/models/samples/model_9591d704-da7.glb', // model_9591d704-da7
- category: 'prop',
- keywords: ['model', '9591d704', 'da7', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1109',
- path: '/models/samples/model_9708f413-455.glb', // model_9708f413-455
- category: 'prop',
- keywords: ['model', '9708f413', '455', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1110',
- path: '/models/samples/model_973795c2-755.glb', // model_973795c2-755
- category: 'prop',
- keywords: ['model', '973795c2', '755', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1111',
- path: '/models/samples/model_977734fe-afc.glb', // model_977734fe-afc
- category: 'prop',
- keywords: ['model', '977734fe', 'afc', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1112',
- path: '/models/samples/model_97902287-589.glb', // model_97902287-589
- category: 'prop',
- keywords: ['model', '97902287', '589', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1113',
- path: '/models/samples/model_97a9c001-9a3.glb', // model_97a9c001-9a3
- category: 'prop',
- keywords: ['model', '97a9c001', '9a3', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1114',
- path: '/models/samples/model_9943a455-106.glb', // model_9943a455-106
- category: 'prop',
- keywords: ['model', '9943a455', '106', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1115',
- path: '/models/samples/model_9b4ff57d-c87.glb', // model_9b4ff57d-c87
- category: 'prop',
- keywords: ['model', '9b4ff57d', 'c87', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1116',
- path: '/models/samples/model_9b5085b5-5e1.glb', // model_9b5085b5-5e1
- category: 'prop',
- keywords: ['model', '9b5085b5', '5e1', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1117',
- path: '/models/samples/model_9ba49c74-2ed.glb', // model_9ba49c74-2ed
- category: 'prop',
- keywords: ['model', '9ba49c74', '2ed', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1118',
- path: '/models/samples/model_9d4bd2ba-06e.glb', // model_9d4bd2ba-06e
- category: 'prop',
- keywords: ['model', '9d4bd2ba', '06e', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1119',
- path: '/models/samples/model_9db0be83-2cc.glb', // model_9db0be83-2cc
- category: 'prop',
- keywords: ['model', '9db0be83', '2cc', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1120',
- path: '/models/samples/model_9dc11d33-f01.glb', // model_9dc11d33-f01
- category: 'prop',
- keywords: ['model', '9dc11d33', 'f01', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1121',
- path: '/models/samples/model_9dd20045-aee.glb', // model_9dd20045-aee
- category: 'prop',
- keywords: ['model', '9dd20045', 'aee', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1122',
- path: '/models/samples/model_9dd918cd-f18.glb', // model_9dd918cd-f18
- category: 'prop',
- keywords: ['model', '9dd918cd', 'f18', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1123',
- path: '/models/samples/model_9df4ab5f-2ec.glb', // model_9df4ab5f-2ec
- category: 'prop',
- keywords: ['model', '9df4ab5f', '2ec', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1124',
- path: '/models/samples/model_9dfa6387-4f1.glb', // model_9dfa6387-4f1
- category: 'prop',
- keywords: ['model', '9dfa6387', '4f1', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1125',
- path: '/models/samples/model_9f14603b-9ef.glb', // model_9f14603b-9ef
- category: 'prop',
- keywords: ['model', '9f14603b', '9ef', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1126',
- path: '/models/samples/model_a0745221-f6c.glb', // model_a0745221-f6c
- category: 'prop',
- keywords: ['model', 'a0745221', 'f6c', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1127',
- path: '/models/samples/model_a077bff9-d75.glb', // model_a077bff9-d75
- category: 'prop',
- keywords: ['model', 'a077bff9', 'd75', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1128',
- path: '/models/samples/model_a07969d3-6d3.glb', // model_a07969d3-6d3
- category: 'prop',
- keywords: ['model', 'a07969d3', '6d3', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1129',
- path: '/models/samples/model_a15ed272-471.glb', // model_a15ed272-471
- category: 'prop',
- keywords: ['model', 'a15ed272', '471', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1130',
- path: '/models/samples/model_a1898185-ed1.glb', // model_a1898185-ed1
- category: 'prop',
- keywords: ['model', 'a1898185', 'ed1', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1131',
- path: '/models/samples/model_a1e26ab5-fb7.glb', // model_a1e26ab5-fb7
- category: 'prop',
- keywords: ['model', 'a1e26ab5', 'fb7', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1132',
- path: '/models/samples/model_a3276f54-2ef.glb', // model_a3276f54-2ef
- category: 'prop',
- keywords: ['model', 'a3276f54', '2ef', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1133',
- path: '/models/samples/model_a3db3629-211.glb', // model_a3db3629-211
- category: 'prop',
- keywords: ['model', 'a3db3629', '211', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1134',
- path: '/models/samples/model_a5b149eb-fce.glb', // model_a5b149eb-fce
- category: 'prop',
- keywords: ['model', 'a5b149eb', 'fce', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1135',
- path: '/models/samples/model_a60c6ac0-396.glb', // model_a60c6ac0-396
- category: 'prop',
- keywords: ['model', 'a60c6ac0', '396', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1136',
- path: '/models/samples/model_a6205e59-c16.glb', // model_a6205e59-c16
- category: 'prop',
- keywords: ['model', 'a6205e59', 'c16', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1137',
- path: '/models/samples/model_a62a0689-a8f.glb', // model_a62a0689-a8f
- category: 'prop',
- keywords: ['model', 'a62a0689', 'a8f', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1138',
- path: '/models/samples/model_a6702109-209.glb', // model_a6702109-209
- category: 'prop',
- keywords: ['model', 'a6702109', '209', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1139',
- path: '/models/samples/model_a6ca5e4b-5b3.glb', // model_a6ca5e4b-5b3
- category: 'prop',
- keywords: ['model', 'a6ca5e4b', '5b3', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1140',
- path: '/models/samples/model_a7900c23-d17.glb', // model_a7900c23-d17
- category: 'prop',
- keywords: ['model', 'a7900c23', 'd17', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1141',
- path: '/models/samples/model_a8fee894-aa2.glb', // model_a8fee894-aa2
- category: 'prop',
- keywords: ['model', 'a8fee894', 'aa2', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1142',
- path: '/models/samples/model_a9100a65-b11.glb', // model_a9100a65-b11
- category: 'prop',
- keywords: ['model', 'a9100a65', 'b11', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1143',
- path: '/models/samples/model_a9203561-e20.glb', // model_a9203561-e20
- category: 'prop',
- keywords: ['model', 'a9203561', 'e20', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1144',
- path: '/models/samples/model_a93a2cec-b8e.glb', // model_a93a2cec-b8e
- category: 'prop',
- keywords: ['model', 'a93a2cec', 'b8e', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1145',
- path: '/models/samples/model_a956e9db-07a.glb', // model_a956e9db-07a
- category: 'prop',
- keywords: ['model', 'a956e9db', '07a', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1146',
- path: '/models/samples/model_aa014453-648.glb', // model_aa014453-648
- category: 'prop',
- keywords: ['model', 'aa014453', '648', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1147',
- path: '/models/samples/model_aa498820-63c.glb', // model_aa498820-63c
- category: 'prop',
- keywords: ['model', 'aa498820', '63c', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1148',
- path: '/models/samples/model_aa82fb6a-126.glb', // model_aa82fb6a-126
- category: 'prop',
- keywords: ['model', 'aa82fb6a', '126', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1149',
- path: '/models/samples/model_ac1d0a8c-109.glb', // model_ac1d0a8c-109
- category: 'prop',
- keywords: ['model', 'ac1d0a8c', '109', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1150',
- path: '/models/samples/model_ad0c1afa-f8f.glb', // model_ad0c1afa-f8f
- category: 'prop',
- keywords: ['model', 'ad0c1afa', 'f8f', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1151',
- path: '/models/samples/model_ad92253f-0a8.glb', // model_ad92253f-0a8
- category: 'prop',
- keywords: ['model', 'ad92253f', '0a8', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1152',
- path: '/models/samples/model_aed9682f-9f8.glb', // model_aed9682f-9f8
- category: 'prop',
- keywords: ['model', 'aed9682f', '9f8', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1153',
- path: '/models/samples/model_aef47f78-1ea.glb', // model_aef47f78-1ea
- category: 'prop',
- keywords: ['model', 'aef47f78', '1ea', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1154',
- path: '/models/samples/model_afc28cad-022.glb', // model_afc28cad-022
- category: 'prop',
- keywords: ['model', 'afc28cad', '022', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1155',
- path: '/models/samples/model_afd3a410-a7e.glb', // model_afd3a410-a7e
- category: 'prop',
- keywords: ['model', 'afd3a410', 'a7e', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1156',
- path: '/models/samples/model_afd71af1-468.glb', // model_afd71af1-468
- category: 'prop',
- keywords: ['model', 'afd71af1', '468', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1157',
- path: '/models/samples/model_afebe841-ac8.glb', // model_afebe841-ac8
- category: 'prop',
- keywords: ['model', 'afebe841', 'ac8', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1158',
- path: '/models/samples/model_b0208a3a-9cf.glb', // model_b0208a3a-9cf
- category: 'prop',
- keywords: ['model', 'b0208a3a', '9cf', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1159',
- path: '/models/samples/model_b0d1266f-9f9.glb', // model_b0d1266f-9f9
- category: 'prop',
- keywords: ['model', 'b0d1266f', '9f9', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1160',
- path: '/models/samples/model_b0f9eebc-639.glb', // model_b0f9eebc-639
- category: 'prop',
- keywords: ['model', 'b0f9eebc', '639', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1161',
- path: '/models/samples/model_b1bc954e-134.glb', // model_b1bc954e-134
- category: 'prop',
- keywords: ['model', 'b1bc954e', '134', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1162',
- path: '/models/samples/model_b2246c95-22f.glb', // model_b2246c95-22f
- category: 'prop',
- keywords: ['model', 'b2246c95', '22f', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1163',
- path: '/models/samples/model_b33125ef-435.glb', // model_b33125ef-435
- category: 'prop',
- keywords: ['model', 'b33125ef', '435', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1164',
- path: '/models/samples/model_b38493ef-56f.glb', // model_b38493ef-56f
- category: 'prop',
- keywords: ['model', 'b38493ef', '56f', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1165',
- path: '/models/samples/model_b3f56e38-960.glb', // model_b3f56e38-960
- category: 'prop',
- keywords: ['model', 'b3f56e38', '960', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1166',
- path: '/models/samples/model_b4546734-fe6.glb', // model_b4546734-fe6
- category: 'prop',
- keywords: ['model', 'b4546734', 'fe6', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1167',
- path: '/models/samples/model_b4669237-a52.glb', // model_b4669237-a52
- category: 'prop',
- keywords: ['model', 'b4669237', 'a52', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1168',
- path: '/models/samples/model_b4c079c9-676.glb', // model_b4c079c9-676
- category: 'prop',
- keywords: ['model', 'b4c079c9', '676', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1169',
- path: '/models/samples/model_b530c034-560.glb', // model_b530c034-560
- category: 'prop',
- keywords: ['model', 'b530c034', '560', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1170',
- path: '/models/samples/model_b5f2d03a-8cd.glb', // model_b5f2d03a-8cd
- category: 'prop',
- keywords: ['model', 'b5f2d03a', '8cd', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1171',
- path: '/models/samples/model_b69687b6-927.glb', // model_b69687b6-927
- category: 'prop',
- keywords: ['model', 'b69687b6', '927', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1172',
- path: '/models/samples/model_b712b2b3-1ac.glb', // model_b712b2b3-1ac
- category: 'prop',
- keywords: ['model', 'b712b2b3', '1ac', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1173',
- path: '/models/samples/model_b73e0b81-e5b.glb', // model_b73e0b81-e5b
- category: 'prop',
- keywords: ['model', 'b73e0b81', 'e5b', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1174',
- path: '/models/samples/model_b7b52f23-c6f.glb', // model_b7b52f23-c6f
- category: 'prop',
- keywords: ['model', 'b7b52f23', 'c6f', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1175',
- path: '/models/samples/model_b7bf1970-2b8.glb', // model_b7bf1970-2b8
- category: 'prop',
- keywords: ['model', 'b7bf1970', '2b8', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1176',
- path: '/models/samples/model_b839d245-7a3.glb', // model_b839d245-7a3
- category: 'prop',
- keywords: ['model', 'b839d245', '7a3', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1177',
- path: '/models/samples/model_b841b2db-d53.glb', // model_b841b2db-d53
- category: 'prop',
- keywords: ['model', 'b841b2db', 'd53', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1178',
- path: '/models/samples/model_b85eecc5-b0c.glb', // model_b85eecc5-b0c
- category: 'prop',
- keywords: ['model', 'b85eecc5', 'b0c', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1179',
- path: '/models/samples/model_b9908061-8b4.glb', // model_b9908061-8b4
- category: 'prop',
- keywords: ['model', 'b9908061', '8b4', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1180',
- path: '/models/samples/model_ba094f95-fd6.glb', // model_ba094f95-fd6
- category: 'prop',
- keywords: ['model', 'ba094f95', 'fd6', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1181',
- path: '/models/samples/model_bb1e31be-8e3.glb', // model_bb1e31be-8e3
- category: 'prop',
- keywords: ['model', 'bb1e31be', '8e3', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1182',
- path: '/models/samples/model_bb650703-a20.glb', // model_bb650703-a20
- category: 'prop',
- keywords: ['model', 'bb650703', 'a20', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1183',
- path: '/models/samples/model_bb8eccc2-1a0.glb', // model_bb8eccc2-1a0
- category: 'prop',
- keywords: ['model', 'bb8eccc2', '1a0', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1184',
- path: '/models/samples/model_bbba8700-cc8.glb', // model_bbba8700-cc8
- category: 'prop',
- keywords: ['model', 'bbba8700', 'cc8', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1185',
- path: '/models/samples/model_bbfd9a36-4ae.glb', // model_bbfd9a36-4ae
- category: 'prop',
- keywords: ['model', 'bbfd9a36', '4ae', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1186',
- path: '/models/samples/model_bc5c053b-6b8.glb', // model_bc5c053b-6b8
- category: 'prop',
- keywords: ['model', 'bc5c053b', '6b8', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1187',
- path: '/models/samples/model_bc8407a3-861.glb', // model_bc8407a3-861
- category: 'prop',
- keywords: ['model', 'bc8407a3', '861', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1188',
- path: '/models/samples/model_bc8aee66-020.glb', // model_bc8aee66-020
- category: 'prop',
- keywords: ['model', 'bc8aee66', '020', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1189',
- path: '/models/samples/model_bcaf6746-de1.glb', // model_bcaf6746-de1
- category: 'prop',
- keywords: ['model', 'bcaf6746', 'de1', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1190',
- path: '/models/samples/model_be4bda23-1c7.glb', // model_be4bda23-1c7
- category: 'prop',
- keywords: ['model', 'be4bda23', '1c7', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1191',
- path: '/models/samples/model_be8924d5-c65.glb', // model_be8924d5-c65
- category: 'prop',
- keywords: ['model', 'be8924d5', 'c65', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1192',
- path: '/models/samples/model_c1d60b5f-82a.glb', // model_c1d60b5f-82a
- category: 'prop',
- keywords: ['model', 'c1d60b5f', '82a', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1193',
- path: '/models/samples/model_c29e1da8-b8b.glb', // model_c29e1da8-b8b
- category: 'prop',
- keywords: ['model', 'c29e1da8', 'b8b', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1194',
- path: '/models/samples/model_c3987744-ec5.glb', // model_c3987744-ec5
- category: 'prop',
- keywords: ['model', 'c3987744', 'ec5', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1195',
- path: '/models/samples/model_c423ab76-e31.glb', // model_c423ab76-e31
- category: 'prop',
- keywords: ['model', 'c423ab76', 'e31', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1196',
- path: '/models/samples/model_c444ba25-97e.glb', // model_c444ba25-97e
- category: 'prop',
- keywords: ['model', 'c444ba25', '97e', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1197',
- path: '/models/samples/model_c4c118aa-bfa.glb', // model_c4c118aa-bfa
- category: 'prop',
- keywords: ['model', 'c4c118aa', 'bfa', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1198',
- path: '/models/samples/model_c4e4b8aa-a8d.glb', // model_c4e4b8aa-a8d
- category: 'prop',
- keywords: ['model', 'c4e4b8aa', 'a8d', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1199',
- path: '/models/samples/model_c5ebde8e-590.glb', // model_c5ebde8e-590
- category: 'prop',
- keywords: ['model', 'c5ebde8e', '590', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1200',
- path: '/models/samples/model_c6475352-ab0.glb', // model_c6475352-ab0
- category: 'prop',
- keywords: ['model', 'c6475352', 'ab0', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1201',
- path: '/models/samples/model_c7399ba0-576.glb', // model_c7399ba0-576
- category: 'prop',
- keywords: ['model', 'c7399ba0', '576', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1202',
- path: '/models/samples/model_c7aaa41e-d88.glb', // model_c7aaa41e-d88
- category: 'prop',
- keywords: ['model', 'c7aaa41e', 'd88', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1203',
- path: '/models/samples/model_c8f214ff-5da.glb', // model_c8f214ff-5da
- category: 'prop',
- keywords: ['model', 'c8f214ff', '5da', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1204',
- path: '/models/samples/model_c97d0688-9d7.glb', // model_c97d0688-9d7
- category: 'prop',
- keywords: ['model', 'c97d0688', '9d7', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1205',
- path: '/models/samples/model_cbaf22e0-241.glb', // model_cbaf22e0-241
- category: 'prop',
- keywords: ['model', 'cbaf22e0', '241', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1206',
- path: '/models/samples/model_cbb1f63e-909.glb', // model_cbb1f63e-909
- category: 'prop',
- keywords: ['model', 'cbb1f63e', '909', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1207',
- path: '/models/samples/model_cbd86306-ab3.glb', // model_cbd86306-ab3
- category: 'prop',
- keywords: ['model', 'cbd86306', 'ab3', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1208',
- path: '/models/samples/model_cc83da49-17e.glb', // model_cc83da49-17e
- category: 'prop',
- keywords: ['model', 'cc83da49', '17e', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1209',
- path: '/models/samples/model_ccae3ba8-412.glb', // model_ccae3ba8-412
- category: 'prop',
- keywords: ['model', 'ccae3ba8', '412', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1210',
- path: '/models/samples/model_ccd0e302-53c.glb', // model_ccd0e302-53c
- category: 'prop',
- keywords: ['model', 'ccd0e302', '53c', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1211',
- path: '/models/samples/model_cdaf8464-0df.glb', // model_cdaf8464-0df
- category: 'prop',
- keywords: ['model', 'cdaf8464', '0df', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1212',
- path: '/models/samples/model_cdc0585e-37d.glb', // model_cdc0585e-37d
- category: 'prop',
- keywords: ['model', 'cdc0585e', '37d', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1213',
- path: '/models/samples/model_cdf6df67-fe9.glb', // model_cdf6df67-fe9
- category: 'prop',
- keywords: ['model', 'cdf6df67', 'fe9', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1214',
- path: '/models/samples/model_cdfeb29b-b5e.glb', // model_cdfeb29b-b5e
- category: 'prop',
- keywords: ['model', 'cdfeb29b', 'b5e', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1215',
- path: '/models/samples/model_ce74927a-c3f.glb', // model_ce74927a-c3f
- category: 'prop',
- keywords: ['model', 'ce74927a', 'c3f', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1216',
- path: '/models/samples/model_cec6713a-e4c.glb', // model_cec6713a-e4c
- category: 'prop',
- keywords: ['model', 'cec6713a', 'e4c', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1217',
- path: '/models/samples/model_cff80aa0-ab6.glb', // model_cff80aa0-ab6
- category: 'prop',
- keywords: ['model', 'cff80aa0', 'ab6', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1218',
- path: '/models/samples/model_d027a82e-1cd.glb', // model_d027a82e-1cd
- category: 'prop',
- keywords: ['model', 'd027a82e', '1cd', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1219',
- path: '/models/samples/model_d0a14d35-a9a.glb', // model_d0a14d35-a9a
- category: 'prop',
- keywords: ['model', 'd0a14d35', 'a9a', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1220',
- path: '/models/samples/model_d0c029e9-5ff.glb', // model_d0c029e9-5ff
- category: 'prop',
- keywords: ['model', 'd0c029e9', '5ff', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1221',
- path: '/models/samples/model_d0d4c8ef-251.glb', // model_d0d4c8ef-251
- category: 'prop',
- keywords: ['model', 'd0d4c8ef', '251', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1222',
- path: '/models/samples/model_d1140ab6-6f7.glb', // model_d1140ab6-6f7
- category: 'prop',
- keywords: ['model', 'd1140ab6', '6f7', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1223',
- path: '/models/samples/model_d1b6ae44-8ac.glb', // model_d1b6ae44-8ac
- category: 'prop',
- keywords: ['model', 'd1b6ae44', '8ac', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1224',
- path: '/models/samples/model_d2279ea8-74c.glb', // model_d2279ea8-74c
- category: 'prop',
- keywords: ['model', 'd2279ea8', '74c', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1225',
- path: '/models/samples/model_d2620506-13d.glb', // model_d2620506-13d
- category: 'prop',
- keywords: ['model', 'd2620506', '13d', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1226',
- path: '/models/samples/model_d2c30b63-4f4.glb', // model_d2c30b63-4f4
- category: 'prop',
- keywords: ['model', 'd2c30b63', '4f4', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1227',
- path: '/models/samples/model_d2faa1df-81a.glb', // model_d2faa1df-81a
- category: 'prop',
- keywords: ['model', 'd2faa1df', '81a', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1228',
- path: '/models/samples/model_d32d552a-117.glb', // model_d32d552a-117
- category: 'prop',
- keywords: ['model', 'd32d552a', '117', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1229',
- path: '/models/samples/model_d4b3b231-38a.glb', // model_d4b3b231-38a
- category: 'prop',
- keywords: ['model', 'd4b3b231', '38a', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1230',
- path: '/models/samples/model_d4d9d53a-f4c.glb', // model_d4d9d53a-f4c
- category: 'prop',
- keywords: ['model', 'd4d9d53a', 'f4c', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1231',
- path: '/models/samples/model_d4e325c0-ca2.glb', // model_d4e325c0-ca2
- category: 'prop',
- keywords: ['model', 'd4e325c0', 'ca2', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1232',
- path: '/models/samples/model_d4eca46e-5c1.glb', // model_d4eca46e-5c1
- category: 'prop',
- keywords: ['model', 'd4eca46e', '5c1', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1233',
- path: '/models/samples/model_d4fe17dd-4fd.glb', // model_d4fe17dd-4fd
- category: 'prop',
- keywords: ['model', 'd4fe17dd', '4fd', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1234',
- path: '/models/samples/model_d693b39d-538.glb', // model_d693b39d-538
- category: 'prop',
- keywords: ['model', 'd693b39d', '538', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1235',
- path: '/models/samples/model_d7386ebe-3c0.glb', // model_d7386ebe-3c0
- category: 'prop',
- keywords: ['model', 'd7386ebe', '3c0', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1236',
- path: '/models/samples/model_d8e2ebd4-49c.glb', // model_d8e2ebd4-49c
- category: 'prop',
- keywords: ['model', 'd8e2ebd4', '49c', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1237',
- path: '/models/samples/model_d93158e9-522.glb', // model_d93158e9-522
- category: 'prop',
- keywords: ['model', 'd93158e9', '522', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1238',
- path: '/models/samples/model_d97bc02e-d9c.glb', // model_d97bc02e-d9c
- category: 'prop',
- keywords: ['model', 'd97bc02e', 'd9c', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1239',
- path: '/models/samples/model_d9c612bd-31f.glb', // model_d9c612bd-31f
- category: 'prop',
- keywords: ['model', 'd9c612bd', '31f', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1240',
- path: '/models/samples/model_da163e91-586.glb', // model_da163e91-586
- category: 'prop',
- keywords: ['model', 'da163e91', '586', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1241',
- path: '/models/samples/model_db13e457-827.glb', // model_db13e457-827
- category: 'prop',
- keywords: ['model', 'db13e457', '827', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1242',
- path: '/models/samples/model_db2321c0-133.glb', // model_db2321c0-133
- category: 'prop',
- keywords: ['model', 'db2321c0', '133', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1243',
- path: '/models/samples/model_dbd88b8a-f2a.glb', // model_dbd88b8a-f2a
- category: 'prop',
- keywords: ['model', 'dbd88b8a', 'f2a', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1244',
- path: '/models/samples/model_dd0823c9-59c.glb', // model_dd0823c9-59c
- category: 'prop',
- keywords: ['model', 'dd0823c9', '59c', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1245',
- path: '/models/samples/model_dd087f76-5df.glb', // model_dd087f76-5df
- category: 'prop',
- keywords: ['model', 'dd087f76', '5df', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1246',
- path: '/models/samples/model_dd55e3c2-fe1.glb', // model_dd55e3c2-fe1
- category: 'prop',
- keywords: ['model', 'dd55e3c2', 'fe1', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1247',
- path: '/models/samples/model_dda9071f-016.glb', // model_dda9071f-016
- category: 'prop',
- keywords: ['model', 'dda9071f', '016', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1248',
- path: '/models/samples/model_ddc5d7d2-e7b.glb', // model_ddc5d7d2-e7b
- category: 'prop',
- keywords: ['model', 'ddc5d7d2', 'e7b', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1249',
- path: '/models/samples/model_ddebaec6-dbf.glb', // model_ddebaec6-dbf
- category: 'prop',
- keywords: ['model', 'ddebaec6', 'dbf', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1250',
- path: '/models/samples/model_df977e78-571.glb', // model_df977e78-571
- category: 'prop',
- keywords: ['model', 'df977e78', '571', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1251',
- path: '/models/samples/model_dfd35b24-20d.glb', // model_dfd35b24-20d
- category: 'prop',
- keywords: ['model', 'dfd35b24', '20d', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1252',
- path: '/models/samples/model_e0f28728-2e2.glb', // model_e0f28728-2e2
- category: 'prop',
- keywords: ['model', 'e0f28728', '2e2', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1253',
- path: '/models/samples/model_e1cc5d2b-8ce.glb', // model_e1cc5d2b-8ce
- category: 'prop',
- keywords: ['model', 'e1cc5d2b', '8ce', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1254',
- path: '/models/samples/model_e1e29c43-5eb.glb', // model_e1e29c43-5eb
- category: 'prop',
- keywords: ['model', 'e1e29c43', '5eb', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1255',
- path: '/models/samples/model_e2920a39-48a.glb', // model_e2920a39-48a
- category: 'prop',
- keywords: ['model', 'e2920a39', '48a', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1256',
- path: '/models/samples/model_e32c88b3-0be.glb', // model_e32c88b3-0be
- category: 'prop',
- keywords: ['model', 'e32c88b3', '0be', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1257',
- path: '/models/samples/model_e34a018d-ca9.glb', // model_e34a018d-ca9
- category: 'prop',
- keywords: ['model', 'e34a018d', 'ca9', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1258',
- path: '/models/samples/model_e3f82d01-354.glb', // model_e3f82d01-354
- category: 'prop',
- keywords: ['model', 'e3f82d01', '354', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1259',
- path: '/models/samples/model_e4bcb83c-18c.glb', // model_e4bcb83c-18c
- category: 'prop',
- keywords: ['model', 'e4bcb83c', '18c', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1260',
- path: '/models/samples/model_e62c71bd-144.glb', // model_e62c71bd-144
- category: 'prop',
- keywords: ['model', 'e62c71bd', '144', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1261',
- path: '/models/samples/model_e6575280-200.glb', // model_e6575280-200
- category: 'prop',
- keywords: ['model', 'e6575280', '200', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1262',
- path: '/models/samples/model_e69bcc63-c34.glb', // model_e69bcc63-c34
- category: 'prop',
- keywords: ['model', 'e69bcc63', 'c34', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1263',
- path: '/models/samples/model_e80d9f2b-7ff.glb', // model_e80d9f2b-7ff
- category: 'prop',
- keywords: ['model', 'e80d9f2b', '7ff', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1264',
- path: '/models/samples/model_eb131f00-2c3.glb', // model_eb131f00-2c3
- category: 'prop',
- keywords: ['model', 'eb131f00', '2c3', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1265',
- path: '/models/samples/model_eb2d7523-082.glb', // model_eb2d7523-082
- category: 'prop',
- keywords: ['model', 'eb2d7523', '082', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1266',
- path: '/models/samples/model_eb4d6a13-ca4.glb', // model_eb4d6a13-ca4
- category: 'prop',
- keywords: ['model', 'eb4d6a13', 'ca4', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1267',
- path: '/models/samples/model_ec6b9814-05c.glb', // model_ec6b9814-05c
- category: 'prop',
- keywords: ['model', 'ec6b9814', '05c', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1268',
- path: '/models/samples/model_ed1058c9-b9e.glb', // model_ed1058c9-b9e
- category: 'prop',
- keywords: ['model', 'ed1058c9', 'b9e', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1269',
- path: '/models/samples/model_ed25e36b-caf.glb', // model_ed25e36b-caf
- category: 'prop',
- keywords: ['model', 'ed25e36b', 'caf', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1270',
- path: '/models/samples/model_ed9ee2e6-4fe.glb', // model_ed9ee2e6-4fe
- category: 'prop',
- keywords: ['model', 'ed9ee2e6', '4fe', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1271',
- path: '/models/samples/model_eef315f3-a71.glb', // model_eef315f3-a71
- category: 'prop',
- keywords: ['model', 'eef315f3', 'a71', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1272',
- path: '/models/samples/model_ef0825e6-7ab.glb', // model_ef0825e6-7ab
- category: 'prop',
- keywords: ['model', 'ef0825e6', '7ab', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1273',
- path: '/models/samples/model_ef611be9-f95.glb', // model_ef611be9-f95
- category: 'prop',
- keywords: ['model', 'ef611be9', 'f95', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1274',
- path: '/models/samples/model_efa74db6-33a.glb', // model_efa74db6-33a
- category: 'prop',
- keywords: ['model', 'efa74db6', '33a', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1275',
- path: '/models/samples/model_f0a300e0-68b.glb', // model_f0a300e0-68b
- category: 'prop',
- keywords: ['model', 'f0a300e0', '68b', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1276',
- path: '/models/samples/model_f0d5d20c-288.glb', // model_f0d5d20c-288
- category: 'prop',
- keywords: ['model', 'f0d5d20c', '288', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1277',
- path: '/models/samples/model_f0e31075-8a3.glb', // model_f0e31075-8a3
- category: 'prop',
- keywords: ['model', 'f0e31075', '8a3', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1278',
- path: '/models/samples/model_f1431dfd-6e9.glb', // model_f1431dfd-6e9
- category: 'prop',
- keywords: ['model', 'f1431dfd', '6e9', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1279',
- path: '/models/samples/model_f1994e0f-2c0.glb', // model_f1994e0f-2c0
- category: 'prop',
- keywords: ['model', 'f1994e0f', '2c0', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1280',
- path: '/models/samples/model_f1e7458b-159.glb', // model_f1e7458b-159
- category: 'prop',
- keywords: ['model', 'f1e7458b', '159', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1281',
- path: '/models/samples/model_f1ed6ad1-d54.glb', // model_f1ed6ad1-d54
- category: 'prop',
- keywords: ['model', 'f1ed6ad1', 'd54', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1282',
- path: '/models/samples/model_f33bbd68-b9a.glb', // model_f33bbd68-b9a
- category: 'prop',
- keywords: ['model', 'f33bbd68', 'b9a', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1283',
- path: '/models/samples/model_f397d7ef-2a6.glb', // model_f397d7ef-2a6
- category: 'prop',
- keywords: ['model', 'f397d7ef', '2a6', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1284',
- path: '/models/samples/model_f4b87b96-c56.glb', // model_f4b87b96-c56
- category: 'prop',
- keywords: ['model', 'f4b87b96', 'c56', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1285',
- path: '/models/samples/model_f4eaac36-c6f.glb', // model_f4eaac36-c6f
- category: 'prop',
- keywords: ['model', 'f4eaac36', 'c6f', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1286',
- path: '/models/samples/model_f6e3b0dc-e5a.glb', // model_f6e3b0dc-e5a
- category: 'prop',
- keywords: ['model', 'f6e3b0dc', 'e5a', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1287',
- path: '/models/samples/model_f73f5d73-788.glb', // model_f73f5d73-788
- category: 'prop',
- keywords: ['model', 'f73f5d73', '788', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1288',
- path: '/models/samples/model_fa9c4d3f-544.glb', // model_fa9c4d3f-544
- category: 'prop',
- keywords: ['model', 'fa9c4d3f', '544', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1289',
- path: '/models/samples/model_fb3f9cc1-f65.glb', // model_fb3f9cc1-f65
- category: 'prop',
- keywords: ['model', 'fb3f9cc1', 'f65', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1290',
- path: '/models/samples/model_fb611993-efd.glb', // model_fb611993-efd
- category: 'prop',
- keywords: ['model', 'fb611993', 'efd', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1291',
- path: '/models/samples/model_fbac7d31-dde.glb', // model_fbac7d31-dde
- category: 'prop',
- keywords: ['model', 'fbac7d31', 'dde', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1292',
- path: '/models/samples/model_fc2e6a27-c5c.glb', // model_fc2e6a27-c5c
- category: 'prop',
- keywords: ['model', 'fc2e6a27', 'c5c', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1293',
- path: '/models/samples/model_fca00348-326.glb', // model_fca00348-326
- category: 'prop',
- keywords: ['model', 'fca00348', '326', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1294',
- path: '/models/samples/model_fdb3fabc-376.glb', // model_fdb3fabc-376
- category: 'prop',
- keywords: ['model', 'fdb3fabc', '376', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1295',
- path: '/models/samples/model_fdcfac2d-15c.glb', // model_fdcfac2d-15c
- category: 'prop',
- keywords: ['model', 'fdcfac2d', '15c', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1296',
- path: '/models/samples/model_fddc5f43-8b9.glb', // model_fddc5f43-8b9
- category: 'prop',
- keywords: ['model', 'fddc5f43', '8b9', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1297',
- path: '/models/samples/model_fdfb7519-95e.glb', // model_fdfb7519-95e
- category: 'prop',
- keywords: ['model', 'fdfb7519', '95e', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1298',
- path: '/models/samples/model_fe8040e1-71a.glb', // model_fe8040e1-71a
- category: 'prop',
- keywords: ['model', 'fe8040e1', '71a', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1299',
- path: '/models/samples/module_600.glb', // module_600
- category: 'prop',
- keywords: ['module', '600', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1300',
- path: '/models/samples/moltenDagger.glb', // moltenDagger
- category: 'prop',
- keywords: ['moltenDagger', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1301',
- path: '/models/samples/MosquitoInAmber.glb', // MosquitoInAmber
- category: 'prop',
- keywords: ['MosquitoInAmber', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1302',
- path: '/models/samples/MultiUVTest.glb', // MultiUVTest
- category: 'prop',
- keywords: ['MultiUVTest', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1303',
- path: '/models/samples/obelisk1.glb', // obelisk1
- category: 'prop',
- keywords: ['obelisk1', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1304',
- path: '/models/samples/obelisk2.glb', // obelisk2
- category: 'prop',
- keywords: ['obelisk2', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1305',
- path: '/models/samples/octopus_customRig.glb', // octopus_customRig
- category: 'prop',
- keywords: ['octopus', 'customRig', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1306',
- path: '/models/samples/OrientationTest.glb', // OrientationTest
- category: 'prop',
- keywords: ['OrientationTest', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1307',
- path: '/models/samples/PBR_Spheres.glb', // PBR_Spheres
- category: 'prop',
- keywords: ['PBR', 'Spheres', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1308',
- path: '/models/samples/pill.glb', // pill
- category: 'prop',
- keywords: ['pill', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1309',
- path: '/models/samples/pinkEnergyBall.glb', // pinkEnergyBall
- category: 'prop',
- keywords: ['pinkEnergyBall', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1310',
- path: '/models/samples/pirateFort.glb', // pirateFort
- category: 'prop',
- keywords: ['pirateFort', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1311',
- path: '/models/samples/platformer-kit_block-moving-blue.glb', // platformer-kit_block-moving-blue
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'moving', 'blue', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1312',
- path: '/models/samples/platformer-kit_block-moving-large.glb', // platformer-kit_block-moving-large
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'moving', 'large', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1313',
- path: '/models/samples/platformer-kit_block-moving.glb', // platformer-kit_block-moving
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'moving', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1314',
- path: '/models/samples/platformer-kit_block-snow-corner-overhang-low.glb', // platformer-kit_block-snow-corner-overhang-low
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'corner', 'overhang', 'low', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1315',
- path: '/models/samples/platformer-kit_block-snow-corner-overhang.glb', // platformer-kit_block-snow-corner-overhang
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'corner', 'overhang', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1316',
- path: '/models/samples/platformer-kit_block-snow-curve-half.glb', // platformer-kit_block-snow-curve-half
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'curve', 'half', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1317',
- path: '/models/samples/platformer-kit_block-snow-curve-low.glb', // platformer-kit_block-snow-curve-low
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'curve', 'low', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1318',
- path: '/models/samples/platformer-kit_block-snow-curve.glb', // platformer-kit_block-snow-curve
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'curve', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1319',
- path: '/models/samples/platformer-kit_block-snow-edge.glb', // platformer-kit_block-snow-edge
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'edge', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1320',
- path: '/models/samples/platformer-kit_block-snow-large-slope-steep.glb', // platformer-kit_block-snow-large-slope-steep
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'large', 'slope', 'steep', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1321',
- path: '/models/samples/platformer-kit_block-snow-large-slope.glb', // platformer-kit_block-snow-large-slope
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'large', 'slope', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1322',
- path: '/models/samples/platformer-kit_block-snow-overhang-corner.glb', // platformer-kit_block-snow-overhang-corner
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'overhang', 'corner', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1323',
- path: '/models/samples/platformer-kit_block-snow-overhang-edge.glb', // platformer-kit_block-snow-overhang-edge
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'overhang', 'edge', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1324',
- path: '/models/samples/platformer-kit_block-snow-overhang-large-slope-steep.glb', // platformer-kit_block-snow-overhang-large-slope-steep
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'overhang', 'large', 'slope', 'steep', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1325',
- path: '/models/samples/platformer-kit_block-snow-overhang-large-slope.glb', // platformer-kit_block-snow-overhang-large-slope
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'overhang', 'large', 'slope', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1326',
- path: '/models/samples/platformer-kit_block-snow-overhang-large-tall.glb', // platformer-kit_block-snow-overhang-large-tall
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'overhang', 'large', 'tall', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1327',
- path: '/models/samples/platformer-kit_block-snow-overhang-large.glb', // platformer-kit_block-snow-overhang-large
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'overhang', 'large', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1328',
- path: '/models/samples/platformer-kit_block-snow-overhang-long.glb', // platformer-kit_block-snow-overhang-long
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'overhang', 'long', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1329',
- path: '/models/samples/platformer-kit_block-snow-overhang-low-large.glb', // platformer-kit_block-snow-overhang-low-large
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'overhang', 'low', 'large', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1330',
- path: '/models/samples/platformer-kit_block-snow-overhang-low-long.glb', // platformer-kit_block-snow-overhang-low-long
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'overhang', 'low', 'long', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1331',
- path: '/models/samples/platformer-kit_block-snow-overhang-low.glb', // platformer-kit_block-snow-overhang-low
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'overhang', 'low', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1332',
- path: '/models/samples/platformer-kit_bomb.glb', // platformer-kit_bomb
- category: 'prop',
- keywords: ['platformer', 'kit', 'bomb', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1333',
- path: '/models/samples/platformer-kit_brick.glb', // platformer-kit_brick
- category: 'prop',
- keywords: ['platformer', 'kit', 'brick', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1334',
- path: '/models/samples/platformer-kit_button-round.glb', // platformer-kit_button-round
- category: 'prop',
- keywords: ['platformer', 'kit', 'button', 'round', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1335',
- path: '/models/samples/platformer-kit_button-square.glb', // platformer-kit_button-square
- category: 'prop',
- keywords: ['platformer', 'kit', 'button', 'square', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1336',
- path: '/models/samples/platformer-kit_conveyor-belt.glb', // platformer-kit_conveyor-belt
- category: 'prop',
- keywords: ['platformer', 'kit', 'conveyor', 'belt', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1337',
- path: '/models/samples/platformer-kit_hedge-corner.glb', // platformer-kit_hedge-corner
- category: 'prop',
- keywords: ['platformer', 'kit', 'hedge', 'corner', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1338',
- path: '/models/samples/platformer-kit_ladder-broken.glb', // platformer-kit_ladder-broken
- category: 'prop',
- keywords: ['platformer', 'kit', 'ladder', 'broken', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1339',
- path: '/models/samples/platformer-kit_ladder-long.glb', // platformer-kit_ladder-long
- category: 'prop',
- keywords: ['platformer', 'kit', 'ladder', 'long', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1340',
- path: '/models/samples/platformer-kit_lever.glb', // platformer-kit_lever
- category: 'prop',
- keywords: ['platformer', 'kit', 'lever', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1341',
- path: '/models/samples/platformer-kit_pipe.glb', // platformer-kit_pipe
- category: 'prop',
- keywords: ['platformer', 'kit', 'pipe', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1342',
- path: '/models/samples/platformer-kit_platform-fortified.glb', // platformer-kit_platform-fortified
- category: 'prop',
- keywords: ['platformer', 'kit', 'platform', 'fortified', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1343',
- path: '/models/samples/platformer-kit_poles.glb', // platformer-kit_poles
- category: 'prop',
- keywords: ['platformer', 'kit', 'poles', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1344',
- path: '/models/samples/platformer-kit_saw.glb', // platformer-kit_saw
- category: 'prop',
- keywords: ['platformer', 'kit', 'saw', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1345',
- path: '/models/samples/platformer-kit_spike-block-wide.glb', // platformer-kit_spike-block-wide
- category: 'prop',
- keywords: ['platformer', 'kit', 'spike', 'block', 'wide', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1346',
- path: '/models/samples/platformer-kit_spike-block.glb', // platformer-kit_spike-block
- category: 'prop',
- keywords: ['platformer', 'kit', 'spike', 'block', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1347',
- path: '/models/samples/platformer-kit_spring.glb', // platformer-kit_spring
- category: 'prop',
- keywords: ['platformer', 'kit', 'spring', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1348',
- path: '/models/samples/platformer-kit_trap-spikes-large.glb', // platformer-kit_trap-spikes-large
- category: 'prop',
- keywords: ['platformer', 'kit', 'trap', 'spikes', 'large', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1349',
- path: '/models/samples/platformer-kit_trap-spikes.glb', // platformer-kit_trap-spikes
- category: 'prop',
- keywords: ['platformer', 'kit', 'trap', 'spikes', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1350',
- path: '/models/samples/PlaysetLightTest.glb', // PlaysetLightTest
- category: 'prop',
- keywords: ['PlaysetLightTest', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1351',
- path: '/models/samples/PointLightIntensityTest.glb', // PointLightIntensityTest
- category: 'prop',
- keywords: ['PointLightIntensityTest', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1352',
- path: '/models/samples/PotOfCoals.glb', // PotOfCoals
- category: 'prop',
- keywords: ['PotOfCoals', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1353',
- path: '/models/samples/PotOfCoalsAnimationPointer.glb', // PotOfCoalsAnimationPointer
- category: 'prop',
- keywords: ['PotOfCoalsAnimationPointer', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1354',
- path: '/models/samples/previewSphere.glb', // previewSphere
- category: 'prop',
- keywords: ['previewSphere', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1355',
- path: '/models/samples/RecursiveSkeletons.glb', // RecursiveSkeletons
- category: 'prop',
- keywords: ['RecursiveSkeletons', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1356',
- path: '/models/samples/RiggedFigure.glb', // RiggedFigure
- category: 'prop',
- keywords: ['RiggedFigure', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1357',
- path: '/models/samples/riggedMesh.glb', // riggedMesh
- category: 'prop',
- keywords: ['riggedMesh', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1358',
- path: '/models/samples/RiggedSimple.glb', // RiggedSimple
- category: 'prop',
- keywords: ['RiggedSimple', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1359',
- path: '/models/samples/right.glb', // right
- category: 'prop',
- keywords: ['right', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1360',
- path: '/models/samples/Road corner.glb', // Road corner
- category: 'prop',
- keywords: ['Road', 'corner', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1361',
- path: '/models/samples/road gap.glb', // road gap
- category: 'prop',
- keywords: ['road', 'gap', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1362',
- path: '/models/samples/roundedCube.glb', // roundedCube
- category: 'prop',
- keywords: ['roundedCube', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1363',
- path: '/models/samples/roundedCylinder.glb', // roundedCylinder
- category: 'prop',
- keywords: ['roundedCylinder', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1364',
- path: '/models/samples/r_hand_lhs.glb', // r_hand_lhs
- category: 'prop',
- keywords: ['hand', 'lhs', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1365',
- path: '/models/samples/r_hand_rhs.glb', // r_hand_rhs
- category: 'prop',
- keywords: ['hand', 'rhs', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1366',
- path: '/models/samples/sarcophagus.glb', // sarcophagus
- category: 'prop',
- keywords: ['sarcophagus', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1367',
- path: '/models/samples/sarcophagusOpen.glb', // sarcophagusOpen
- category: 'prop',
- keywords: ['sarcophagusOpen', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1368',
- path: '/models/samples/sawMill.glb', // sawMill
- category: 'prop',
- keywords: ['sawMill', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1369',
- path: '/models/samples/seagulf.glb', // seagulf
- category: 'prop',
- keywords: ['seagulf', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1370',
- path: '/models/samples/shaderBall.glb', // shaderBall
- category: 'prop',
- keywords: ['shaderBall', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1371',
- path: '/models/samples/shaderBall_rotation.glb', // shaderBall_rotation
- category: 'prop',
- keywords: ['shaderBall', 'rotation', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1372',
- path: '/models/samples/shark.glb', // shark
- category: 'prop',
- keywords: ['shark', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1373',
- path: '/models/samples/sign.glb', // sign
- category: 'prop',
- keywords: ['sign', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1374',
- path: '/models/samples/signboard1.glb', // signboard1
- category: 'prop',
- keywords: ['signboard1', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1375',
- path: '/models/samples/signboard2.glb', // signboard2
- category: 'prop',
- keywords: ['signboard2', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1376',
- path: '/models/samples/snowBall.glb', // snowBall
- category: 'prop',
- keywords: ['snowBall', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1377',
- path: '/models/samples/snowField.glb', // snowField
- category: 'prop',
- keywords: ['snowField', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1378',
- path: '/models/samples/solar_system.glb', // solar_system
- category: 'prop',
- keywords: ['solar', 'system', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1379',
- path: '/models/samples/solid.glb', // solid
- category: 'prop',
- keywords: ['solid', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1380',
- path: '/models/samples/SpecGlossVsMetalRough.glb', // SpecGlossVsMetalRough
- category: 'prop',
- keywords: ['SpecGlossVsMetalRough', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1381',
- path: '/models/samples/spellDisk.glb', // spellDisk
- category: 'prop',
- keywords: ['spellDisk', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1382',
- path: '/models/samples/straight.glb', // straight
- category: 'prop',
- keywords: ['straight', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1383',
- path: '/models/samples/stud.glb', // stud
- category: 'prop',
- keywords: ['stud', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1384',
- path: '/models/samples/stump.glb', // stump
- category: 'prop',
- keywords: ['stump', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1385',
- path: '/models/samples/stump1.glb', // stump1
- category: 'prop',
- keywords: ['stump1', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1386',
- path: '/models/samples/stump2.glb', // stump2
- category: 'prop',
- keywords: ['stump2', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1387',
- path: '/models/samples/SunglassesKhronos.glb', // SunglassesKhronos
- category: 'prop',
- keywords: ['SunglassesKhronos', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1388',
- path: '/models/samples/target.glb', // target
- category: 'prop',
- keywords: ['target', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1389',
- path: '/models/samples/TextureCoordinateTest.glb', // TextureCoordinateTest
- category: 'prop',
- keywords: ['TextureCoordinateTest', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1390',
- path: '/models/samples/TextureEncodingTest.glb', // TextureEncodingTest
- category: 'prop',
- keywords: ['TextureEncodingTest', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1391',
- path: '/models/samples/TextureSettingsTest.glb', // TextureSettingsTest
- category: 'prop',
- keywords: ['TextureSettingsTest', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1392',
- path: '/models/samples/TextureTransformMultiTest.glb', // TextureTransformMultiTest
- category: 'prop',
- keywords: ['TextureTransformMultiTest', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1393',
- path: '/models/samples/three.js-examples_bath_day.glb', // three.js-examples_bath_day
- category: 'prop',
- keywords: ['three.js', 'examples', 'bath', 'day', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1394',
- path: '/models/samples/three.js-examples_coffeemat.glb', // three.js-examples_coffeemat
- category: 'prop',
- keywords: ['three.js', 'examples', 'coffeemat', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1395',
- path: '/models/samples/three.js-examples_coffeeMug.glb', // three.js-examples_coffeeMug
- category: 'prop',
- keywords: ['three.js', 'examples', 'coffeeMug', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1396',
- path: '/models/samples/three.js-examples_collision-world.glb', // three.js-examples_collision-world
- category: 'prop',
- keywords: ['three.js', 'examples', 'collision', 'world', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1397',
- path: '/models/samples/three.js-examples_duck.glb', // three.js-examples_duck
- category: 'prop',
- keywords: ['three.js', 'examples', 'duck', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1398',
- path: '/models/samples/three.js-examples_facecap.glb', // three.js-examples_facecap
- category: 'prop',
- keywords: ['three.js', 'examples', 'facecap', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1399',
- path: '/models/samples/three.js-examples_ferrari.glb', // three.js-examples_ferrari
- category: 'prop',
- keywords: ['three.js', 'examples', 'ferrari', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1400',
- path: '/models/samples/three.js-examples_Flamingo.glb', // three.js-examples_Flamingo
- category: 'prop',
- keywords: ['three.js', 'examples', 'Flamingo', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1401',
- path: '/models/samples/three.js-examples_gears.glb', // three.js-examples_gears
- category: 'prop',
- keywords: ['three.js', 'examples', 'gears', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1402',
- path: '/models/samples/three.js-examples_godrays_demo.glb', // three.js-examples_godrays_demo
- category: 'prop',
- keywords: ['three.js', 'examples', 'godrays', 'demo', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1403',
- path: '/models/samples/three.js-examples_IridescentDishWithOlives.glb', // three.js-examples_IridescentDishWithOlives
- category: 'prop',
- keywords: ['three.js', 'examples', 'IridescentDishWithOlives', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1404',
- path: '/models/samples/three.js-examples_kira.glb', // three.js-examples_kira
- category: 'prop',
- keywords: ['three.js', 'examples', 'kira', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1405',
- path: '/models/samples/three.js-examples_LeePerrySmith.glb', // three.js-examples_LeePerrySmith
- category: 'prop',
- keywords: ['three.js', 'examples', 'LeePerrySmith', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1406',
- path: '/models/samples/three.js-examples_LittlestTokyo.glb', // three.js-examples_LittlestTokyo
- category: 'prop',
- keywords: ['three.js', 'examples', 'LittlestTokyo', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1407',
- path: '/models/samples/three.js-examples_Michelle.glb', // three.js-examples_Michelle
- category: 'prop',
- keywords: ['three.js', 'examples', 'Michelle', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1408',
- path: '/models/samples/three.js-examples_Nefertiti.glb', // three.js-examples_Nefertiti
- category: 'prop',
- keywords: ['three.js', 'examples', 'Nefertiti', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1409',
- path: '/models/samples/three.js-examples_nemetona.glb', // three.js-examples_nemetona
- category: 'prop',
- keywords: ['three.js', 'examples', 'nemetona', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1410',
- path: '/models/samples/three.js-examples_Parrot.glb', // three.js-examples_Parrot
- category: 'prop',
- keywords: ['three.js', 'examples', 'Parrot', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1411',
- path: '/models/samples/three.js-examples_pool.glb', // three.js-examples_pool
- category: 'prop',
- keywords: ['three.js', 'examples', 'pool', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1412',
- path: '/models/samples/three.js-examples_PrimaryIonDrive.glb', // three.js-examples_PrimaryIonDrive
- category: 'prop',
- keywords: ['three.js', 'examples', 'PrimaryIonDrive', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1413',
- path: '/models/samples/three.js-examples_readyplayer.me.glb', // three.js-examples_readyplayer.me
- category: 'prop',
- keywords: ['three.js', 'examples', 'readyplayer.me', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1414',
- path: '/models/samples/three.js-examples_RobotExpressive.glb', // three.js-examples_RobotExpressive
- category: 'prop',
- keywords: ['three.js', 'examples', 'RobotExpressive', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1415',
- path: '/models/samples/three.js-examples_rolex.glb', // three.js-examples_rolex
- category: 'prop',
- keywords: ['three.js', 'examples', 'rolex', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1416',
- path: '/models/samples/three.js-examples_ShaderBall.glb', // three.js-examples_ShaderBall
- category: 'prop',
- keywords: ['three.js', 'examples', 'ShaderBall', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1417',
- path: '/models/samples/three.js-examples_ShaderBall2.glb', // three.js-examples_ShaderBall2
- category: 'prop',
- keywords: ['three.js', 'examples', 'ShaderBall2', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1418',
- path: '/models/samples/three.js-examples_ShadowmappableMesh.glb', // three.js-examples_ShadowmappableMesh
- category: 'prop',
- keywords: ['three.js', 'examples', 'ShadowmappableMesh', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1419',
- path: '/models/samples/three.js-examples_steampunk_camera.glb', // three.js-examples_steampunk_camera
- category: 'prop',
- keywords: ['three.js', 'examples', 'steampunk', 'camera', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1420',
- path: '/models/samples/three.js-examples_Stork.glb', // three.js-examples_Stork
- category: 'prop',
- keywords: ['three.js', 'examples', 'Stork', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1421',
- path: '/models/samples/three.js-examples_venice_mask.glb', // three.js-examples_venice_mask
- category: 'prop',
- keywords: ['three.js', 'examples', 'venice', 'mask', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1422',
- path: '/models/samples/three.js-examples_Xbot.glb', // three.js-examples_Xbot
- category: 'prop',
- keywords: ['three.js', 'examples', 'Xbot', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1423',
- path: '/models/samples/toast_acrobatics.glb', // toast_acrobatics
- category: 'prop',
- keywords: ['toast', 'acrobatics', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1424',
- path: '/models/samples/transfiguration_class.glb', // transfiguration_class
- category: 'prop',
- keywords: ['transfiguration', 'class', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1425',
- path: '/models/samples/ufo.glb', // ufo
- category: 'prop',
- keywords: ['ufo', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1426',
- path: '/models/samples/underwaterGround.glb', // underwaterGround
- category: 'prop',
- keywords: ['underwaterGround', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1427',
- path: '/models/samples/underwaterScene.glb', // underwaterScene
- category: 'prop',
- keywords: ['underwaterScene', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1428',
- path: '/models/samples/underwaterSceneNavMesh.glb', // underwaterSceneNavMesh
- category: 'prop',
- keywords: ['underwaterSceneNavMesh', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1429',
- path: '/models/samples/valleyvillage.glb', // valleyvillage
- category: 'prop',
- keywords: ['valleyvillage', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1430',
- path: '/models/samples/village.glb', // village
- category: 'prop',
- keywords: ['village', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1431',
- path: '/models/samples/VirtualCity.glb', // VirtualCity
- category: 'prop',
- keywords: ['VirtualCity', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1432',
- path: '/models/samples/wagon.glb', // wagon
- category: 'prop',
- keywords: ['wagon', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1433',
- path: '/models/samples/waterwell.glb', // waterwell
- category: 'prop',
- keywords: ['waterwell', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1434',
- path: '/models/samples/Xbot.glb', // Xbot
- category: 'prop',
- keywords: ['Xbot', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1435',
- path: '/models/samples/yellowEnergyBall.glb', // yellowEnergyBall
- category: 'prop',
- keywords: ['yellowEnergyBall', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1436',
- path: '/models/samples/YetiSmall.glb', // YetiSmall
- category: 'prop',
- keywords: ['YetiSmall', 'samples'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1437',
- path: '/models/vehicles/acrobaticPlane_variants.glb', // acrobaticPlane_variants
- category: 'prop',
- keywords: ['acrobaticPlane', 'variants', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1438',
- path: '/models/vehicles/aerobatic_plane.glb', // aerobatic_plane
- category: 'prop',
- keywords: ['aerobatic', 'plane', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1439',
- path: '/models/vehicles/babylon-assets_Buggy.glb', // babylon-assets_Buggy
- category: 'prop',
- keywords: ['babylon', 'assets', 'Buggy', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1440',
- path: '/models/vehicles/babylon-assets_CesiumMilkTruck.glb', // babylon-assets_CesiumMilkTruck
- category: 'prop',
- keywords: ['babylon', 'assets', 'CesiumMilkTruck', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1441',
- path: '/models/vehicles/car-kit_ambulance.glb', // car-kit_ambulance
- category: 'prop',
- keywords: ['car', 'kit', 'ambulance', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1442',
- path: '/models/vehicles/car-kit_box.glb', // car-kit_box
- category: 'prop',
- keywords: ['car', 'kit', 'box', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1443',
- path: '/models/vehicles/car-kit_cone-flat.glb', // car-kit_cone-flat
- category: 'prop',
- keywords: ['car', 'kit', 'cone', 'flat', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1444',
- path: '/models/vehicles/car-kit_cone.glb', // car-kit_cone
- category: 'prop',
- keywords: ['car', 'kit', 'cone', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1445',
- path: '/models/vehicles/car-kit_debris-bolt.glb', // car-kit_debris-bolt
- category: 'prop',
- keywords: ['car', 'kit', 'debris', 'bolt', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1446',
- path: '/models/vehicles/car-kit_debris-bumper.glb', // car-kit_debris-bumper
- category: 'prop',
- keywords: ['car', 'kit', 'debris', 'bumper', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1447',
- path: '/models/vehicles/car-kit_debris-drivetrain-axle.glb', // car-kit_debris-drivetrain-axle
- category: 'prop',
- keywords: ['car', 'kit', 'debris', 'drivetrain', 'axle', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1448',
- path: '/models/vehicles/car-kit_debris-drivetrain.glb', // car-kit_debris-drivetrain
- category: 'prop',
- keywords: ['car', 'kit', 'debris', 'drivetrain', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1449',
- path: '/models/vehicles/car-kit_debris-nut.glb', // car-kit_debris-nut
- category: 'prop',
- keywords: ['car', 'kit', 'debris', 'nut', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1450',
- path: '/models/vehicles/car-kit_debris-plate-a.glb', // car-kit_debris-plate-a
- category: 'prop',
- keywords: ['car', 'kit', 'debris', 'plate', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1451',
- path: '/models/vehicles/car-kit_debris-plate-b.glb', // car-kit_debris-plate-b
- category: 'prop',
- keywords: ['car', 'kit', 'debris', 'plate', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1452',
- path: '/models/vehicles/car-kit_debris-plate-small-a.glb', // car-kit_debris-plate-small-a
- category: 'prop',
- keywords: ['car', 'kit', 'debris', 'plate', 'small', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1453',
- path: '/models/vehicles/car-kit_debris-plate-small-b.glb', // car-kit_debris-plate-small-b
- category: 'prop',
- keywords: ['car', 'kit', 'debris', 'plate', 'small', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1454',
- path: '/models/vehicles/car-kit_debris-spoiler-a.glb', // car-kit_debris-spoiler-a
- category: 'prop',
- keywords: ['car', 'kit', 'debris', 'spoiler', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1455',
- path: '/models/vehicles/car-kit_debris-spoiler-b.glb', // car-kit_debris-spoiler-b
- category: 'prop',
- keywords: ['car', 'kit', 'debris', 'spoiler', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1456',
- path: '/models/vehicles/car-kit_debris-tire.glb', // car-kit_debris-tire
- category: 'prop',
- keywords: ['car', 'kit', 'debris', 'tire', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1457',
- path: '/models/vehicles/car-kit_delivery-flat.glb', // car-kit_delivery-flat
- category: 'prop',
- keywords: ['car', 'kit', 'delivery', 'flat', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1458',
- path: '/models/vehicles/car-kit_delivery.glb', // car-kit_delivery
- category: 'prop',
- keywords: ['car', 'kit', 'delivery', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1459',
- path: '/models/vehicles/car-kit_firetruck.glb', // car-kit_firetruck
- category: 'prop',
- keywords: ['car', 'kit', 'firetruck', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1460',
- path: '/models/vehicles/car-kit_garbage-truck.glb', // car-kit_garbage-truck
- category: 'prop',
- keywords: ['car', 'kit', 'garbage', 'truck', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1461',
- path: '/models/vehicles/car-kit_hatchback-sports.glb', // car-kit_hatchback-sports
- category: 'prop',
- keywords: ['car', 'kit', 'hatchback', 'sports', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1462',
- path: '/models/vehicles/car-kit_kart-oobi.glb', // car-kit_kart-oobi
- category: 'prop',
- keywords: ['car', 'kit', 'kart', 'oobi', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1463',
- path: '/models/vehicles/car-kit_kart-oodi.glb', // car-kit_kart-oodi
- category: 'prop',
- keywords: ['car', 'kit', 'kart', 'oodi', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1464',
- path: '/models/vehicles/car-kit_kart-ooli.glb', // car-kit_kart-ooli
- category: 'prop',
- keywords: ['car', 'kit', 'kart', 'ooli', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1465',
- path: '/models/vehicles/car-kit_kart-oopi.glb', // car-kit_kart-oopi
- category: 'prop',
- keywords: ['car', 'kit', 'kart', 'oopi', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1466',
- path: '/models/vehicles/car-kit_kart-oozi.glb', // car-kit_kart-oozi
- category: 'prop',
- keywords: ['car', 'kit', 'kart', 'oozi', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1467',
- path: '/models/vehicles/car-kit_police.glb', // car-kit_police
- category: 'prop',
- keywords: ['car', 'kit', 'police', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1468',
- path: '/models/vehicles/car-kit_race-future.glb', // car-kit_race-future
- category: 'prop',
- keywords: ['car', 'kit', 'race', 'future', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1469',
- path: '/models/vehicles/car-kit_race.glb', // car-kit_race
- category: 'prop',
- keywords: ['car', 'kit', 'race', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1470',
- path: '/models/vehicles/car-kit_sedan-sports.glb', // car-kit_sedan-sports
- category: 'prop',
- keywords: ['car', 'kit', 'sedan', 'sports', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1471',
- path: '/models/vehicles/car-kit_sedan.glb', // car-kit_sedan
- category: 'prop',
- keywords: ['car', 'kit', 'sedan', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1472',
- path: '/models/vehicles/car-kit_suv-luxury.glb', // car-kit_suv-luxury
- category: 'prop',
- keywords: ['car', 'kit', 'suv', 'luxury', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1473',
- path: '/models/vehicles/car-kit_suv.glb', // car-kit_suv
- category: 'prop',
- keywords: ['car', 'kit', 'suv', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1474',
- path: '/models/vehicles/car-kit_taxi.glb', // car-kit_taxi
- category: 'prop',
- keywords: ['car', 'kit', 'taxi', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1475',
- path: '/models/vehicles/car-kit_tractor-police.glb', // car-kit_tractor-police
- category: 'prop',
- keywords: ['car', 'kit', 'tractor', 'police', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1476',
- path: '/models/vehicles/car-kit_tractor-shovel.glb', // car-kit_tractor-shovel
- category: 'prop',
- keywords: ['car', 'kit', 'tractor', 'shovel', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1477',
- path: '/models/vehicles/car-kit_tractor.glb', // car-kit_tractor
- category: 'prop',
- keywords: ['car', 'kit', 'tractor', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1478',
- path: '/models/vehicles/car-kit_truck-flat.glb', // car-kit_truck-flat
- category: 'prop',
- keywords: ['car', 'kit', 'truck', 'flat', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1479',
- path: '/models/vehicles/car-kit_truck.glb', // car-kit_truck
- category: 'prop',
- keywords: ['car', 'kit', 'truck', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1480',
- path: '/models/vehicles/car-kit_van.glb', // car-kit_van
- category: 'prop',
- keywords: ['car', 'kit', 'van', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1481',
- path: '/models/vehicles/car-kit_wheel-dark.glb', // car-kit_wheel-dark
- category: 'prop',
- keywords: ['car', 'kit', 'wheel', 'dark', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1482',
- path: '/models/vehicles/car-kit_wheel-default.glb', // car-kit_wheel-default
- category: 'prop',
- keywords: ['car', 'kit', 'wheel', 'default', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1483',
- path: '/models/vehicles/car-kit_wheel-racing.glb', // car-kit_wheel-racing
- category: 'prop',
- keywords: ['car', 'kit', 'wheel', 'racing', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1484',
- path: '/models/vehicles/car-kit_wheel-tractor-back.glb', // car-kit_wheel-tractor-back
- category: 'prop',
- keywords: ['car', 'kit', 'wheel', 'tractor', 'back', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1485',
- path: '/models/vehicles/car-kit_wheel-tractor-dark-back.glb', // car-kit_wheel-tractor-dark-back
- category: 'prop',
- keywords: ['car', 'kit', 'wheel', 'tractor', 'dark', 'back', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1486',
- path: '/models/vehicles/car-kit_wheel-tractor-dark-front.glb', // car-kit_wheel-tractor-dark-front
- category: 'prop',
- keywords: ['car', 'kit', 'wheel', 'tractor', 'dark', 'front', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1487',
- path: '/models/vehicles/car-kit_wheel-tractor-front.glb', // car-kit_wheel-tractor-front
- category: 'prop',
- keywords: ['car', 'kit', 'wheel', 'tractor', 'front', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1488',
- path: '/models/vehicles/car-kit_wheel-truck.glb', // car-kit_wheel-truck
- category: 'prop',
- keywords: ['car', 'kit', 'wheel', 'truck', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1489',
- path: '/models/vehicles/car.glb', // car
- category: 'prop',
- keywords: ['car', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1490',
- path: '/models/vehicles/CarbonFiberWheel.glb', // CarbonFiberWheel
- category: 'prop',
- keywords: ['CarbonFiberWheel', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1491',
- path: '/models/vehicles/CarbonFibre.glb', // CarbonFibre
- category: 'prop',
- keywords: ['CarbonFibre', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1492',
- path: '/models/vehicles/CarConcept.glb', // CarConcept
- category: 'prop',
- keywords: ['CarConcept', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1493',
- path: '/models/vehicles/CesiumMilkTruck.glb', // CesiumMilkTruck
- category: 'prop',
- keywords: ['CesiumMilkTruck', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1494',
- path: '/models/vehicles/ClearCoatCarPaint.glb', // ClearCoatCarPaint
- category: 'prop',
- keywords: ['ClearCoatCarPaint', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1495',
- path: '/models/vehicles/fantasy-town-kit_cart-high.glb', // fantasy-town-kit_cart-high
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'cart', 'high', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1496',
- path: '/models/vehicles/fantasy-town-kit_cart.glb', // fantasy-town-kit_cart
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'cart', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1497',
- path: '/models/vehicles/graveyard-kit_pumpkin-carved.glb', // graveyard-kit_pumpkin-carved
- category: 'prop',
- keywords: ['graveyard', 'kit', 'pumpkin', 'carved', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1498',
- path: '/models/vehicles/graveyard-kit_pumpkin-tall-carved.glb', // graveyard-kit_pumpkin-tall-carved
- category: 'prop',
- keywords: ['graveyard', 'kit', 'pumpkin', 'tall', 'carved', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1499',
- path: '/models/vehicles/highPolyPlane.glb', // highPolyPlane
- category: 'prop',
- keywords: ['highPolyPlane', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1500',
- path: '/models/vehicles/pumpkinBucketCarved.glb', // pumpkinBucketCarved
- category: 'prop',
- keywords: ['pumpkinBucketCarved', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1501',
- path: '/models/vehicles/three.js-examples_space_ship_hallway.glb', // three.js-examples_space_ship_hallway
- category: 'prop',
- keywords: ['three.js', 'examples', 'space', 'ship', 'hallway', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1502',
- path: '/models/vehicles/ToyCar.glb', // ToyCar
- category: 'prop',
- keywords: ['ToyCar', 'vehicles'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1503',
- path: '/models/weapons/babylon-assets_DamagedHelmet.glb', // babylon-assets_DamagedHelmet
- category: 'prop',
- keywords: ['babylon', 'assets', 'DamagedHelmet', 'weapons'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1504',
- path: '/models/weapons/bowlingBall.glb', // bowlingBall
- category: 'prop',
- keywords: ['bowlingBall', 'weapons'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1505',
- path: '/models/weapons/bowlingPinpin.glb', // bowlingPinpin
- category: 'prop',
- keywords: ['bowlingPinpin', 'weapons'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1506',
- path: '/models/weapons/DamagedHelmet.glb', // DamagedHelmet
- category: 'prop',
- keywords: ['DamagedHelmet', 'weapons'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1507',
- path: '/models/weapons/flightHelmet.glb', // flightHelmet
- category: 'prop',
- keywords: ['flightHelmet', 'weapons'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1508',
- path: '/models/weapons/frostAxe.glb', // frostAxe
- category: 'prop',
- keywords: ['frostAxe', 'weapons'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1509',
- path: '/models/weapons/frostAxe_noMorph.glb', // frostAxe_noMorph
- category: 'prop',
- keywords: ['frostAxe', 'noMorph', 'weapons'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1510',
- path: '/models/weapons/graveyard-kit_detail-bowl.glb', // graveyard-kit_detail-bowl
- category: 'prop',
- keywords: ['graveyard', 'kit', 'detail', 'bowl', 'weapons'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1511',
- path: '/models/weapons/platformer-kit_arrow.glb', // platformer-kit_arrow
- category: 'prop',
- keywords: ['platformer', 'kit', 'arrow', 'weapons'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1512',
- path: '/models/weapons/platformer-kit_arrows.glb', // platformer-kit_arrows
- category: 'prop',
- keywords: ['platformer', 'kit', 'arrows', 'weapons'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1513',
- path: '/models/weapons/platformer-kit_block-snow-large-slope-narrow.glb', // platformer-kit_block-snow-large-slope-narrow
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'large', 'slope', 'narrow', 'weapons'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1514',
- path: '/models/weapons/platformer-kit_block-snow-large-slope-steep-narrow.glb', // platformer-kit_block-snow-large-slope-steep-narrow
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'large', 'slope', 'steep', 'narrow', 'weapons'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1515',
- path: '/models/weapons/platformer-kit_block-snow-low-narrow.glb', // platformer-kit_block-snow-low-narrow
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'low', 'narrow', 'weapons'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1516',
- path: '/models/weapons/platformer-kit_block-snow-narrow.glb', // platformer-kit_block-snow-narrow
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'narrow', 'weapons'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1517',
- path: '/models/weapons/platformer-kit_block-snow-overhang-large-slope-narrow.glb', // platformer-kit_block-snow-overhang-large-slope-narrow
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'overhang', 'large', 'slope', 'narrow', 'weapons'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1518',
- path: '/models/weapons/platformer-kit_block-snow-overhang-large-slope-steep-narrow.glb', // platformer-kit_block-snow-overhang-large-slope-steep-narrow
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'overhang', 'large', 'slope', 'steep', 'narrow', 'weapons'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1519',
- path: '/models/weapons/platformer-kit_block-snow-overhang-low-narrow.glb', // platformer-kit_block-snow-overhang-low-narrow
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'overhang', 'low', 'narrow', 'weapons'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1520',
- path: '/models/weapons/platformer-kit_block-snow-overhang-narrow.glb', // platformer-kit_block-snow-overhang-narrow
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'overhang', 'narrow', 'weapons'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1521',
- path: '/models/weapons/runeSword.glb', // runeSword
- category: 'prop',
- keywords: ['runeSword', 'weapons'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1522',
- path: '/models/weapons/stumpAxe.glb', // stumpAxe
- category: 'prop',
- keywords: ['stumpAxe', 'weapons'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1523',
- path: '/models/weapons/sword_noMat.glb', // sword_noMat
- category: 'prop',
- keywords: ['sword', 'noMat', 'weapons'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1524',
- path: '/models/_test_data/AlphaBlendModeTest.glb', // AlphaBlendModeTest
- category: 'prop',
- keywords: ['AlphaBlendModeTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1525',
- path: '/models/_test_data/AlphaBlendModeTest_1769416633725.glb', // AlphaBlendModeTest_1769416633725
- category: 'prop',
- keywords: ['AlphaBlendModeTest', '1769416633725', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1526',
- path: '/models/_test_data/AnimatedMorphCube.glb', // AnimatedMorphCube
- category: 'prop',
- keywords: ['AnimatedMorphCube', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1527',
- path: '/models/_test_data/AnisotropyDiscTest.glb', // AnisotropyDiscTest
- category: 'prop',
- keywords: ['AnisotropyDiscTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1528',
- path: '/models/_test_data/anisotropyMesh.glb', // anisotropyMesh
- category: 'prop',
- keywords: ['anisotropyMesh', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1529',
- path: '/models/_test_data/AnisotropyRotationTest.glb', // AnisotropyRotationTest
- category: 'prop',
- keywords: ['AnisotropyRotationTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1530',
- path: '/models/_test_data/AnisotropyStrengthTest.glb', // AnisotropyStrengthTest
- category: 'prop',
- keywords: ['AnisotropyStrengthTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1531',
- path: '/models/_test_data/AttenuationTest.glb', // AttenuationTest
- category: 'prop',
- keywords: ['AttenuationTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1532',
- path: '/models/_test_data/babylon-assets_AnimatedMorphCube.glb', // babylon-assets_AnimatedMorphCube
- category: 'prop',
- keywords: ['babylon', 'assets', 'AnimatedMorphCube', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1533',
- path: '/models/_test_data/babylon-assets_AnimatedMorphSphere.glb', // babylon-assets_AnimatedMorphSphere
- category: 'prop',
- keywords: ['babylon', 'assets', 'AnimatedMorphSphere', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1534',
- path: '/models/_test_data/babylon-assets_NormalTangentTest.glb', // babylon-assets_NormalTangentTest
- category: 'prop',
- keywords: ['babylon', 'assets', 'NormalTangentTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1535',
- path: '/models/_test_data/babylon-assets_VertexColorTest.glb', // babylon-assets_VertexColorTest
- category: 'prop',
- keywords: ['babylon', 'assets', 'VertexColorTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1536',
- path: '/models/_test_data/ClearCoatTest.glb', // ClearCoatTest
- category: 'prop',
- keywords: ['ClearCoatTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1537',
- path: '/models/_test_data/ClearCoatTest_1769416633736.glb', // ClearCoatTest_1769416633736
- category: 'prop',
- keywords: ['ClearCoatTest', '1769416633736', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1538',
- path: '/models/_test_data/ClearcoatWicker.glb', // ClearcoatWicker
- category: 'prop',
- keywords: ['ClearcoatWicker', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1539',
- path: '/models/_test_data/CompareAlphaCoverage.glb', // CompareAlphaCoverage
- category: 'prop',
- keywords: ['CompareAlphaCoverage', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1540',
- path: '/models/_test_data/CompareAmbientOcclusion.glb', // CompareAmbientOcclusion
- category: 'prop',
- keywords: ['CompareAmbientOcclusion', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1541',
- path: '/models/_test_data/CompareAnisotropy.glb', // CompareAnisotropy
- category: 'prop',
- keywords: ['CompareAnisotropy', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1542',
- path: '/models/_test_data/CompareBaseColor.glb', // CompareBaseColor
- category: 'prop',
- keywords: ['CompareBaseColor', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1543',
- path: '/models/_test_data/CompareClearcoat.glb', // CompareClearcoat
- category: 'prop',
- keywords: ['CompareClearcoat', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1544',
- path: '/models/_test_data/CompareDispersion.glb', // CompareDispersion
- category: 'prop',
- keywords: ['CompareDispersion', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1545',
- path: '/models/_test_data/CompareEmissiveStrength.glb', // CompareEmissiveStrength
- category: 'prop',
- keywords: ['CompareEmissiveStrength', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1546',
- path: '/models/_test_data/CompareIor.glb', // CompareIor
- category: 'prop',
- keywords: ['CompareIor', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1547',
- path: '/models/_test_data/CompareIridescence.glb', // CompareIridescence
- category: 'prop',
- keywords: ['CompareIridescence', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1548',
- path: '/models/_test_data/CompareMetallic.glb', // CompareMetallic
- category: 'prop',
- keywords: ['CompareMetallic', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1549',
- path: '/models/_test_data/CompareNormal.glb', // CompareNormal
- category: 'prop',
- keywords: ['CompareNormal', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1550',
- path: '/models/_test_data/CompareRoughness.glb', // CompareRoughness
- category: 'prop',
- keywords: ['CompareRoughness', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1551',
- path: '/models/_test_data/CompareSheen.glb', // CompareSheen
- category: 'prop',
- keywords: ['CompareSheen', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1552',
- path: '/models/_test_data/CompareSpecular.glb', // CompareSpecular
- category: 'prop',
- keywords: ['CompareSpecular', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1553',
- path: '/models/_test_data/CompareTransmission.glb', // CompareTransmission
- category: 'prop',
- keywords: ['CompareTransmission', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1554',
- path: '/models/_test_data/CompareVolume.glb', // CompareVolume
- category: 'prop',
- keywords: ['CompareVolume', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1555',
- path: '/models/_test_data/CubeVisibility.glb', // CubeVisibility
- category: 'prop',
- keywords: ['CubeVisibility', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1556',
- path: '/models/_test_data/DiffuseTransmissionTest.glb', // DiffuseTransmissionTest
- category: 'prop',
- keywords: ['DiffuseTransmissionTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1557',
- path: '/models/_test_data/DispersionTest.glb', // DispersionTest
- category: 'prop',
- keywords: ['DispersionTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1558',
- path: '/models/_test_data/EmissiveStrengthTest.glb', // EmissiveStrengthTest
- category: 'prop',
- keywords: ['EmissiveStrengthTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1559',
- path: '/models/_test_data/fantasy-town-kit_banner-green.glb', // fantasy-town-kit_banner-green
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'banner', 'green', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1560',
- path: '/models/_test_data/fantasy-town-kit_banner-red.glb', // fantasy-town-kit_banner-red
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'banner', 'red', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1561',
- path: '/models/_test_data/fantasy-town-kit_chimney-base.glb', // fantasy-town-kit_chimney-base
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'chimney', 'base', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1562',
- path: '/models/_test_data/fantasy-town-kit_chimney-top.glb', // fantasy-town-kit_chimney-top
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'chimney', 'top', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1563',
- path: '/models/_test_data/fantasy-town-kit_chimney.glb', // fantasy-town-kit_chimney
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'chimney', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1564',
- path: '/models/_test_data/fantasy-town-kit_fountain-center.glb', // fantasy-town-kit_fountain-center
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'fountain', 'center', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1565',
- path: '/models/_test_data/fantasy-town-kit_fountain-corner-inner-square.glb', // fantasy-town-kit_fountain-corner-inner-square
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'fountain', 'corner', 'inner', 'square', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1566',
- path: '/models/_test_data/fantasy-town-kit_fountain-corner.glb', // fantasy-town-kit_fountain-corner
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'fountain', 'corner', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1567',
- path: '/models/_test_data/fantasy-town-kit_fountain-edge.glb', // fantasy-town-kit_fountain-edge
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'fountain', 'edge', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1568',
- path: '/models/_test_data/fantasy-town-kit_hedge-large.glb', // fantasy-town-kit_hedge-large
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'hedge', 'large', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1569',
- path: '/models/_test_data/fantasy-town-kit_hedge.glb', // fantasy-town-kit_hedge
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'hedge', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1570',
- path: '/models/_test_data/fantasy-town-kit_overhang.glb', // fantasy-town-kit_overhang
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'overhang', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1571',
- path: '/models/_test_data/fantasy-town-kit_pillar-wood.glb', // fantasy-town-kit_pillar-wood
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'pillar', 'wood', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1572',
- path: '/models/_test_data/fantasy-town-kit_planks-half.glb', // fantasy-town-kit_planks-half
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'planks', 'half', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1573',
- path: '/models/_test_data/fantasy-town-kit_poles-horizontal.glb', // fantasy-town-kit_poles-horizontal
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'poles', 'horizontal', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1574',
- path: '/models/_test_data/fantasy-town-kit_poles.glb', // fantasy-town-kit_poles
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'poles', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1575',
- path: '/models/_test_data/fantasy-town-kit_road-curb-end.glb', // fantasy-town-kit_road-curb-end
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'road', 'curb', 'end', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1576',
- path: '/models/_test_data/fantasy-town-kit_road-curb.glb', // fantasy-town-kit_road-curb
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'road', 'curb', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1577',
- path: '/models/_test_data/fantasy-town-kit_road-edge-slope.glb', // fantasy-town-kit_road-edge-slope
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'road', 'edge', 'slope', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1578',
- path: '/models/_test_data/fantasy-town-kit_road-edge.glb', // fantasy-town-kit_road-edge
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'road', 'edge', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1579',
- path: '/models/_test_data/fantasy-town-kit_road-slope.glb', // fantasy-town-kit_road-slope
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'road', 'slope', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1580',
- path: '/models/_test_data/fantasy-town-kit_road.glb', // fantasy-town-kit_road
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'road', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1581',
- path: '/models/_test_data/fantasy-town-kit_stairs-full-corner-inner.glb', // fantasy-town-kit_stairs-full-corner-inner
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'stairs', 'full', 'corner', 'inner', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1582',
- path: '/models/_test_data/fantasy-town-kit_stairs-full-corner-outer.glb', // fantasy-town-kit_stairs-full-corner-outer
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'stairs', 'full', 'corner', 'outer', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1583',
- path: '/models/_test_data/fantasy-town-kit_stairs-full.glb', // fantasy-town-kit_stairs-full
- category: 'prop',
- keywords: ['fantasy', 'town', 'kit', 'stairs', 'full', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1584',
- path: '/models/_test_data/graveyard-kit_pillar-obelisk.glb', // graveyard-kit_pillar-obelisk
- category: 'prop',
- keywords: ['graveyard', 'kit', 'pillar', 'obelisk', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1585',
- path: '/models/_test_data/InterpolationTest.glb', // InterpolationTest
- category: 'prop',
- keywords: ['InterpolationTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1586',
- path: '/models/_test_data/IORTestGrid.glb', // IORTestGrid
- category: 'prop',
- keywords: ['IORTestGrid', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1587',
- path: '/models/_test_data/IridescenceAbalone.glb', // IridescenceAbalone
- category: 'prop',
- keywords: ['IridescenceAbalone', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1588',
- path: '/models/_test_data/IridescenceSuzanne.glb', // IridescenceSuzanne
- category: 'prop',
- keywords: ['IridescenceSuzanne', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1589',
- path: '/models/_test_data/LevelOfDetail.glb', // LevelOfDetail
- category: 'prop',
- keywords: ['LevelOfDetail', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1590',
- path: '/models/_test_data/LightVisibility.glb', // LightVisibility
- category: 'prop',
- keywords: ['LightVisibility', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1591',
- path: '/models/_test_data/MaterialsVariantsShoe.glb', // MaterialsVariantsShoe
- category: 'prop',
- keywords: ['MaterialsVariantsShoe', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1592',
- path: '/models/_test_data/model_0edd72b2-508.glb', // model_0edd72b2-508
- category: 'prop',
- keywords: ['model', '0edd72b2', '508', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1593',
- path: '/models/_test_data/model_1a363c0a-9d6.glb', // model_1a363c0a-9d6
- category: 'prop',
- keywords: ['model', '1a363c0a', '9d6', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1594',
- path: '/models/_test_data/model_1c2c2336-452.glb', // model_1c2c2336-452
- category: 'prop',
- keywords: ['model', '1c2c2336', '452', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1595',
- path: '/models/_test_data/model_378cbff9-748.glb', // model_378cbff9-748
- category: 'prop',
- keywords: ['model', '378cbff9', '748', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1596',
- path: '/models/_test_data/model_3f54926f-2ae.glb', // model_3f54926f-2ae
- category: 'prop',
- keywords: ['model', '3f54926f', '2ae', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1597',
- path: '/models/_test_data/model_47401bf3-3f5.glb', // model_47401bf3-3f5
- category: 'prop',
- keywords: ['model', '47401bf3', '3f5', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1598',
- path: '/models/_test_data/model_47f79259-a8c.glb', // model_47f79259-a8c
- category: 'prop',
- keywords: ['model', '47f79259', 'a8c', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1599',
- path: '/models/_test_data/model_5fea0565-f63.glb', // model_5fea0565-f63
- category: 'prop',
- keywords: ['model', '5fea0565', 'f63', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1600',
- path: '/models/_test_data/model_6a19c719-a9a.glb', // model_6a19c719-a9a
- category: 'prop',
- keywords: ['model', '6a19c719', 'a9a', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1601',
- path: '/models/_test_data/model_7a7e0ee3-619.glb', // model_7a7e0ee3-619
- category: 'prop',
- keywords: ['model', '7a7e0ee3', '619', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1602',
- path: '/models/_test_data/model_80462a56-d7c.glb', // model_80462a56-d7c
- category: 'prop',
- keywords: ['model', '80462a56', 'd7c', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1603',
- path: '/models/_test_data/model_854a8a67-3e8.glb', // model_854a8a67-3e8
- category: 'prop',
- keywords: ['model', '854a8a67', '3e8', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1604',
- path: '/models/_test_data/model_8b38e2ff-f63.glb', // model_8b38e2ff-f63
- category: 'prop',
- keywords: ['model', '8b38e2ff', 'f63', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1605',
- path: '/models/_test_data/model_8f6bffad-7c5.glb', // model_8f6bffad-7c5
- category: 'prop',
- keywords: ['model', '8f6bffad', '7c5', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1606',
- path: '/models/_test_data/model_a38eff0d-59c.glb', // model_a38eff0d-59c
- category: 'prop',
- keywords: ['model', 'a38eff0d', '59c', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1607',
- path: '/models/_test_data/model_b2f30fa2-517.glb', // model_b2f30fa2-517
- category: 'prop',
- keywords: ['model', 'b2f30fa2', '517', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1608',
- path: '/models/_test_data/model_b96212aa-0d9.glb', // model_b96212aa-0d9
- category: 'prop',
- keywords: ['model', 'b96212aa', '0d9', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1609',
- path: '/models/_test_data/model_be8d450b-5d4.glb', // model_be8d450b-5d4
- category: 'prop',
- keywords: ['model', 'be8d450b', '5d4', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1610',
- path: '/models/_test_data/model_e3912051-2d6.glb', // model_e3912051-2d6
- category: 'prop',
- keywords: ['model', 'e3912051', '2d6', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1611',
- path: '/models/_test_data/model_fa5c7f32-60f.glb', // model_fa5c7f32-60f
- category: 'prop',
- keywords: ['model', 'fa5c7f32', '60f', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1612',
- path: '/models/_test_data/morphLoader.glb', // morphLoader
- category: 'prop',
- keywords: ['morphLoader', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1613',
- path: '/models/_test_data/MorphPrimitivesTest.glb', // MorphPrimitivesTest
- category: 'prop',
- keywords: ['MorphPrimitivesTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1614',
- path: '/models/_test_data/MorphStressTest.glb', // MorphStressTest
- category: 'prop',
- keywords: ['MorphStressTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1615',
- path: '/models/_test_data/morphTargetBars.glb', // morphTargetBars
- category: 'prop',
- keywords: ['morphTargetBars', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1616',
- path: '/models/_test_data/MosquitoInAmber_no_extension.glb', // MosquitoInAmber_no_extension
- category: 'prop',
- keywords: ['MosquitoInAmber', 'extension', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1617',
- path: '/models/_test_data/mrtk-fluent-button.glb', // mrtk-fluent-button
- category: 'prop',
- keywords: ['mrtk', 'fluent', 'button', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1618',
- path: '/models/_test_data/NegativeScaleTest.glb', // NegativeScaleTest
- category: 'prop',
- keywords: ['NegativeScaleTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1619',
- path: '/models/_test_data/NormalTangentMirrorTest.glb', // NormalTangentMirrorTest
- category: 'prop',
- keywords: ['NormalTangentMirrorTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1620',
- path: '/models/_test_data/NormalTangentTest.glb', // NormalTangentTest
- category: 'prop',
- keywords: ['NormalTangentTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1621',
- path: '/models/_test_data/platformer-kit_block-snow-corner-low.glb', // platformer-kit_block-snow-corner-low
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'corner', 'low', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1622',
- path: '/models/_test_data/platformer-kit_block-snow-corner.glb', // platformer-kit_block-snow-corner
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'corner', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1623',
- path: '/models/_test_data/platformer-kit_block-snow-hexagon.glb', // platformer-kit_block-snow-hexagon
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'hexagon', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1624',
- path: '/models/_test_data/platformer-kit_block-snow-large-tall.glb', // platformer-kit_block-snow-large-tall
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'large', 'tall', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1625',
- path: '/models/_test_data/platformer-kit_block-snow-large.glb', // platformer-kit_block-snow-large
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'large', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1626',
- path: '/models/_test_data/platformer-kit_block-snow-long.glb', // platformer-kit_block-snow-long
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'long', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1627',
- path: '/models/_test_data/platformer-kit_block-snow-low-hexagon.glb', // platformer-kit_block-snow-low-hexagon
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'low', 'hexagon', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1628',
- path: '/models/_test_data/platformer-kit_block-snow-low-large.glb', // platformer-kit_block-snow-low-large
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'low', 'large', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1629',
- path: '/models/_test_data/platformer-kit_block-snow-low-long.glb', // platformer-kit_block-snow-low-long
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'low', 'long', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1630',
- path: '/models/_test_data/platformer-kit_block-snow-low.glb', // platformer-kit_block-snow-low
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'low', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1631',
- path: '/models/_test_data/platformer-kit_block-snow-overhang-hexagon.glb', // platformer-kit_block-snow-overhang-hexagon
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'overhang', 'hexagon', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1632',
- path: '/models/_test_data/platformer-kit_block-snow-overhang-low-hexagon.glb', // platformer-kit_block-snow-overhang-low-hexagon
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', 'overhang', 'low', 'hexagon', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1633',
- path: '/models/_test_data/platformer-kit_block-snow.glb', // platformer-kit_block-snow
- category: 'prop',
- keywords: ['platformer', 'kit', 'block', 'snow', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1634',
- path: '/models/_test_data/platformer-kit_heart.glb', // platformer-kit_heart
- category: 'prop',
- keywords: ['platformer', 'kit', 'heart', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1635',
- path: '/models/_test_data/platformer-kit_hedge.glb', // platformer-kit_hedge
- category: 'prop',
- keywords: ['platformer', 'kit', 'hedge', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1636',
- path: '/models/_test_data/platformer-kit_jewel.glb', // platformer-kit_jewel
- category: 'prop',
- keywords: ['platformer', 'kit', 'jewel', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1637',
- path: '/models/_test_data/platformer-kit_ladder.glb', // platformer-kit_ladder
- category: 'prop',
- keywords: ['platformer', 'kit', 'ladder', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1638',
- path: '/models/_test_data/platformer-kit_lock.glb', // platformer-kit_lock
- category: 'prop',
- keywords: ['platformer', 'kit', 'lock', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1639',
- path: '/models/_test_data/platformer-kit_platform-overhang.glb', // platformer-kit_platform-overhang
- category: 'prop',
- keywords: ['platformer', 'kit', 'platform', 'overhang', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1640',
- path: '/models/_test_data/platformer-kit_platform-ramp.glb', // platformer-kit_platform-ramp
- category: 'prop',
- keywords: ['platformer', 'kit', 'platform', 'ramp', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1641',
- path: '/models/_test_data/platformer-kit_platform.glb', // platformer-kit_platform
- category: 'prop',
- keywords: ['platformer', 'kit', 'platform', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1642',
- path: '/models/_test_data/platformer-kit_sign.glb', // platformer-kit_sign
- category: 'prop',
- keywords: ['platformer', 'kit', 'sign', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1643',
- path: '/models/_test_data/platformer-kit_star.glb', // platformer-kit_star
- category: 'prop',
- keywords: ['platformer', 'kit', 'star', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1644',
- path: '/models/_test_data/SheenTestGrid.glb', // SheenTestGrid
- category: 'prop',
- keywords: ['SheenTestGrid', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1645',
- path: '/models/_test_data/shoe_variants.glb', // shoe_variants
- category: 'prop',
- keywords: ['shoe', 'variants', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1646',
- path: '/models/_test_data/SimpleInstancing.glb', // SimpleInstancing
- category: 'prop',
- keywords: ['SimpleInstancing', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1647',
- path: '/models/_test_data/SlateProximity.glb', // SlateProximity
- category: 'prop',
- keywords: ['SlateProximity', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1648',
- path: '/models/_test_data/SpecularSilkPouf.glb', // SpecularSilkPouf
- category: 'prop',
- keywords: ['SpecularSilkPouf', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1649',
- path: '/models/_test_data/SpecularTest.glb', // SpecularTest
- category: 'prop',
- keywords: ['SpecularTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1650',
- path: '/models/_test_data/SphereWithTangents.glb', // SphereWithTangents
- category: 'prop',
- keywords: ['SphereWithTangents', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1651',
- path: '/models/_test_data/TextureLinearInterpolationTest.glb', // TextureLinearInterpolationTest
- category: 'prop',
- keywords: ['TextureLinearInterpolationTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1652',
- path: '/models/_test_data/three.js-examples_ClearcoatTest.glb', // three.js-examples_ClearcoatTest
- category: 'prop',
- keywords: ['three.js', 'examples', 'ClearcoatTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1653',
- path: '/models/_test_data/three.js-examples_DispersionTest.glb', // three.js-examples_DispersionTest
- category: 'prop',
- keywords: ['three.js', 'examples', 'DispersionTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1654',
- path: '/models/_test_data/TransmissionOrderTest.glb', // TransmissionOrderTest
- category: 'prop',
- keywords: ['TransmissionOrderTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1655',
- path: '/models/_test_data/TransmissionRoughnessTest.glb', // TransmissionRoughnessTest
- category: 'prop',
- keywords: ['TransmissionRoughnessTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1656',
- path: '/models/_test_data/TransmissionTest.glb', // TransmissionTest
- category: 'prop',
- keywords: ['TransmissionTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1657',
- path: '/models/_test_data/UnicodeโคโปTest.glb', // UnicodeโคโปTest
- category: 'prop',
- keywords: ['UnicodeโคโปTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1658',
- path: '/models/_test_data/UnlitTest.glb', // UnlitTest
- category: 'prop',
- keywords: ['UnlitTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1659',
- path: '/models/_test_data/VertexColorTest.glb', // VertexColorTest
- category: 'prop',
- keywords: ['VertexColorTest', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
- {
- id: 'local_1660',
- path: '/models/_test_data/XmpMetadataRoundedCube.glb', // XmpMetadataRoundedCube
- category: 'prop',
- keywords: ['XmpMetadataRoundedCube', '_test_data'],
- normalizedScale: 1.0,
- placement: { zone: 'any', groundOffset: 0, minSpacing: 1.0 },
- boundingBox: { width: 1, height: 1, depth: 1 }
- },
-];
+// ์ด๊ธฐํ ์ํ ๊ด๋ฆฌ
+let ASSETS: AssetMetadata[] = [];
+let isLoaded = false;
+let initPromise: Promise | null = null;
-export const ASSET_REGISTRY = ASSETS;
+// ์ด๊ธฐํ ํจ์: ์ฑ ์์ ์ ๋๋ ์์
์ ๊ทผ ์ ํธ์ถ ํ์
+export async function initializeAssetRegistry(): Promise {
+ if (isLoaded) return;
+ if (initPromise) return initPromise;
+
+ initPromise = (async () => {
+ try {
+ // [v3.4 Fix] ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๋๋ ๋ก๋ ์ค๋จ (๋ฉ๋ชจ๋ฆฌ ์ต์ ํ)
+ // 25,000๊ฐ ์ด์์ ์์
๋ฉํ๋ฐ์ดํฐ๋ฅผ ํด๋ผ์ด์ธํธ์ ์์ฃผ์ํค๋ ๊ฒ์ WebGL ์์ ์ฑ์ ์น๋ช
์ ์.
+ // ๋ชจ๋ ๊ฒ์ ๋ฐ ๋งค์นญ์ ์๋ฒ API(/api/resources/match)๋ก ์์ํจ.
+ console.log('[AssetRegistry] ๐ ํด๋ผ์ด์ธํธ ์ ์ฒด ๋ก๋ ์คํต (์๋ฒ API ์์ ๋ชจ๋)');
+ /*
+ console.log('[AssetRegistry] Loading assets from /models/assets_registry_master.json...');
+ const response = await fetch('/models/assets_registry_master.json');
+ if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);
+ ASSETS = await response.json();
+ */
+ ASSETS = []; // ๋น ์ํ ์ ์ง
+ isLoaded = true;
+ console.log(`[AssetRegistry] ํด๋ผ์ด์ธํธ ๋ชจ๋ ์ด๊ธฐํ ์๋ฃ (Lazy Loading ํ์ฑํ)`);
+ } catch (error) {
+ console.error('[AssetRegistry] Failed to load assets:', error);
+ initPromise = null; // ์คํจ ์ ์ฌ์๋ ๊ฐ๋ฅํ๋๋ก ์ด๊ธฐํ
+ }
+ })();
+
+ return initPromise;
+}
export function getAssetMetadata(id: string): AssetMetadata | undefined {
return ASSETS.find(a => a.id === id);
@@ -14985,31 +63,51 @@ export function getAssetsByCategory(category: AssetMetadata['category']): AssetM
return ASSETS.filter(a => a.category === category);
}
-// ============================================================
-// ๋ธ๋๋ฆฌ์คํธ ๊ฒฝ๋ก ํจํด - ํ
์คํธ ํ์ผ ๋ฐ ๋ด๋ถ์ฉ ์์
์ ์ธ
-// ============================================================
-const ASSET_PATH_BLACKLIST = [
- '_test_data',
- 'test_',
- 'debug_',
- '/temp/',
-];
+const ASSET_PATH_BLACKLIST = ['_test_data', 'test_', 'debug_', '/temp/', 'samples/', 'placeholder', '_index'];
-function isBlacklistedPath(path: string): boolean {
- const lowerPath = path.toLowerCase();
- return ASSET_PATH_BLACKLIST.some(pattern => lowerPath.includes(pattern.toLowerCase()));
+export function isBlacklistedPath(path: string): boolean {
+ return ASSET_PATH_BLACKLIST.some(p => path.includes(p));
}
-export function searchAssets(keyword: string): AssetMetadata[] {
- const lower = keyword.toLowerCase();
- return ASSETS.filter(a =>
- !isBlacklistedPath(a.path) && (
- a.id.includes(lower) ||
- a.keywords.some(k => k.includes(lower))
- )
- );
+export function assetMatchScore(query: string, assetKeyword: string): number {
+ const q = query.toLowerCase();
+ const ak = assetKeyword.toLowerCase();
+ if (q === ak) return 1.0;
+ if (ak.includes(q)) return (q.length / ak.length) * 0.5;
+ if (q.includes(ak)) return ak.length / q.length;
+ return 0;
}
+export async function searchAssets(keyword: string): Promise {
+ if (!keyword) return [];
+
+ // ๋ก๋๋์ง ์์์ผ๋ฉด ๋๊ธฐ
+ if (!isLoaded) {
+ if (initPromise) {
+ console.log('[AssetRegistry] AssetRegistry is still loading. Waiting...');
+ await initPromise;
+ } else {
+ console.warn('[AssetRegistry] Search called before initialization. Initializing now...');
+ await initializeAssetRegistry();
+ }
+ }
+
+ const searchTerms = keyword.toLowerCase().split(/\s+/).filter(t => t.length > 0);
+
+ return ASSETS.map(asset => {
+ let maxScore = 0;
+ for (const term of searchTerms) {
+ for (const kw of asset.keywords) {
+ maxScore = Math.max(maxScore, assetMatchScore(term, kw));
+ }
+ if (asset.id.toLowerCase().includes(term)) maxScore = Math.max(maxScore, 0.5);
+ }
+ return { asset, score: maxScore };
+ })
+ .filter(res => res.score > 0.1)
+ .sort((a, b) => b.score - a.score)
+ .map(res => res.asset);
+}
export function getAllAssets(): AssetMetadata[] {
return ASSETS;
diff --git a/src/data/assets.ts b/src/data/assets.ts
index 3916d02..3141ce8 100644
--- a/src/data/assets.ts
+++ b/src/data/assets.ts
@@ -1119,7 +1119,36 @@ export const HOGWARTS_KEYWORDS: Record = {
};
/**
- * ํค์๋๋ก ์์
๊ฒฝ๋ก ์ฐพ๊ธฐ
+ * ํค์๋-ํค ๊ฐ ๋์ ๋งค์นญ ์ ์ ๊ณ์ฐ (v3 โ ํ๋์ฝ๋ฉ ๊ธ์ง)
+ * - ์ ํ ์ผ์น = 1.0
+ * - ํค๊ฐ ์ฟผ๋ฆฌ์ ํฌํจ = ํค ๊ธธ์ด/์ฟผ๋ฆฌ ๊ธธ์ด (ํค๊ฐ ๊ธธ์๋ก ๊ด๋ จ์ฑ ๋์)
+ * - ์ฟผ๋ฆฌ๊ฐ ํค์ ํฌํจ = ์ฟผ๋ฆฌ ๊ธธ์ด/ํค ๊ธธ์ด ร 0.3 (์ญ๋ฐฉํฅ ํ๋ํฐ ๊ฐํ)
+ *
+ * ํค ๊ธธ์ด๊ฐ ์งง์์๋ก ๋น์จ ์ ์๊ฐ ์์ฐ์ ์ผ๋ก ๋ฎ์์ ธ ์ค๋งค์นญ ๋ฐฉ์ง
+ */
+function computeMatchScore(query: string, key: string): number {
+ const keyLower = key.toLowerCase();
+
+ // ์ ํ ๋งค์นญ
+ if (query === keyLower) return 1.0;
+
+ // ํค๊ฐ ์ฟผ๋ฆฌ ์์ ํฌํจ (์: query="medieval_stone", key="stone")
+ // ํค๊ฐ ๊ธธ์๋ก ๋ ๋์ ์ ์ (3์ ํค โ 3/15=0.2, 8์ ํค โ 8/15=0.53)
+ if (query.includes(keyLower)) {
+ return keyLower.length / query.length;
+ }
+
+ // ์ญ๋ฐฉํฅ: ์ฟผ๋ฆฌ๊ฐ ํค์ ํฌํจ (์: query="car", key="carconcept")
+ // 0.5 โ 0.3์ผ๋ก ํ๋ํฐ ๊ฐํ (์๋์น ์์ ๋งค์นญ ์ต์ํ)
+ if (keyLower.includes(query)) {
+ return (query.length / keyLower.length) * 0.3;
+ }
+
+ return 0;
+}
+
+/**
+ * ํค์๋๋ก ์์
๊ฒฝ๋ก ์ฐพ๊ธฐ โ ๋์ ์ ์ฌ๋ ์ค์ฝ์ด๋ง
*/
export function findAssetByKeyword(keyword: string): string | null {
const lower = keyword.toLowerCase();
@@ -1133,14 +1162,27 @@ export function findAssetByKeyword(keyword: string): string | null {
}
}
- // 2. ASSET_LIBRARY ์ง์ ๋งค์นญ
+ // 2. ์ ํ ๋งค์นญ (์ต์ฐ์ )
+ if (ASSET_LIBRARY[lower]) return ASSET_LIBRARY[lower];
+
+ // 3. ์ ์ฌ๋ ๊ธฐ๋ฐ ์ต์ ๋งค์นญ
+ let bestMatch: string | null = null;
+ let bestScore = 0;
+
for (const [key, path] of Object.entries(ASSET_LIBRARY)) {
- if (lower.includes(key.toLowerCase()) || key.toLowerCase().includes(lower)) {
- return path;
+ const score = computeMatchScore(lower, key);
+ if (score > bestScore) {
+ bestScore = score;
+ bestMatch = path;
}
}
- return null;
+ // ๋์ ์๊ณ๊ฐ: ํค์๋ ๊ธธ์ด์ ๋น๋กํ๋ 0.4~0.7 ๋ฒ์๋ก ํด๋จํ
+ // ๊ธฐ์กด: length/(length+1) โ 5์์์ 0.83 (๋๋ฌด ๋์ ๋๋ถ๋ถ ๊ฑฐ๋ถ)
+ // ๊ฐ์ : length/(length+2) โ 5์์์ 0.71, ํด๋จํ โ 0.7 (์ ์ ํ ํํฐ)
+ const rawThreshold = lower.length / (lower.length + 2);
+ const minThreshold = Math.max(0.4, Math.min(0.7, rawThreshold));
+ return bestScore >= minThreshold ? bestMatch : null;
}
/**
diff --git a/src/data/semanticAssets.generated.ts b/src/data/semanticAssets.generated.ts
index 4bcebb5..f745a92 100644
--- a/src/data/semanticAssets.generated.ts
+++ b/src/data/semanticAssets.generated.ts
@@ -9,6 +9,7 @@
export type AssetCategory =
| 'environment'
+ | 'environment_container'
| 'furniture'
| 'character'
| 'prop'
@@ -31,6 +32,7 @@ export interface SemanticAsset {
style?: string;
placementContexts?: string[];
companions?: string[];
+ physical_scale?: number; // [v3.5] ์์
์ ๋ฌผ๋ฆฌ์ ํฌ๊ธฐ (๋ฏธํฐ ๋จ์)
// ๋ ๊ฑฐ์ ํธํ
variants?: number;
lighting?: { exposure?: number };
@@ -39,7 +41,7 @@ export interface SemanticAsset {
export const SEMANTIC_ASSETS: SemanticAsset[] = [
{
"id": "_test_polypizza_Adventurer",
- "path": "/models/_test_polypizza/Adventurer.glb.glb",
+ "path": "/models/_test_polypizza/Adventurer.glb",
"category": "character",
"subCategory": "adventurer",
"keywords": {
@@ -114,7 +116,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "_test_polypizza_Knight",
- "path": "/models/_test_polypizza/Knight.glb.glb",
+ "path": "/models/_test_polypizza/Knight.glb",
"category": "prop",
"subCategory": "knight",
"keywords": {
@@ -188,7 +190,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_both_houses_scene",
- "path": "/models/buildings/both_houses_scene.glb.glb",
+ "path": "/models/buildings/both_houses_scene.glb",
"category": "structure",
"subCategory": "houses",
"keywords": {
@@ -262,7 +264,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_car-kit_debris-door",
- "path": "/models/buildings/car-kit_debris-door.glb.glb",
+ "path": "/models/buildings/car-kit_debris-door.glb",
"category": "structure",
"subCategory": "debris",
"keywords": {
@@ -328,7 +330,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_car-kit_debris-door-window",
- "path": "/models/buildings/car-kit_debris-door-window.glb.glb",
+ "path": "/models/buildings/car-kit_debris-door-window.glb",
"category": "structure",
"subCategory": "debris",
"keywords": {
@@ -397,7 +399,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_cellarDoor",
- "path": "/models/buildings/cellarDoor.glb.glb",
+ "path": "/models/buildings/cellarDoor.glb",
"category": "structure",
"subCategory": "door",
"keywords": {
@@ -471,7 +473,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_detailed_realistic_model_house_01",
- "path": "/models/buildings/detailed_realistic_model_house_01.glb.glb",
+ "path": "/models/buildings/detailed_realistic_model_house_01.glb",
"category": "structure",
"subCategory": "house",
"keywords": {
@@ -544,7 +546,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_detailed_realistic_model_houseelf_01",
- "path": "/models/buildings/detailed_realistic_model_houseelf_01.glb.glb",
+ "path": "/models/buildings/detailed_realistic_model_houseelf_01.glb",
"category": "character",
"subCategory": "houseelf",
"keywords": {
@@ -617,7 +619,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_detailed_realistic_model_houseelf_02",
- "path": "/models/buildings/detailed_realistic_model_houseelf_02.glb.glb",
+ "path": "/models/buildings/detailed_realistic_model_houseelf_02.glb",
"category": "structure",
"subCategory": "house",
"keywords": {
@@ -691,7 +693,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_dumbledores_office",
- "path": "/models/buildings/dumbledores_office.glb.glb",
+ "path": "/models/buildings/dumbledores_office.glb",
"category": "structure",
"subCategory": "office",
"keywords": {
@@ -763,7 +765,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_balcony-wall",
- "path": "/models/buildings/fantasy-town-kit_balcony-wall.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_balcony-wall.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -836,7 +838,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_balcony-wall-fence",
- "path": "/models/buildings/fantasy-town-kit_balcony-wall-fence.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_balcony-wall-fence.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -909,7 +911,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_fence",
- "path": "/models/buildings/fantasy-town-kit_fence.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_fence.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -985,7 +987,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_fence-broken",
- "path": "/models/buildings/fantasy-town-kit_fence-broken.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_fence-broken.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -1061,7 +1063,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_fence-curved",
- "path": "/models/buildings/fantasy-town-kit_fence-curved.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_fence-curved.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -1137,7 +1139,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_fence-gate",
- "path": "/models/buildings/fantasy-town-kit_fence-gate.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_fence-gate.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -1212,7 +1214,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_hedge-gate",
- "path": "/models/buildings/fantasy-town-kit_hedge-gate.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_hedge-gate.glb",
"category": "structure",
"subCategory": "gate",
"keywords": {
@@ -1286,7 +1288,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_hedge-large-gate",
- "path": "/models/buildings/fantasy-town-kit_hedge-large-gate.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_hedge-large-gate.glb",
"category": "structure",
"subCategory": "gate",
"keywords": {
@@ -1362,7 +1364,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof",
- "path": "/models/buildings/fantasy-town-kit_roof.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -1436,7 +1438,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof-corner",
- "path": "/models/buildings/fantasy-town-kit_roof-corner.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof-corner.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -1511,7 +1513,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof-corner-inner",
- "path": "/models/buildings/fantasy-town-kit_roof-corner-inner.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof-corner-inner.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -1584,7 +1586,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof-corner-round",
- "path": "/models/buildings/fantasy-town-kit_roof-corner-round.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof-corner-round.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -1658,7 +1660,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof-flat",
- "path": "/models/buildings/fantasy-town-kit_roof-flat.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof-flat.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -1732,7 +1734,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof-gable",
- "path": "/models/buildings/fantasy-town-kit_roof-gable.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof-gable.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -1806,7 +1808,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof-gable-detail",
- "path": "/models/buildings/fantasy-town-kit_roof-gable-detail.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof-gable-detail.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -1882,7 +1884,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof-gable-end",
- "path": "/models/buildings/fantasy-town-kit_roof-gable-end.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof-gable-end.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -1956,7 +1958,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof-gable-top",
- "path": "/models/buildings/fantasy-town-kit_roof-gable-top.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof-gable-top.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -2031,7 +2033,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof-high",
- "path": "/models/buildings/fantasy-town-kit_roof-high.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof-high.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -2105,7 +2107,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof-high-corner",
- "path": "/models/buildings/fantasy-town-kit_roof-high-corner.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof-high-corner.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -2181,7 +2183,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof-high-corner-round",
- "path": "/models/buildings/fantasy-town-kit_roof-high-corner-round.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof-high-corner-round.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -2257,7 +2259,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof-high-cornerinner",
- "path": "/models/buildings/fantasy-town-kit_roof-high-cornerinner.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof-high-cornerinner.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -2332,7 +2334,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof-high-flat",
- "path": "/models/buildings/fantasy-town-kit_roof-high-flat.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof-high-flat.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -2404,7 +2406,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof-high-gable",
- "path": "/models/buildings/fantasy-town-kit_roof-high-gable.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof-high-gable.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -2480,7 +2482,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof-high-gable-detail",
- "path": "/models/buildings/fantasy-town-kit_roof-high-gable-detail.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof-high-gable-detail.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -2553,7 +2555,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof-high-gable-end",
- "path": "/models/buildings/fantasy-town-kit_roof-high-gable-end.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof-high-gable-end.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -2629,7 +2631,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof-high-gable-top",
- "path": "/models/buildings/fantasy-town-kit_roof-high-gable-top.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof-high-gable-top.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -2702,7 +2704,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof-high-left",
- "path": "/models/buildings/fantasy-town-kit_roof-high-left.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof-high-left.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -2776,7 +2778,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof-high-point",
- "path": "/models/buildings/fantasy-town-kit_roof-high-point.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof-high-point.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -2847,7 +2849,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof-high-right",
- "path": "/models/buildings/fantasy-town-kit_roof-high-right.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof-high-right.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -2919,7 +2921,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof-high-window",
- "path": "/models/buildings/fantasy-town-kit_roof-high-window.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof-high-window.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -2994,7 +2996,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof-left",
- "path": "/models/buildings/fantasy-town-kit_roof-left.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof-left.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -3070,7 +3072,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof-point",
- "path": "/models/buildings/fantasy-town-kit_roof-point.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof-point.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -3146,7 +3148,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof-right",
- "path": "/models/buildings/fantasy-town-kit_roof-right.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof-right.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -3222,7 +3224,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_roof-window",
- "path": "/models/buildings/fantasy-town-kit_roof-window.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_roof-window.glb",
"category": "structure",
"subCategory": "roof",
"keywords": {
@@ -3297,7 +3299,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall",
- "path": "/models/buildings/fantasy-town-kit_wall.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -3373,7 +3375,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-arch",
- "path": "/models/buildings/fantasy-town-kit_wall-arch.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-arch.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -3448,7 +3450,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-arch-top",
- "path": "/models/buildings/fantasy-town-kit_wall-arch-top.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-arch-top.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -3522,7 +3524,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-arch-top-detail",
- "path": "/models/buildings/fantasy-town-kit_wall-arch-top-detail.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-arch-top-detail.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -3599,7 +3601,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-block",
- "path": "/models/buildings/fantasy-town-kit_wall-block.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-block.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -3676,7 +3678,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-block-half",
- "path": "/models/buildings/fantasy-town-kit_wall-block-half.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-block-half.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -3753,7 +3755,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-broken",
- "path": "/models/buildings/fantasy-town-kit_wall-broken.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-broken.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -3829,7 +3831,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-corner",
- "path": "/models/buildings/fantasy-town-kit_wall-corner.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-corner.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -3905,7 +3907,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-corner-detail",
- "path": "/models/buildings/fantasy-town-kit_wall-corner-detail.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-corner-detail.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -3980,7 +3982,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-corner-diagonal",
- "path": "/models/buildings/fantasy-town-kit_wall-corner-diagonal.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-corner-diagonal.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -4056,7 +4058,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-corner-diagonal-half",
- "path": "/models/buildings/fantasy-town-kit_wall-corner-diagonal-half.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-corner-diagonal-half.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -4128,7 +4130,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-corner-edge",
- "path": "/models/buildings/fantasy-town-kit_wall-corner-edge.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-corner-edge.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -4205,7 +4207,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-curved",
- "path": "/models/buildings/fantasy-town-kit_wall-curved.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-curved.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -4281,7 +4283,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-detail-cross",
- "path": "/models/buildings/fantasy-town-kit_wall-detail-cross.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-detail-cross.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -4356,7 +4358,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-detail-diagonal",
- "path": "/models/buildings/fantasy-town-kit_wall-detail-diagonal.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-detail-diagonal.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -4432,7 +4434,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-detail-horizontal",
- "path": "/models/buildings/fantasy-town-kit_wall-detail-horizontal.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-detail-horizontal.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -4505,7 +4507,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-diagonal",
- "path": "/models/buildings/fantasy-town-kit_wall-diagonal.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-diagonal.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -4580,7 +4582,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-door",
- "path": "/models/buildings/fantasy-town-kit_wall-door.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-door.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -4656,7 +4658,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-doorway-base",
- "path": "/models/buildings/fantasy-town-kit_wall-doorway-base.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-doorway-base.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -4732,7 +4734,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-doorway-round",
- "path": "/models/buildings/fantasy-town-kit_wall-doorway-round.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-doorway-round.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -4807,7 +4809,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-doorway-square",
- "path": "/models/buildings/fantasy-town-kit_wall-doorway-square.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-doorway-square.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -4884,7 +4886,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-doorway-square-wide",
- "path": "/models/buildings/fantasy-town-kit_wall-doorway-square-wide.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-doorway-square-wide.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -4961,7 +4963,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-doorway-square-wide-curved",
- "path": "/models/buildings/fantasy-town-kit_wall-doorway-square-wide-curved.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-doorway-square-wide-curved.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -5037,7 +5039,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-half",
- "path": "/models/buildings/fantasy-town-kit_wall-half.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-half.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -5113,7 +5115,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-rounded",
- "path": "/models/buildings/fantasy-town-kit_wall-rounded.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-rounded.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -5189,7 +5191,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-side",
- "path": "/models/buildings/fantasy-town-kit_wall-side.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-side.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -5263,7 +5265,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-slope",
- "path": "/models/buildings/fantasy-town-kit_wall-slope.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-slope.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -5339,7 +5341,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-window-glass",
- "path": "/models/buildings/fantasy-town-kit_wall-window-glass.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-window-glass.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -5415,7 +5417,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-window-round",
- "path": "/models/buildings/fantasy-town-kit_wall-window-round.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-window-round.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -5490,7 +5492,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-window-shutters",
- "path": "/models/buildings/fantasy-town-kit_wall-window-shutters.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-window-shutters.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -5565,7 +5567,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-window-small",
- "path": "/models/buildings/fantasy-town-kit_wall-window-small.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-window-small.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -5641,7 +5643,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood",
- "path": "/models/buildings/fantasy-town-kit_wall-wood.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -5717,7 +5719,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-arch",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-arch.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-arch.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -5791,7 +5793,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-arch-top",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-arch-top.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-arch-top.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -5867,7 +5869,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-arch-top-detail",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-arch-top-detail.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-arch-top-detail.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -5944,7 +5946,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-block",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-block.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-block.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -6018,7 +6020,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-block-half",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-block-half.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-block-half.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -6091,7 +6093,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-broken",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-broken.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-broken.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -6168,7 +6170,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-corner",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-corner.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-corner.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -6244,7 +6246,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-corner-diagonal",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-corner-diagonal.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-corner-diagonal.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -6320,7 +6322,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-corner-diagonal-half",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-corner-diagonal-half.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-corner-diagonal-half.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -6390,7 +6392,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-corner-edge",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-corner-edge.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-corner-edge.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -6462,7 +6464,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-curved",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-curved.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-curved.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -6538,7 +6540,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-detail-cross",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-detail-cross.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-detail-cross.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -6610,7 +6612,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-detail-diagonal",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-detail-diagonal.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-detail-diagonal.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -6685,7 +6687,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-detail-horizontal",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-detail-horizontal.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-detail-horizontal.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -6760,7 +6762,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-diagonal",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-diagonal.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-diagonal.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -6836,7 +6838,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-door",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-door.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-door.glb",
"category": "structure",
"subCategory": "door",
"keywords": {
@@ -6912,7 +6914,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-doorway-base",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-doorway-base.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-doorway-base.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -6987,7 +6989,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-doorway-round",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-doorway-round.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-doorway-round.glb",
"category": "structure",
"subCategory": "doorway",
"keywords": {
@@ -7063,7 +7065,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-doorway-square",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-doorway-square.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-doorway-square.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -7136,7 +7138,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-doorway-square-wide",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-doorway-square-wide.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-doorway-square-wide.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -7210,7 +7212,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-doorway-square-wide-curved",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-doorway-square-wide-curved.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-doorway-square-wide-curved.glb",
"category": "structure",
"subCategory": "door",
"keywords": {
@@ -7286,7 +7288,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-half",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-half.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-half.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -7358,7 +7360,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-rounded",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-rounded.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-rounded.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -7430,7 +7432,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-side",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-side.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-side.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -7501,7 +7503,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-slope",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-slope.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-slope.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -7574,7 +7576,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-window-glass",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-window-glass.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-window-glass.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -7650,7 +7652,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-window-round",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-window-round.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-window-round.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -7726,7 +7728,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-window-shutters",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-window-shutters.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-window-shutters.glb",
"category": "structure",
"subCategory": "shutters",
"keywords": {
@@ -7800,7 +7802,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fantasy-town-kit_wall-wood-window-small",
- "path": "/models/buildings/fantasy-town-kit_wall-wood-window-small.glb.glb",
+ "path": "/models/buildings/fantasy-town-kit_wall-wood-window-small.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -7876,7 +7878,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fence",
- "path": "/models/buildings/fence.glb.glb",
+ "path": "/models/buildings/fence.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -7949,7 +7951,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceACorner1",
- "path": "/models/buildings/fenceACorner1.glb.glb",
+ "path": "/models/buildings/fenceACorner1.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -8020,7 +8022,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceACorner2",
- "path": "/models/buildings/fenceACorner2.glb.glb",
+ "path": "/models/buildings/fenceACorner2.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -8092,7 +8094,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceACorner3",
- "path": "/models/buildings/fenceACorner3.glb.glb",
+ "path": "/models/buildings/fenceACorner3.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -8165,7 +8167,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceACorner4",
- "path": "/models/buildings/fenceACorner4.glb.glb",
+ "path": "/models/buildings/fenceACorner4.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -8239,7 +8241,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceAGate",
- "path": "/models/buildings/fenceAGate.glb.glb",
+ "path": "/models/buildings/fenceAGate.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -8315,7 +8317,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceAPillar1",
- "path": "/models/buildings/fenceAPillar1.glb.glb",
+ "path": "/models/buildings/fenceAPillar1.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -8392,7 +8394,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceAPillar2",
- "path": "/models/buildings/fenceAPillar2.glb.glb",
+ "path": "/models/buildings/fenceAPillar2.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -8464,7 +8466,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceAPillar3",
- "path": "/models/buildings/fenceAPillar3.glb.glb",
+ "path": "/models/buildings/fenceAPillar3.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -8540,7 +8542,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceAPillar4",
- "path": "/models/buildings/fenceAPillar4.glb.glb",
+ "path": "/models/buildings/fenceAPillar4.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -8615,7 +8617,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceAPillar5",
- "path": "/models/buildings/fenceAPillar5.glb.glb",
+ "path": "/models/buildings/fenceAPillar5.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -8689,7 +8691,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceAPillar6",
- "path": "/models/buildings/fenceAPillar6.glb.glb",
+ "path": "/models/buildings/fenceAPillar6.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -8762,7 +8764,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceAPillar7",
- "path": "/models/buildings/fenceAPillar7.glb.glb",
+ "path": "/models/buildings/fenceAPillar7.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -8832,7 +8834,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceAPillar8",
- "path": "/models/buildings/fenceAPillar8.glb.glb",
+ "path": "/models/buildings/fenceAPillar8.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -8909,7 +8911,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceASection1",
- "path": "/models/buildings/fenceASection1.glb.glb",
+ "path": "/models/buildings/fenceASection1.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -8982,7 +8984,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceASection2",
- "path": "/models/buildings/fenceASection2.glb.glb",
+ "path": "/models/buildings/fenceASection2.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -9054,7 +9056,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceASection3",
- "path": "/models/buildings/fenceASection3.glb.glb",
+ "path": "/models/buildings/fenceASection3.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -9125,7 +9127,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceASection4",
- "path": "/models/buildings/fenceASection4.glb.glb",
+ "path": "/models/buildings/fenceASection4.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -9193,7 +9195,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceASection5",
- "path": "/models/buildings/fenceASection5.glb.glb",
+ "path": "/models/buildings/fenceASection5.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -9264,7 +9266,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceBCorner1",
- "path": "/models/buildings/fenceBCorner1.glb.glb",
+ "path": "/models/buildings/fenceBCorner1.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -9335,7 +9337,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceBCorner2",
- "path": "/models/buildings/fenceBCorner2.glb.glb",
+ "path": "/models/buildings/fenceBCorner2.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -9412,7 +9414,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceBCorner3",
- "path": "/models/buildings/fenceBCorner3.glb.glb",
+ "path": "/models/buildings/fenceBCorner3.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -9482,7 +9484,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceBPillar1",
- "path": "/models/buildings/fenceBPillar1.glb.glb",
+ "path": "/models/buildings/fenceBPillar1.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -9558,7 +9560,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceBPillar2",
- "path": "/models/buildings/fenceBPillar2.glb.glb",
+ "path": "/models/buildings/fenceBPillar2.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -9634,7 +9636,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceBPillar3",
- "path": "/models/buildings/fenceBPillar3.glb.glb",
+ "path": "/models/buildings/fenceBPillar3.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -9710,7 +9712,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceBPillar4",
- "path": "/models/buildings/fenceBPillar4.glb.glb",
+ "path": "/models/buildings/fenceBPillar4.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -9786,7 +9788,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceBSection1",
- "path": "/models/buildings/fenceBSection1.glb.glb",
+ "path": "/models/buildings/fenceBSection1.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -9855,7 +9857,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceBSection2",
- "path": "/models/buildings/fenceBSection2.glb.glb",
+ "path": "/models/buildings/fenceBSection2.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -9930,7 +9932,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceBSection3",
- "path": "/models/buildings/fenceBSection3.glb.glb",
+ "path": "/models/buildings/fenceBSection3.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -10004,7 +10006,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceBSection4",
- "path": "/models/buildings/fenceBSection4.glb.glb",
+ "path": "/models/buildings/fenceBSection4.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -10075,7 +10077,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceC1",
- "path": "/models/buildings/fenceC1.glb.glb",
+ "path": "/models/buildings/fenceC1.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -10148,7 +10150,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceC1Skewed",
- "path": "/models/buildings/fenceC1Skewed.glb.glb",
+ "path": "/models/buildings/fenceC1Skewed.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -10219,7 +10221,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceC2",
- "path": "/models/buildings/fenceC2.glb.glb",
+ "path": "/models/buildings/fenceC2.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -10293,7 +10295,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_fenceC3",
- "path": "/models/buildings/fenceC3.glb.glb",
+ "path": "/models/buildings/fenceC3.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -10365,7 +10367,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_GlassBrokenWindow",
- "path": "/models/buildings/GlassBrokenWindow.glb.glb",
+ "path": "/models/buildings/GlassBrokenWindow.glb",
"category": "structure",
"subCategory": "window",
"keywords": {
@@ -10433,7 +10435,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_graveyard-kit_brick-wall",
- "path": "/models/buildings/graveyard-kit_brick-wall.glb.glb",
+ "path": "/models/buildings/graveyard-kit_brick-wall.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -10509,7 +10511,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_graveyard-kit_brick-wall-curve",
- "path": "/models/buildings/graveyard-kit_brick-wall-curve.glb.glb",
+ "path": "/models/buildings/graveyard-kit_brick-wall-curve.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -10584,7 +10586,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_graveyard-kit_brick-wall-curve-small",
- "path": "/models/buildings/graveyard-kit_brick-wall-curve-small.glb.glb",
+ "path": "/models/buildings/graveyard-kit_brick-wall-curve-small.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -10653,7 +10655,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_graveyard-kit_brick-wall-end",
- "path": "/models/buildings/graveyard-kit_brick-wall-end.glb.glb",
+ "path": "/models/buildings/graveyard-kit_brick-wall-end.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -10728,7 +10730,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_graveyard-kit_column-large",
- "path": "/models/buildings/graveyard-kit_column-large.glb.glb",
+ "path": "/models/buildings/graveyard-kit_column-large.glb",
"category": "structure",
"subCategory": "graveyard",
"keywords": {
@@ -10805,7 +10807,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_graveyard-kit_cross-column",
- "path": "/models/buildings/graveyard-kit_cross-column.glb.glb",
+ "path": "/models/buildings/graveyard-kit_cross-column.glb",
"category": "structure",
"subCategory": "graveyard",
"keywords": {
@@ -10874,7 +10876,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_graveyard-kit_crypt-door",
- "path": "/models/buildings/graveyard-kit_crypt-door.glb.glb",
+ "path": "/models/buildings/graveyard-kit_crypt-door.glb",
"category": "structure",
"subCategory": "graveyard",
"keywords": {
@@ -10948,7 +10950,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_graveyard-kit_crypt-large-door",
- "path": "/models/buildings/graveyard-kit_crypt-large-door.glb.glb",
+ "path": "/models/buildings/graveyard-kit_crypt-large-door.glb",
"category": "structure",
"subCategory": "graveyard",
"keywords": {
@@ -11022,7 +11024,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_graveyard-kit_crypt-large-roof",
- "path": "/models/buildings/graveyard-kit_crypt-large-roof.glb.glb",
+ "path": "/models/buildings/graveyard-kit_crypt-large-roof.glb",
"category": "structure",
"subCategory": "graveyard",
"keywords": {
@@ -11096,7 +11098,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_graveyard-kit_crypt-small-roof",
- "path": "/models/buildings/graveyard-kit_crypt-small-roof.glb.glb",
+ "path": "/models/buildings/graveyard-kit_crypt-small-roof.glb",
"category": "structure",
"subCategory": "graveyard",
"keywords": {
@@ -11171,7 +11173,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_graveyard-kit_fence",
- "path": "/models/buildings/graveyard-kit_fence.glb.glb",
+ "path": "/models/buildings/graveyard-kit_fence.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -11243,7 +11245,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_graveyard-kit_fence-damaged",
- "path": "/models/buildings/graveyard-kit_fence-damaged.glb.glb",
+ "path": "/models/buildings/graveyard-kit_fence-damaged.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -11312,7 +11314,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_graveyard-kit_fence-gate",
- "path": "/models/buildings/graveyard-kit_fence-gate.glb.glb",
+ "path": "/models/buildings/graveyard-kit_fence-gate.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -11385,7 +11387,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_graveyard-kit_iron-fence",
- "path": "/models/buildings/graveyard-kit_iron-fence.glb.glb",
+ "path": "/models/buildings/graveyard-kit_iron-fence.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -11458,7 +11460,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_graveyard-kit_iron-fence-bar",
- "path": "/models/buildings/graveyard-kit_iron-fence-bar.glb.glb",
+ "path": "/models/buildings/graveyard-kit_iron-fence-bar.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -11531,7 +11533,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_graveyard-kit_iron-fence-border",
- "path": "/models/buildings/graveyard-kit_iron-fence-border.glb.glb",
+ "path": "/models/buildings/graveyard-kit_iron-fence-border.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -11602,7 +11604,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_graveyard-kit_iron-fence-border-column",
- "path": "/models/buildings/graveyard-kit_iron-fence-border-column.glb.glb",
+ "path": "/models/buildings/graveyard-kit_iron-fence-border-column.glb",
"category": "structure",
"subCategory": "graveyard",
"keywords": {
@@ -11671,7 +11673,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_graveyard-kit_iron-fence-border-curve",
- "path": "/models/buildings/graveyard-kit_iron-fence-border-curve.glb.glb",
+ "path": "/models/buildings/graveyard-kit_iron-fence-border-curve.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -11746,7 +11748,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_graveyard-kit_iron-fence-border-gate",
- "path": "/models/buildings/graveyard-kit_iron-fence-border-gate.glb.glb",
+ "path": "/models/buildings/graveyard-kit_iron-fence-border-gate.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -11823,7 +11825,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_graveyard-kit_iron-fence-curve",
- "path": "/models/buildings/graveyard-kit_iron-fence-curve.glb.glb",
+ "path": "/models/buildings/graveyard-kit_iron-fence-curve.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -11899,7 +11901,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_graveyard-kit_iron-fence-damaged",
- "path": "/models/buildings/graveyard-kit_iron-fence-damaged.glb.glb",
+ "path": "/models/buildings/graveyard-kit_iron-fence-damaged.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -11971,7 +11973,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_gryffindor_common_room",
- "path": "/models/buildings/gryffindor_common_room.glb.glb",
+ "path": "/models/buildings/gryffindor_common_room.glb",
"category": "structure",
"subCategory": "room",
"keywords": {
@@ -12043,7 +12045,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_gryffindor_common_room_original",
- "path": "/models/buildings/gryffindor_common_room_original.glb.glb",
+ "path": "/models/buildings/gryffindor_common_room_original.glb",
"category": "structure",
"subCategory": "castle",
"keywords": {
@@ -12118,7 +12120,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_haunted_house",
- "path": "/models/buildings/haunted_house.glb.glb",
+ "path": "/models/buildings/haunted_house.glb",
"category": "structure",
"subCategory": "house",
"keywords": {
@@ -12192,7 +12194,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_hogwarts_grand_hall",
- "path": "/models/buildings/hogwarts_grand_hall.glb.glb",
+ "path": "/models/buildings/hogwarts_grand_hall.glb",
"category": "structure",
"subCategory": "castle",
"keywords": {
@@ -12267,7 +12269,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_hogwarts_grand_hall_backup",
- "path": "/models/buildings/hogwarts_grand_hall_backup.glb.glb",
+ "path": "/models/buildings/hogwarts_grand_hall_backup.glb",
"category": "structure",
"subCategory": "castle",
"keywords": {
@@ -12342,7 +12344,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_hogwarts_grand_hall_backup_v4_fixed",
- "path": "/models/buildings/hogwarts_grand_hall_backup_v4_fixed.glb.glb",
+ "path": "/models/buildings/hogwarts_grand_hall_backup_v4_fixed.glb",
"category": "structure",
"subCategory": "castle",
"keywords": {
@@ -12414,7 +12416,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_hogwarts_grand_hall_backup_v5_fixed",
- "path": "/models/buildings/hogwarts_grand_hall_backup_v5_fixed.glb.glb",
+ "path": "/models/buildings/hogwarts_grand_hall_backup_v5_fixed.glb",
"category": "structure",
"subCategory": "castle",
"keywords": {
@@ -12487,7 +12489,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_hogwarts_grand_hall_backup2",
- "path": "/models/buildings/hogwarts_grand_hall_backup2.glb.glb",
+ "path": "/models/buildings/hogwarts_grand_hall_backup2.glb",
"category": "structure",
"subCategory": "castle",
"keywords": {
@@ -12563,7 +12565,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_hogwarts_grand_hall_fixed",
- "path": "/models/buildings/hogwarts_grand_hall_fixed.glb.glb",
+ "path": "/models/buildings/hogwarts_grand_hall_fixed.glb",
"category": "structure",
"subCategory": "castle",
"keywords": {
@@ -12635,7 +12637,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_hogwarts_grand_hall_restored",
- "path": "/models/buildings/hogwarts_grand_hall_restored.glb.glb",
+ "path": "/models/buildings/hogwarts_grand_hall_restored.glb",
"category": "structure",
"subCategory": "castle",
"keywords": {
@@ -12707,7 +12709,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_honey_dukes_shop",
- "path": "/models/buildings/honey_dukes_shop.glb.glb",
+ "path": "/models/buildings/honey_dukes_shop.glb",
"category": "structure",
"subCategory": "shop",
"keywords": {
@@ -12777,7 +12779,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_house_scene",
- "path": "/models/buildings/house_scene.glb.glb",
+ "path": "/models/buildings/house_scene.glb",
"category": "structure",
"subCategory": "house",
"keywords": {
@@ -12851,7 +12853,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_corridor",
- "path": "/models/buildings/modular-dungeon-kit_corridor.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_corridor.glb",
"category": "structure",
"subCategory": "corridor",
"keywords": {
@@ -12928,7 +12930,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_corridor-corner",
- "path": "/models/buildings/modular-dungeon-kit_corridor-corner.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_corridor-corner.glb",
"category": "structure",
"subCategory": "corridor",
"keywords": {
@@ -13002,7 +13004,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_corridor-end",
- "path": "/models/buildings/modular-dungeon-kit_corridor-end.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_corridor-end.glb",
"category": "structure",
"subCategory": "corridor",
"keywords": {
@@ -13076,7 +13078,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_corridor-intersection",
- "path": "/models/buildings/modular-dungeon-kit_corridor-intersection.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_corridor-intersection.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -13151,7 +13153,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_corridor-junction",
- "path": "/models/buildings/modular-dungeon-kit_corridor-junction.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_corridor-junction.glb",
"category": "structure",
"subCategory": "corridor",
"keywords": {
@@ -13226,7 +13228,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_corridor-transition",
- "path": "/models/buildings/modular-dungeon-kit_corridor-transition.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_corridor-transition.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -13300,7 +13302,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_corridor-wide",
- "path": "/models/buildings/modular-dungeon-kit_corridor-wide.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_corridor-wide.glb",
"category": "structure",
"subCategory": "corridor",
"keywords": {
@@ -13370,7 +13372,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_corridor-wide-corner",
- "path": "/models/buildings/modular-dungeon-kit_corridor-wide-corner.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_corridor-wide-corner.glb",
"category": "structure",
"subCategory": "corridor",
"keywords": {
@@ -13441,7 +13443,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_corridor-wide-end",
- "path": "/models/buildings/modular-dungeon-kit_corridor-wide-end.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_corridor-wide-end.glb",
"category": "structure",
"subCategory": "corridor",
"keywords": {
@@ -13513,7 +13515,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_corridor-wide-intersection",
- "path": "/models/buildings/modular-dungeon-kit_corridor-wide-intersection.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_corridor-wide-intersection.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -13587,7 +13589,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_corridor-wide-junction",
- "path": "/models/buildings/modular-dungeon-kit_corridor-wide-junction.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_corridor-wide-junction.glb",
"category": "structure",
"subCategory": "corridor",
"keywords": {
@@ -13662,7 +13664,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_gate",
- "path": "/models/buildings/modular-dungeon-kit_gate.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_gate.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -13739,7 +13741,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_gate-door",
- "path": "/models/buildings/modular-dungeon-kit_gate-door.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_gate-door.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -13812,7 +13814,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_gate-door-window",
- "path": "/models/buildings/modular-dungeon-kit_gate-door-window.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_gate-door-window.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -13889,7 +13891,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_room-corner",
- "path": "/models/buildings/modular-dungeon-kit_room-corner.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_room-corner.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -13964,7 +13966,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_room-large",
- "path": "/models/buildings/modular-dungeon-kit_room-large.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_room-large.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -14039,7 +14041,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_room-large-variation",
- "path": "/models/buildings/modular-dungeon-kit_room-large-variation.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_room-large-variation.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -14113,7 +14115,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_room-small",
- "path": "/models/buildings/modular-dungeon-kit_room-small.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_room-small.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -14188,7 +14190,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_room-small-variation",
- "path": "/models/buildings/modular-dungeon-kit_room-small-variation.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_room-small-variation.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -14263,7 +14265,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_room-wide",
- "path": "/models/buildings/modular-dungeon-kit_room-wide.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_room-wide.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -14338,7 +14340,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_room-wide-variation",
- "path": "/models/buildings/modular-dungeon-kit_room-wide-variation.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_room-wide-variation.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -14411,7 +14413,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_stairs",
- "path": "/models/buildings/modular-dungeon-kit_stairs.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_stairs.glb",
"category": "structure",
"subCategory": "stairs",
"keywords": {
@@ -14482,7 +14484,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_stairs-wide",
- "path": "/models/buildings/modular-dungeon-kit_stairs-wide.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_stairs-wide.glb",
"category": "structure",
"subCategory": "stairs",
"keywords": {
@@ -14557,7 +14559,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_template-wall",
- "path": "/models/buildings/modular-dungeon-kit_template-wall.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_template-wall.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -14631,7 +14633,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_template-wall-corner",
- "path": "/models/buildings/modular-dungeon-kit_template-wall-corner.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_template-wall-corner.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -14705,7 +14707,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_template-wall-detail-a",
- "path": "/models/buildings/modular-dungeon-kit_template-wall-detail-a.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_template-wall-detail-a.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -14782,7 +14784,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_template-wall-half",
- "path": "/models/buildings/modular-dungeon-kit_template-wall-half.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_template-wall-half.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -14855,7 +14857,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_template-wall-stairs",
- "path": "/models/buildings/modular-dungeon-kit_template-wall-stairs.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_template-wall-stairs.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -14930,7 +14932,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_modular-dungeon-kit_template-wall-top",
- "path": "/models/buildings/modular-dungeon-kit_template-wall-top.glb.glb",
+ "path": "/models/buildings/modular-dungeon-kit_template-wall-top.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -15007,7 +15009,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_ollivanders_wand_shop",
- "path": "/models/buildings/ollivanders_wand_shop.glb.glb",
+ "path": "/models/buildings/ollivanders_wand_shop.glb",
"category": "structure",
"subCategory": "shop",
"keywords": {
@@ -15077,7 +15079,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_platformer-kit_door-large-open",
- "path": "/models/buildings/platformer-kit_door-large-open.glb.glb",
+ "path": "/models/buildings/platformer-kit_door-large-open.glb",
"category": "structure",
"subCategory": "door",
"keywords": {
@@ -15151,7 +15153,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_platformer-kit_door-open",
- "path": "/models/buildings/platformer-kit_door-open.glb.glb",
+ "path": "/models/buildings/platformer-kit_door-open.glb",
"category": "structure",
"subCategory": "door",
"keywords": {
@@ -15226,7 +15228,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_platformer-kit_door-rotate",
- "path": "/models/buildings/platformer-kit_door-rotate.glb.glb",
+ "path": "/models/buildings/platformer-kit_door-rotate.glb",
"category": "structure",
"subCategory": "door",
"keywords": {
@@ -15299,7 +15301,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_platformer-kit_door-rotate-large",
- "path": "/models/buildings/platformer-kit_door-rotate-large.glb.glb",
+ "path": "/models/buildings/platformer-kit_door-rotate-large.glb",
"category": "structure",
"subCategory": "door",
"keywords": {
@@ -15365,7 +15367,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_platformer-kit_fence-broken",
- "path": "/models/buildings/platformer-kit_fence-broken.glb.glb",
+ "path": "/models/buildings/platformer-kit_fence-broken.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -15440,7 +15442,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_platformer-kit_fence-corner",
- "path": "/models/buildings/platformer-kit_fence-corner.glb.glb",
+ "path": "/models/buildings/platformer-kit_fence-corner.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -15511,7 +15513,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_platformer-kit_fence-corner-curved",
- "path": "/models/buildings/platformer-kit_fence-corner-curved.glb.glb",
+ "path": "/models/buildings/platformer-kit_fence-corner-curved.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -15581,7 +15583,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_platformer-kit_fence-low-broken",
- "path": "/models/buildings/platformer-kit_fence-low-broken.glb.glb",
+ "path": "/models/buildings/platformer-kit_fence-low-broken.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -15651,7 +15653,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_platformer-kit_fence-low-corner",
- "path": "/models/buildings/platformer-kit_fence-low-corner.glb.glb",
+ "path": "/models/buildings/platformer-kit_fence-low-corner.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -15722,7 +15724,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_platformer-kit_fence-low-corner-curved",
- "path": "/models/buildings/platformer-kit_fence-low-corner-curved.glb.glb",
+ "path": "/models/buildings/platformer-kit_fence-low-corner-curved.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -15796,7 +15798,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_platformer-kit_fence-low-straight",
- "path": "/models/buildings/platformer-kit_fence-low-straight.glb.glb",
+ "path": "/models/buildings/platformer-kit_fence-low-straight.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -15867,7 +15869,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_platformer-kit_fence-rope",
- "path": "/models/buildings/platformer-kit_fence-rope.glb.glb",
+ "path": "/models/buildings/platformer-kit_fence-rope.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -15937,7 +15939,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_platformer-kit_fence-straight",
- "path": "/models/buildings/platformer-kit_fence-straight.glb.glb",
+ "path": "/models/buildings/platformer-kit_fence-straight.glb",
"category": "structure",
"subCategory": "fence",
"keywords": {
@@ -16007,7 +16009,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_potions_classroom",
- "path": "/models/buildings/potions_classroom.glb.glb",
+ "path": "/models/buildings/potions_classroom.glb",
"category": "structure",
"subCategory": "classroom",
"keywords": {
@@ -16080,7 +16082,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_slytherin_dorm_room",
- "path": "/models/buildings/slytherin_dorm_room.glb.glb",
+ "path": "/models/buildings/slytherin_dorm_room.glb",
"category": "structure",
"subCategory": "dorm room",
"keywords": {
@@ -16151,7 +16153,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_slytherin_dorm_room_1769413346242",
- "path": "/models/buildings/slytherin_dorm_room_1769413346242.glb.glb",
+ "path": "/models/buildings/slytherin_dorm_room_1769413346242.glb",
"category": "structure",
"subCategory": "dorm",
"keywords": {
@@ -16222,7 +16224,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_slytherin_dorm_room_backup",
- "path": "/models/buildings/slytherin_dorm_room_backup.glb.glb",
+ "path": "/models/buildings/slytherin_dorm_room_backup.glb",
"category": "structure",
"subCategory": "dormitory",
"keywords": {
@@ -16293,7 +16295,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_slytherin_dorm_room_lite",
- "path": "/models/buildings/slytherin_dorm_room_lite.glb.glb",
+ "path": "/models/buildings/slytherin_dorm_room_lite.glb",
"category": "structure",
"subCategory": "dorm room",
"keywords": {
@@ -16364,7 +16366,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_slytherin_dorm_room_v2",
- "path": "/models/buildings/slytherin_dorm_room_v2.glb.glb",
+ "path": "/models/buildings/slytherin_dorm_room_v2.glb",
"category": "structure",
"subCategory": "dorm",
"keywords": {
@@ -16437,7 +16439,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_Slytherin_Dorm_Room_v20260121_135123_MetadataPatched",
- "path": "/models/buildings/Slytherin_Dorm_Room_v20260121_135123_MetadataPatched.glb.glb",
+ "path": "/models/buildings/Slytherin_Dorm_Room_v20260121_135123_MetadataPatched.glb",
"category": "structure",
"subCategory": "dorm",
"keywords": {
@@ -16510,7 +16512,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_three_js-examples_dungeon_warkarma",
- "path": "/models/buildings/three.js-examples_dungeon_warkarma.glb.glb",
+ "path": "/models/buildings/three.js-examples_dungeon_warkarma.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -16587,7 +16589,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_TransmissionThinwallTestGrid",
- "path": "/models/buildings/TransmissionThinwallTestGrid.glb.glb",
+ "path": "/models/buildings/TransmissionThinwallTestGrid.glb",
"category": "structure",
"subCategory": "transmission tower",
"keywords": {
@@ -16653,7 +16655,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_umbridges_office",
- "path": "/models/buildings/umbridges_office.glb.glb",
+ "path": "/models/buildings/umbridges_office.glb",
"category": "structure",
"subCategory": "office",
"keywords": {
@@ -16722,7 +16724,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_wall",
- "path": "/models/buildings/wall.glb.glb",
+ "path": "/models/buildings/wall.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -16798,7 +16800,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_wallArch",
- "path": "/models/buildings/wallArch.glb.glb",
+ "path": "/models/buildings/wallArch.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -16874,7 +16876,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_wallCorner",
- "path": "/models/buildings/wallCorner.glb.glb",
+ "path": "/models/buildings/wallCorner.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -16948,7 +16950,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_window",
- "path": "/models/buildings/window.glb.glb",
+ "path": "/models/buildings/window.glb",
"category": "structure",
"subCategory": "window",
"keywords": {
@@ -17022,7 +17024,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "buildings_window2",
- "path": "/models/buildings/window2.glb.glb",
+ "path": "/models/buildings/window2.glb",
"category": "structure",
"subCategory": "window",
"keywords": {
@@ -17096,7 +17098,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "characters_Astronaut",
- "path": "/models/characters/Astronaut.glb.glb",
+ "path": "/models/characters/Astronaut.glb",
"category": "character",
"subCategory": "astronaut",
"keywords": {
@@ -17159,7 +17161,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "characters_babylon-assets_CesiumMan",
- "path": "/models/characters/babylon-assets_CesiumMan.glb.glb",
+ "path": "/models/characters/babylon-assets_CesiumMan.glb",
"category": "character",
"subCategory": "human",
"keywords": {
@@ -17225,7 +17227,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "characters_CesiumMan",
- "path": "/models/characters/CesiumMan.glb.glb",
+ "path": "/models/characters/CesiumMan.glb",
"category": "character",
"subCategory": "human",
"keywords": {
@@ -17288,7 +17290,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "characters_graveyard-kit_character-ghost",
- "path": "/models/characters/graveyard-kit_character-ghost.glb.glb",
+ "path": "/models/characters/graveyard-kit_character-ghost.glb",
"category": "character",
"subCategory": "ghost",
"keywords": {
@@ -17360,7 +17362,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "characters_graveyard-kit_character-keeper",
- "path": "/models/characters/graveyard-kit_character-keeper.glb.glb",
+ "path": "/models/characters/graveyard-kit_character-keeper.glb",
"category": "character",
"subCategory": "keeper",
"keywords": {
@@ -17429,7 +17431,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "characters_graveyard-kit_character-skeleton",
- "path": "/models/characters/graveyard-kit_character-skeleton.glb.glb",
+ "path": "/models/characters/graveyard-kit_character-skeleton.glb",
"category": "character",
"subCategory": "skeleton",
"keywords": {
@@ -17496,7 +17498,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "characters_graveyard-kit_character-vampire",
- "path": "/models/characters/graveyard-kit_character-vampire.glb.glb",
+ "path": "/models/characters/graveyard-kit_character-vampire.glb",
"category": "character",
"subCategory": "vampire",
"keywords": {
@@ -17569,7 +17571,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "characters_graveyard-kit_character-zombie",
- "path": "/models/characters/graveyard-kit_character-zombie.glb.glb",
+ "path": "/models/characters/graveyard-kit_character-zombie.glb",
"category": "character",
"subCategory": "zombie",
"keywords": {
@@ -17637,7 +17639,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "characters_HVGirl",
- "path": "/models/characters/HVGirl.glb.glb",
+ "path": "/models/characters/HVGirl.glb",
"category": "character",
"subCategory": "human",
"keywords": {
@@ -17701,7 +17703,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "characters_NodePerformanceTest",
- "path": "/models/characters/NodePerformanceTest.glb.glb",
+ "path": "/models/characters/NodePerformanceTest.glb",
"category": "character",
"subCategory": "performance",
"keywords": {
@@ -17752,7 +17754,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "characters_platformer-kit_character-oobi",
- "path": "/models/characters/platformer-kit_character-oobi.glb.glb",
+ "path": "/models/characters/platformer-kit_character-oobi.glb",
"category": "character",
"subCategory": "platformer",
"keywords": {
@@ -17819,7 +17821,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "characters_platformer-kit_character-oodi",
- "path": "/models/characters/platformer-kit_character-oodi.glb.glb",
+ "path": "/models/characters/platformer-kit_character-oodi.glb",
"category": "character",
"subCategory": "platformer character",
"keywords": {
@@ -17886,7 +17888,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "characters_platformer-kit_character-ooli",
- "path": "/models/characters/platformer-kit_character-ooli.glb.glb",
+ "path": "/models/characters/platformer-kit_character-ooli.glb",
"category": "character",
"subCategory": "platformer",
"keywords": {
@@ -17953,7 +17955,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "characters_platformer-kit_character-oopi",
- "path": "/models/characters/platformer-kit_character-oopi.glb.glb",
+ "path": "/models/characters/platformer-kit_character-oopi.glb",
"category": "character",
"subCategory": "platformer",
"keywords": {
@@ -18020,7 +18022,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "characters_platformer-kit_character-oozi",
- "path": "/models/characters/platformer-kit_character-oozi.glb.glb",
+ "path": "/models/characters/platformer-kit_character-oozi.glb",
"category": "character",
"subCategory": "platformer",
"keywords": {
@@ -18086,7 +18088,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "characters_RobotExpressive",
- "path": "/models/characters/RobotExpressive.glb.glb",
+ "path": "/models/characters/RobotExpressive.glb",
"category": "character",
"subCategory": "robot",
"keywords": {
@@ -18153,7 +18155,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "characters_snowMan",
- "path": "/models/characters/snowMan.glb.glb",
+ "path": "/models/characters/snowMan.glb",
"category": "character",
"subCategory": "snow man",
"keywords": {
@@ -18219,7 +18221,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "characters_three_js-examples_Soldier",
- "path": "/models/characters/three.js-examples_Soldier.glb.glb",
+ "path": "/models/characters/three.js-examples_Soldier.glb",
"category": "character",
"subCategory": "soldier",
"keywords": {
@@ -18283,7 +18285,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "creatures_babylon-assets_BarramundiFish",
- "path": "/models/creatures/babylon-assets_BarramundiFish.glb.glb",
+ "path": "/models/creatures/babylon-assets_BarramundiFish.glb",
"category": "character",
"subCategory": "fish",
"keywords": {
@@ -18350,7 +18352,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "creatures_babylon-assets_Monster",
- "path": "/models/creatures/babylon-assets_Monster.glb.glb",
+ "path": "/models/creatures/babylon-assets_Monster.glb",
"category": "character",
"subCategory": "monster",
"keywords": {
@@ -18421,7 +18423,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "creatures_babylon-assets_ReciprocatingSaw",
- "path": "/models/creatures/babylon-assets_ReciprocatingSaw.glb.glb",
+ "path": "/models/creatures/babylon-assets_ReciprocatingSaw.glb",
"category": "prop",
"subCategory": "saw",
"keywords": {
@@ -18483,7 +18485,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "creatures_BarramundiFish",
- "path": "/models/creatures/BarramundiFish.glb.glb",
+ "path": "/models/creatures/BarramundiFish.glb",
"category": "character",
"subCategory": "fish",
"keywords": {
@@ -18549,7 +18551,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "creatures_dragon",
- "path": "/models/creatures/dragon.glb.glb",
+ "path": "/models/creatures/dragon.glb",
"category": "character",
"subCategory": "dragon",
"keywords": {
@@ -18623,7 +18625,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "creatures_DragonAttenuation",
- "path": "/models/creatures/DragonAttenuation.glb.glb",
+ "path": "/models/creatures/DragonAttenuation.glb",
"category": "character",
"subCategory": "dragon",
"keywords": {
@@ -18695,7 +18697,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "creatures_DragonDispersion",
- "path": "/models/creatures/DragonDispersion.glb.glb",
+ "path": "/models/creatures/DragonDispersion.glb",
"category": "character",
"subCategory": "dragon",
"keywords": {
@@ -18769,7 +18771,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "creatures_dragonUV",
- "path": "/models/creatures/dragonUV.glb.glb",
+ "path": "/models/creatures/dragonUV.glb",
"category": "character",
"subCategory": "dragon",
"keywords": {
@@ -18840,7 +18842,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "creatures_fish",
- "path": "/models/creatures/fish.glb.glb",
+ "path": "/models/creatures/fish.glb",
"category": "character",
"subCategory": "fish",
"keywords": {
@@ -18906,7 +18908,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "creatures_Fox",
- "path": "/models/creatures/Fox.glb.glb",
+ "path": "/models/creatures/Fox.glb",
"category": "character",
"subCategory": "fox",
"keywords": {
@@ -18977,7 +18979,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "creatures_Horse",
- "path": "/models/creatures/Horse.glb.glb",
+ "path": "/models/creatures/Horse.glb",
"category": "character",
"subCategory": "horse",
"keywords": {
@@ -19045,7 +19047,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "creatures_ScatteringSkull",
- "path": "/models/creatures/ScatteringSkull.glb.glb",
+ "path": "/models/creatures/ScatteringSkull.glb",
"category": "prop",
"subCategory": "skull",
"keywords": {
@@ -19113,7 +19115,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "creatures_tarisland_dragon_high_poly",
- "path": "/models/creatures/tarisland_dragon_high_poly.glb.glb",
+ "path": "/models/creatures/tarisland_dragon_high_poly.glb",
"category": "character",
"subCategory": "dragon",
"keywords": {
@@ -19185,7 +19187,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "creatures_three_js-examples_DragonAttenuation",
- "path": "/models/creatures/three.js-examples_DragonAttenuation.glb.glb",
+ "path": "/models/creatures/three.js-examples_DragonAttenuation.glb",
"category": "character",
"subCategory": "dragon",
"keywords": {
@@ -19257,7 +19259,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "creatures_three_js-examples_Horse",
- "path": "/models/creatures/three.js-examples_Horse.glb.glb",
+ "path": "/models/creatures/three.js-examples_Horse.glb",
"category": "character",
"subCategory": "horse",
"keywords": {
@@ -19327,7 +19329,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "creatures_underwaterSceneShadowCatcher",
- "path": "/models/creatures/underwaterSceneShadowCatcher.glb.glb",
+ "path": "/models/creatures/underwaterSceneShadowCatcher.glb",
"category": "prop",
"subCategory": "underwater",
"keywords": {
@@ -19389,7 +19391,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "food_babylon-assets_WaterBottle",
- "path": "/models/food/babylon-assets_WaterBottle.glb.glb",
+ "path": "/models/food/babylon-assets_WaterBottle.glb",
"category": "prop",
"subCategory": "bottle",
"keywords": {
@@ -19458,7 +19460,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "food_DiffuseTransmissionTeacup",
- "path": "/models/food/DiffuseTransmissionTeacup.glb.glb",
+ "path": "/models/food/DiffuseTransmissionTeacup.glb",
"category": "prop",
"subCategory": "cup",
"keywords": {
@@ -19525,7 +19527,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "food_graveyard-kit_detail-plate",
- "path": "/models/food/graveyard-kit_detail-plate.glb.glb",
+ "path": "/models/food/graveyard-kit_detail-plate.glb",
"category": "prop",
"subCategory": "plate",
"keywords": {
@@ -19590,7 +19592,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "food_modular-dungeon-kit_template-corner",
- "path": "/models/food/modular-dungeon-kit_template-corner.glb.glb",
+ "path": "/models/food/modular-dungeon-kit_template-corner.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -19665,7 +19667,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "food_modular-dungeon-kit_template-detail",
- "path": "/models/food/modular-dungeon-kit_template-detail.glb.glb",
+ "path": "/models/food/modular-dungeon-kit_template-detail.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -19736,7 +19738,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "food_modular-dungeon-kit_template-floor",
- "path": "/models/food/modular-dungeon-kit_template-floor.glb.glb",
+ "path": "/models/food/modular-dungeon-kit_template-floor.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -19812,7 +19814,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "food_modular-dungeon-kit_template-floor-big",
- "path": "/models/food/modular-dungeon-kit_template-floor-big.glb.glb",
+ "path": "/models/food/modular-dungeon-kit_template-floor-big.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -19888,7 +19890,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "food_modular-dungeon-kit_template-floor-detail",
- "path": "/models/food/modular-dungeon-kit_template-floor-detail.glb.glb",
+ "path": "/models/food/modular-dungeon-kit_template-floor-detail.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -19964,7 +19966,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "food_modular-dungeon-kit_template-floor-detail-a",
- "path": "/models/food/modular-dungeon-kit_template-floor-detail-a.glb.glb",
+ "path": "/models/food/modular-dungeon-kit_template-floor-detail-a.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -20040,7 +20042,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "food_modular-dungeon-kit_template-floor-layer",
- "path": "/models/food/modular-dungeon-kit_template-floor-layer.glb.glb",
+ "path": "/models/food/modular-dungeon-kit_template-floor-layer.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -20116,7 +20118,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "food_modular-dungeon-kit_template-floor-layer-raised",
- "path": "/models/food/modular-dungeon-kit_template-floor-layer-raised.glb.glb",
+ "path": "/models/food/modular-dungeon-kit_template-floor-layer-raised.glb",
"category": "structure",
"subCategory": "dungeon",
"keywords": {
@@ -20192,7 +20194,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "food_mrtk-fluent-backplate",
- "path": "/models/food/mrtk-fluent-backplate.glb.glb",
+ "path": "/models/food/mrtk-fluent-backplate.glb",
"category": "prop",
"subCategory": "display",
"keywords": {
@@ -20254,7 +20256,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "food_mrtk-fluent-frontplate",
- "path": "/models/food/mrtk-fluent-frontplate.glb.glb",
+ "path": "/models/food/mrtk-fluent-frontplate.glb",
"category": "prop",
"subCategory": "plate",
"keywords": {
@@ -20317,7 +20319,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "food_WaterBottle",
- "path": "/models/food/WaterBottle.glb.glb",
+ "path": "/models/food/WaterBottle.glb",
"category": "prop",
"subCategory": "bottle",
"keywords": {
@@ -20386,7 +20388,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_AnisotropyBarnLamp",
- "path": "/models/furniture/AnisotropyBarnLamp.glb.glb",
+ "path": "/models/furniture/AnisotropyBarnLamp.glb",
"category": "furniture",
"subCategory": "lamp",
"keywords": {
@@ -20452,7 +20454,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_ChairDamaskPurplegold",
- "path": "/models/furniture/ChairDamaskPurplegold.glb.glb",
+ "path": "/models/furniture/ChairDamaskPurplegold.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -20522,7 +20524,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_ancientbookshelf_01",
- "path": "/models/furniture/detailed_realistic_model_ancientbookshelf_01.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_ancientbookshelf_01.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -20592,7 +20594,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_ancientbookshelf_02",
- "path": "/models/furniture/detailed_realistic_model_ancientbookshelf_02.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_ancientbookshelf_02.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -20663,7 +20665,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_ancientbookshelf_03",
- "path": "/models/furniture/detailed_realistic_model_ancientbookshelf_03.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_ancientbookshelf_03.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -20732,7 +20734,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antique_01",
- "path": "/models/furniture/detailed_realistic_model_antique_01.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antique_01.glb",
"category": "furniture",
"subCategory": "antique",
"keywords": {
@@ -20799,7 +20801,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antiquebookshelf_02",
- "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_02.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_02.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -20866,7 +20868,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antiquebookshelf_03",
- "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_03.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_03.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -20935,7 +20937,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antiquebookshelf_04",
- "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_04.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_04.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -21003,7 +21005,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antiquebookshelf_05",
- "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_05.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_05.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -21074,7 +21076,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antiquebookshelf_06",
- "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_06.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_06.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -21143,7 +21145,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antiquebookshelf_07",
- "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_07.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_07.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -21211,7 +21213,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antiquebookshelf_08",
- "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_08.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_08.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -21279,7 +21281,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antiquebookshelf_09",
- "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_09.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_09.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -21348,7 +21350,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antiquebookshelf_10",
- "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_10.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_10.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -21415,7 +21417,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antiquebookshelf_11",
- "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_11.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_11.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -21483,7 +21485,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antiquebookshelf_12",
- "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_12.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_12.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -21552,7 +21554,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antiquebookshelf_13",
- "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_13.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_13.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -21622,7 +21624,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antiquebookshelf_14",
- "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_14.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_14.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -21691,7 +21693,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antiquebookshelf_15",
- "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_15.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_15.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -21759,7 +21761,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antiquebookshelf_16",
- "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_16.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_16.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -21828,7 +21830,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antiquebookshelf_17",
- "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_17.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_17.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -21896,7 +21898,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antiquebookshelf_18",
- "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_18.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_18.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -21963,7 +21965,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antiquebookshelf_19",
- "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_19.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_19.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -22032,7 +22034,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antiquebookshelf_20",
- "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_20.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_20.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -22100,7 +22102,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antiquebookshelf_21",
- "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_21.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_21.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -22167,7 +22169,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antiquebookshelf_22",
- "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_22.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_22.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -22236,7 +22238,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antiquebookshelf_23",
- "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_23.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_23.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -22305,7 +22307,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antiquebookshelf_24",
- "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_24.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_24.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -22374,7 +22376,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antiquebookshelf_25",
- "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_25.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_25.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -22443,7 +22445,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_antiquebookshelf_26",
- "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_26.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_antiquebookshelf_26.glb",
"category": "furniture",
"subCategory": "bookshelf",
"keywords": {
@@ -22512,7 +22514,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_bookcase_01",
- "path": "/models/furniture/detailed_realistic_model_bookcase_01.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_bookcase_01.glb",
"category": "furniture",
"subCategory": "bookcase",
"keywords": {
@@ -22578,7 +22580,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_broomstick_01",
- "path": "/models/furniture/detailed_realistic_model_broomstick_01.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_broomstick_01.glb",
"category": "furniture",
"subCategory": "broom",
"keywords": {
@@ -22641,7 +22643,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_broomstick_02",
- "path": "/models/furniture/detailed_realistic_model_broomstick_02.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_broomstick_02.glb",
"category": "furniture",
"subCategory": "broomstick",
"keywords": {
@@ -22704,7 +22706,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_castiron_01",
- "path": "/models/furniture/detailed_realistic_model_castiron_01.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_castiron_01.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -22774,7 +22776,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_grand_01",
- "path": "/models/furniture/detailed_realistic_model_grand_01.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_grand_01.glb",
"category": "furniture",
"subCategory": "furniture",
"keywords": {
@@ -22840,7 +22842,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_grandoaktable_01",
- "path": "/models/furniture/detailed_realistic_model_grandoaktable_01.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_grandoaktable_01.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -22908,7 +22910,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_grandoaktable_02",
- "path": "/models/furniture/detailed_realistic_model_grandoaktable_02.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_grandoaktable_02.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -22975,7 +22977,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_grandoaktable_03",
- "path": "/models/furniture/detailed_realistic_model_grandoaktable_03.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_grandoaktable_03.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -23043,7 +23045,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_grandoaktable_04",
- "path": "/models/furniture/detailed_realistic_model_grandoaktable_04.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_grandoaktable_04.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -23111,7 +23113,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_grandoaktable_05",
- "path": "/models/furniture/detailed_realistic_model_grandoaktable_05.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_grandoaktable_05.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -23178,7 +23180,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_grandoaktable_06",
- "path": "/models/furniture/detailed_realistic_model_grandoaktable_06.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_grandoaktable_06.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -23246,7 +23248,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_grandoaktable_07",
- "path": "/models/furniture/detailed_realistic_model_grandoaktable_07.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_grandoaktable_07.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -23312,7 +23314,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_grandoaktable_08",
- "path": "/models/furniture/detailed_realistic_model_grandoaktable_08.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_grandoaktable_08.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -23380,7 +23382,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_grandoaktable_09",
- "path": "/models/furniture/detailed_realistic_model_grandoaktable_09.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_grandoaktable_09.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -23448,7 +23450,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_grandoaktable_10",
- "path": "/models/furniture/detailed_realistic_model_grandoaktable_10.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_grandoaktable_10.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -23516,7 +23518,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_grandoaktable_11",
- "path": "/models/furniture/detailed_realistic_model_grandoaktable_11.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_grandoaktable_11.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -23584,7 +23586,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_grandoaktable_12",
- "path": "/models/furniture/detailed_realistic_model_grandoaktable_12.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_grandoaktable_12.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -23652,7 +23654,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_grandoaktable_13",
- "path": "/models/furniture/detailed_realistic_model_grandoaktable_13.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_grandoaktable_13.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -23718,7 +23720,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_grandoaktable_14",
- "path": "/models/furniture/detailed_realistic_model_grandoaktable_14.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_grandoaktable_14.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -23786,7 +23788,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_grandoaktable_15",
- "path": "/models/furniture/detailed_realistic_model_grandoaktable_15.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_grandoaktable_15.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -23857,7 +23859,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_grandoaktable_16",
- "path": "/models/furniture/detailed_realistic_model_grandoaktable_16.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_grandoaktable_16.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -23925,7 +23927,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_grandoaktable_17",
- "path": "/models/furniture/detailed_realistic_model_grandoaktable_17.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_grandoaktable_17.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -23991,7 +23993,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_largeoaktable_01",
- "path": "/models/furniture/detailed_realistic_model_largeoaktable_01.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_largeoaktable_01.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -24060,7 +24062,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_largeoaktable_02",
- "path": "/models/furniture/detailed_realistic_model_largeoaktable_02.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_largeoaktable_02.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -24130,7 +24132,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_largeoaktable_03",
- "path": "/models/furniture/detailed_realistic_model_largeoaktable_03.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_largeoaktable_03.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -24196,7 +24198,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_largeoaktable_04",
- "path": "/models/furniture/detailed_realistic_model_largeoaktable_04.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_largeoaktable_04.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -24263,7 +24265,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_largeoaktable_05",
- "path": "/models/furniture/detailed_realistic_model_largeoaktable_05.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_largeoaktable_05.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -24330,7 +24332,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_largeoaktable_06",
- "path": "/models/furniture/detailed_realistic_model_largeoaktable_06.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_largeoaktable_06.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -24398,7 +24400,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_largeoaktable_07",
- "path": "/models/furniture/detailed_realistic_model_largeoaktable_07.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_largeoaktable_07.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -24466,7 +24468,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_largeoaktable_08",
- "path": "/models/furniture/detailed_realistic_model_largeoaktable_08.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_largeoaktable_08.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -24535,7 +24537,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_largeoaktable_09",
- "path": "/models/furniture/detailed_realistic_model_largeoaktable_09.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_largeoaktable_09.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -24602,7 +24604,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_largeoaktable_10",
- "path": "/models/furniture/detailed_realistic_model_largeoaktable_10.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_largeoaktable_10.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -24669,7 +24671,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_largeoaktable_11",
- "path": "/models/furniture/detailed_realistic_model_largeoaktable_11.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_largeoaktable_11.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -24737,7 +24739,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_largeoaktable_12",
- "path": "/models/furniture/detailed_realistic_model_largeoaktable_12.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_largeoaktable_12.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -24804,7 +24806,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_largeoaktable_13",
- "path": "/models/furniture/detailed_realistic_model_largeoaktable_13.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_largeoaktable_13.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -24872,7 +24874,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_largeoaktable_14",
- "path": "/models/furniture/detailed_realistic_model_largeoaktable_14.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_largeoaktable_14.glb",
"category": "furniture",
"subCategory": "table",
"keywords": {
@@ -24940,7 +24942,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_potionshelf_01",
- "path": "/models/furniture/detailed_realistic_model_potionshelf_01.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_potionshelf_01.glb",
"category": "furniture",
"subCategory": "shelf",
"keywords": {
@@ -25012,7 +25014,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_detailed_realistic_model_potionshelf_02",
- "path": "/models/furniture/detailed_realistic_model_potionshelf_02.glb.glb",
+ "path": "/models/furniture/detailed_realistic_model_potionshelf_02.glb",
"category": "furniture",
"subCategory": "shelf",
"keywords": {
@@ -25085,7 +25087,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_fantasy-town-kit_stall-bench",
- "path": "/models/furniture/fantasy-town-kit_stall-bench.glb.glb",
+ "path": "/models/furniture/fantasy-town-kit_stall-bench.glb",
"category": "furniture",
"subCategory": "bench",
"keywords": {
@@ -25158,7 +25160,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_fantasy-town-kit_stall-stool",
- "path": "/models/furniture/fantasy-town-kit_stall-stool.glb.glb",
+ "path": "/models/furniture/fantasy-town-kit_stall-stool.glb",
"category": "furniture",
"subCategory": "stool",
"keywords": {
@@ -25231,7 +25233,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_GlamVelvetSofa",
- "path": "/models/furniture/GlamVelvetSofa.glb.glb",
+ "path": "/models/furniture/GlamVelvetSofa.glb",
"category": "furniture",
"subCategory": "sofa",
"keywords": {
@@ -25298,7 +25300,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_graveyard-kit_bench",
- "path": "/models/furniture/graveyard-kit_bench.glb.glb",
+ "path": "/models/furniture/graveyard-kit_bench.glb",
"category": "furniture",
"subCategory": "bench",
"keywords": {
@@ -25368,7 +25370,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_graveyard-kit_bench-damaged",
- "path": "/models/furniture/graveyard-kit_bench-damaged.glb.glb",
+ "path": "/models/furniture/graveyard-kit_bench-damaged.glb",
"category": "furniture",
"subCategory": "bench",
"keywords": {
@@ -25440,7 +25442,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_IridescenceLamp",
- "path": "/models/furniture/IridescenceLamp.glb.glb",
+ "path": "/models/furniture/IridescenceLamp.glb",
"category": "furniture",
"subCategory": "lamp",
"keywords": {
@@ -25510,7 +25512,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_LightsPunctualLamp",
- "path": "/models/furniture/LightsPunctualLamp.glb.glb",
+ "path": "/models/furniture/LightsPunctualLamp.glb",
"category": "furniture",
"subCategory": "lamp",
"keywords": {
@@ -25576,7 +25578,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_01",
- "path": "/models/furniture/modern_office_chair_padded_01.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_01.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -25646,7 +25648,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_02",
- "path": "/models/furniture/modern_office_chair_padded_02.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_02.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -25716,7 +25718,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_03",
- "path": "/models/furniture/modern_office_chair_padded_03.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_03.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -25785,7 +25787,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_04",
- "path": "/models/furniture/modern_office_chair_padded_04.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_04.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -25857,7 +25859,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_05",
- "path": "/models/furniture/modern_office_chair_padded_05.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_05.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -25927,7 +25929,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_06",
- "path": "/models/furniture/modern_office_chair_padded_06.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_06.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -25992,7 +25994,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_07",
- "path": "/models/furniture/modern_office_chair_padded_07.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_07.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -26058,7 +26060,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_08",
- "path": "/models/furniture/modern_office_chair_padded_08.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_08.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -26127,7 +26129,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_09",
- "path": "/models/furniture/modern_office_chair_padded_09.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_09.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -26194,7 +26196,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_10",
- "path": "/models/furniture/modern_office_chair_padded_10.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_10.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -26265,7 +26267,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_11",
- "path": "/models/furniture/modern_office_chair_padded_11.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_11.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -26334,7 +26336,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_12",
- "path": "/models/furniture/modern_office_chair_padded_12.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_12.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -26403,7 +26405,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_13",
- "path": "/models/furniture/modern_office_chair_padded_13.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_13.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -26469,7 +26471,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_14",
- "path": "/models/furniture/modern_office_chair_padded_14.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_14.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -26541,7 +26543,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_15",
- "path": "/models/furniture/modern_office_chair_padded_15.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_15.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -26606,7 +26608,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_16",
- "path": "/models/furniture/modern_office_chair_padded_16.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_16.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -26675,7 +26677,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_17",
- "path": "/models/furniture/modern_office_chair_padded_17.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_17.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -26740,7 +26742,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_18",
- "path": "/models/furniture/modern_office_chair_padded_18.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_18.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -26809,7 +26811,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_19",
- "path": "/models/furniture/modern_office_chair_padded_19.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_19.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -26878,7 +26880,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_20",
- "path": "/models/furniture/modern_office_chair_padded_20.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_20.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -26947,7 +26949,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_21",
- "path": "/models/furniture/modern_office_chair_padded_21.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_21.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -27019,7 +27021,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_22",
- "path": "/models/furniture/modern_office_chair_padded_22.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_22.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -27084,7 +27086,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_23",
- "path": "/models/furniture/modern_office_chair_padded_23.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_23.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -27155,7 +27157,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_24",
- "path": "/models/furniture/modern_office_chair_padded_24.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_24.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -27220,7 +27222,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_25",
- "path": "/models/furniture/modern_office_chair_padded_25.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_25.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -27289,7 +27291,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_26",
- "path": "/models/furniture/modern_office_chair_padded_26.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_26.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -27358,7 +27360,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_27",
- "path": "/models/furniture/modern_office_chair_padded_27.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_27.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -27423,7 +27425,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_28",
- "path": "/models/furniture/modern_office_chair_padded_28.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_28.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -27494,7 +27496,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_29",
- "path": "/models/furniture/modern_office_chair_padded_29.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_29.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -27563,7 +27565,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_modern_office_chair_padded_30",
- "path": "/models/furniture/modern_office_chair_padded_30.glb.glb",
+ "path": "/models/furniture/modern_office_chair_padded_30.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -27628,7 +27630,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_realistic_wooden_office_desk_01",
- "path": "/models/furniture/realistic_wooden_office_desk_01.glb.glb",
+ "path": "/models/furniture/realistic_wooden_office_desk_01.glb",
"category": "furniture",
"subCategory": "desk",
"keywords": {
@@ -27699,7 +27701,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_realistic_wooden_office_desk_02",
- "path": "/models/furniture/realistic_wooden_office_desk_02.glb.glb",
+ "path": "/models/furniture/realistic_wooden_office_desk_02.glb",
"category": "furniture",
"subCategory": "desk",
"keywords": {
@@ -27771,7 +27773,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_realistic_wooden_office_desk_03",
- "path": "/models/furniture/realistic_wooden_office_desk_03.glb.glb",
+ "path": "/models/furniture/realistic_wooden_office_desk_03.glb",
"category": "furniture",
"subCategory": "desk",
"keywords": {
@@ -27842,7 +27844,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_realistic_wooden_office_desk_04",
- "path": "/models/furniture/realistic_wooden_office_desk_04.glb.glb",
+ "path": "/models/furniture/realistic_wooden_office_desk_04.glb",
"category": "furniture",
"subCategory": "desk",
"keywords": {
@@ -27913,7 +27915,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_SheenChair",
- "path": "/models/furniture/SheenChair.glb.glb",
+ "path": "/models/furniture/SheenChair.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -27983,7 +27985,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_SheenChair_1769416633174",
- "path": "/models/furniture/SheenChair_1769416633174.glb.glb",
+ "path": "/models/furniture/SheenChair_1769416633174.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -28053,7 +28055,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_SheenWoodLeatherSofa",
- "path": "/models/furniture/SheenWoodLeatherSofa.glb.glb",
+ "path": "/models/furniture/SheenWoodLeatherSofa.glb",
"category": "furniture",
"subCategory": "sofa",
"keywords": {
@@ -28119,7 +28121,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_three_js-examples_AnisotropyBarnLamp",
- "path": "/models/furniture/three.js-examples_AnisotropyBarnLamp.glb.glb",
+ "path": "/models/furniture/three.js-examples_AnisotropyBarnLamp.glb",
"category": "furniture",
"subCategory": "lamp",
"keywords": {
@@ -28187,7 +28189,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_three_js-examples_IridescenceLamp",
- "path": "/models/furniture/three.js-examples_IridescenceLamp.glb.glb",
+ "path": "/models/furniture/three.js-examples_IridescenceLamp.glb",
"category": "furniture",
"subCategory": "lamp",
"keywords": {
@@ -28257,7 +28259,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_three_js-examples_minimalistic_modern_bedroom",
- "path": "/models/furniture/three.js-examples_minimalistic_modern_bedroom.glb.glb",
+ "path": "/models/furniture/three.js-examples_minimalistic_modern_bedroom.glb",
"category": "furniture",
"subCategory": "bedroom",
"keywords": {
@@ -28327,7 +28329,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "furniture_three_js-examples_SheenChair",
- "path": "/models/furniture/three.js-examples_SheenChair.glb.glb",
+ "path": "/models/furniture/three.js-examples_SheenChair.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -28395,7 +28397,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_bush1",
- "path": "/models/nature/bush1.glb.glb",
+ "path": "/models/nature/bush1.glb",
"category": "nature",
"subCategory": "bush",
"keywords": {
@@ -28471,7 +28473,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_bush2",
- "path": "/models/nature/bush2.glb.glb",
+ "path": "/models/nature/bush2.glb",
"category": "nature",
"subCategory": "bush",
"keywords": {
@@ -28545,7 +28547,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_bush3",
- "path": "/models/nature/bush3.glb.glb",
+ "path": "/models/nature/bush3.glb",
"category": "nature",
"subCategory": "bush",
"keywords": {
@@ -28619,7 +28621,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_bush4",
- "path": "/models/nature/bush4.glb.glb",
+ "path": "/models/nature/bush4.glb",
"category": "nature",
"subCategory": "bush",
"keywords": {
@@ -28693,7 +28695,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_bush5",
- "path": "/models/nature/bush5.glb.glb",
+ "path": "/models/nature/bush5.glb",
"category": "nature",
"subCategory": "bush",
"keywords": {
@@ -28770,7 +28772,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_detailed_realistic_model_crystalball_02",
- "path": "/models/nature/detailed_realistic_model_crystalball_02.glb.glb",
+ "path": "/models/nature/detailed_realistic_model_crystalball_02.glb",
"category": "prop",
"subCategory": "crystalball",
"keywords": {
@@ -28833,7 +28835,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_detailed_realistic_model_crystalball_03",
- "path": "/models/nature/detailed_realistic_model_crystalball_03.glb.glb",
+ "path": "/models/nature/detailed_realistic_model_crystalball_03.glb",
"category": "prop",
"subCategory": "crystalball",
"keywords": {
@@ -28899,7 +28901,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_detailed_realistic_model_crystalball_04",
- "path": "/models/nature/detailed_realistic_model_crystalball_04.glb.glb",
+ "path": "/models/nature/detailed_realistic_model_crystalball_04.glb",
"category": "prop",
"subCategory": "crystalball",
"keywords": {
@@ -28962,7 +28964,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_detailed_realistic_model_crystalball_05",
- "path": "/models/nature/detailed_realistic_model_crystalball_05.glb.glb",
+ "path": "/models/nature/detailed_realistic_model_crystalball_05.glb",
"category": "prop",
"subCategory": "crystalball",
"keywords": {
@@ -29028,7 +29030,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_detailed_realistic_model_crystalball_06",
- "path": "/models/nature/detailed_realistic_model_crystalball_06.glb.glb",
+ "path": "/models/nature/detailed_realistic_model_crystalball_06.glb",
"category": "prop",
"subCategory": "crystalball",
"keywords": {
@@ -29093,7 +29095,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_detailed_realistic_model_crystalball_07",
- "path": "/models/nature/detailed_realistic_model_crystalball_07.glb.glb",
+ "path": "/models/nature/detailed_realistic_model_crystalball_07.glb",
"category": "prop",
"subCategory": "crystalball",
"keywords": {
@@ -29158,7 +29160,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_detailed_realistic_model_crystalball_08",
- "path": "/models/nature/detailed_realistic_model_crystalball_08.glb.glb",
+ "path": "/models/nature/detailed_realistic_model_crystalball_08.glb",
"category": "prop",
"subCategory": "crystalball",
"keywords": {
@@ -29224,7 +29226,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_detailed_realistic_model_crystalball_09",
- "path": "/models/nature/detailed_realistic_model_crystalball_09.glb.glb",
+ "path": "/models/nature/detailed_realistic_model_crystalball_09.glb",
"category": "prop",
"subCategory": "crystalball",
"keywords": {
@@ -29287,7 +29289,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_detailed_realistic_model_crystalball_10",
- "path": "/models/nature/detailed_realistic_model_crystalball_10.glb.glb",
+ "path": "/models/nature/detailed_realistic_model_crystalball_10.glb",
"category": "prop",
"subCategory": "crystalball",
"keywords": {
@@ -29354,7 +29356,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_detailed_realistic_model_crystalball_11",
- "path": "/models/nature/detailed_realistic_model_crystalball_11.glb.glb",
+ "path": "/models/nature/detailed_realistic_model_crystalball_11.glb",
"category": "prop",
"subCategory": "crystalball",
"keywords": {
@@ -29417,7 +29419,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_detailed_realistic_model_crystalball_12",
- "path": "/models/nature/detailed_realistic_model_crystalball_12.glb.glb",
+ "path": "/models/nature/detailed_realistic_model_crystalball_12.glb",
"category": "prop",
"subCategory": "crystalball",
"keywords": {
@@ -29481,7 +29483,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_detailed_realistic_model_crystalball_13",
- "path": "/models/nature/detailed_realistic_model_crystalball_13.glb.glb",
+ "path": "/models/nature/detailed_realistic_model_crystalball_13.glb",
"category": "prop",
"subCategory": "crystalball",
"keywords": {
@@ -29544,7 +29546,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_detailed_realistic_model_crystalball_14",
- "path": "/models/nature/detailed_realistic_model_crystalball_14.glb.glb",
+ "path": "/models/nature/detailed_realistic_model_crystalball_14.glb",
"category": "prop",
"subCategory": "crystalball",
"keywords": {
@@ -29607,7 +29609,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_detailed_realistic_model_crystalball_15",
- "path": "/models/nature/detailed_realistic_model_crystalball_15.glb.glb",
+ "path": "/models/nature/detailed_realistic_model_crystalball_15.glb",
"category": "prop",
"subCategory": "crystalball",
"keywords": {
@@ -29671,7 +29673,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_detailed_realistic_model_crystalball_16",
- "path": "/models/nature/detailed_realistic_model_crystalball_16.glb.glb",
+ "path": "/models/nature/detailed_realistic_model_crystalball_16.glb",
"category": "prop",
"subCategory": "crystalball",
"keywords": {
@@ -29734,7 +29736,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_detailed_realistic_model_crystalball_17",
- "path": "/models/nature/detailed_realistic_model_crystalball_17.glb.glb",
+ "path": "/models/nature/detailed_realistic_model_crystalball_17.glb",
"category": "prop",
"subCategory": "crystalball",
"keywords": {
@@ -29799,7 +29801,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_detailed_realistic_model_crystalball_18",
- "path": "/models/nature/detailed_realistic_model_crystalball_18.glb.glb",
+ "path": "/models/nature/detailed_realistic_model_crystalball_18.glb",
"category": "prop",
"subCategory": "crystalball",
"keywords": {
@@ -29864,7 +29866,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_detailed_realistic_model_crystalball_19",
- "path": "/models/nature/detailed_realistic_model_crystalball_19.glb.glb",
+ "path": "/models/nature/detailed_realistic_model_crystalball_19.glb",
"category": "prop",
"subCategory": "crystalball",
"keywords": {
@@ -29927,7 +29929,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_detailed_realistic_model_crystalball_20",
- "path": "/models/nature/detailed_realistic_model_crystalball_20.glb.glb",
+ "path": "/models/nature/detailed_realistic_model_crystalball_20.glb",
"category": "prop",
"subCategory": "crystalball",
"keywords": {
@@ -29990,7 +29992,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_detailed_realistic_model_crystalball_21",
- "path": "/models/nature/detailed_realistic_model_crystalball_21.glb.glb",
+ "path": "/models/nature/detailed_realistic_model_crystalball_21.glb",
"category": "prop",
"subCategory": "crystalball",
"keywords": {
@@ -30053,7 +30055,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_detailed_realistic_model_crystalball_22",
- "path": "/models/nature/detailed_realistic_model_crystalball_22.glb.glb",
+ "path": "/models/nature/detailed_realistic_model_crystalball_22.glb",
"category": "prop",
"subCategory": "crystalball",
"keywords": {
@@ -30116,7 +30118,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_detailed_realistic_model_crystalball_23",
- "path": "/models/nature/detailed_realistic_model_crystalball_23.glb.glb",
+ "path": "/models/nature/detailed_realistic_model_crystalball_23.glb",
"category": "prop",
"subCategory": "crystalball",
"keywords": {
@@ -30181,7 +30183,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_detailed_realistic_model_crystalball_24",
- "path": "/models/nature/detailed_realistic_model_crystalball_24.glb.glb",
+ "path": "/models/nature/detailed_realistic_model_crystalball_24.glb",
"category": "prop",
"subCategory": "crystalball",
"keywords": {
@@ -30246,7 +30248,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_detailed_realistic_model_stone_01",
- "path": "/models/nature/detailed_realistic_model_stone_01.glb.glb",
+ "path": "/models/nature/detailed_realistic_model_stone_01.glb",
"category": "nature",
"subCategory": "stone",
"keywords": {
@@ -30323,7 +30325,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_DiffuseTransmissionPlant",
- "path": "/models/nature/DiffuseTransmissionPlant.glb.glb",
+ "path": "/models/nature/DiffuseTransmissionPlant.glb",
"category": "nature",
"subCategory": "plant",
"keywords": {
@@ -30390,7 +30392,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_fantasy-town-kit_pillar-stone",
- "path": "/models/nature/fantasy-town-kit_pillar-stone.glb.glb",
+ "path": "/models/nature/fantasy-town-kit_pillar-stone.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -30466,7 +30468,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_fantasy-town-kit_rock-large",
- "path": "/models/nature/fantasy-town-kit_rock-large.glb.glb",
+ "path": "/models/nature/fantasy-town-kit_rock-large.glb",
"category": "nature",
"subCategory": "rock",
"keywords": {
@@ -30542,7 +30544,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_fantasy-town-kit_rock-small",
- "path": "/models/nature/fantasy-town-kit_rock-small.glb.glb",
+ "path": "/models/nature/fantasy-town-kit_rock-small.glb",
"category": "nature",
"subCategory": "rock",
"keywords": {
@@ -30618,7 +30620,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_fantasy-town-kit_rock-wide",
- "path": "/models/nature/fantasy-town-kit_rock-wide.glb.glb",
+ "path": "/models/nature/fantasy-town-kit_rock-wide.glb",
"category": "nature",
"subCategory": "rock",
"keywords": {
@@ -30694,7 +30696,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_fantasy-town-kit_stairs-stone",
- "path": "/models/nature/fantasy-town-kit_stairs-stone.glb.glb",
+ "path": "/models/nature/fantasy-town-kit_stairs-stone.glb",
"category": "structure",
"subCategory": "stairs",
"keywords": {
@@ -30766,7 +30768,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_fantasy-town-kit_stairs-stone-corner",
- "path": "/models/nature/fantasy-town-kit_stairs-stone-corner.glb.glb",
+ "path": "/models/nature/fantasy-town-kit_stairs-stone-corner.glb",
"category": "structure",
"subCategory": "stairs",
"keywords": {
@@ -30837,7 +30839,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_fantasy-town-kit_stairs-stone-handrail",
- "path": "/models/nature/fantasy-town-kit_stairs-stone-handrail.glb.glb",
+ "path": "/models/nature/fantasy-town-kit_stairs-stone-handrail.glb",
"category": "structure",
"subCategory": "stairs",
"keywords": {
@@ -30910,7 +30912,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_fantasy-town-kit_stairs-stone-round",
- "path": "/models/nature/fantasy-town-kit_stairs-stone-round.glb.glb",
+ "path": "/models/nature/fantasy-town-kit_stairs-stone-round.glb",
"category": "structure",
"subCategory": "stairs",
"keywords": {
@@ -30982,7 +30984,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_fantasy-town-kit_stairs-wide-stone",
- "path": "/models/nature/fantasy-town-kit_stairs-wide-stone.glb.glb",
+ "path": "/models/nature/fantasy-town-kit_stairs-wide-stone.glb",
"category": "structure",
"subCategory": "stairs",
"keywords": {
@@ -31055,7 +31057,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_fantasy-town-kit_stairs-wide-stone-handrail",
- "path": "/models/nature/fantasy-town-kit_stairs-wide-stone-handrail.glb.glb",
+ "path": "/models/nature/fantasy-town-kit_stairs-wide-stone-handrail.glb",
"category": "structure",
"subCategory": "stairs",
"keywords": {
@@ -31130,7 +31132,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_fantasy-town-kit_tree",
- "path": "/models/nature/fantasy-town-kit_tree.glb.glb",
+ "path": "/models/nature/fantasy-town-kit_tree.glb",
"category": "nature",
"subCategory": "tree",
"keywords": {
@@ -31206,7 +31208,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_fantasy-town-kit_tree-crooked",
- "path": "/models/nature/fantasy-town-kit_tree-crooked.glb.glb",
+ "path": "/models/nature/fantasy-town-kit_tree-crooked.glb",
"category": "nature",
"subCategory": "tree",
"keywords": {
@@ -31281,7 +31283,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_fantasy-town-kit_tree-high",
- "path": "/models/nature/fantasy-town-kit_tree-high.glb.glb",
+ "path": "/models/nature/fantasy-town-kit_tree-high.glb",
"category": "nature",
"subCategory": "tree",
"keywords": {
@@ -31352,7 +31354,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_fantasy-town-kit_tree-high-crooked",
- "path": "/models/nature/fantasy-town-kit_tree-high-crooked.glb.glb",
+ "path": "/models/nature/fantasy-town-kit_tree-high-crooked.glb",
"category": "nature",
"subCategory": "tree",
"keywords": {
@@ -31428,7 +31430,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_fantasy-town-kit_tree-high-round",
- "path": "/models/nature/fantasy-town-kit_tree-high-round.glb.glb",
+ "path": "/models/nature/fantasy-town-kit_tree-high-round.glb",
"category": "nature",
"subCategory": "tree",
"keywords": {
@@ -31504,7 +31506,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_fantasy-town-kit_wall-window-stone",
- "path": "/models/nature/fantasy-town-kit_wall-window-stone.glb.glb",
+ "path": "/models/nature/fantasy-town-kit_wall-window-stone.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -31580,7 +31582,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_fantasy-town-kit_wall-wood-window-stone",
- "path": "/models/nature/fantasy-town-kit_wall-wood-window-stone.glb.glb",
+ "path": "/models/nature/fantasy-town-kit_wall-wood-window-stone.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -31656,7 +31658,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_GlassVaseFlowers",
- "path": "/models/nature/GlassVaseFlowers.glb.glb",
+ "path": "/models/nature/GlassVaseFlowers.glb",
"category": "nature",
"subCategory": "flowers",
"keywords": {
@@ -31725,7 +31727,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_graveyard-kit_altar-stone",
- "path": "/models/nature/graveyard-kit_altar-stone.glb.glb",
+ "path": "/models/nature/graveyard-kit_altar-stone.glb",
"category": "structure",
"subCategory": "altar",
"keywords": {
@@ -31795,7 +31797,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_graveyard-kit_gravestone-bevel",
- "path": "/models/nature/graveyard-kit_gravestone-bevel.glb.glb",
+ "path": "/models/nature/graveyard-kit_gravestone-bevel.glb",
"category": "prop",
"subCategory": "gravestone",
"keywords": {
@@ -31866,7 +31868,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_graveyard-kit_gravestone-broken",
- "path": "/models/nature/graveyard-kit_gravestone-broken.glb.glb",
+ "path": "/models/nature/graveyard-kit_gravestone-broken.glb",
"category": "prop",
"subCategory": "gravestone",
"keywords": {
@@ -31937,7 +31939,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_graveyard-kit_gravestone-cross",
- "path": "/models/nature/graveyard-kit_gravestone-cross.glb.glb",
+ "path": "/models/nature/graveyard-kit_gravestone-cross.glb",
"category": "prop",
"subCategory": "gravestone",
"keywords": {
@@ -32006,7 +32008,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_graveyard-kit_gravestone-cross-large",
- "path": "/models/nature/graveyard-kit_gravestone-cross-large.glb.glb",
+ "path": "/models/nature/graveyard-kit_gravestone-cross-large.glb",
"category": "prop",
"subCategory": "gravestone",
"keywords": {
@@ -32079,7 +32081,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_graveyard-kit_gravestone-debris",
- "path": "/models/nature/graveyard-kit_gravestone-debris.glb.glb",
+ "path": "/models/nature/graveyard-kit_gravestone-debris.glb",
"category": "prop",
"subCategory": "gravestone",
"keywords": {
@@ -32147,7 +32149,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_graveyard-kit_gravestone-decorative",
- "path": "/models/nature/graveyard-kit_gravestone-decorative.glb.glb",
+ "path": "/models/nature/graveyard-kit_gravestone-decorative.glb",
"category": "prop",
"subCategory": "gravestone",
"keywords": {
@@ -32214,7 +32216,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_graveyard-kit_gravestone-roof",
- "path": "/models/nature/graveyard-kit_gravestone-roof.glb.glb",
+ "path": "/models/nature/graveyard-kit_gravestone-roof.glb",
"category": "structure",
"subCategory": "gravestone",
"keywords": {
@@ -32288,7 +32290,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_graveyard-kit_gravestone-round",
- "path": "/models/nature/graveyard-kit_gravestone-round.glb.glb",
+ "path": "/models/nature/graveyard-kit_gravestone-round.glb",
"category": "prop",
"subCategory": "gravestone",
"keywords": {
@@ -32356,7 +32358,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_graveyard-kit_gravestone-wide",
- "path": "/models/nature/graveyard-kit_gravestone-wide.glb.glb",
+ "path": "/models/nature/graveyard-kit_gravestone-wide.glb",
"category": "prop",
"subCategory": "gravestone",
"keywords": {
@@ -32427,7 +32429,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_graveyard-kit_rocks",
- "path": "/models/nature/graveyard-kit_rocks.glb.glb",
+ "path": "/models/nature/graveyard-kit_rocks.glb",
"category": "nature",
"subCategory": "rocks",
"keywords": {
@@ -32499,7 +32501,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_graveyard-kit_rocks-tall",
- "path": "/models/nature/graveyard-kit_rocks-tall.glb.glb",
+ "path": "/models/nature/graveyard-kit_rocks-tall.glb",
"category": "nature",
"subCategory": "rocks",
"keywords": {
@@ -32570,7 +32572,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_graveyard-kit_stone-wall",
- "path": "/models/nature/graveyard-kit_stone-wall.glb.glb",
+ "path": "/models/nature/graveyard-kit_stone-wall.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -32645,7 +32647,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_graveyard-kit_stone-wall-column",
- "path": "/models/nature/graveyard-kit_stone-wall-column.glb.glb",
+ "path": "/models/nature/graveyard-kit_stone-wall-column.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -32720,7 +32722,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_graveyard-kit_stone-wall-curve",
- "path": "/models/nature/graveyard-kit_stone-wall-curve.glb.glb",
+ "path": "/models/nature/graveyard-kit_stone-wall-curve.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -32795,7 +32797,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_graveyard-kit_stone-wall-damaged",
- "path": "/models/nature/graveyard-kit_stone-wall-damaged.glb.glb",
+ "path": "/models/nature/graveyard-kit_stone-wall-damaged.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -32870,7 +32872,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass",
- "path": "/models/nature/platformer-kit_block-grass.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -32939,7 +32941,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-corner",
- "path": "/models/nature/platformer-kit_block-grass-corner.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-corner.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -33010,7 +33012,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-corner-low",
- "path": "/models/nature/platformer-kit_block-grass-corner-low.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-corner-low.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -33082,7 +33084,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-corner-overhang",
- "path": "/models/nature/platformer-kit_block-grass-corner-overhang.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-corner-overhang.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -33151,7 +33153,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-corner-overhang-low",
- "path": "/models/nature/platformer-kit_block-grass-corner-overhang-low.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-corner-overhang-low.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -33219,7 +33221,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-curve",
- "path": "/models/nature/platformer-kit_block-grass-curve.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-curve.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -33291,7 +33293,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-curve-half",
- "path": "/models/nature/platformer-kit_block-grass-curve-half.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-curve-half.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -33362,7 +33364,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-curve-low",
- "path": "/models/nature/platformer-kit_block-grass-curve-low.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-curve-low.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -33432,7 +33434,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-edge",
- "path": "/models/nature/platformer-kit_block-grass-edge.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-edge.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -33503,7 +33505,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-hexagon",
- "path": "/models/nature/platformer-kit_block-grass-hexagon.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-hexagon.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -33573,7 +33575,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-large",
- "path": "/models/nature/platformer-kit_block-grass-large.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-large.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -33642,7 +33644,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-large-slope",
- "path": "/models/nature/platformer-kit_block-grass-large-slope.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-large-slope.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -33711,7 +33713,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-large-slope-narrow",
- "path": "/models/nature/platformer-kit_block-grass-large-slope-narrow.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-large-slope-narrow.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -33779,7 +33781,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-large-slope-steep",
- "path": "/models/nature/platformer-kit_block-grass-large-slope-steep.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-large-slope-steep.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -33852,7 +33854,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-large-slope-steep-narrow",
- "path": "/models/nature/platformer-kit_block-grass-large-slope-steep-narrow.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-large-slope-steep-narrow.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -33920,7 +33922,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-large-tall",
- "path": "/models/nature/platformer-kit_block-grass-large-tall.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-large-tall.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -33993,7 +33995,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-long",
- "path": "/models/nature/platformer-kit_block-grass-long.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-long.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -34063,7 +34065,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-low",
- "path": "/models/nature/platformer-kit_block-grass-low.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-low.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -34132,7 +34134,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-low-hexagon",
- "path": "/models/nature/platformer-kit_block-grass-low-hexagon.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-low-hexagon.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -34204,7 +34206,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-low-large",
- "path": "/models/nature/platformer-kit_block-grass-low-large.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-low-large.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -34276,7 +34278,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-low-long",
- "path": "/models/nature/platformer-kit_block-grass-low-long.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-low-long.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -34344,7 +34346,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-low-narrow",
- "path": "/models/nature/platformer-kit_block-grass-low-narrow.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-low-narrow.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -34413,7 +34415,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-narrow",
- "path": "/models/nature/platformer-kit_block-grass-narrow.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-narrow.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -34485,7 +34487,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-overhang-corner",
- "path": "/models/nature/platformer-kit_block-grass-overhang-corner.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-overhang-corner.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -34556,7 +34558,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-overhang-edge",
- "path": "/models/nature/platformer-kit_block-grass-overhang-edge.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-overhang-edge.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -34625,7 +34627,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-overhang-hexagon",
- "path": "/models/nature/platformer-kit_block-grass-overhang-hexagon.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-overhang-hexagon.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -34696,7 +34698,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-overhang-large",
- "path": "/models/nature/platformer-kit_block-grass-overhang-large.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-overhang-large.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -34767,7 +34769,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-overhang-large-slope",
- "path": "/models/nature/platformer-kit_block-grass-overhang-large-slope.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-overhang-large-slope.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -34840,7 +34842,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-overhang-large-slope-narrow",
- "path": "/models/nature/platformer-kit_block-grass-overhang-large-slope-narrow.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-overhang-large-slope-narrow.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -34911,7 +34913,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-overhang-large-slope-steep",
- "path": "/models/nature/platformer-kit_block-grass-overhang-large-slope-steep.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-overhang-large-slope-steep.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -34985,7 +34987,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-overhang-large-slope-steep-narrow",
- "path": "/models/nature/platformer-kit_block-grass-overhang-large-slope-steep-narrow.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-overhang-large-slope-steep-narrow.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -35057,7 +35059,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-overhang-large-tall",
- "path": "/models/nature/platformer-kit_block-grass-overhang-large-tall.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-overhang-large-tall.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -35125,7 +35127,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-overhang-long",
- "path": "/models/nature/platformer-kit_block-grass-overhang-long.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-overhang-long.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -35194,7 +35196,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-overhang-low",
- "path": "/models/nature/platformer-kit_block-grass-overhang-low.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-overhang-low.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -35262,7 +35264,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-overhang-low-hexagon",
- "path": "/models/nature/platformer-kit_block-grass-overhang-low-hexagon.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-overhang-low-hexagon.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -35329,7 +35331,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-overhang-low-large",
- "path": "/models/nature/platformer-kit_block-grass-overhang-low-large.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-overhang-low-large.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -35401,7 +35403,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-overhang-low-long",
- "path": "/models/nature/platformer-kit_block-grass-overhang-low-long.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-overhang-low-long.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -35473,7 +35475,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-overhang-low-narrow",
- "path": "/models/nature/platformer-kit_block-grass-overhang-low-narrow.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-overhang-low-narrow.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -35541,7 +35543,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_block-grass-overhang-narrow",
- "path": "/models/nature/platformer-kit_block-grass-overhang-narrow.glb.glb",
+ "path": "/models/nature/platformer-kit_block-grass-overhang-narrow.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -35611,7 +35613,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_flowers",
- "path": "/models/nature/platformer-kit_flowers.glb.glb",
+ "path": "/models/nature/platformer-kit_flowers.glb",
"category": "nature",
"subCategory": "flowers",
"keywords": {
@@ -35680,7 +35682,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_flowers-tall",
- "path": "/models/nature/platformer-kit_flowers-tall.glb.glb",
+ "path": "/models/nature/platformer-kit_flowers-tall.glb",
"category": "nature",
"subCategory": "flowers",
"keywords": {
@@ -35748,7 +35750,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_grass",
- "path": "/models/nature/platformer-kit_grass.glb.glb",
+ "path": "/models/nature/platformer-kit_grass.glb",
"category": "nature",
"subCategory": "grass",
"keywords": {
@@ -35818,7 +35820,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_mushrooms",
- "path": "/models/nature/platformer-kit_mushrooms.glb.glb",
+ "path": "/models/nature/platformer-kit_mushrooms.glb",
"category": "nature",
"subCategory": "mushroom",
"keywords": {
@@ -35892,7 +35894,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_plant",
- "path": "/models/nature/platformer-kit_plant.glb.glb",
+ "path": "/models/nature/platformer-kit_plant.glb",
"category": "nature",
"subCategory": "plant",
"keywords": {
@@ -35962,7 +35964,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_rocks",
- "path": "/models/nature/platformer-kit_rocks.glb.glb",
+ "path": "/models/nature/platformer-kit_rocks.glb",
"category": "nature",
"subCategory": "rocks",
"keywords": {
@@ -36028,7 +36030,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_stones",
- "path": "/models/nature/platformer-kit_stones.glb.glb",
+ "path": "/models/nature/platformer-kit_stones.glb",
"category": "prop",
"subCategory": "platformer",
"keywords": {
@@ -36100,7 +36102,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_tree",
- "path": "/models/nature/platformer-kit_tree.glb.glb",
+ "path": "/models/nature/platformer-kit_tree.glb",
"category": "nature",
"subCategory": "tree",
"keywords": {
@@ -36173,7 +36175,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_tree-pine",
- "path": "/models/nature/platformer-kit_tree-pine.glb.glb",
+ "path": "/models/nature/platformer-kit_tree-pine.glb",
"category": "nature",
"subCategory": "tree",
"keywords": {
@@ -36244,7 +36246,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_tree-pine-small",
- "path": "/models/nature/platformer-kit_tree-pine-small.glb.glb",
+ "path": "/models/nature/platformer-kit_tree-pine-small.glb",
"category": "nature",
"subCategory": "tree",
"keywords": {
@@ -36317,7 +36319,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_tree-pine-snow",
- "path": "/models/nature/platformer-kit_tree-pine-snow.glb.glb",
+ "path": "/models/nature/platformer-kit_tree-pine-snow.glb",
"category": "nature",
"subCategory": "tree",
"keywords": {
@@ -36386,7 +36388,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_tree-pine-snow-small",
- "path": "/models/nature/platformer-kit_tree-pine-snow-small.glb.glb",
+ "path": "/models/nature/platformer-kit_tree-pine-snow-small.glb",
"category": "nature",
"subCategory": "tree",
"keywords": {
@@ -36458,7 +36460,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_platformer-kit_tree-snow",
- "path": "/models/nature/platformer-kit_tree-snow.glb.glb",
+ "path": "/models/nature/platformer-kit_tree-snow.glb",
"category": "nature",
"subCategory": "tree",
"keywords": {
@@ -36529,7 +36531,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_rocks1",
- "path": "/models/nature/rocks1.glb.glb",
+ "path": "/models/nature/rocks1.glb",
"category": "nature",
"subCategory": "rocks",
"keywords": {
@@ -36604,7 +36606,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_rocks2",
- "path": "/models/nature/rocks2.glb.glb",
+ "path": "/models/nature/rocks2.glb",
"category": "nature",
"subCategory": "rocks",
"keywords": {
@@ -36680,7 +36682,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_rocks3",
- "path": "/models/nature/rocks3.glb.glb",
+ "path": "/models/nature/rocks3.glb",
"category": "nature",
"subCategory": "rocks",
"keywords": {
@@ -36755,7 +36757,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_rocks4",
- "path": "/models/nature/rocks4.glb.glb",
+ "path": "/models/nature/rocks4.glb",
"category": "nature",
"subCategory": "rock",
"keywords": {
@@ -36830,7 +36832,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_three_js-examples_Flower",
- "path": "/models/nature/three.js-examples_Flower.glb.glb",
+ "path": "/models/nature/three.js-examples_Flower.glb",
"category": "nature",
"subCategory": "flower",
"keywords": {
@@ -36903,7 +36905,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_three_js-examples_forest_house",
- "path": "/models/nature/three.js-examples_forest_house.glb.glb",
+ "path": "/models/nature/three.js-examples_forest_house.glb",
"category": "structure",
"subCategory": "house",
"keywords": {
@@ -36976,7 +36978,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_tombstone1",
- "path": "/models/nature/tombstone1.glb.glb",
+ "path": "/models/nature/tombstone1.glb",
"category": "prop",
"subCategory": "tombstone",
"keywords": {
@@ -37047,7 +37049,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_tombstone10",
- "path": "/models/nature/tombstone10.glb.glb",
+ "path": "/models/nature/tombstone10.glb",
"category": "prop",
"subCategory": "tombstone",
"keywords": {
@@ -37117,7 +37119,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_tombstone11",
- "path": "/models/nature/tombstone11.glb.glb",
+ "path": "/models/nature/tombstone11.glb",
"category": "prop",
"subCategory": "tombstone",
"keywords": {
@@ -37190,7 +37192,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_tombstone1Weathered",
- "path": "/models/nature/tombstone1Weathered.glb.glb",
+ "path": "/models/nature/tombstone1Weathered.glb",
"category": "prop",
"subCategory": "tombstone",
"keywords": {
@@ -37261,7 +37263,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_tombstone2",
- "path": "/models/nature/tombstone2.glb.glb",
+ "path": "/models/nature/tombstone2.glb",
"category": "prop",
"subCategory": "tombstone",
"keywords": {
@@ -37331,7 +37333,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_tombstone2Weathered",
- "path": "/models/nature/tombstone2Weathered.glb.glb",
+ "path": "/models/nature/tombstone2Weathered.glb",
"category": "nature",
"subCategory": "tombstone",
"keywords": {
@@ -37403,7 +37405,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_tombstone3",
- "path": "/models/nature/tombstone3.glb.glb",
+ "path": "/models/nature/tombstone3.glb",
"category": "prop",
"subCategory": "tombstone",
"keywords": {
@@ -37475,7 +37477,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_tombstone4",
- "path": "/models/nature/tombstone4.glb.glb",
+ "path": "/models/nature/tombstone4.glb",
"category": "structure",
"subCategory": "tombstone",
"keywords": {
@@ -37546,7 +37548,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_tombstone5",
- "path": "/models/nature/tombstone5.glb.glb",
+ "path": "/models/nature/tombstone5.glb",
"category": "prop",
"subCategory": "tombstone",
"keywords": {
@@ -37618,7 +37620,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_tombstone5Weathered",
- "path": "/models/nature/tombstone5Weathered.glb.glb",
+ "path": "/models/nature/tombstone5Weathered.glb",
"category": "nature",
"subCategory": "tombstone",
"keywords": {
@@ -37690,7 +37692,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_tombstone6",
- "path": "/models/nature/tombstone6.glb.glb",
+ "path": "/models/nature/tombstone6.glb",
"category": "prop",
"subCategory": "tombstone",
"keywords": {
@@ -37762,7 +37764,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_tombstone7",
- "path": "/models/nature/tombstone7.glb.glb",
+ "path": "/models/nature/tombstone7.glb",
"category": "prop",
"subCategory": "tombstone",
"keywords": {
@@ -37836,7 +37838,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_tombstone8",
- "path": "/models/nature/tombstone8.glb.glb",
+ "path": "/models/nature/tombstone8.glb",
"category": "prop",
"subCategory": "tombstone",
"keywords": {
@@ -37911,7 +37913,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_tombstone9",
- "path": "/models/nature/tombstone9.glb.glb",
+ "path": "/models/nature/tombstone9.glb",
"category": "prop",
"subCategory": "tombstone",
"keywords": {
@@ -37985,7 +37987,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_tree1",
- "path": "/models/nature/tree1.glb.glb",
+ "path": "/models/nature/tree1.glb",
"category": "nature",
"subCategory": "tree",
"keywords": {
@@ -38061,7 +38063,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_tree2",
- "path": "/models/nature/tree2.glb.glb",
+ "path": "/models/nature/tree2.glb",
"category": "nature",
"subCategory": "tree",
"keywords": {
@@ -38137,7 +38139,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_tree3",
- "path": "/models/nature/tree3.glb.glb",
+ "path": "/models/nature/tree3.glb",
"category": "nature",
"subCategory": "tree",
"keywords": {
@@ -38213,7 +38215,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_tree4",
- "path": "/models/nature/tree4.glb.glb",
+ "path": "/models/nature/tree4.glb",
"category": "nature",
"subCategory": "tree",
"keywords": {
@@ -38290,7 +38292,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_tree5",
- "path": "/models/nature/tree5.glb.glb",
+ "path": "/models/nature/tree5.glb",
"category": "nature",
"subCategory": "tree",
"keywords": {
@@ -38365,7 +38367,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_tree6",
- "path": "/models/nature/tree6.glb.glb",
+ "path": "/models/nature/tree6.glb",
"category": "nature",
"subCategory": "tree",
"keywords": {
@@ -38441,7 +38443,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_tree7",
- "path": "/models/nature/tree7.glb.glb",
+ "path": "/models/nature/tree7.glb",
"category": "nature",
"subCategory": "tree",
"keywords": {
@@ -38517,7 +38519,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_tree8",
- "path": "/models/nature/tree8.glb.glb",
+ "path": "/models/nature/tree8.glb",
"category": "nature",
"subCategory": "tree",
"keywords": {
@@ -38593,7 +38595,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "nature_underwaterSceneRocksBarnaclesMussels",
- "path": "/models/nature/underwaterSceneRocksBarnaclesMussels.glb.glb",
+ "path": "/models/nature/underwaterSceneRocksBarnaclesMussels.glb",
"category": "nature",
"subCategory": "rocks",
"keywords": {
@@ -38656,7 +38658,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_AncientVase",
- "path": "/models/props/AncientVase.glb.glb",
+ "path": "/models/props/AncientVase.glb",
"category": "prop",
"subCategory": "vase",
"keywords": {
@@ -38723,7 +38725,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_babylon-assets_BoomBox",
- "path": "/models/props/babylon-assets_BoomBox.glb.glb",
+ "path": "/models/props/babylon-assets_BoomBox.glb",
"category": "prop",
"subCategory": "audio player",
"keywords": {
@@ -38786,7 +38788,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_babylon-assets_Box",
- "path": "/models/props/babylon-assets_Box.glb.glb",
+ "path": "/models/props/babylon-assets_Box.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -38854,7 +38856,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_babylon-assets_BoxAnimated",
- "path": "/models/props/babylon-assets_BoxAnimated.glb.glb",
+ "path": "/models/props/babylon-assets_BoxAnimated.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -38916,7 +38918,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_babylon-assets_BoxInterleaved",
- "path": "/models/props/babylon-assets_BoxInterleaved.glb.glb",
+ "path": "/models/props/babylon-assets_BoxInterleaved.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -38977,7 +38979,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_babylon-assets_BoxTextured",
- "path": "/models/props/babylon-assets_BoxTextured.glb.glb",
+ "path": "/models/props/babylon-assets_BoxTextured.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -39045,7 +39047,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_babylon-assets_BoxVertexColors",
- "path": "/models/props/babylon-assets_BoxVertexColors.glb.glb",
+ "path": "/models/props/babylon-assets_BoxVertexColors.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -39106,7 +39108,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_babylon-assets_BoxWithoutIndices",
- "path": "/models/props/babylon-assets_BoxWithoutIndices.glb.glb",
+ "path": "/models/props/babylon-assets_BoxWithoutIndices.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -39171,7 +39173,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_babylon-assets_GearboxAssy",
- "path": "/models/props/babylon-assets_GearboxAssy.glb.glb",
+ "path": "/models/props/babylon-assets_GearboxAssy.glb",
"category": "prop",
"subCategory": "machine",
"keywords": {
@@ -39232,7 +39234,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_barrel",
- "path": "/models/props/barrel.glb.glb",
+ "path": "/models/props/barrel.glb",
"category": "prop",
"subCategory": "barrel",
"keywords": {
@@ -39301,7 +39303,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_BoomBox",
- "path": "/models/props/BoomBox.glb.glb",
+ "path": "/models/props/BoomBox.glb",
"category": "prop",
"subCategory": "boombox",
"keywords": {
@@ -39364,7 +39366,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_BoomBox_1769416633018",
- "path": "/models/props/BoomBox_1769416633018.glb.glb",
+ "path": "/models/props/BoomBox_1769416633018.glb",
"category": "prop",
"subCategory": "boombox",
"keywords": {
@@ -39427,7 +39429,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_Box",
- "path": "/models/props/Box.glb.glb",
+ "path": "/models/props/Box.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -39495,7 +39497,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_box_1769416633021",
- "path": "/models/props/box_1769416633021.glb.glb",
+ "path": "/models/props/box_1769416633021.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -39559,7 +39561,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_Box-draco",
- "path": "/models/props/Box-draco.glb.glb",
+ "path": "/models/props/Box-draco.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -39622,7 +39624,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_BoxAnimated",
- "path": "/models/props/BoxAnimated.glb.glb",
+ "path": "/models/props/BoxAnimated.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -39690,7 +39692,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_BoxInterleaved",
- "path": "/models/props/BoxInterleaved.glb.glb",
+ "path": "/models/props/BoxInterleaved.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -39754,7 +39756,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_BoxTextured",
- "path": "/models/props/BoxTextured.glb.glb",
+ "path": "/models/props/BoxTextured.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -39821,7 +39823,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_BoxTexturedNonPowerOfTwo",
- "path": "/models/props/BoxTexturedNonPowerOfTwo.glb.glb",
+ "path": "/models/props/BoxTexturedNonPowerOfTwo.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -39888,7 +39890,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_BoxVertexColors",
- "path": "/models/props/BoxVertexColors.glb.glb",
+ "path": "/models/props/BoxVertexColors.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -39953,7 +39955,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_cornellBox",
- "path": "/models/props/cornellBox.glb.glb",
+ "path": "/models/props/cornellBox.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -40014,7 +40016,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_crate1",
- "path": "/models/props/crate1.glb.glb",
+ "path": "/models/props/crate1.glb",
"category": "prop",
"subCategory": "crate",
"keywords": {
@@ -40081,7 +40083,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_crate2",
- "path": "/models/props/crate2.glb.glb",
+ "path": "/models/props/crate2.glb",
"category": "prop",
"subCategory": "crate",
"keywords": {
@@ -40146,7 +40148,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_crateStack",
- "path": "/models/props/crateStack.glb.glb",
+ "path": "/models/props/crateStack.glb",
"category": "prop",
"subCategory": "crate",
"keywords": {
@@ -40212,7 +40214,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_02",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_02.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_02.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -40278,7 +40280,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_03",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_03.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_03.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -40347,7 +40349,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_04",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_04.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_04.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -40415,7 +40417,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_05",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_05.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_05.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -40480,7 +40482,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_06",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_06.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_06.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -40547,7 +40549,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_07",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_07.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_07.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -40613,7 +40615,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_08",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_08.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_08.glb",
"category": "character",
"subCategory": "human",
"keywords": {
@@ -40682,7 +40684,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_09",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_09.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_09.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -40750,7 +40752,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_10",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_10.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_10.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -40817,7 +40819,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_11",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_11.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_11.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -40884,7 +40886,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_12",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_12.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_12.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -40951,7 +40953,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_13",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_13.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_13.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -41018,7 +41020,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_14",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_14.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_14.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -41087,7 +41089,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_15",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_15.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_15.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -41155,7 +41157,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_16",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_16.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_16.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -41222,7 +41224,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_17",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_17.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_17.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -41287,7 +41289,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_18",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_18.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_18.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -41353,7 +41355,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_19",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_19.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_19.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -41421,7 +41423,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_20",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_20.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_20.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -41487,7 +41489,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_21",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_21.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_21.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -41556,7 +41558,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_22",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_22.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_22.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -41623,7 +41625,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_23",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_23.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_23.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -41690,7 +41692,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_24",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_24.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_24.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -41757,7 +41759,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_25",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_25.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_25.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -41823,7 +41825,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_26",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_26.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_26.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -41890,7 +41892,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_27",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_27.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_27.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -41957,7 +41959,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_albusdumbledore_28",
- "path": "/models/props/detailed_realistic_model_albusdumbledore_28.glb.glb",
+ "path": "/models/props/detailed_realistic_model_albusdumbledore_28.glb",
"category": "character",
"subCategory": "wizard",
"keywords": {
@@ -42025,7 +42027,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_dark_01",
- "path": "/models/props/detailed_realistic_model_dark_01.glb.glb",
+ "path": "/models/props/detailed_realistic_model_dark_01.glb",
"category": "prop",
"subCategory": "realistic",
"keywords": {
@@ -42093,7 +42095,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_default_01",
- "path": "/models/props/detailed_realistic_model_default_01.glb.glb",
+ "path": "/models/props/detailed_realistic_model_default_01.glb",
"category": "prop",
"subCategory": "generic",
"keywords": {
@@ -42159,7 +42161,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_default_02",
- "path": "/models/props/detailed_realistic_model_default_02.glb.glb",
+ "path": "/models/props/detailed_realistic_model_default_02.glb",
"category": "prop",
"subCategory": "generic",
"keywords": {
@@ -42225,7 +42227,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_default_03",
- "path": "/models/props/detailed_realistic_model_default_03.glb.glb",
+ "path": "/models/props/detailed_realistic_model_default_03.glb",
"category": "prop",
"subCategory": "generic",
"keywords": {
@@ -42287,7 +42289,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_default_04",
- "path": "/models/props/detailed_realistic_model_default_04.glb.glb",
+ "path": "/models/props/detailed_realistic_model_default_04.glb",
"category": "prop",
"subCategory": "generic",
"keywords": {
@@ -42353,7 +42355,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_default_05",
- "path": "/models/props/detailed_realistic_model_default_05.glb.glb",
+ "path": "/models/props/detailed_realistic_model_default_05.glb",
"category": "prop",
"subCategory": "generic",
"keywords": {
@@ -42416,7 +42418,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floating_01",
- "path": "/models/props/detailed_realistic_model_floating_01.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floating_01.glb",
"category": "prop",
"subCategory": "floating object",
"keywords": {
@@ -42477,7 +42479,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floating_02",
- "path": "/models/props/detailed_realistic_model_floating_02.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floating_02.glb",
"category": "prop",
"subCategory": "general",
"keywords": {
@@ -42542,7 +42544,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_02",
- "path": "/models/props/detailed_realistic_model_floatingcandles_02.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_02.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -42609,7 +42611,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_03",
- "path": "/models/props/detailed_realistic_model_floatingcandles_03.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_03.glb",
"category": "prop",
"subCategory": "floatingcandles",
"keywords": {
@@ -42675,7 +42677,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_04",
- "path": "/models/props/detailed_realistic_model_floatingcandles_04.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_04.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -42747,7 +42749,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_05",
- "path": "/models/props/detailed_realistic_model_floatingcandles_05.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_05.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -42816,7 +42818,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_06",
- "path": "/models/props/detailed_realistic_model_floatingcandles_06.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_06.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -42883,7 +42885,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_07",
- "path": "/models/props/detailed_realistic_model_floatingcandles_07.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_07.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -42952,7 +42954,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_08",
- "path": "/models/props/detailed_realistic_model_floatingcandles_08.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_08.glb",
"category": "prop",
"subCategory": "floatingcandles",
"keywords": {
@@ -43023,7 +43025,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_09",
- "path": "/models/props/detailed_realistic_model_floatingcandles_09.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_09.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -43094,7 +43096,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_10",
- "path": "/models/props/detailed_realistic_model_floatingcandles_10.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_10.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -43161,7 +43163,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_11",
- "path": "/models/props/detailed_realistic_model_floatingcandles_11.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_11.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -43232,7 +43234,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_12",
- "path": "/models/props/detailed_realistic_model_floatingcandles_12.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_12.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -43297,7 +43299,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_13",
- "path": "/models/props/detailed_realistic_model_floatingcandles_13.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_13.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -43368,7 +43370,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_14",
- "path": "/models/props/detailed_realistic_model_floatingcandles_14.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_14.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -43438,7 +43440,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_15",
- "path": "/models/props/detailed_realistic_model_floatingcandles_15.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_15.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -43503,7 +43505,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_16",
- "path": "/models/props/detailed_realistic_model_floatingcandles_16.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_16.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -43573,7 +43575,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_17",
- "path": "/models/props/detailed_realistic_model_floatingcandles_17.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_17.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -43642,7 +43644,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_18",
- "path": "/models/props/detailed_realistic_model_floatingcandles_18.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_18.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -43713,7 +43715,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_19",
- "path": "/models/props/detailed_realistic_model_floatingcandles_19.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_19.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -43786,7 +43788,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_20",
- "path": "/models/props/detailed_realistic_model_floatingcandles_20.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_20.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -43854,7 +43856,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_21",
- "path": "/models/props/detailed_realistic_model_floatingcandles_21.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_21.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -43923,7 +43925,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_22",
- "path": "/models/props/detailed_realistic_model_floatingcandles_22.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_22.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -43991,7 +43993,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_23",
- "path": "/models/props/detailed_realistic_model_floatingcandles_23.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_23.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -44059,7 +44061,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_24",
- "path": "/models/props/detailed_realistic_model_floatingcandles_24.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_24.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -44129,7 +44131,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_25",
- "path": "/models/props/detailed_realistic_model_floatingcandles_25.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_25.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -44195,7 +44197,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_26",
- "path": "/models/props/detailed_realistic_model_floatingcandles_26.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_26.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -44262,7 +44264,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_27",
- "path": "/models/props/detailed_realistic_model_floatingcandles_27.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_27.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -44332,7 +44334,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_28",
- "path": "/models/props/detailed_realistic_model_floatingcandles_28.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_28.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -44401,7 +44403,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_29",
- "path": "/models/props/detailed_realistic_model_floatingcandles_29.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_29.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -44471,7 +44473,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_floatingcandles_30",
- "path": "/models/props/detailed_realistic_model_floatingcandles_30.glb.glb",
+ "path": "/models/props/detailed_realistic_model_floatingcandles_30.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -44542,7 +44544,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_ghostly_01",
- "path": "/models/props/detailed_realistic_model_ghostly_01.glb.glb",
+ "path": "/models/props/detailed_realistic_model_ghostly_01.glb",
"category": "character",
"subCategory": "ghost",
"keywords": {
@@ -44608,7 +44610,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_glass_01",
- "path": "/models/props/detailed_realistic_model_glass_01.glb.glb",
+ "path": "/models/props/detailed_realistic_model_glass_01.glb",
"category": "prop",
"subCategory": "glassware",
"keywords": {
@@ -44677,7 +44679,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_glass_02",
- "path": "/models/props/detailed_realistic_model_glass_02.glb.glb",
+ "path": "/models/props/detailed_realistic_model_glass_02.glb",
"category": "prop",
"subCategory": "glassware",
"keywords": {
@@ -44746,7 +44748,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_goldensnitch_01",
- "path": "/models/props/detailed_realistic_model_goldensnitch_01.glb.glb",
+ "path": "/models/props/detailed_realistic_model_goldensnitch_01.glb",
"category": "prop",
"subCategory": "goldensnitch",
"keywords": {
@@ -44813,7 +44815,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_goldensnitch_02",
- "path": "/models/props/detailed_realistic_model_goldensnitch_02.glb.glb",
+ "path": "/models/props/detailed_realistic_model_goldensnitch_02.glb",
"category": "prop",
"subCategory": "ball",
"keywords": {
@@ -44876,7 +44878,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_hogwarts_01",
- "path": "/models/props/detailed_realistic_model_hogwarts_01.glb.glb",
+ "path": "/models/props/detailed_realistic_model_hogwarts_01.glb",
"category": "structure",
"subCategory": "castle",
"keywords": {
@@ -44951,7 +44953,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_leatherbound_01",
- "path": "/models/props/detailed_realistic_model_leatherbound_01.glb.glb",
+ "path": "/models/props/detailed_realistic_model_leatherbound_01.glb",
"category": "prop",
"subCategory": "book",
"keywords": {
@@ -45015,7 +45017,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_leatherbound_02",
- "path": "/models/props/detailed_realistic_model_leatherbound_02.glb.glb",
+ "path": "/models/props/detailed_realistic_model_leatherbound_02.glb",
"category": "prop",
"subCategory": "book",
"keywords": {
@@ -45082,7 +45084,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_magic_01",
- "path": "/models/props/detailed_realistic_model_magic_01.glb.glb",
+ "path": "/models/props/detailed_realistic_model_magic_01.glb",
"category": "prop",
"subCategory": "magic",
"keywords": {
@@ -45148,7 +45150,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_portrait_01",
- "path": "/models/props/detailed_realistic_model_portrait_01.glb.glb",
+ "path": "/models/props/detailed_realistic_model_portrait_01.glb",
"category": "prop",
"subCategory": "portrait",
"keywords": {
@@ -45213,7 +45215,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_portrait_02",
- "path": "/models/props/detailed_realistic_model_portrait_02.glb.glb",
+ "path": "/models/props/detailed_realistic_model_portrait_02.glb",
"category": "prop",
"subCategory": "portrait",
"keywords": {
@@ -45276,7 +45278,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_potions_01",
- "path": "/models/props/detailed_realistic_model_potions_01.glb.glb",
+ "path": "/models/props/detailed_realistic_model_potions_01.glb",
"category": "prop",
"subCategory": "potion",
"keywords": {
@@ -45347,7 +45349,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_potions_02",
- "path": "/models/props/detailed_realistic_model_potions_02.glb.glb",
+ "path": "/models/props/detailed_realistic_model_potions_02.glb",
"category": "prop",
"subCategory": "potion",
"keywords": {
@@ -45418,7 +45420,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_sleeping_01",
- "path": "/models/props/detailed_realistic_model_sleeping_01.glb.glb",
+ "path": "/models/props/detailed_realistic_model_sleeping_01.glb",
"category": "prop",
"subCategory": "model",
"keywords": {
@@ -45485,7 +45487,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_solid_01",
- "path": "/models/props/detailed_realistic_model_solid_01.glb.glb",
+ "path": "/models/props/detailed_realistic_model_solid_01.glb",
"category": "prop",
"subCategory": "model",
"keywords": {
@@ -45544,7 +45546,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_solid_02",
- "path": "/models/props/detailed_realistic_model_solid_02.glb.glb",
+ "path": "/models/props/detailed_realistic_model_solid_02.glb",
"category": "prop",
"subCategory": "model",
"keywords": {
@@ -45608,7 +45610,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_solid_03",
- "path": "/models/props/detailed_realistic_model_solid_03.glb.glb",
+ "path": "/models/props/detailed_realistic_model_solid_03.glb",
"category": "prop",
"subCategory": "model",
"keywords": {
@@ -45676,7 +45678,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_solid_04",
- "path": "/models/props/detailed_realistic_model_solid_04.glb.glb",
+ "path": "/models/props/detailed_realistic_model_solid_04.glb",
"category": "prop",
"subCategory": "model",
"keywords": {
@@ -45741,7 +45743,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_solid_05",
- "path": "/models/props/detailed_realistic_model_solid_05.glb.glb",
+ "path": "/models/props/detailed_realistic_model_solid_05.glb",
"category": "prop",
"subCategory": "model",
"keywords": {
@@ -45805,7 +45807,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_solid_06",
- "path": "/models/props/detailed_realistic_model_solid_06.glb.glb",
+ "path": "/models/props/detailed_realistic_model_solid_06.glb",
"category": "prop",
"subCategory": "model",
"keywords": {
@@ -45871,7 +45873,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_solid_07",
- "path": "/models/props/detailed_realistic_model_solid_07.glb.glb",
+ "path": "/models/props/detailed_realistic_model_solid_07.glb",
"category": "prop",
"subCategory": "model",
"keywords": {
@@ -45934,7 +45936,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_solid_08",
- "path": "/models/props/detailed_realistic_model_solid_08.glb.glb",
+ "path": "/models/props/detailed_realistic_model_solid_08.glb",
"category": "prop",
"subCategory": "model",
"keywords": {
@@ -45997,7 +45999,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_solid_09",
- "path": "/models/props/detailed_realistic_model_solid_09.glb.glb",
+ "path": "/models/props/detailed_realistic_model_solid_09.glb",
"category": "prop",
"subCategory": "model",
"keywords": {
@@ -46062,7 +46064,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_solid_10",
- "path": "/models/props/detailed_realistic_model_solid_10.glb.glb",
+ "path": "/models/props/detailed_realistic_model_solid_10.glb",
"category": "prop",
"subCategory": "generic",
"keywords": {
@@ -46125,7 +46127,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_solid_11",
- "path": "/models/props/detailed_realistic_model_solid_11.glb.glb",
+ "path": "/models/props/detailed_realistic_model_solid_11.glb",
"category": "prop",
"subCategory": "generic",
"keywords": {
@@ -46192,7 +46194,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_solid_12",
- "path": "/models/props/detailed_realistic_model_solid_12.glb.glb",
+ "path": "/models/props/detailed_realistic_model_solid_12.glb",
"category": "prop",
"subCategory": "model",
"keywords": {
@@ -46257,7 +46259,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_solid_13",
- "path": "/models/props/detailed_realistic_model_solid_13.glb.glb",
+ "path": "/models/props/detailed_realistic_model_solid_13.glb",
"category": "prop",
"subCategory": "model",
"keywords": {
@@ -46325,7 +46327,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_solid_14",
- "path": "/models/props/detailed_realistic_model_solid_14.glb.glb",
+ "path": "/models/props/detailed_realistic_model_solid_14.glb",
"category": "prop",
"subCategory": "model",
"keywords": {
@@ -46390,7 +46392,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_solid_15",
- "path": "/models/props/detailed_realistic_model_solid_15.glb.glb",
+ "path": "/models/props/detailed_realistic_model_solid_15.glb",
"category": "prop",
"subCategory": "model",
"keywords": {
@@ -46452,7 +46454,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_solid_16",
- "path": "/models/props/detailed_realistic_model_solid_16.glb.glb",
+ "path": "/models/props/detailed_realistic_model_solid_16.glb",
"category": "prop",
"subCategory": "model",
"keywords": {
@@ -46514,7 +46516,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_solid_17",
- "path": "/models/props/detailed_realistic_model_solid_17.glb.glb",
+ "path": "/models/props/detailed_realistic_model_solid_17.glb",
"category": "prop",
"subCategory": "generic",
"keywords": {
@@ -46577,7 +46579,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_solid_18",
- "path": "/models/props/detailed_realistic_model_solid_18.glb.glb",
+ "path": "/models/props/detailed_realistic_model_solid_18.glb",
"category": "prop",
"subCategory": "model",
"keywords": {
@@ -46643,7 +46645,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_sorting_01",
- "path": "/models/props/detailed_realistic_model_sorting_01.glb.glb",
+ "path": "/models/props/detailed_realistic_model_sorting_01.glb",
"category": "prop",
"subCategory": "tool",
"keywords": {
@@ -46704,7 +46706,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_sorting_01_1769413346495",
- "path": "/models/props/detailed_realistic_model_sorting_01_1769413346495.glb.glb",
+ "path": "/models/props/detailed_realistic_model_sorting_01_1769413346495.glb",
"category": "prop",
"subCategory": "generic",
"keywords": {
@@ -46768,7 +46770,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_sorting_02",
- "path": "/models/props/detailed_realistic_model_sorting_02.glb.glb",
+ "path": "/models/props/detailed_realistic_model_sorting_02.glb",
"category": "prop",
"subCategory": "generic",
"keywords": {
@@ -46836,7 +46838,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_sortinghat_01",
- "path": "/models/props/detailed_realistic_model_sortinghat_01.glb.glb",
+ "path": "/models/props/detailed_realistic_model_sortinghat_01.glb",
"category": "prop",
"subCategory": "hat",
"keywords": {
@@ -46902,7 +46904,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_sortinghat_02",
- "path": "/models/props/detailed_realistic_model_sortinghat_02.glb.glb",
+ "path": "/models/props/detailed_realistic_model_sortinghat_02.glb",
"category": "prop",
"subCategory": "hat",
"keywords": {
@@ -46969,7 +46971,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_sortinghat_03",
- "path": "/models/props/detailed_realistic_model_sortinghat_03.glb.glb",
+ "path": "/models/props/detailed_realistic_model_sortinghat_03.glb",
"category": "prop",
"subCategory": "hat",
"keywords": {
@@ -47034,7 +47036,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_sortinghat_04",
- "path": "/models/props/detailed_realistic_model_sortinghat_04.glb.glb",
+ "path": "/models/props/detailed_realistic_model_sortinghat_04.glb",
"category": "prop",
"subCategory": "hat",
"keywords": {
@@ -47099,7 +47101,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_sortinghat_05",
- "path": "/models/props/detailed_realistic_model_sortinghat_05.glb.glb",
+ "path": "/models/props/detailed_realistic_model_sortinghat_05.glb",
"category": "prop",
"subCategory": "hat",
"keywords": {
@@ -47166,7 +47168,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_sortinghat_06",
- "path": "/models/props/detailed_realistic_model_sortinghat_06.glb.glb",
+ "path": "/models/props/detailed_realistic_model_sortinghat_06.glb",
"category": "prop",
"subCategory": "hat",
"keywords": {
@@ -47235,7 +47237,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_sortinghat_07",
- "path": "/models/props/detailed_realistic_model_sortinghat_07.glb.glb",
+ "path": "/models/props/detailed_realistic_model_sortinghat_07.glb",
"category": "prop",
"subCategory": "hat",
"keywords": {
@@ -47303,7 +47305,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_sortinghat_08",
- "path": "/models/props/detailed_realistic_model_sortinghat_08.glb.glb",
+ "path": "/models/props/detailed_realistic_model_sortinghat_08.glb",
"category": "prop",
"subCategory": "hat",
"keywords": {
@@ -47369,7 +47371,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_sortinghat_09",
- "path": "/models/props/detailed_realistic_model_sortinghat_09.glb.glb",
+ "path": "/models/props/detailed_realistic_model_sortinghat_09.glb",
"category": "prop",
"subCategory": "hat",
"keywords": {
@@ -47435,7 +47437,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_sortinghat_10",
- "path": "/models/props/detailed_realistic_model_sortinghat_10.glb.glb",
+ "path": "/models/props/detailed_realistic_model_sortinghat_10.glb",
"category": "prop",
"subCategory": "hat",
"keywords": {
@@ -47502,7 +47504,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_sortinghat_11",
- "path": "/models/props/detailed_realistic_model_sortinghat_11.glb.glb",
+ "path": "/models/props/detailed_realistic_model_sortinghat_11.glb",
"category": "prop",
"subCategory": "hat",
"keywords": {
@@ -47567,7 +47569,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_sortinghat_12",
- "path": "/models/props/detailed_realistic_model_sortinghat_12.glb.glb",
+ "path": "/models/props/detailed_realistic_model_sortinghat_12.glb",
"category": "prop",
"subCategory": "hat",
"keywords": {
@@ -47635,7 +47637,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_sortinghat_13",
- "path": "/models/props/detailed_realistic_model_sortinghat_13.glb.glb",
+ "path": "/models/props/detailed_realistic_model_sortinghat_13.glb",
"category": "prop",
"subCategory": "hat",
"keywords": {
@@ -47702,7 +47704,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_sortinghat_14",
- "path": "/models/props/detailed_realistic_model_sortinghat_14.glb.glb",
+ "path": "/models/props/detailed_realistic_model_sortinghat_14.glb",
"category": "prop",
"subCategory": "hat",
"keywords": {
@@ -47769,7 +47771,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_sortinghat_15",
- "path": "/models/props/detailed_realistic_model_sortinghat_15.glb.glb",
+ "path": "/models/props/detailed_realistic_model_sortinghat_15.glb",
"category": "prop",
"subCategory": "hat",
"keywords": {
@@ -47838,7 +47840,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_sortinghat_16",
- "path": "/models/props/detailed_realistic_model_sortinghat_16.glb.glb",
+ "path": "/models/props/detailed_realistic_model_sortinghat_16.glb",
"category": "prop",
"subCategory": "hat",
"keywords": {
@@ -47907,7 +47909,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_stack_01",
- "path": "/models/props/detailed_realistic_model_stack_01.glb.glb",
+ "path": "/models/props/detailed_realistic_model_stack_01.glb",
"category": "prop",
"subCategory": "stack",
"keywords": {
@@ -47972,7 +47974,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_stack_02",
- "path": "/models/props/detailed_realistic_model_stack_02.glb.glb",
+ "path": "/models/props/detailed_realistic_model_stack_02.glb",
"category": "prop",
"subCategory": "stack",
"keywords": {
@@ -48035,7 +48037,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_detailed_realistic_model_test_01",
- "path": "/models/props/detailed_realistic_model_test_01.glb.glb",
+ "path": "/models/props/detailed_realistic_model_test_01.glb",
"category": "prop",
"subCategory": "generic",
"keywords": {
@@ -48098,7 +48100,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_ExplodingBarrel",
- "path": "/models/props/ExplodingBarrel.glb.glb",
+ "path": "/models/props/ExplodingBarrel.glb",
"category": "prop",
"subCategory": "barrel",
"keywords": {
@@ -48166,7 +48168,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_GearboxAssy",
- "path": "/models/props/GearboxAssy.glb.glb",
+ "path": "/models/props/GearboxAssy.glb",
"category": "prop",
"subCategory": "gearbox",
"keywords": {
@@ -48227,7 +48229,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_gemOnly",
- "path": "/models/props/gemOnly.glb.glb",
+ "path": "/models/props/gemOnly.glb",
"category": "prop",
"subCategory": "gem",
"keywords": {
@@ -48292,7 +48294,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_GlassHurricaneCandleHolder",
- "path": "/models/props/GlassHurricaneCandleHolder.glb.glb",
+ "path": "/models/props/GlassHurricaneCandleHolder.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -48360,7 +48362,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_graveyard-kit_candle",
- "path": "/models/props/graveyard-kit_candle.glb.glb",
+ "path": "/models/props/graveyard-kit_candle.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -48432,7 +48434,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_graveyard-kit_candle-multiple",
- "path": "/models/props/graveyard-kit_candle-multiple.glb.glb",
+ "path": "/models/props/graveyard-kit_candle-multiple.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -48502,7 +48504,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_graveyard-kit_lantern-candle",
- "path": "/models/props/graveyard-kit_lantern-candle.glb.glb",
+ "path": "/models/props/graveyard-kit_lantern-candle.glb",
"category": "prop",
"subCategory": "lantern",
"keywords": {
@@ -48569,7 +48571,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_platformer-kit_barrel",
- "path": "/models/props/platformer-kit_barrel.glb.glb",
+ "path": "/models/props/platformer-kit_barrel.glb",
"category": "prop",
"subCategory": "barrel",
"keywords": {
@@ -48636,7 +48638,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_platformer-kit_chest",
- "path": "/models/props/platformer-kit_chest.glb.glb",
+ "path": "/models/props/platformer-kit_chest.glb",
"category": "prop",
"subCategory": "chest",
"keywords": {
@@ -48708,7 +48710,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_platformer-kit_coin-bronze",
- "path": "/models/props/platformer-kit_coin-bronze.glb.glb",
+ "path": "/models/props/platformer-kit_coin-bronze.glb",
"category": "prop",
"subCategory": "coin",
"keywords": {
@@ -48773,7 +48775,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_platformer-kit_coin-gold",
- "path": "/models/props/platformer-kit_coin-gold.glb.glb",
+ "path": "/models/props/platformer-kit_coin-gold.glb",
"category": "prop",
"subCategory": "coin",
"keywords": {
@@ -48837,7 +48839,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_platformer-kit_coin-silver",
- "path": "/models/props/platformer-kit_coin-silver.glb.glb",
+ "path": "/models/props/platformer-kit_coin-silver.glb",
"category": "prop",
"subCategory": "coin",
"keywords": {
@@ -48901,7 +48903,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_platformer-kit_crate",
- "path": "/models/props/platformer-kit_crate.glb.glb",
+ "path": "/models/props/platformer-kit_crate.glb",
"category": "prop",
"subCategory": "crate",
"keywords": {
@@ -48967,7 +48969,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_platformer-kit_crate-item",
- "path": "/models/props/platformer-kit_crate-item.glb.glb",
+ "path": "/models/props/platformer-kit_crate-item.glb",
"category": "prop",
"subCategory": "crate",
"keywords": {
@@ -49035,7 +49037,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_platformer-kit_crate-item-strong",
- "path": "/models/props/platformer-kit_crate-item-strong.glb.glb",
+ "path": "/models/props/platformer-kit_crate-item-strong.glb",
"category": "prop",
"subCategory": "crate",
"keywords": {
@@ -49099,7 +49101,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_platformer-kit_crate-strong",
- "path": "/models/props/platformer-kit_crate-strong.glb.glb",
+ "path": "/models/props/platformer-kit_crate-strong.glb",
"category": "prop",
"subCategory": "crate",
"keywords": {
@@ -49166,7 +49168,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_platformer-kit_flag",
- "path": "/models/props/platformer-kit_flag.glb.glb",
+ "path": "/models/props/platformer-kit_flag.glb",
"category": "prop",
"subCategory": "flag",
"keywords": {
@@ -49242,7 +49244,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_platformer-kit_key",
- "path": "/models/props/platformer-kit_key.glb.glb",
+ "path": "/models/props/platformer-kit_key.glb",
"category": "prop",
"subCategory": "key",
"keywords": {
@@ -49314,7 +49316,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_ReciprocatingSaw",
- "path": "/models/props/ReciprocatingSaw.glb.glb",
+ "path": "/models/props/ReciprocatingSaw.glb",
"category": "prop",
"subCategory": "saw",
"keywords": {
@@ -49376,7 +49378,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "props_three_js-examples_BoomBox",
- "path": "/models/props/three.js-examples_BoomBox.glb.glb",
+ "path": "/models/props/three.js-examples_BoomBox.glb",
"category": "prop",
"subCategory": "audio player",
"keywords": {
@@ -49439,7 +49441,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_ABeautifulGame",
- "path": "/models/samples/ABeautifulGame.glb.glb",
+ "path": "/models/samples/ABeautifulGame.glb",
"category": "prop",
"subCategory": "game",
"keywords": {
@@ -49508,7 +49510,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_alien",
- "path": "/models/samples/alien.glb.glb",
+ "path": "/models/samples/alien.glb",
"category": "character",
"subCategory": "alien",
"keywords": {
@@ -49571,7 +49573,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_AnimatedColorsCube",
- "path": "/models/samples/AnimatedColorsCube.glb.glb",
+ "path": "/models/samples/AnimatedColorsCube.glb",
"category": "prop",
"subCategory": "cube",
"keywords": {
@@ -49636,7 +49638,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_AnimationPointerUVs",
- "path": "/models/samples/AnimationPointerUVs.glb.glb",
+ "path": "/models/samples/AnimationPointerUVs.glb",
"category": "prop",
"subCategory": "animation",
"keywords": {
@@ -49697,7 +49699,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_AntiqueCamera",
- "path": "/models/samples/AntiqueCamera.glb.glb",
+ "path": "/models/samples/AntiqueCamera.glb",
"category": "prop",
"subCategory": "camera",
"keywords": {
@@ -49758,7 +49760,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_Avocado",
- "path": "/models/samples/Avocado.glb.glb",
+ "path": "/models/samples/Avocado.glb",
"category": "prop",
"subCategory": "fruit",
"keywords": {
@@ -49825,7 +49827,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_babylon-assets_2CylinderEngine",
- "path": "/models/samples/babylon-assets_2CylinderEngine.glb.glb",
+ "path": "/models/samples/babylon-assets_2CylinderEngine.glb",
"category": "prop",
"subCategory": "engine",
"keywords": {
@@ -49888,7 +49890,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_babylon-assets_Avocado",
- "path": "/models/samples/babylon-assets_Avocado.glb.glb",
+ "path": "/models/samples/babylon-assets_Avocado.glb",
"category": "prop",
"subCategory": "fruit",
"keywords": {
@@ -49955,7 +49957,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_babylon-assets_BrainStem",
- "path": "/models/samples/babylon-assets_BrainStem.glb.glb",
+ "path": "/models/samples/babylon-assets_BrainStem.glb",
"category": "prop",
"subCategory": "anatomy",
"keywords": {
@@ -50016,7 +50018,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_babylon-assets_Corset",
- "path": "/models/samples/babylon-assets_Corset.glb.glb",
+ "path": "/models/samples/babylon-assets_Corset.glb",
"category": "prop",
"subCategory": "clothing",
"keywords": {
@@ -50079,7 +50081,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_babylon-assets_Duck",
- "path": "/models/samples/babylon-assets_Duck.glb.glb",
+ "path": "/models/samples/babylon-assets_Duck.glb",
"category": "prop",
"subCategory": "toy",
"keywords": {
@@ -50141,7 +50143,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_babylon-assets_Lantern",
- "path": "/models/samples/babylon-assets_Lantern.glb.glb",
+ "path": "/models/samples/babylon-assets_Lantern.glb",
"category": "prop",
"subCategory": "lantern",
"keywords": {
@@ -50218,7 +50220,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_babylon-assets_MetalRoughSpheres",
- "path": "/models/samples/babylon-assets_MetalRoughSpheres.glb.glb",
+ "path": "/models/samples/babylon-assets_MetalRoughSpheres.glb",
"category": "prop",
"subCategory": "sphere",
"keywords": {
@@ -50279,7 +50281,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_babylon-assets_RiggedFigure",
- "path": "/models/samples/babylon-assets_RiggedFigure.glb.glb",
+ "path": "/models/samples/babylon-assets_RiggedFigure.glb",
"category": "character",
"subCategory": "humanoid",
"keywords": {
@@ -50342,7 +50344,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_babylon-assets_RiggedSimple",
- "path": "/models/samples/babylon-assets_RiggedSimple.glb.glb",
+ "path": "/models/samples/babylon-assets_RiggedSimple.glb",
"category": "prop",
"subCategory": "character",
"keywords": {
@@ -50405,7 +50407,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_babylon-assets_SmilingFace",
- "path": "/models/samples/babylon-assets_SmilingFace.glb.glb",
+ "path": "/models/samples/babylon-assets_SmilingFace.glb",
"category": "prop",
"subCategory": "face",
"keywords": {
@@ -50466,7 +50468,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_babylon-assets_TextureSettingsTest",
- "path": "/models/samples/babylon-assets_TextureSettingsTest.glb.glb",
+ "path": "/models/samples/babylon-assets_TextureSettingsTest.glb",
"category": "prop",
"subCategory": "settings",
"keywords": {
@@ -50530,7 +50532,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_babylon-assets_VC",
- "path": "/models/samples/babylon-assets_VC.glb.glb",
+ "path": "/models/samples/babylon-assets_VC.glb",
"category": "prop",
"subCategory": "misc",
"keywords": {
@@ -50591,7 +50593,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_babylon-assets_WalkingLady",
- "path": "/models/samples/babylon-assets_WalkingLady.glb.glb",
+ "path": "/models/samples/babylon-assets_WalkingLady.glb",
"category": "character",
"subCategory": "human",
"keywords": {
@@ -50659,7 +50661,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_babylonBuoy",
- "path": "/models/samples/babylonBuoy.glb.glb",
+ "path": "/models/samples/babylonBuoy.glb",
"category": "prop",
"subCategory": "buoy",
"keywords": {
@@ -50725,7 +50727,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_BabylonShaderBall_Simple",
- "path": "/models/samples/BabylonShaderBall_Simple.glb.glb",
+ "path": "/models/samples/BabylonShaderBall_Simple.glb",
"category": "prop",
"subCategory": "ball",
"keywords": {
@@ -50790,7 +50792,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_ballMesh",
- "path": "/models/samples/ballMesh.glb.glb",
+ "path": "/models/samples/ballMesh.glb",
"category": "prop",
"subCategory": "ball",
"keywords": {
@@ -50859,7 +50861,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_bars",
- "path": "/models/samples/bars.glb.glb",
+ "path": "/models/samples/bars.glb",
"category": "prop",
"subCategory": "bars",
"keywords": {
@@ -50926,7 +50928,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_Bee",
- "path": "/models/samples/Bee.glb.glb",
+ "path": "/models/samples/Bee.glb",
"category": "character",
"subCategory": "insect",
"keywords": {
@@ -50996,7 +50998,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_blackPearl",
- "path": "/models/samples/blackPearl.glb.glb",
+ "path": "/models/samples/blackPearl.glb",
"category": "prop",
"subCategory": "ship",
"keywords": {
@@ -51064,7 +51066,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_BrainStem",
- "path": "/models/samples/BrainStem.glb.glb",
+ "path": "/models/samples/BrainStem.glb",
"category": "prop",
"subCategory": "brain",
"keywords": {
@@ -51127,7 +51129,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_cannon",
- "path": "/models/samples/cannon.glb.glb",
+ "path": "/models/samples/cannon.glb",
"category": "prop",
"subCategory": "cannon",
"keywords": {
@@ -51196,7 +51198,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_ceiling",
- "path": "/models/samples/ceiling.glb.glb",
+ "path": "/models/samples/ceiling.glb",
"category": "structure",
"subCategory": "ceiling",
"keywords": {
@@ -51266,7 +51268,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_ceiling_corner",
- "path": "/models/samples/ceiling corner.glb.glb",
+ "path": "/models/samples/ceiling corner.glb",
"category": "structure",
"subCategory": "ceiling",
"keywords": {
@@ -51338,7 +51340,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_ceiling_straight",
- "path": "/models/samples/ceiling straight.glb.glb",
+ "path": "/models/samples/ceiling straight.glb",
"category": "structure",
"subCategory": "ceiling",
"keywords": {
@@ -51406,7 +51408,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_ChronographWatch",
- "path": "/models/samples/ChronographWatch.glb.glb",
+ "path": "/models/samples/ChronographWatch.glb",
"category": "prop",
"subCategory": "chronograph",
"keywords": {
@@ -51473,7 +51475,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_cloth_meshV1",
- "path": "/models/samples/cloth_meshV1.glb.glb",
+ "path": "/models/samples/cloth_meshV1.glb",
"category": "prop",
"subCategory": "cloth",
"keywords": {
@@ -51543,7 +51545,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_cloth_meshV2",
- "path": "/models/samples/cloth_meshV2.glb.glb",
+ "path": "/models/samples/cloth_meshV2.glb",
"category": "prop",
"subCategory": "cloth",
"keywords": {
@@ -51612,7 +51614,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_cloth_meshV3",
- "path": "/models/samples/cloth_meshV3.glb.glb",
+ "path": "/models/samples/cloth_meshV3.glb",
"category": "prop",
"subCategory": "cloth",
"keywords": {
@@ -51682,7 +51684,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_cloth_meshV4",
- "path": "/models/samples/cloth_meshV4.glb.glb",
+ "path": "/models/samples/cloth_meshV4.glb",
"category": "prop",
"subCategory": "cloth",
"keywords": {
@@ -51750,7 +51752,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_cloth_meshV5",
- "path": "/models/samples/cloth_meshV5.glb.glb",
+ "path": "/models/samples/cloth_meshV5.glb",
"category": "prop",
"subCategory": "cloth",
"keywords": {
@@ -51819,7 +51821,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_cloth_meshV6",
- "path": "/models/samples/cloth_meshV6.glb.glb",
+ "path": "/models/samples/cloth_meshV6.glb",
"category": "prop",
"subCategory": "cloth",
"keywords": {
@@ -51888,7 +51890,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_cloth_meshV7",
- "path": "/models/samples/cloth_meshV7.glb.glb",
+ "path": "/models/samples/cloth_meshV7.glb",
"category": "prop",
"subCategory": "cloth",
"keywords": {
@@ -51957,7 +51959,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_cloth_meshV8",
- "path": "/models/samples/cloth_meshV8.glb.glb",
+ "path": "/models/samples/cloth_meshV8.glb",
"category": "prop",
"subCategory": "cloth",
"keywords": {
@@ -52026,7 +52028,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_cloth_meshV9",
- "path": "/models/samples/cloth_meshV9.glb.glb",
+ "path": "/models/samples/cloth_meshV9.glb",
"category": "prop",
"subCategory": "cloth",
"keywords": {
@@ -52095,7 +52097,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_clothFolds",
- "path": "/models/samples/clothFolds.glb.glb",
+ "path": "/models/samples/clothFolds.glb",
"category": "prop",
"subCategory": "cloth",
"keywords": {
@@ -52162,7 +52164,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_coffin",
- "path": "/models/samples/coffin.glb.glb",
+ "path": "/models/samples/coffin.glb",
"category": "prop",
"subCategory": "coffin",
"keywords": {
@@ -52229,7 +52231,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_coffinOpen",
- "path": "/models/samples/coffinOpen.glb.glb",
+ "path": "/models/samples/coffinOpen.glb",
"category": "prop",
"subCategory": "coffin",
"keywords": {
@@ -52295,7 +52297,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_CommercialRefrigerator",
- "path": "/models/samples/CommercialRefrigerator.glb.glb",
+ "path": "/models/samples/CommercialRefrigerator.glb",
"category": "prop",
"subCategory": "refrigerator",
"keywords": {
@@ -52357,7 +52359,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_corner",
- "path": "/models/samples/corner.glb.glb",
+ "path": "/models/samples/corner.glb",
"category": "structure",
"subCategory": "corner",
"keywords": {
@@ -52424,7 +52426,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_corner2",
- "path": "/models/samples/corner2.glb.glb",
+ "path": "/models/samples/corner2.glb",
"category": "structure",
"subCategory": "architectural_element",
"keywords": {
@@ -52491,7 +52493,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_Corset",
- "path": "/models/samples/Corset.glb.glb",
+ "path": "/models/samples/Corset.glb",
"category": "prop",
"subCategory": "clothing",
"keywords": {
@@ -52553,7 +52555,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_cottage",
- "path": "/models/samples/cottage.glb.glb",
+ "path": "/models/samples/cottage.glb",
"category": "structure",
"subCategory": "house",
"keywords": {
@@ -52629,7 +52631,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_D20_Animation",
- "path": "/models/samples/D20_Animation.glb.glb",
+ "path": "/models/samples/D20_Animation.glb",
"category": "prop",
"subCategory": "dice",
"keywords": {
@@ -52693,7 +52695,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_DirectionalLight",
- "path": "/models/samples/DirectionalLight.glb.glb",
+ "path": "/models/samples/DirectionalLight.glb",
"category": "prop",
"subCategory": "directional light",
"keywords": {
@@ -52762,7 +52764,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_Duck",
- "path": "/models/samples/Duck.glb.glb",
+ "path": "/models/samples/Duck.glb",
"category": "prop",
"subCategory": "duck",
"keywords": {
@@ -52828,7 +52830,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_emoji_heart",
- "path": "/models/samples/emoji_heart.glb.glb",
+ "path": "/models/samples/emoji_heart.glb",
"category": "prop",
"subCategory": "emoji",
"keywords": {
@@ -52891,7 +52893,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_blade",
- "path": "/models/samples/fantasy-town-kit_blade.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_blade.glb",
"category": "prop",
"subCategory": "blade",
"keywords": {
@@ -52964,7 +52966,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_fountain-corner-inner",
- "path": "/models/samples/fantasy-town-kit_fountain-corner-inner.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_fountain-corner-inner.glb",
"category": "structure",
"subCategory": "fountain",
"keywords": {
@@ -53033,7 +53035,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_fountain-curved",
- "path": "/models/samples/fantasy-town-kit_fountain-curved.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_fountain-curved.glb",
"category": "structure",
"subCategory": "fountain",
"keywords": {
@@ -53105,7 +53107,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_fountain-round",
- "path": "/models/samples/fantasy-town-kit_fountain-round.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_fountain-round.glb",
"category": "prop",
"subCategory": "fountain",
"keywords": {
@@ -53176,7 +53178,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_fountain-round-detail",
- "path": "/models/samples/fantasy-town-kit_fountain-round-detail.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_fountain-round-detail.glb",
"category": "structure",
"subCategory": "fountain",
"keywords": {
@@ -53247,7 +53249,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_fountain-square",
- "path": "/models/samples/fantasy-town-kit_fountain-square.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_fountain-square.glb",
"category": "structure",
"subCategory": "fountain",
"keywords": {
@@ -53319,7 +53321,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_fountain-square-detail",
- "path": "/models/samples/fantasy-town-kit_fountain-square-detail.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_fountain-square-detail.glb",
"category": "structure",
"subCategory": "fountain",
"keywords": {
@@ -53385,7 +53387,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_hedge-curved",
- "path": "/models/samples/fantasy-town-kit_hedge-curved.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_hedge-curved.glb",
"category": "prop",
"subCategory": "hedge",
"keywords": {
@@ -53461,7 +53463,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_hedge-large-curved",
- "path": "/models/samples/fantasy-town-kit_hedge-large-curved.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_hedge-large-curved.glb",
"category": "prop",
"subCategory": "hedge",
"keywords": {
@@ -53536,7 +53538,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_lantern",
- "path": "/models/samples/fantasy-town-kit_lantern.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_lantern.glb",
"category": "prop",
"subCategory": "lantern",
"keywords": {
@@ -53608,7 +53610,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_planks",
- "path": "/models/samples/fantasy-town-kit_planks.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_planks.glb",
"category": "prop",
"subCategory": "planks",
"keywords": {
@@ -53677,7 +53679,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_planks-opening",
- "path": "/models/samples/fantasy-town-kit_planks-opening.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_planks-opening.glb",
"category": "structure",
"subCategory": "gate",
"keywords": {
@@ -53751,7 +53753,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_road-bend",
- "path": "/models/samples/fantasy-town-kit_road-bend.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_road-bend.glb",
"category": "structure",
"subCategory": "road",
"keywords": {
@@ -53823,7 +53825,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_road-corner",
- "path": "/models/samples/fantasy-town-kit_road-corner.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_road-corner.glb",
"category": "structure",
"subCategory": "road",
"keywords": {
@@ -53891,7 +53893,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_road-corner-inner",
- "path": "/models/samples/fantasy-town-kit_road-corner-inner.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_road-corner-inner.glb",
"category": "structure",
"subCategory": "road",
"keywords": {
@@ -53958,7 +53960,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_stairs-wide-wood",
- "path": "/models/samples/fantasy-town-kit_stairs-wide-wood.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_stairs-wide-wood.glb",
"category": "structure",
"subCategory": "stairs",
"keywords": {
@@ -54030,7 +54032,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_stairs-wide-wood-handrail",
- "path": "/models/samples/fantasy-town-kit_stairs-wide-wood-handrail.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_stairs-wide-wood-handrail.glb",
"category": "structure",
"subCategory": "stairs",
"keywords": {
@@ -54099,7 +54101,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_stairs-wood",
- "path": "/models/samples/fantasy-town-kit_stairs-wood.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_stairs-wood.glb",
"category": "structure",
"subCategory": "stairs",
"keywords": {
@@ -54173,7 +54175,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_stairs-wood-handrail",
- "path": "/models/samples/fantasy-town-kit_stairs-wood-handrail.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_stairs-wood-handrail.glb",
"category": "structure",
"subCategory": "stairs",
"keywords": {
@@ -54244,7 +54246,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_stall",
- "path": "/models/samples/fantasy-town-kit_stall.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_stall.glb",
"category": "structure",
"subCategory": "stall",
"keywords": {
@@ -54314,7 +54316,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_stall-green",
- "path": "/models/samples/fantasy-town-kit_stall-green.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_stall-green.glb",
"category": "prop",
"subCategory": "stall",
"keywords": {
@@ -54382,7 +54384,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_stall-red",
- "path": "/models/samples/fantasy-town-kit_stall-red.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_stall-red.glb",
"category": "structure",
"subCategory": "stall",
"keywords": {
@@ -54455,7 +54457,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_watermill",
- "path": "/models/samples/fantasy-town-kit_watermill.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_watermill.glb",
"category": "structure",
"subCategory": "watermill",
"keywords": {
@@ -54526,7 +54528,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_watermill-wide",
- "path": "/models/samples/fantasy-town-kit_watermill-wide.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_watermill-wide.glb",
"category": "structure",
"subCategory": "watermill",
"keywords": {
@@ -54599,7 +54601,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_wheel",
- "path": "/models/samples/fantasy-town-kit_wheel.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_wheel.glb",
"category": "prop",
"subCategory": "wheel",
"keywords": {
@@ -54668,7 +54670,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_fantasy-town-kit_windmill",
- "path": "/models/samples/fantasy-town-kit_windmill.glb.glb",
+ "path": "/models/samples/fantasy-town-kit_windmill.glb",
"category": "structure",
"subCategory": "windmill",
"keywords": {
@@ -54741,7 +54743,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_Gap",
- "path": "/models/samples/Gap.glb.glb",
+ "path": "/models/samples/Gap.glb",
"category": "prop",
"subCategory": "gap",
"keywords": {
@@ -54807,7 +54809,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_gothic_cloister_corner",
- "path": "/models/samples/gothic_cloister_corner.glb.glb",
+ "path": "/models/samples/gothic_cloister_corner.glb",
"category": "structure",
"subCategory": "cloister",
"keywords": {
@@ -54880,7 +54882,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_altar-wood",
- "path": "/models/samples/graveyard-kit_altar-wood.glb.glb",
+ "path": "/models/samples/graveyard-kit_altar-wood.glb",
"category": "structure",
"subCategory": "altar",
"keywords": {
@@ -54951,7 +54953,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_border-pillar",
- "path": "/models/samples/graveyard-kit_border-pillar.glb.glb",
+ "path": "/models/samples/graveyard-kit_border-pillar.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -55023,7 +55025,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_coffin",
- "path": "/models/samples/graveyard-kit_coffin.glb.glb",
+ "path": "/models/samples/graveyard-kit_coffin.glb",
"category": "prop",
"subCategory": "coffin",
"keywords": {
@@ -55088,7 +55090,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_coffin-old",
- "path": "/models/samples/graveyard-kit_coffin-old.glb.glb",
+ "path": "/models/samples/graveyard-kit_coffin-old.glb",
"category": "prop",
"subCategory": "coffin",
"keywords": {
@@ -55156,7 +55158,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_cross",
- "path": "/models/samples/graveyard-kit_cross.glb.glb",
+ "path": "/models/samples/graveyard-kit_cross.glb",
"category": "prop",
"subCategory": "gravestone",
"keywords": {
@@ -55226,7 +55228,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_cross-wood",
- "path": "/models/samples/graveyard-kit_cross-wood.glb.glb",
+ "path": "/models/samples/graveyard-kit_cross-wood.glb",
"category": "structure",
"subCategory": "graveyard",
"keywords": {
@@ -55295,7 +55297,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_crypt",
- "path": "/models/samples/graveyard-kit_crypt.glb.glb",
+ "path": "/models/samples/graveyard-kit_crypt.glb",
"category": "structure",
"subCategory": "crypt",
"keywords": {
@@ -55368,7 +55370,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_crypt-a",
- "path": "/models/samples/graveyard-kit_crypt-a.glb.glb",
+ "path": "/models/samples/graveyard-kit_crypt-a.glb",
"category": "structure",
"subCategory": "crypt",
"keywords": {
@@ -55439,7 +55441,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_crypt-b",
- "path": "/models/samples/graveyard-kit_crypt-b.glb.glb",
+ "path": "/models/samples/graveyard-kit_crypt-b.glb",
"category": "structure",
"subCategory": "crypt",
"keywords": {
@@ -55511,7 +55513,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_crypt-large",
- "path": "/models/samples/graveyard-kit_crypt-large.glb.glb",
+ "path": "/models/samples/graveyard-kit_crypt-large.glb",
"category": "structure",
"subCategory": "crypt",
"keywords": {
@@ -55585,7 +55587,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_crypt-small",
- "path": "/models/samples/graveyard-kit_crypt-small.glb.glb",
+ "path": "/models/samples/graveyard-kit_crypt-small.glb",
"category": "structure",
"subCategory": "crypt",
"keywords": {
@@ -55658,7 +55660,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_debris",
- "path": "/models/samples/graveyard-kit_debris.glb.glb",
+ "path": "/models/samples/graveyard-kit_debris.glb",
"category": "prop",
"subCategory": "graveyard",
"keywords": {
@@ -55727,7 +55729,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_debris-wood",
- "path": "/models/samples/graveyard-kit_debris-wood.glb.glb",
+ "path": "/models/samples/graveyard-kit_debris-wood.glb",
"category": "nature",
"subCategory": "debris",
"keywords": {
@@ -55792,7 +55794,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_detail-chalice",
- "path": "/models/samples/graveyard-kit_detail-chalice.glb.glb",
+ "path": "/models/samples/graveyard-kit_detail-chalice.glb",
"category": "prop",
"subCategory": "graveyard",
"keywords": {
@@ -55862,7 +55864,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_fire-basket",
- "path": "/models/samples/graveyard-kit_fire-basket.glb.glb",
+ "path": "/models/samples/graveyard-kit_fire-basket.glb",
"category": "prop",
"subCategory": "fire pit",
"keywords": {
@@ -55934,7 +55936,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_grave",
- "path": "/models/samples/graveyard-kit_grave.glb.glb",
+ "path": "/models/samples/graveyard-kit_grave.glb",
"category": "structure",
"subCategory": "graveyard",
"keywords": {
@@ -56005,7 +56007,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_grave-border",
- "path": "/models/samples/graveyard-kit_grave-border.glb.glb",
+ "path": "/models/samples/graveyard-kit_grave-border.glb",
"category": "structure",
"subCategory": "graveyard",
"keywords": {
@@ -56076,7 +56078,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_hay-bale",
- "path": "/models/samples/graveyard-kit_hay-bale.glb.glb",
+ "path": "/models/samples/graveyard-kit_hay-bale.glb",
"category": "prop",
"subCategory": "graveyard",
"keywords": {
@@ -56142,7 +56144,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_hay-bale-bundled",
- "path": "/models/samples/graveyard-kit_hay-bale-bundled.glb.glb",
+ "path": "/models/samples/graveyard-kit_hay-bale-bundled.glb",
"category": "prop",
"subCategory": "hay bale",
"keywords": {
@@ -56209,7 +56211,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_lantern-glass",
- "path": "/models/samples/graveyard-kit_lantern-glass.glb.glb",
+ "path": "/models/samples/graveyard-kit_lantern-glass.glb",
"category": "prop",
"subCategory": "lantern",
"keywords": {
@@ -56276,7 +56278,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_lightpost-all",
- "path": "/models/samples/graveyard-kit_lightpost-all.glb.glb",
+ "path": "/models/samples/graveyard-kit_lightpost-all.glb",
"category": "prop",
"subCategory": "light",
"keywords": {
@@ -56348,7 +56350,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_lightpost-double",
- "path": "/models/samples/graveyard-kit_lightpost-double.glb.glb",
+ "path": "/models/samples/graveyard-kit_lightpost-double.glb",
"category": "prop",
"subCategory": "light",
"keywords": {
@@ -56423,7 +56425,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_lightpost-single",
- "path": "/models/samples/graveyard-kit_lightpost-single.glb.glb",
+ "path": "/models/samples/graveyard-kit_lightpost-single.glb",
"category": "prop",
"subCategory": "light",
"keywords": {
@@ -56497,7 +56499,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_pillar-large",
- "path": "/models/samples/graveyard-kit_pillar-large.glb.glb",
+ "path": "/models/samples/graveyard-kit_pillar-large.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -56568,7 +56570,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_pillar-small",
- "path": "/models/samples/graveyard-kit_pillar-small.glb.glb",
+ "path": "/models/samples/graveyard-kit_pillar-small.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -56642,7 +56644,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_pillar-square",
- "path": "/models/samples/graveyard-kit_pillar-square.glb.glb",
+ "path": "/models/samples/graveyard-kit_pillar-square.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -56715,7 +56717,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_pine",
- "path": "/models/samples/graveyard-kit_pine.glb.glb",
+ "path": "/models/samples/graveyard-kit_pine.glb",
"category": "prop",
"subCategory": "graveyard",
"keywords": {
@@ -56787,7 +56789,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_pine-crooked",
- "path": "/models/samples/graveyard-kit_pine-crooked.glb.glb",
+ "path": "/models/samples/graveyard-kit_pine-crooked.glb",
"category": "prop",
"subCategory": "graveyard",
"keywords": {
@@ -56857,7 +56859,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_pine-fall",
- "path": "/models/samples/graveyard-kit_pine-fall.glb.glb",
+ "path": "/models/samples/graveyard-kit_pine-fall.glb",
"category": "prop",
"subCategory": "graveyard",
"keywords": {
@@ -56928,7 +56930,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_pine-fall-crooked",
- "path": "/models/samples/graveyard-kit_pine-fall-crooked.glb.glb",
+ "path": "/models/samples/graveyard-kit_pine-fall-crooked.glb",
"category": "prop",
"subCategory": "graveyard",
"keywords": {
@@ -56997,7 +56999,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_pumpkin",
- "path": "/models/samples/graveyard-kit_pumpkin.glb.glb",
+ "path": "/models/samples/graveyard-kit_pumpkin.glb",
"category": "prop",
"subCategory": "graveyard",
"keywords": {
@@ -57064,7 +57066,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_pumpkin-tall",
- "path": "/models/samples/graveyard-kit_pumpkin-tall.glb.glb",
+ "path": "/models/samples/graveyard-kit_pumpkin-tall.glb",
"category": "prop",
"subCategory": "graveyard",
"keywords": {
@@ -57133,7 +57135,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_road",
- "path": "/models/samples/graveyard-kit_road.glb.glb",
+ "path": "/models/samples/graveyard-kit_road.glb",
"category": "structure",
"subCategory": "road",
"keywords": {
@@ -57203,7 +57205,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_shovel",
- "path": "/models/samples/graveyard-kit_shovel.glb.glb",
+ "path": "/models/samples/graveyard-kit_shovel.glb",
"category": "prop",
"subCategory": "shovel",
"keywords": {
@@ -57271,7 +57273,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_shovel-dirt",
- "path": "/models/samples/graveyard-kit_shovel-dirt.glb.glb",
+ "path": "/models/samples/graveyard-kit_shovel-dirt.glb",
"category": "prop",
"subCategory": "shovel",
"keywords": {
@@ -57332,7 +57334,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_trunk",
- "path": "/models/samples/graveyard-kit_trunk.glb.glb",
+ "path": "/models/samples/graveyard-kit_trunk.glb",
"category": "prop",
"subCategory": "graveyard",
"keywords": {
@@ -57401,7 +57403,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_trunk-long",
- "path": "/models/samples/graveyard-kit_trunk-long.glb.glb",
+ "path": "/models/samples/graveyard-kit_trunk-long.glb",
"category": "prop",
"subCategory": "graveyard",
"keywords": {
@@ -57470,7 +57472,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_urn-round",
- "path": "/models/samples/graveyard-kit_urn-round.glb.glb",
+ "path": "/models/samples/graveyard-kit_urn-round.glb",
"category": "prop",
"subCategory": "urn",
"keywords": {
@@ -57540,7 +57542,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyard-kit_urn-square",
- "path": "/models/samples/graveyard-kit_urn-square.glb.glb",
+ "path": "/models/samples/graveyard-kit_urn-square.glb",
"category": "prop",
"subCategory": "urn",
"keywords": {
@@ -57605,7 +57607,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_graveyardScene",
- "path": "/models/samples/graveyardScene.glb.glb",
+ "path": "/models/samples/graveyardScene.glb",
"category": "structure",
"subCategory": "graveyard",
"keywords": {
@@ -57677,7 +57679,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_greenEnergyBall",
- "path": "/models/samples/greenEnergyBall.glb.glb",
+ "path": "/models/samples/greenEnergyBall.glb",
"category": "prop",
"subCategory": "energy",
"keywords": {
@@ -57741,7 +57743,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_greySnapper_vertColor",
- "path": "/models/samples/greySnapper_vertColor.glb.glb",
+ "path": "/models/samples/greySnapper_vertColor.glb",
"category": "character",
"subCategory": "fish",
"keywords": {
@@ -57804,7 +57806,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_HarryPotter_Hat_Test",
- "path": "/models/samples/HarryPotter_Hat_Test.glb.glb",
+ "path": "/models/samples/HarryPotter_Hat_Test.glb",
"category": "prop",
"subCategory": "hat",
"keywords": {
@@ -57867,7 +57869,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_head",
- "path": "/models/samples/head.glb.glb",
+ "path": "/models/samples/head.glb",
"category": "prop",
"subCategory": "head",
"keywords": {
@@ -57929,7 +57931,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_hexTile",
- "path": "/models/samples/hexTile.glb.glb",
+ "path": "/models/samples/hexTile.glb",
"category": "prop",
"subCategory": "tile",
"keywords": {
@@ -57996,7 +57998,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_hogwarts_corridor",
- "path": "/models/samples/hogwarts_corridor.glb.glb",
+ "path": "/models/samples/hogwarts_corridor.glb",
"category": "structure",
"subCategory": "corridor",
"keywords": {
@@ -58067,7 +58069,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_holiday2021",
- "path": "/models/samples/holiday2021.glb.glb",
+ "path": "/models/samples/holiday2021.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -58132,7 +58134,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_hollowLog",
- "path": "/models/samples/hollowLog.glb.glb",
+ "path": "/models/samples/hollowLog.glb",
"category": "nature",
"subCategory": "log",
"keywords": {
@@ -58200,7 +58202,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_inn",
- "path": "/models/samples/inn.glb.glb",
+ "path": "/models/samples/inn.glb",
"category": "structure",
"subCategory": "inn",
"keywords": {
@@ -58277,7 +58279,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_IridescentDishWithOlives",
- "path": "/models/samples/IridescentDishWithOlives.glb.glb",
+ "path": "/models/samples/IridescentDishWithOlives.glb",
"category": "prop",
"subCategory": "dish",
"keywords": {
@@ -58344,7 +58346,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_iridescentSphere",
- "path": "/models/samples/iridescentSphere.glb.glb",
+ "path": "/models/samples/iridescentSphere.glb",
"category": "prop",
"subCategory": "sphere",
"keywords": {
@@ -58409,7 +58411,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_l_hand_lhs",
- "path": "/models/samples/l_hand_lhs.glb.glb",
+ "path": "/models/samples/l_hand_lhs.glb",
"category": "prop",
"subCategory": "hand",
"keywords": {
@@ -58470,7 +58472,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_l_hand_rhs",
- "path": "/models/samples/l_hand_rhs.glb.glb",
+ "path": "/models/samples/l_hand_rhs.glb",
"category": "prop",
"subCategory": "hand",
"keywords": {
@@ -58534,7 +58536,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_Lantern",
- "path": "/models/samples/Lantern.glb.glb",
+ "path": "/models/samples/Lantern.glb",
"category": "prop",
"subCategory": "lantern",
"keywords": {
@@ -58606,7 +58608,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_left",
- "path": "/models/samples/left.glb.glb",
+ "path": "/models/samples/left.glb",
"category": "prop",
"subCategory": "sign",
"keywords": {
@@ -58675,7 +58677,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_lightFixture",
- "path": "/models/samples/lightFixture.glb.glb",
+ "path": "/models/samples/lightFixture.glb",
"category": "prop",
"subCategory": "fixture",
"keywords": {
@@ -58746,7 +58748,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_lightPaddle",
- "path": "/models/samples/lightPaddle.glb.glb",
+ "path": "/models/samples/lightPaddle.glb",
"category": "prop",
"subCategory": "paddle",
"keywords": {
@@ -58812,7 +58814,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_lightPost1",
- "path": "/models/samples/lightPost1.glb.glb",
+ "path": "/models/samples/lightPost1.glb",
"category": "prop",
"subCategory": "light",
"keywords": {
@@ -58882,7 +58884,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_lightPost2",
- "path": "/models/samples/lightPost2.glb.glb",
+ "path": "/models/samples/lightPost2.glb",
"category": "prop",
"subCategory": "street lamp",
"keywords": {
@@ -58954,7 +58956,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_lightPost3",
- "path": "/models/samples/lightPost3.glb.glb",
+ "path": "/models/samples/lightPost3.glb",
"category": "prop",
"subCategory": "street lamp",
"keywords": {
@@ -59024,7 +59026,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_logSaw",
- "path": "/models/samples/logSaw.glb.glb",
+ "path": "/models/samples/logSaw.glb",
"category": "prop",
"subCategory": "saw",
"keywords": {
@@ -59088,7 +59090,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_marineGround",
- "path": "/models/samples/marineGround.glb.glb",
+ "path": "/models/samples/marineGround.glb",
"category": "environment",
"subCategory": "marine",
"keywords": {
@@ -59154,7 +59156,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_mausoleumLarge",
- "path": "/models/samples/mausoleumLarge.glb.glb",
+ "path": "/models/samples/mausoleumLarge.glb",
"category": "structure",
"subCategory": "mausoleum",
"keywords": {
@@ -59227,7 +59229,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_mausoleumLargeSkewed",
- "path": "/models/samples/mausoleumLargeSkewed.glb.glb",
+ "path": "/models/samples/mausoleumLargeSkewed.glb",
"category": "structure",
"subCategory": "mausoleum",
"keywords": {
@@ -59302,7 +59304,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_mausoleumSmall",
- "path": "/models/samples/mausoleumSmall.glb.glb",
+ "path": "/models/samples/mausoleumSmall.glb",
"category": "structure",
"subCategory": "mausoleum",
"keywords": {
@@ -59376,7 +59378,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_mausoleumSmallSkewed",
- "path": "/models/samples/mausoleumSmallSkewed.glb.glb",
+ "path": "/models/samples/mausoleumSmallSkewed.glb",
"category": "structure",
"subCategory": "mausoleum",
"keywords": {
@@ -59448,7 +59450,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_MetalRoughSpheres",
- "path": "/models/samples/MetalRoughSpheres.glb.glb",
+ "path": "/models/samples/MetalRoughSpheres.glb",
"category": "prop",
"subCategory": "spheres",
"keywords": {
@@ -59511,7 +59513,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_MetalRoughSpheresNoTextures",
- "path": "/models/samples/MetalRoughSpheresNoTextures.glb.glb",
+ "path": "/models/samples/MetalRoughSpheresNoTextures.glb",
"category": "prop",
"subCategory": "sphere",
"keywords": {
@@ -59572,7 +59574,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_miniBar2",
- "path": "/models/samples/miniBar2.glb.glb",
+ "path": "/models/samples/miniBar2.glb",
"category": "furniture",
"subCategory": "bar",
"keywords": {
@@ -59639,7 +59641,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_0093b022-794",
- "path": "/models/samples/model_0093b022-794.glb.glb",
+ "path": "/models/samples/model_0093b022-794.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -59706,7 +59708,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_00f59c8c-52a",
- "path": "/models/samples/model_00f59c8c-52a.glb.glb",
+ "path": "/models/samples/model_00f59c8c-52a.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -59773,7 +59775,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_01510687-984",
- "path": "/models/samples/model_01510687-984.glb.glb",
+ "path": "/models/samples/model_01510687-984.glb",
"category": "prop",
"subCategory": "model",
"keywords": {
@@ -59839,7 +59841,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_016a52a6-dce",
- "path": "/models/samples/model_016a52a6-dce.glb.glb",
+ "path": "/models/samples/model_016a52a6-dce.glb",
"category": "structure",
"subCategory": "gate",
"keywords": {
@@ -59916,7 +59918,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_01843fe1-0d8",
- "path": "/models/samples/model_01843fe1-0d8.glb.glb",
+ "path": "/models/samples/model_01843fe1-0d8.glb",
"category": "prop",
"subCategory": "plank",
"keywords": {
@@ -59979,7 +59981,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_018e3909-86a",
- "path": "/models/samples/model_018e3909-86a.glb.glb",
+ "path": "/models/samples/model_018e3909-86a.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -60044,7 +60046,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_01d40f41-443",
- "path": "/models/samples/model_01d40f41-443.glb.glb",
+ "path": "/models/samples/model_01d40f41-443.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -60111,7 +60113,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_03ce66cf-2cb",
- "path": "/models/samples/model_03ce66cf-2cb.glb.glb",
+ "path": "/models/samples/model_03ce66cf-2cb.glb",
"category": "prop",
"subCategory": "miniature",
"keywords": {
@@ -60178,7 +60180,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_04055cca-aa4",
- "path": "/models/samples/model_04055cca-aa4.glb.glb",
+ "path": "/models/samples/model_04055cca-aa4.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -60244,7 +60246,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_0453ed65-f52",
- "path": "/models/samples/model_0453ed65-f52.glb.glb",
+ "path": "/models/samples/model_0453ed65-f52.glb",
"category": "prop",
"subCategory": "sphere",
"keywords": {
@@ -60312,7 +60314,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_04c0a68c-4d3",
- "path": "/models/samples/model_04c0a68c-4d3.glb.glb",
+ "path": "/models/samples/model_04c0a68c-4d3.glb",
"category": "prop",
"subCategory": "board",
"keywords": {
@@ -60378,7 +60380,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_0528de32-356",
- "path": "/models/samples/model_0528de32-356.glb.glb",
+ "path": "/models/samples/model_0528de32-356.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -60442,7 +60444,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_0551ca36-061",
- "path": "/models/samples/model_0551ca36-061.glb.glb",
+ "path": "/models/samples/model_0551ca36-061.glb",
"category": "furniture",
"subCategory": "bench",
"keywords": {
@@ -60514,7 +60516,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_05a53f67-4b9",
- "path": "/models/samples/model_05a53f67-4b9.glb.glb",
+ "path": "/models/samples/model_05a53f67-4b9.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -60578,7 +60580,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_07860247-cc1",
- "path": "/models/samples/model_07860247-cc1.glb.glb",
+ "path": "/models/samples/model_07860247-cc1.glb",
"category": "prop",
"subCategory": "jar",
"keywords": {
@@ -60649,7 +60651,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_07e883b3-2e4",
- "path": "/models/samples/model_07e883b3-2e4.glb.glb",
+ "path": "/models/samples/model_07e883b3-2e4.glb",
"category": "prop",
"subCategory": "plate",
"keywords": {
@@ -60717,7 +60719,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_087513b0-788",
- "path": "/models/samples/model_087513b0-788.glb.glb",
+ "path": "/models/samples/model_087513b0-788.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -60783,7 +60785,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_08d8ba2b-37f",
- "path": "/models/samples/model_08d8ba2b-37f.glb.glb",
+ "path": "/models/samples/model_08d8ba2b-37f.glb",
"category": "prop",
"subCategory": "bottle",
"keywords": {
@@ -60852,7 +60854,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_09507cba-d6a",
- "path": "/models/samples/model_09507cba-d6a.glb.glb",
+ "path": "/models/samples/model_09507cba-d6a.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -60918,7 +60920,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_0970fa42-4ab",
- "path": "/models/samples/model_0970fa42-4ab.glb.glb",
+ "path": "/models/samples/model_0970fa42-4ab.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -60983,7 +60985,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_098364b0-485",
- "path": "/models/samples/model_098364b0-485.glb.glb",
+ "path": "/models/samples/model_098364b0-485.glb",
"category": "prop",
"subCategory": "tank",
"keywords": {
@@ -61045,7 +61047,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_0a81f502-144",
- "path": "/models/samples/model_0a81f502-144.glb.glb",
+ "path": "/models/samples/model_0a81f502-144.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -61116,7 +61118,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_0af6ef40-5d9",
- "path": "/models/samples/model_0af6ef40-5d9.glb.glb",
+ "path": "/models/samples/model_0af6ef40-5d9.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -61189,7 +61191,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_0b5e780a-7fd",
- "path": "/models/samples/model_0b5e780a-7fd.glb.glb",
+ "path": "/models/samples/model_0b5e780a-7fd.glb",
"category": "prop",
"subCategory": "pillar",
"keywords": {
@@ -61265,7 +61267,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_0c8f0256-480",
- "path": "/models/samples/model_0c8f0256-480.glb.glb",
+ "path": "/models/samples/model_0c8f0256-480.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -61333,7 +61335,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_0d126e35-a18",
- "path": "/models/samples/model_0d126e35-a18.glb.glb",
+ "path": "/models/samples/model_0d126e35-a18.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -61399,7 +61401,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_0d5aa4c9-f28",
- "path": "/models/samples/model_0d5aa4c9-f28.glb.glb",
+ "path": "/models/samples/model_0d5aa4c9-f28.glb",
"category": "prop",
"subCategory": "plank",
"keywords": {
@@ -61465,7 +61467,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_0da49c1d-aad",
- "path": "/models/samples/model_0da49c1d-aad.glb.glb",
+ "path": "/models/samples/model_0da49c1d-aad.glb",
"category": "prop",
"subCategory": "cube",
"keywords": {
@@ -61531,7 +61533,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_0e689817-18d",
- "path": "/models/samples/model_0e689817-18d.glb.glb",
+ "path": "/models/samples/model_0e689817-18d.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -61598,7 +61600,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_1058e0f3-ca5",
- "path": "/models/samples/model_1058e0f3-ca5.glb.glb",
+ "path": "/models/samples/model_1058e0f3-ca5.glb",
"category": "nature",
"subCategory": "rock",
"keywords": {
@@ -61671,7 +61673,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_11aba94f-2a2",
- "path": "/models/samples/model_11aba94f-2a2.glb.glb",
+ "path": "/models/samples/model_11aba94f-2a2.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -61741,7 +61743,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_12363a91-7c2",
- "path": "/models/samples/model_12363a91-7c2.glb.glb",
+ "path": "/models/samples/model_12363a91-7c2.glb",
"category": "prop",
"subCategory": "plank",
"keywords": {
@@ -61807,7 +61809,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_12487f1b-e31",
- "path": "/models/samples/model_12487f1b-e31.glb.glb",
+ "path": "/models/samples/model_12487f1b-e31.glb",
"category": "prop",
"subCategory": "stone",
"keywords": {
@@ -61879,7 +61881,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_135ccf25-173",
- "path": "/models/samples/model_135ccf25-173.glb.glb",
+ "path": "/models/samples/model_135ccf25-173.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -61952,7 +61954,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_142eb426-331",
- "path": "/models/samples/model_142eb426-331.glb.glb",
+ "path": "/models/samples/model_142eb426-331.glb",
"category": "prop",
"subCategory": "book",
"keywords": {
@@ -62016,7 +62018,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_154c5dbd-c67",
- "path": "/models/samples/model_154c5dbd-c67.glb.glb",
+ "path": "/models/samples/model_154c5dbd-c67.glb",
"category": "prop",
"subCategory": "crystal",
"keywords": {
@@ -62089,7 +62091,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_155077a0-2bf",
- "path": "/models/samples/model_155077a0-2bf.glb.glb",
+ "path": "/models/samples/model_155077a0-2bf.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -62159,7 +62161,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_16938d74-b1b",
- "path": "/models/samples/model_16938d74-b1b.glb.glb",
+ "path": "/models/samples/model_16938d74-b1b.glb",
"category": "prop",
"subCategory": "statue",
"keywords": {
@@ -62231,7 +62233,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_16d8adee-41d",
- "path": "/models/samples/model_16d8adee-41d.glb.glb",
+ "path": "/models/samples/model_16d8adee-41d.glb",
"category": "nature",
"subCategory": "rock",
"keywords": {
@@ -62305,7 +62307,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_174e6c87-f89",
- "path": "/models/samples/model_174e6c87-f89.glb.glb",
+ "path": "/models/samples/model_174e6c87-f89.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -62369,7 +62371,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_1755311d-a94",
- "path": "/models/samples/model_1755311d-a94.glb.glb",
+ "path": "/models/samples/model_1755311d-a94.glb",
"category": "prop",
"subCategory": "pipe",
"keywords": {
@@ -62435,7 +62437,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_178bcd33-dde",
- "path": "/models/samples/model_178bcd33-dde.glb.glb",
+ "path": "/models/samples/model_178bcd33-dde.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -62508,7 +62510,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_1821afe6-4c6",
- "path": "/models/samples/model_1821afe6-4c6.glb.glb",
+ "path": "/models/samples/model_1821afe6-4c6.glb",
"category": "environment",
"subCategory": "terrain",
"keywords": {
@@ -62581,7 +62583,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_18d93646-1b6",
- "path": "/models/samples/model_18d93646-1b6.glb.glb",
+ "path": "/models/samples/model_18d93646-1b6.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -62654,7 +62656,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_1946522f-f26",
- "path": "/models/samples/model_1946522f-f26.glb.glb",
+ "path": "/models/samples/model_1946522f-f26.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -62722,7 +62724,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_1a2b827d-ca0",
- "path": "/models/samples/model_1a2b827d-ca0.glb.glb",
+ "path": "/models/samples/model_1a2b827d-ca0.glb",
"category": "prop",
"subCategory": "bottle",
"keywords": {
@@ -62790,7 +62792,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_1be984cb-ce8",
- "path": "/models/samples/model_1be984cb-ce8.glb.glb",
+ "path": "/models/samples/model_1be984cb-ce8.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -62856,7 +62858,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_1c8af2e7-e0e",
- "path": "/models/samples/model_1c8af2e7-e0e.glb.glb",
+ "path": "/models/samples/model_1c8af2e7-e0e.glb",
"category": "nature",
"subCategory": "rock",
"keywords": {
@@ -62929,7 +62931,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_1cd08e71-e60",
- "path": "/models/samples/model_1cd08e71-e60.glb.glb",
+ "path": "/models/samples/model_1cd08e71-e60.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -63003,7 +63005,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_1d34d1bb-fa4",
- "path": "/models/samples/model_1d34d1bb-fa4.glb.glb",
+ "path": "/models/samples/model_1d34d1bb-fa4.glb",
"category": "prop",
"subCategory": "component",
"keywords": {
@@ -63066,7 +63068,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_1ebaca74-ea4",
- "path": "/models/samples/model_1ebaca74-ea4.glb.glb",
+ "path": "/models/samples/model_1ebaca74-ea4.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -63134,7 +63136,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_1ebf3984-395",
- "path": "/models/samples/model_1ebf3984-395.glb.glb",
+ "path": "/models/samples/model_1ebf3984-395.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -63198,7 +63200,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_1f6de2b1-6a8",
- "path": "/models/samples/model_1f6de2b1-6a8.glb.glb",
+ "path": "/models/samples/model_1f6de2b1-6a8.glb",
"category": "prop",
"subCategory": "plank",
"keywords": {
@@ -63261,7 +63263,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_1fec001e-606",
- "path": "/models/samples/model_1fec001e-606.glb.glb",
+ "path": "/models/samples/model_1fec001e-606.glb",
"category": "prop",
"subCategory": "standing lamp",
"keywords": {
@@ -63327,7 +63329,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_200b163b-fb2",
- "path": "/models/samples/model_200b163b-fb2.glb.glb",
+ "path": "/models/samples/model_200b163b-fb2.glb",
"category": "furniture",
"subCategory": "shelf",
"keywords": {
@@ -63395,7 +63397,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_202ac3e3-c96",
- "path": "/models/samples/model_202ac3e3-c96.glb.glb",
+ "path": "/models/samples/model_202ac3e3-c96.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -63461,7 +63463,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_20d6b88d-840",
- "path": "/models/samples/model_20d6b88d-840.glb.glb",
+ "path": "/models/samples/model_20d6b88d-840.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -63527,7 +63529,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_21a2c8fa-3bd",
- "path": "/models/samples/model_21a2c8fa-3bd.glb.glb",
+ "path": "/models/samples/model_21a2c8fa-3bd.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -63595,7 +63597,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_21aa0d34-46b",
- "path": "/models/samples/model_21aa0d34-46b.glb.glb",
+ "path": "/models/samples/model_21aa0d34-46b.glb",
"category": "prop",
"subCategory": "cube",
"keywords": {
@@ -63658,7 +63660,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_21c2cbf9-0c1",
- "path": "/models/samples/model_21c2cbf9-0c1.glb.glb",
+ "path": "/models/samples/model_21c2cbf9-0c1.glb",
"category": "nature",
"subCategory": "rock",
"keywords": {
@@ -63729,7 +63731,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_21cc9c37-d86",
- "path": "/models/samples/model_21cc9c37-d86.glb.glb",
+ "path": "/models/samples/model_21cc9c37-d86.glb",
"category": "prop",
"subCategory": "dice",
"keywords": {
@@ -63790,7 +63792,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_21fdb9e5-1ad",
- "path": "/models/samples/model_21fdb9e5-1ad.glb.glb",
+ "path": "/models/samples/model_21fdb9e5-1ad.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -63855,7 +63857,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_2445097b-bdf",
- "path": "/models/samples/model_2445097b-bdf.glb.glb",
+ "path": "/models/samples/model_2445097b-bdf.glb",
"category": "prop",
"subCategory": "statue",
"keywords": {
@@ -63927,7 +63929,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_24769937-ced",
- "path": "/models/samples/model_24769937-ced.glb.glb",
+ "path": "/models/samples/model_24769937-ced.glb",
"category": "prop",
"subCategory": "plank",
"keywords": {
@@ -63992,7 +63994,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_24cb8a6e-a2f",
- "path": "/models/samples/model_24cb8a6e-a2f.glb.glb",
+ "path": "/models/samples/model_24cb8a6e-a2f.glb",
"category": "structure",
"subCategory": "statue",
"keywords": {
@@ -64063,7 +64065,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_24ee6619-f7f",
- "path": "/models/samples/model_24ee6619-f7f.glb.glb",
+ "path": "/models/samples/model_24ee6619-f7f.glb",
"category": "prop",
"subCategory": "sphere",
"keywords": {
@@ -64127,7 +64129,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_251a10e8-bf6",
- "path": "/models/samples/model_251a10e8-bf6.glb.glb",
+ "path": "/models/samples/model_251a10e8-bf6.glb",
"category": "prop",
"subCategory": "cube",
"keywords": {
@@ -64193,7 +64195,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_252c5cbe-f20",
- "path": "/models/samples/model_252c5cbe-f20.glb.glb",
+ "path": "/models/samples/model_252c5cbe-f20.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -64265,7 +64267,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_2544e0ef-078",
- "path": "/models/samples/model_2544e0ef-078.glb.glb",
+ "path": "/models/samples/model_2544e0ef-078.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -64330,7 +64332,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_2568a43c-da7",
- "path": "/models/samples/model_2568a43c-da7.glb.glb",
+ "path": "/models/samples/model_2568a43c-da7.glb",
"category": "prop",
"subCategory": "component",
"keywords": {
@@ -64391,7 +64393,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_2572bd61-6c2",
- "path": "/models/samples/model_2572bd61-6c2.glb.glb",
+ "path": "/models/samples/model_2572bd61-6c2.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -64456,7 +64458,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_259a3789-b8f",
- "path": "/models/samples/model_259a3789-b8f.glb.glb",
+ "path": "/models/samples/model_259a3789-b8f.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -64522,7 +64524,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_2612a456-9d8",
- "path": "/models/samples/model_2612a456-9d8.glb.glb",
+ "path": "/models/samples/model_2612a456-9d8.glb",
"category": "prop",
"subCategory": "pen",
"keywords": {
@@ -64586,7 +64588,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_263f2bfa-789",
- "path": "/models/samples/model_263f2bfa-789.glb.glb",
+ "path": "/models/samples/model_263f2bfa-789.glb",
"category": "prop",
"subCategory": "plank",
"keywords": {
@@ -64651,7 +64653,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_26f30e42-e08",
- "path": "/models/samples/model_26f30e42-e08.glb.glb",
+ "path": "/models/samples/model_26f30e42-e08.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -64722,7 +64724,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_27d6327d-780",
- "path": "/models/samples/model_27d6327d-780.glb.glb",
+ "path": "/models/samples/model_27d6327d-780.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -64791,7 +64793,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_285c3534-738",
- "path": "/models/samples/model_285c3534-738.glb.glb",
+ "path": "/models/samples/model_285c3534-738.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -64863,7 +64865,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_29b2b8b8-376",
- "path": "/models/samples/model_29b2b8b8-376.glb.glb",
+ "path": "/models/samples/model_29b2b8b8-376.glb",
"category": "nature",
"subCategory": "bush",
"keywords": {
@@ -64937,7 +64939,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_29f8c09b-7b5",
- "path": "/models/samples/model_29f8c09b-7b5.glb.glb",
+ "path": "/models/samples/model_29f8c09b-7b5.glb",
"category": "prop",
"subCategory": "statue",
"keywords": {
@@ -65008,7 +65010,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_29fa4c1d-039",
- "path": "/models/samples/model_29fa4c1d-039.glb.glb",
+ "path": "/models/samples/model_29fa4c1d-039.glb",
"category": "prop",
"subCategory": "generic",
"keywords": {
@@ -65074,7 +65076,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_2ae6b5f8-6b7",
- "path": "/models/samples/model_2ae6b5f8-6b7.glb.glb",
+ "path": "/models/samples/model_2ae6b5f8-6b7.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -65142,7 +65144,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_2aeae9e8-f67",
- "path": "/models/samples/model_2aeae9e8-f67.glb.glb",
+ "path": "/models/samples/model_2aeae9e8-f67.glb",
"category": "prop",
"subCategory": "panel",
"keywords": {
@@ -65209,7 +65211,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_2b5e3201-eab",
- "path": "/models/samples/model_2b5e3201-eab.glb.glb",
+ "path": "/models/samples/model_2b5e3201-eab.glb",
"category": "prop",
"subCategory": "pillar",
"keywords": {
@@ -65281,7 +65283,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_2c0c2b1e-d04",
- "path": "/models/samples/model_2c0c2b1e-d04.glb.glb",
+ "path": "/models/samples/model_2c0c2b1e-d04.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -65348,7 +65350,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_2c397d2d-152",
- "path": "/models/samples/model_2c397d2d-152.glb.glb",
+ "path": "/models/samples/model_2c397d2d-152.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -65417,7 +65419,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_2ecdf33c-7b9",
- "path": "/models/samples/model_2ecdf33c-7b9.glb.glb",
+ "path": "/models/samples/model_2ecdf33c-7b9.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -65485,7 +65487,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_2ef9fc2d-996",
- "path": "/models/samples/model_2ef9fc2d-996.glb.glb",
+ "path": "/models/samples/model_2ef9fc2d-996.glb",
"category": "prop",
"subCategory": "cube",
"keywords": {
@@ -65546,7 +65548,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_2f2c50e9-b59",
- "path": "/models/samples/model_2f2c50e9-b59.glb.glb",
+ "path": "/models/samples/model_2f2c50e9-b59.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -65613,7 +65615,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_302cec82-856",
- "path": "/models/samples/model_302cec82-856.glb.glb",
+ "path": "/models/samples/model_302cec82-856.glb",
"category": "prop",
"subCategory": "statue",
"keywords": {
@@ -65685,7 +65687,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_30b31ef3-3a0",
- "path": "/models/samples/model_30b31ef3-3a0.glb.glb",
+ "path": "/models/samples/model_30b31ef3-3a0.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -65754,7 +65756,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_320a18cb-ccd",
- "path": "/models/samples/model_320a18cb-ccd.glb.glb",
+ "path": "/models/samples/model_320a18cb-ccd.glb",
"category": "prop",
"subCategory": "lamp",
"keywords": {
@@ -65827,7 +65829,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_325e7a86-3c4",
- "path": "/models/samples/model_325e7a86-3c4.glb.glb",
+ "path": "/models/samples/model_325e7a86-3c4.glb",
"category": "furniture",
"subCategory": "shelf",
"keywords": {
@@ -65895,7 +65897,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_32f1b9ae-541",
- "path": "/models/samples/model_32f1b9ae-541.glb.glb",
+ "path": "/models/samples/model_32f1b9ae-541.glb",
"category": "prop",
"subCategory": "decorative",
"keywords": {
@@ -65963,7 +65965,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_33f2ac81-de9",
- "path": "/models/samples/model_33f2ac81-de9.glb.glb",
+ "path": "/models/samples/model_33f2ac81-de9.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -66028,7 +66030,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_348d1f0e-886",
- "path": "/models/samples/model_348d1f0e-886.glb.glb",
+ "path": "/models/samples/model_348d1f0e-886.glb",
"category": "structure",
"subCategory": "statue",
"keywords": {
@@ -66097,7 +66099,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_3545490d-1fe",
- "path": "/models/samples/model_3545490d-1fe.glb.glb",
+ "path": "/models/samples/model_3545490d-1fe.glb",
"category": "prop",
"subCategory": "component",
"keywords": {
@@ -66159,7 +66161,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_3570068e-f79",
- "path": "/models/samples/model_3570068e-f79.glb.glb",
+ "path": "/models/samples/model_3570068e-f79.glb",
"category": "structure",
"subCategory": "ruin",
"keywords": {
@@ -66236,7 +66238,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_35c76694-fce",
- "path": "/models/samples/model_35c76694-fce.glb.glb",
+ "path": "/models/samples/model_35c76694-fce.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -66311,7 +66313,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_36d09061-0ee",
- "path": "/models/samples/model_36d09061-0ee.glb.glb",
+ "path": "/models/samples/model_36d09061-0ee.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -66379,7 +66381,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_370372ec-666",
- "path": "/models/samples/model_370372ec-666.glb.glb",
+ "path": "/models/samples/model_370372ec-666.glb",
"category": "prop",
"subCategory": "bottle",
"keywords": {
@@ -66446,7 +66448,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_37ad51fd-fb2",
- "path": "/models/samples/model_37ad51fd-fb2.glb.glb",
+ "path": "/models/samples/model_37ad51fd-fb2.glb",
"category": "prop",
"subCategory": "brick",
"keywords": {
@@ -66513,7 +66515,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_3841d2a9-390",
- "path": "/models/samples/model_3841d2a9-390.glb.glb",
+ "path": "/models/samples/model_3841d2a9-390.glb",
"category": "prop",
"subCategory": "metal piece",
"keywords": {
@@ -66574,7 +66576,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_38b81926-4a1",
- "path": "/models/samples/model_38b81926-4a1.glb.glb",
+ "path": "/models/samples/model_38b81926-4a1.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -66649,7 +66651,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_38ee5af8-ae1",
- "path": "/models/samples/model_38ee5af8-ae1.glb.glb",
+ "path": "/models/samples/model_38ee5af8-ae1.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -66716,7 +66718,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_398b2073-135",
- "path": "/models/samples/model_398b2073-135.glb.glb",
+ "path": "/models/samples/model_398b2073-135.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -66786,7 +66788,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_3a9e1495-750",
- "path": "/models/samples/model_3a9e1495-750.glb.glb",
+ "path": "/models/samples/model_3a9e1495-750.glb",
"category": "prop",
"subCategory": "plank",
"keywords": {
@@ -66847,7 +66849,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_3e16d14d-c88",
- "path": "/models/samples/model_3e16d14d-c88.glb.glb",
+ "path": "/models/samples/model_3e16d14d-c88.glb",
"category": "prop",
"subCategory": "plank",
"keywords": {
@@ -66911,7 +66913,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_3ecf8f2f-db6",
- "path": "/models/samples/model_3ecf8f2f-db6.glb.glb",
+ "path": "/models/samples/model_3ecf8f2f-db6.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -66982,7 +66984,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_404c439e-090",
- "path": "/models/samples/model_404c439e-090.glb.glb",
+ "path": "/models/samples/model_404c439e-090.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -67050,7 +67052,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_419f7c52-ba1",
- "path": "/models/samples/model_419f7c52-ba1.glb.glb",
+ "path": "/models/samples/model_419f7c52-ba1.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -67117,7 +67119,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_41a64de3-78b",
- "path": "/models/samples/model_41a64de3-78b.glb.glb",
+ "path": "/models/samples/model_41a64de3-78b.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -67181,7 +67183,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_41d4e503-3fe",
- "path": "/models/samples/model_41d4e503-3fe.glb.glb",
+ "path": "/models/samples/model_41d4e503-3fe.glb",
"category": "prop",
"subCategory": "bottle",
"keywords": {
@@ -67250,7 +67252,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_41fd6727-c30",
- "path": "/models/samples/model_41fd6727-c30.glb.glb",
+ "path": "/models/samples/model_41fd6727-c30.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -67315,7 +67317,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_420be263-a32",
- "path": "/models/samples/model_420be263-a32.glb.glb",
+ "path": "/models/samples/model_420be263-a32.glb",
"category": "prop",
"subCategory": "block",
"keywords": {
@@ -67381,7 +67383,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_427fe638-14f",
- "path": "/models/samples/model_427fe638-14f.glb.glb",
+ "path": "/models/samples/model_427fe638-14f.glb",
"category": "prop",
"subCategory": "cube",
"keywords": {
@@ -67447,7 +67449,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_441d42f0-070",
- "path": "/models/samples/model_441d42f0-070.glb.glb",
+ "path": "/models/samples/model_441d42f0-070.glb",
"category": "prop",
"subCategory": "lamp",
"keywords": {
@@ -67518,7 +67520,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_45ae3e7a-bf6",
- "path": "/models/samples/model_45ae3e7a-bf6.glb.glb",
+ "path": "/models/samples/model_45ae3e7a-bf6.glb",
"category": "prop",
"subCategory": "pillar",
"keywords": {
@@ -67589,7 +67591,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_45b034f5-5ab",
- "path": "/models/samples/model_45b034f5-5ab.glb.glb",
+ "path": "/models/samples/model_45b034f5-5ab.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -67656,7 +67658,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_45ca27ef-75c",
- "path": "/models/samples/model_45ca27ef-75c.glb.glb",
+ "path": "/models/samples/model_45ca27ef-75c.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -67720,7 +67722,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_45db5c7e-bd0",
- "path": "/models/samples/model_45db5c7e-bd0.glb.glb",
+ "path": "/models/samples/model_45db5c7e-bd0.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -67787,7 +67789,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_4647952e-a6b",
- "path": "/models/samples/model_4647952e-a6b.glb.glb",
+ "path": "/models/samples/model_4647952e-a6b.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -67851,7 +67853,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_46ae6877-d71",
- "path": "/models/samples/model_46ae6877-d71.glb.glb",
+ "path": "/models/samples/model_46ae6877-d71.glb",
"category": "structure",
"subCategory": "structure",
"keywords": {
@@ -67920,7 +67922,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_480f46bd-06c",
- "path": "/models/samples/model_480f46bd-06c.glb.glb",
+ "path": "/models/samples/model_480f46bd-06c.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -67986,7 +67988,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_481f5d0e-822",
- "path": "/models/samples/model_481f5d0e-822.glb.glb",
+ "path": "/models/samples/model_481f5d0e-822.glb",
"category": "prop",
"subCategory": "cube",
"keywords": {
@@ -68050,7 +68052,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_48697b19-ebd",
- "path": "/models/samples/model_48697b19-ebd.glb.glb",
+ "path": "/models/samples/model_48697b19-ebd.glb",
"category": "prop",
"subCategory": "statue",
"keywords": {
@@ -68122,7 +68124,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_48ab7121-570",
- "path": "/models/samples/model_48ab7121-570.glb.glb",
+ "path": "/models/samples/model_48ab7121-570.glb",
"category": "prop",
"subCategory": "block",
"keywords": {
@@ -68188,7 +68190,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_48ca45ab-5bb",
- "path": "/models/samples/model_48ca45ab-5bb.glb.glb",
+ "path": "/models/samples/model_48ca45ab-5bb.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -68252,7 +68254,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_493cf84c-05a",
- "path": "/models/samples/model_493cf84c-05a.glb.glb",
+ "path": "/models/samples/model_493cf84c-05a.glb",
"category": "prop",
"subCategory": "pedestal",
"keywords": {
@@ -68316,7 +68318,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_4b7a5f2d-508",
- "path": "/models/samples/model_4b7a5f2d-508.glb.glb",
+ "path": "/models/samples/model_4b7a5f2d-508.glb",
"category": "prop",
"subCategory": "brick",
"keywords": {
@@ -68382,7 +68384,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_4b9310cf-647",
- "path": "/models/samples/model_4b9310cf-647.glb.glb",
+ "path": "/models/samples/model_4b9310cf-647.glb",
"category": "prop",
"subCategory": "miniature",
"keywords": {
@@ -68448,7 +68450,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_4c0a3ec9-bd7",
- "path": "/models/samples/model_4c0a3ec9-bd7.glb.glb",
+ "path": "/models/samples/model_4c0a3ec9-bd7.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -68520,7 +68522,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_4d36d320-19f",
- "path": "/models/samples/model_4d36d320-19f.glb.glb",
+ "path": "/models/samples/model_4d36d320-19f.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -68584,7 +68586,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_4dda6fc2-86e",
- "path": "/models/samples/model_4dda6fc2-86e.glb.glb",
+ "path": "/models/samples/model_4dda6fc2-86e.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -68650,7 +68652,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_4f2640bd-7ca",
- "path": "/models/samples/model_4f2640bd-7ca.glb.glb",
+ "path": "/models/samples/model_4f2640bd-7ca.glb",
"category": "structure",
"subCategory": "statue",
"keywords": {
@@ -68721,7 +68723,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_500544e5-54b",
- "path": "/models/samples/model_500544e5-54b.glb.glb",
+ "path": "/models/samples/model_500544e5-54b.glb",
"category": "structure",
"subCategory": "pillar base",
"keywords": {
@@ -68796,7 +68798,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_50087d98-87e",
- "path": "/models/samples/model_50087d98-87e.glb.glb",
+ "path": "/models/samples/model_50087d98-87e.glb",
"category": "prop",
"subCategory": "dice",
"keywords": {
@@ -68863,7 +68865,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_51d0846a-cf4",
- "path": "/models/samples/model_51d0846a-cf4.glb.glb",
+ "path": "/models/samples/model_51d0846a-cf4.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -68928,7 +68930,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_51eca8bd-2b8",
- "path": "/models/samples/model_51eca8bd-2b8.glb.glb",
+ "path": "/models/samples/model_51eca8bd-2b8.glb",
"category": "prop",
"subCategory": "dice",
"keywords": {
@@ -68992,7 +68994,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_51ef0b07-49c",
- "path": "/models/samples/model_51ef0b07-49c.glb.glb",
+ "path": "/models/samples/model_51ef0b07-49c.glb",
"category": "prop",
"subCategory": "dust",
"keywords": {
@@ -69055,7 +69057,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_521a8d84-6bb",
- "path": "/models/samples/model_521a8d84-6bb.glb.glb",
+ "path": "/models/samples/model_521a8d84-6bb.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -69119,7 +69121,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_529019ee-4bd",
- "path": "/models/samples/model_529019ee-4bd.glb.glb",
+ "path": "/models/samples/model_529019ee-4bd.glb",
"category": "prop",
"subCategory": "cube",
"keywords": {
@@ -69179,7 +69181,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_52e6920e-889",
- "path": "/models/samples/model_52e6920e-889.glb.glb",
+ "path": "/models/samples/model_52e6920e-889.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -69245,7 +69247,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_532b4eca-396",
- "path": "/models/samples/model_532b4eca-396.glb.glb",
+ "path": "/models/samples/model_532b4eca-396.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -69311,7 +69313,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_53fa9973-756",
- "path": "/models/samples/model_53fa9973-756.glb.glb",
+ "path": "/models/samples/model_53fa9973-756.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -69379,7 +69381,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_544c368c-c07",
- "path": "/models/samples/model_544c368c-c07.glb.glb",
+ "path": "/models/samples/model_544c368c-c07.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -69446,7 +69448,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_54db6bb7-87e",
- "path": "/models/samples/model_54db6bb7-87e.glb.glb",
+ "path": "/models/samples/model_54db6bb7-87e.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -69514,7 +69516,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_55c86f23-52a",
- "path": "/models/samples/model_55c86f23-52a.glb.glb",
+ "path": "/models/samples/model_55c86f23-52a.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -69581,7 +69583,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_55ef63a7-ffd",
- "path": "/models/samples/model_55ef63a7-ffd.glb.glb",
+ "path": "/models/samples/model_55ef63a7-ffd.glb",
"category": "prop",
"subCategory": "component",
"keywords": {
@@ -69644,7 +69646,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_562d9272-9e4",
- "path": "/models/samples/model_562d9272-9e4.glb.glb",
+ "path": "/models/samples/model_562d9272-9e4.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -69711,7 +69713,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_562f668f-4e6",
- "path": "/models/samples/model_562f668f-4e6.glb.glb",
+ "path": "/models/samples/model_562f668f-4e6.glb",
"category": "prop",
"subCategory": "statue",
"keywords": {
@@ -69781,7 +69783,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_567d607b-d3e",
- "path": "/models/samples/model_567d607b-d3e.glb.glb",
+ "path": "/models/samples/model_567d607b-d3e.glb",
"category": "prop",
"subCategory": "component",
"keywords": {
@@ -69844,7 +69846,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_5693c3cb-ead",
- "path": "/models/samples/model_5693c3cb-ead.glb.glb",
+ "path": "/models/samples/model_5693c3cb-ead.glb",
"category": "prop",
"subCategory": "plank",
"keywords": {
@@ -69905,7 +69907,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_575e6920-829",
- "path": "/models/samples/model_575e6920-829.glb.glb",
+ "path": "/models/samples/model_575e6920-829.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -69973,7 +69975,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_5760d90d-3aa",
- "path": "/models/samples/model_5760d90d-3aa.glb.glb",
+ "path": "/models/samples/model_5760d90d-3aa.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -70038,7 +70040,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_58cead34-52d",
- "path": "/models/samples/model_58cead34-52d.glb.glb",
+ "path": "/models/samples/model_58cead34-52d.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -70111,7 +70113,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_58d94a98-dfa",
- "path": "/models/samples/model_58d94a98-dfa.glb.glb",
+ "path": "/models/samples/model_58d94a98-dfa.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -70178,7 +70180,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_58e02f30-f04",
- "path": "/models/samples/model_58e02f30-f04.glb.glb",
+ "path": "/models/samples/model_58e02f30-f04.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -70244,7 +70246,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_5943824c-1ee",
- "path": "/models/samples/model_5943824c-1ee.glb.glb",
+ "path": "/models/samples/model_5943824c-1ee.glb",
"category": "furniture",
"subCategory": "chair",
"keywords": {
@@ -70313,7 +70315,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_59ac0621-3d2",
- "path": "/models/samples/model_59ac0621-3d2.glb.glb",
+ "path": "/models/samples/model_59ac0621-3d2.glb",
"category": "prop",
"subCategory": "stand",
"keywords": {
@@ -70376,7 +70378,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_59fbfef8-3f6",
- "path": "/models/samples/model_59fbfef8-3f6.glb.glb",
+ "path": "/models/samples/model_59fbfef8-3f6.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -70442,7 +70444,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_5aeb6ff7-56c",
- "path": "/models/samples/model_5aeb6ff7-56c.glb.glb",
+ "path": "/models/samples/model_5aeb6ff7-56c.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -70509,7 +70511,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_5af663c3-c23",
- "path": "/models/samples/model_5af663c3-c23.glb.glb",
+ "path": "/models/samples/model_5af663c3-c23.glb",
"category": "prop",
"subCategory": "plank",
"keywords": {
@@ -70577,7 +70579,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_5b05b336-1f5",
- "path": "/models/samples/model_5b05b336-1f5.glb.glb",
+ "path": "/models/samples/model_5b05b336-1f5.glb",
"category": "prop",
"subCategory": "block",
"keywords": {
@@ -70643,7 +70645,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_5ba62572-f9e",
- "path": "/models/samples/model_5ba62572-f9e.glb.glb",
+ "path": "/models/samples/model_5ba62572-f9e.glb",
"category": "prop",
"subCategory": "metal piece",
"keywords": {
@@ -70706,7 +70708,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_5c3443c6-f86",
- "path": "/models/samples/model_5c3443c6-f86.glb.glb",
+ "path": "/models/samples/model_5c3443c6-f86.glb",
"category": "furniture",
"subCategory": "shelf",
"keywords": {
@@ -70773,7 +70775,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_5d1b5201-0ed",
- "path": "/models/samples/model_5d1b5201-0ed.glb.glb",
+ "path": "/models/samples/model_5d1b5201-0ed.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -70841,7 +70843,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_5d9f92bb-a69",
- "path": "/models/samples/model_5d9f92bb-a69.glb.glb",
+ "path": "/models/samples/model_5d9f92bb-a69.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -70908,7 +70910,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_5f3495ea-981",
- "path": "/models/samples/model_5f3495ea-981.glb.glb",
+ "path": "/models/samples/model_5f3495ea-981.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -70976,7 +70978,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_6108e984-64b",
- "path": "/models/samples/model_6108e984-64b.glb.glb",
+ "path": "/models/samples/model_6108e984-64b.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -71045,7 +71047,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_61d1f35c-9f4",
- "path": "/models/samples/model_61d1f35c-9f4.glb.glb",
+ "path": "/models/samples/model_61d1f35c-9f4.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -71112,7 +71114,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_62eee14a-030",
- "path": "/models/samples/model_62eee14a-030.glb.glb",
+ "path": "/models/samples/model_62eee14a-030.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -71179,7 +71181,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_630dda53-95a",
- "path": "/models/samples/model_630dda53-95a.glb.glb",
+ "path": "/models/samples/model_630dda53-95a.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -71246,7 +71248,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_63789130-f81",
- "path": "/models/samples/model_63789130-f81.glb.glb",
+ "path": "/models/samples/model_63789130-f81.glb",
"category": "prop",
"subCategory": "metal",
"keywords": {
@@ -71310,7 +71312,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_63e35ef7-f63",
- "path": "/models/samples/model_63e35ef7-f63.glb.glb",
+ "path": "/models/samples/model_63e35ef7-f63.glb",
"category": "prop",
"subCategory": "statue",
"keywords": {
@@ -71380,7 +71382,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_64466ea0-e65",
- "path": "/models/samples/model_64466ea0-e65.glb.glb",
+ "path": "/models/samples/model_64466ea0-e65.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -71447,7 +71449,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_64604dc8-e3f",
- "path": "/models/samples/model_64604dc8-e3f.glb.glb",
+ "path": "/models/samples/model_64604dc8-e3f.glb",
"category": "prop",
"subCategory": "pillar",
"keywords": {
@@ -71518,7 +71520,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_64809de3-3c5",
- "path": "/models/samples/model_64809de3-3c5.glb.glb",
+ "path": "/models/samples/model_64809de3-3c5.glb",
"category": "prop",
"subCategory": "standing lamp",
"keywords": {
@@ -71586,7 +71588,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_64f8b4c5-3ec",
- "path": "/models/samples/model_64f8b4c5-3ec.glb.glb",
+ "path": "/models/samples/model_64f8b4c5-3ec.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -71657,7 +71659,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_677a7ddb-579",
- "path": "/models/samples/model_677a7ddb-579.glb.glb",
+ "path": "/models/samples/model_677a7ddb-579.glb",
"category": "prop",
"subCategory": "bucket",
"keywords": {
@@ -71723,7 +71725,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_67a706e9-022",
- "path": "/models/samples/model_67a706e9-022.glb.glb",
+ "path": "/models/samples/model_67a706e9-022.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -71790,7 +71792,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_67d2ec8e-f3c",
- "path": "/models/samples/model_67d2ec8e-f3c.glb.glb",
+ "path": "/models/samples/model_67d2ec8e-f3c.glb",
"category": "prop",
"subCategory": "gold",
"keywords": {
@@ -71854,7 +71856,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_67f85603-aec",
- "path": "/models/samples/model_67f85603-aec.glb.glb",
+ "path": "/models/samples/model_67f85603-aec.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -71920,7 +71922,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_6821c653-ab1",
- "path": "/models/samples/model_6821c653-ab1.glb.glb",
+ "path": "/models/samples/model_6821c653-ab1.glb",
"category": "prop",
"subCategory": "dust",
"keywords": {
@@ -71983,7 +71985,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_68ad57d3-a67",
- "path": "/models/samples/model_68ad57d3-a67.glb.glb",
+ "path": "/models/samples/model_68ad57d3-a67.glb",
"category": "prop",
"subCategory": "metal piece",
"keywords": {
@@ -72046,7 +72048,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_68d94dec-206",
- "path": "/models/samples/model_68d94dec-206.glb.glb",
+ "path": "/models/samples/model_68d94dec-206.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -72118,7 +72120,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_68fe46d0-625",
- "path": "/models/samples/model_68fe46d0-625.glb.glb",
+ "path": "/models/samples/model_68fe46d0-625.glb",
"category": "prop",
"subCategory": "statue",
"keywords": {
@@ -72187,7 +72189,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_6a1191df-f09",
- "path": "/models/samples/model_6a1191df-f09.glb.glb",
+ "path": "/models/samples/model_6a1191df-f09.glb",
"category": "structure",
"subCategory": "pillar base",
"keywords": {
@@ -72261,7 +72263,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_6abeb22e-6d0",
- "path": "/models/samples/model_6abeb22e-6d0.glb.glb",
+ "path": "/models/samples/model_6abeb22e-6d0.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -72325,7 +72327,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_6b2bc098-b3e",
- "path": "/models/samples/model_6b2bc098-b3e.glb.glb",
+ "path": "/models/samples/model_6b2bc098-b3e.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -72398,7 +72400,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_6b40811b-09b",
- "path": "/models/samples/model_6b40811b-09b.glb.glb",
+ "path": "/models/samples/model_6b40811b-09b.glb",
"category": "prop",
"subCategory": "generic",
"keywords": {
@@ -72467,7 +72469,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_6b50b5e9-75b",
- "path": "/models/samples/model_6b50b5e9-75b.glb.glb",
+ "path": "/models/samples/model_6b50b5e9-75b.glb",
"category": "prop",
"subCategory": "bottle",
"keywords": {
@@ -72536,7 +72538,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_6b8cf82f-0a5",
- "path": "/models/samples/model_6b8cf82f-0a5.glb.glb",
+ "path": "/models/samples/model_6b8cf82f-0a5.glb",
"category": "prop",
"subCategory": "component",
"keywords": {
@@ -72598,7 +72600,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_6b91b218-950",
- "path": "/models/samples/model_6b91b218-950.glb.glb",
+ "path": "/models/samples/model_6b91b218-950.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -72666,7 +72668,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_6bb02cd7-319",
- "path": "/models/samples/model_6bb02cd7-319.glb.glb",
+ "path": "/models/samples/model_6bb02cd7-319.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -72733,7 +72735,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_6dc05ca3-8da",
- "path": "/models/samples/model_6dc05ca3-8da.glb.glb",
+ "path": "/models/samples/model_6dc05ca3-8da.glb",
"category": "prop",
"subCategory": "stone",
"keywords": {
@@ -72801,7 +72803,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_6df40d45-207",
- "path": "/models/samples/model_6df40d45-207.glb.glb",
+ "path": "/models/samples/model_6df40d45-207.glb",
"category": "prop",
"subCategory": "pillar",
"keywords": {
@@ -72875,7 +72877,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_6e5aa4cf-0ac",
- "path": "/models/samples/model_6e5aa4cf-0ac.glb.glb",
+ "path": "/models/samples/model_6e5aa4cf-0ac.glb",
"category": "furniture",
"subCategory": "bench",
"keywords": {
@@ -72946,7 +72948,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_6f2d8423-3d1",
- "path": "/models/samples/model_6f2d8423-3d1.glb.glb",
+ "path": "/models/samples/model_6f2d8423-3d1.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -73014,7 +73016,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_7089e8e3-3f8",
- "path": "/models/samples/model_7089e8e3-3f8.glb.glb",
+ "path": "/models/samples/model_7089e8e3-3f8.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -73081,7 +73083,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_71a81dcc-ca5",
- "path": "/models/samples/model_71a81dcc-ca5.glb.glb",
+ "path": "/models/samples/model_71a81dcc-ca5.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -73147,7 +73149,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_71ea87eb-93e",
- "path": "/models/samples/model_71ea87eb-93e.glb.glb",
+ "path": "/models/samples/model_71ea87eb-93e.glb",
"category": "prop",
"subCategory": "crystal",
"keywords": {
@@ -73218,7 +73220,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_7239c899-1a2",
- "path": "/models/samples/model_7239c899-1a2.glb.glb",
+ "path": "/models/samples/model_7239c899-1a2.glb",
"category": "prop",
"subCategory": "key",
"keywords": {
@@ -73289,7 +73291,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_72503a6f-b90",
- "path": "/models/samples/model_72503a6f-b90.glb.glb",
+ "path": "/models/samples/model_72503a6f-b90.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -73355,7 +73357,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_7259b4e9-5c7",
- "path": "/models/samples/model_7259b4e9-5c7.glb.glb",
+ "path": "/models/samples/model_7259b4e9-5c7.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -73421,7 +73423,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_738688be-9d4",
- "path": "/models/samples/model_738688be-9d4.glb.glb",
+ "path": "/models/samples/model_738688be-9d4.glb",
"category": "furniture",
"subCategory": "bench",
"keywords": {
@@ -73493,7 +73495,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_739d2b34-f1b",
- "path": "/models/samples/model_739d2b34-f1b.glb.glb",
+ "path": "/models/samples/model_739d2b34-f1b.glb",
"category": "structure",
"subCategory": "statue",
"keywords": {
@@ -73564,7 +73566,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_73aac0fd-d6c",
- "path": "/models/samples/model_73aac0fd-d6c.glb.glb",
+ "path": "/models/samples/model_73aac0fd-d6c.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -73631,7 +73633,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_74a1ed00-855",
- "path": "/models/samples/model_74a1ed00-855.glb.glb",
+ "path": "/models/samples/model_74a1ed00-855.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -73698,7 +73700,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_751f546a-c93",
- "path": "/models/samples/model_751f546a-c93.glb.glb",
+ "path": "/models/samples/model_751f546a-c93.glb",
"category": "prop",
"subCategory": "machine part",
"keywords": {
@@ -73762,7 +73764,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_752de33a-ec8",
- "path": "/models/samples/model_752de33a-ec8.glb.glb",
+ "path": "/models/samples/model_752de33a-ec8.glb",
"category": "prop",
"subCategory": "pillar",
"keywords": {
@@ -73834,7 +73836,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_756a01ff-5ff",
- "path": "/models/samples/model_756a01ff-5ff.glb.glb",
+ "path": "/models/samples/model_756a01ff-5ff.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -73908,7 +73910,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_75986358-ed1",
- "path": "/models/samples/model_75986358-ed1.glb.glb",
+ "path": "/models/samples/model_75986358-ed1.glb",
"category": "prop",
"subCategory": "statue",
"keywords": {
@@ -73980,7 +73982,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_75cb3c5e-85a",
- "path": "/models/samples/model_75cb3c5e-85a.glb.glb",
+ "path": "/models/samples/model_75cb3c5e-85a.glb",
"category": "structure",
"subCategory": "statue",
"keywords": {
@@ -74050,7 +74052,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_76d45824-c8e",
- "path": "/models/samples/model_76d45824-c8e.glb.glb",
+ "path": "/models/samples/model_76d45824-c8e.glb",
"category": "prop",
"subCategory": "brick",
"keywords": {
@@ -74114,7 +74116,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_76daba86-cb1",
- "path": "/models/samples/model_76daba86-cb1.glb.glb",
+ "path": "/models/samples/model_76daba86-cb1.glb",
"category": "prop",
"subCategory": "pen",
"keywords": {
@@ -74181,7 +74183,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_770b16ec-204",
- "path": "/models/samples/model_770b16ec-204.glb.glb",
+ "path": "/models/samples/model_770b16ec-204.glb",
"category": "structure",
"subCategory": "statue",
"keywords": {
@@ -74254,7 +74256,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_7718b337-b9a",
- "path": "/models/samples/model_7718b337-b9a.glb.glb",
+ "path": "/models/samples/model_7718b337-b9a.glb",
"category": "furniture",
"subCategory": "shelf",
"keywords": {
@@ -74323,7 +74325,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_77861599-217",
- "path": "/models/samples/model_77861599-217.glb.glb",
+ "path": "/models/samples/model_77861599-217.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -74390,7 +74392,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_7838f3a5-a74",
- "path": "/models/samples/model_7838f3a5-a74.glb.glb",
+ "path": "/models/samples/model_7838f3a5-a74.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -74454,7 +74456,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_798dca47-818",
- "path": "/models/samples/model_798dca47-818.glb.glb",
+ "path": "/models/samples/model_798dca47-818.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -74518,7 +74520,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_7a73c075-097",
- "path": "/models/samples/model_7a73c075-097.glb.glb",
+ "path": "/models/samples/model_7a73c075-097.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -74585,7 +74587,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_7ab90fb6-577",
- "path": "/models/samples/model_7ab90fb6-577.glb.glb",
+ "path": "/models/samples/model_7ab90fb6-577.glb",
"category": "prop",
"subCategory": "plank",
"keywords": {
@@ -74651,7 +74653,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_7c224626-641",
- "path": "/models/samples/model_7c224626-641.glb.glb",
+ "path": "/models/samples/model_7c224626-641.glb",
"category": "prop",
"subCategory": "bottle",
"keywords": {
@@ -74717,7 +74719,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_7c844771-055",
- "path": "/models/samples/model_7c844771-055.glb.glb",
+ "path": "/models/samples/model_7c844771-055.glb",
"category": "prop",
"subCategory": "dice",
"keywords": {
@@ -74783,7 +74785,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_7cb88781-50b",
- "path": "/models/samples/model_7cb88781-50b.glb.glb",
+ "path": "/models/samples/model_7cb88781-50b.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -74847,7 +74849,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_7cd3e5d3-73b",
- "path": "/models/samples/model_7cd3e5d3-73b.glb.glb",
+ "path": "/models/samples/model_7cd3e5d3-73b.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -74911,7 +74913,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_7dd071e2-42f",
- "path": "/models/samples/model_7dd071e2-42f.glb.glb",
+ "path": "/models/samples/model_7dd071e2-42f.glb",
"category": "nature",
"subCategory": "rock",
"keywords": {
@@ -74982,7 +74984,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_7e270461-09f",
- "path": "/models/samples/model_7e270461-09f.glb.glb",
+ "path": "/models/samples/model_7e270461-09f.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -75048,7 +75050,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_7e2f9384-a39",
- "path": "/models/samples/model_7e2f9384-a39.glb.glb",
+ "path": "/models/samples/model_7e2f9384-a39.glb",
"category": "prop",
"subCategory": "miniature",
"keywords": {
@@ -75115,7 +75117,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_7f99d291-4b4",
- "path": "/models/samples/model_7f99d291-4b4.glb.glb",
+ "path": "/models/samples/model_7f99d291-4b4.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -75184,7 +75186,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_7fcf1b2e-9cc",
- "path": "/models/samples/model_7fcf1b2e-9cc.glb.glb",
+ "path": "/models/samples/model_7fcf1b2e-9cc.glb",
"category": "prop",
"subCategory": "industrial",
"keywords": {
@@ -75248,7 +75250,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_81502a49-a76",
- "path": "/models/samples/model_81502a49-a76.glb.glb",
+ "path": "/models/samples/model_81502a49-a76.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -75314,7 +75316,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_818c6699-100",
- "path": "/models/samples/model_818c6699-100.glb.glb",
+ "path": "/models/samples/model_818c6699-100.glb",
"category": "prop",
"subCategory": "statue",
"keywords": {
@@ -75384,7 +75386,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_820c5597-d6c",
- "path": "/models/samples/model_820c5597-d6c.glb.glb",
+ "path": "/models/samples/model_820c5597-d6c.glb",
"category": "prop",
"subCategory": "bottle",
"keywords": {
@@ -75449,7 +75451,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_821d7ef7-46d",
- "path": "/models/samples/model_821d7ef7-46d.glb.glb",
+ "path": "/models/samples/model_821d7ef7-46d.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -75516,7 +75518,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_826ab42e-146",
- "path": "/models/samples/model_826ab42e-146.glb.glb",
+ "path": "/models/samples/model_826ab42e-146.glb",
"category": "prop",
"subCategory": "statue",
"keywords": {
@@ -75588,7 +75590,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_83590595-f7b",
- "path": "/models/samples/model_83590595-f7b.glb.glb",
+ "path": "/models/samples/model_83590595-f7b.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -75654,7 +75656,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_848e2c98-2a9",
- "path": "/models/samples/model_848e2c98-2a9.glb.glb",
+ "path": "/models/samples/model_848e2c98-2a9.glb",
"category": "prop",
"subCategory": "bottle",
"keywords": {
@@ -75723,7 +75725,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_8506b1a5-5b5",
- "path": "/models/samples/model_8506b1a5-5b5.glb.glb",
+ "path": "/models/samples/model_8506b1a5-5b5.glb",
"category": "prop",
"subCategory": "particle",
"keywords": {
@@ -75788,7 +75790,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_85903796-a0b",
- "path": "/models/samples/model_85903796-a0b.glb.glb",
+ "path": "/models/samples/model_85903796-a0b.glb",
"category": "prop",
"subCategory": "model",
"keywords": {
@@ -75856,7 +75858,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_861b6368-f12",
- "path": "/models/samples/model_861b6368-f12.glb.glb",
+ "path": "/models/samples/model_861b6368-f12.glb",
"category": "prop",
"subCategory": "pillar",
"keywords": {
@@ -75928,7 +75930,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_865cf0ba-2c1",
- "path": "/models/samples/model_865cf0ba-2c1.glb.glb",
+ "path": "/models/samples/model_865cf0ba-2c1.glb",
"category": "prop",
"subCategory": "cube",
"keywords": {
@@ -75995,7 +75997,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_872cead7-b2a",
- "path": "/models/samples/model_872cead7-b2a.glb.glb",
+ "path": "/models/samples/model_872cead7-b2a.glb",
"category": "prop",
"subCategory": "dagger",
"keywords": {
@@ -76069,7 +76071,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_8758563e-6d0",
- "path": "/models/samples/model_8758563e-6d0.glb.glb",
+ "path": "/models/samples/model_8758563e-6d0.glb",
"category": "prop",
"subCategory": "cube",
"keywords": {
@@ -76137,7 +76139,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_8953543a-9fc",
- "path": "/models/samples/model_8953543a-9fc.glb.glb",
+ "path": "/models/samples/model_8953543a-9fc.glb",
"category": "prop",
"subCategory": "cube",
"keywords": {
@@ -76204,7 +76206,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_8a5bb11a-f24",
- "path": "/models/samples/model_8a5bb11a-f24.glb.glb",
+ "path": "/models/samples/model_8a5bb11a-f24.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -76270,7 +76272,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_8a6839a3-0d9",
- "path": "/models/samples/model_8a6839a3-0d9.glb.glb",
+ "path": "/models/samples/model_8a6839a3-0d9.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -76337,7 +76339,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_8a79e0ff-4b9",
- "path": "/models/samples/model_8a79e0ff-4b9.glb.glb",
+ "path": "/models/samples/model_8a79e0ff-4b9.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -76401,7 +76403,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_8a7bdbf3-34a",
- "path": "/models/samples/model_8a7bdbf3-34a.glb.glb",
+ "path": "/models/samples/model_8a7bdbf3-34a.glb",
"category": "structure",
"subCategory": "ruin",
"keywords": {
@@ -76469,7 +76471,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_8a94fad3-036",
- "path": "/models/samples/model_8a94fad3-036.glb.glb",
+ "path": "/models/samples/model_8a94fad3-036.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -76536,7 +76538,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_8ad79961-226",
- "path": "/models/samples/model_8ad79961-226.glb.glb",
+ "path": "/models/samples/model_8ad79961-226.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -76611,7 +76613,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_8b212824-f1f",
- "path": "/models/samples/model_8b212824-f1f.glb.glb",
+ "path": "/models/samples/model_8b212824-f1f.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -76676,7 +76678,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_8c134eec-a13",
- "path": "/models/samples/model_8c134eec-a13.glb.glb",
+ "path": "/models/samples/model_8c134eec-a13.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -76750,7 +76752,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_8c4fe65f-7aa",
- "path": "/models/samples/model_8c4fe65f-7aa.glb.glb",
+ "path": "/models/samples/model_8c4fe65f-7aa.glb",
"category": "prop",
"subCategory": "statue",
"keywords": {
@@ -76822,7 +76824,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_8ce8a9cf-1fd",
- "path": "/models/samples/model_8ce8a9cf-1fd.glb.glb",
+ "path": "/models/samples/model_8ce8a9cf-1fd.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -76890,7 +76892,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_8d0593a2-c73",
- "path": "/models/samples/model_8d0593a2-c73.glb.glb",
+ "path": "/models/samples/model_8d0593a2-c73.glb",
"category": "prop",
"subCategory": "bottle",
"keywords": {
@@ -76957,7 +76959,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_8d7b8b87-2c7",
- "path": "/models/samples/model_8d7b8b87-2c7.glb.glb",
+ "path": "/models/samples/model_8d7b8b87-2c7.glb",
"category": "prop",
"subCategory": "statue",
"keywords": {
@@ -77030,7 +77032,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_8db63546-ac4",
- "path": "/models/samples/model_8db63546-ac4.glb.glb",
+ "path": "/models/samples/model_8db63546-ac4.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -77098,7 +77100,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_8e1d8db1-b39",
- "path": "/models/samples/model_8e1d8db1-b39.glb.glb",
+ "path": "/models/samples/model_8e1d8db1-b39.glb",
"category": "prop",
"subCategory": "metal piece",
"keywords": {
@@ -77161,7 +77163,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_8e455f37-a76",
- "path": "/models/samples/model_8e455f37-a76.glb.glb",
+ "path": "/models/samples/model_8e455f37-a76.glb",
"category": "prop",
"subCategory": "cube",
"keywords": {
@@ -77228,7 +77230,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_8e6f6c4e-dba",
- "path": "/models/samples/model_8e6f6c4e-dba.glb.glb",
+ "path": "/models/samples/model_8e6f6c4e-dba.glb",
"category": "prop",
"subCategory": "pillar",
"keywords": {
@@ -77301,7 +77303,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_8ecff261-650",
- "path": "/models/samples/model_8ecff261-650.glb.glb",
+ "path": "/models/samples/model_8ecff261-650.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -77370,7 +77372,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_8f0c1d57-f7f",
- "path": "/models/samples/model_8f0c1d57-f7f.glb.glb",
+ "path": "/models/samples/model_8f0c1d57-f7f.glb",
"category": "prop",
"subCategory": "bottle",
"keywords": {
@@ -77437,7 +77439,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_903416f8-79e",
- "path": "/models/samples/model_903416f8-79e.glb.glb",
+ "path": "/models/samples/model_903416f8-79e.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -77501,7 +77503,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_90c7020d-1f1",
- "path": "/models/samples/model_90c7020d-1f1.glb.glb",
+ "path": "/models/samples/model_90c7020d-1f1.glb",
"category": "prop",
"subCategory": "flag",
"keywords": {
@@ -77574,7 +77576,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_914760d4-256",
- "path": "/models/samples/model_914760d4-256.glb.glb",
+ "path": "/models/samples/model_914760d4-256.glb",
"category": "prop",
"subCategory": "clock",
"keywords": {
@@ -77641,7 +77643,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_91b0924d-be0",
- "path": "/models/samples/model_91b0924d-be0.glb.glb",
+ "path": "/models/samples/model_91b0924d-be0.glb",
"category": "prop",
"subCategory": "statue",
"keywords": {
@@ -77713,7 +77715,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_931f2e35-0ab",
- "path": "/models/samples/model_931f2e35-0ab.glb.glb",
+ "path": "/models/samples/model_931f2e35-0ab.glb",
"category": "prop",
"subCategory": "cube",
"keywords": {
@@ -77776,7 +77778,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_93217842-b43",
- "path": "/models/samples/model_93217842-b43.glb.glb",
+ "path": "/models/samples/model_93217842-b43.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -77843,7 +77845,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_939669db-d08",
- "path": "/models/samples/model_939669db-d08.glb.glb",
+ "path": "/models/samples/model_939669db-d08.glb",
"category": "prop",
"subCategory": "dagger",
"keywords": {
@@ -77918,7 +77920,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_94641a3c-4a7",
- "path": "/models/samples/model_94641a3c-4a7.glb.glb",
+ "path": "/models/samples/model_94641a3c-4a7.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -77991,7 +77993,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_951a4c89-b28",
- "path": "/models/samples/model_951a4c89-b28.glb.glb",
+ "path": "/models/samples/model_951a4c89-b28.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -78058,7 +78060,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_9591d704-da7",
- "path": "/models/samples/model_9591d704-da7.glb.glb",
+ "path": "/models/samples/model_9591d704-da7.glb",
"category": "prop",
"subCategory": "plank",
"keywords": {
@@ -78124,7 +78126,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_9708f413-455",
- "path": "/models/samples/model_9708f413-455.glb.glb",
+ "path": "/models/samples/model_9708f413-455.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -78188,7 +78190,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_973795c2-755",
- "path": "/models/samples/model_973795c2-755.glb.glb",
+ "path": "/models/samples/model_973795c2-755.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -78253,7 +78255,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_977734fe-afc",
- "path": "/models/samples/model_977734fe-afc.glb.glb",
+ "path": "/models/samples/model_977734fe-afc.glb",
"category": "prop",
"subCategory": "dust",
"keywords": {
@@ -78316,7 +78318,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_97902287-589",
- "path": "/models/samples/model_97902287-589.glb.glb",
+ "path": "/models/samples/model_97902287-589.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -78382,7 +78384,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_97a9c001-9a3",
- "path": "/models/samples/model_97a9c001-9a3.glb.glb",
+ "path": "/models/samples/model_97a9c001-9a3.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -78448,7 +78450,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_9943a455-106",
- "path": "/models/samples/model_9943a455-106.glb.glb",
+ "path": "/models/samples/model_9943a455-106.glb",
"category": "prop",
"subCategory": "bottle",
"keywords": {
@@ -78514,7 +78516,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_9b4ff57d-c87",
- "path": "/models/samples/model_9b4ff57d-c87.glb.glb",
+ "path": "/models/samples/model_9b4ff57d-c87.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -78584,7 +78586,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_9b5085b5-5e1",
- "path": "/models/samples/model_9b5085b5-5e1.glb.glb",
+ "path": "/models/samples/model_9b5085b5-5e1.glb",
"category": "nature",
"subCategory": "rock",
"keywords": {
@@ -78657,7 +78659,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_9ba49c74-2ed",
- "path": "/models/samples/model_9ba49c74-2ed.glb.glb",
+ "path": "/models/samples/model_9ba49c74-2ed.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -78720,7 +78722,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_9d4bd2ba-06e",
- "path": "/models/samples/model_9d4bd2ba-06e.glb.glb",
+ "path": "/models/samples/model_9d4bd2ba-06e.glb",
"category": "prop",
"subCategory": "tablet",
"keywords": {
@@ -78791,7 +78793,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_9db0be83-2cc",
- "path": "/models/samples/model_9db0be83-2cc.glb.glb",
+ "path": "/models/samples/model_9db0be83-2cc.glb",
"category": "prop",
"subCategory": "stick",
"keywords": {
@@ -78860,7 +78862,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_9dc11d33-f01",
- "path": "/models/samples/model_9dc11d33-f01.glb.glb",
+ "path": "/models/samples/model_9dc11d33-f01.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -78925,7 +78927,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_9dd20045-aee",
- "path": "/models/samples/model_9dd20045-aee.glb.glb",
+ "path": "/models/samples/model_9dd20045-aee.glb",
"category": "prop",
"subCategory": "wood piece",
"keywords": {
@@ -78991,7 +78993,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_9dd918cd-f18",
- "path": "/models/samples/model_9dd918cd-f18.glb.glb",
+ "path": "/models/samples/model_9dd918cd-f18.glb",
"category": "prop",
"subCategory": "mirror",
"keywords": {
@@ -79060,7 +79062,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_9df4ab5f-2ec",
- "path": "/models/samples/model_9df4ab5f-2ec.glb.glb",
+ "path": "/models/samples/model_9df4ab5f-2ec.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -79127,7 +79129,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_9dfa6387-4f1",
- "path": "/models/samples/model_9dfa6387-4f1.glb.glb",
+ "path": "/models/samples/model_9dfa6387-4f1.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -79195,7 +79197,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_9f14603b-9ef",
- "path": "/models/samples/model_9f14603b-9ef.glb.glb",
+ "path": "/models/samples/model_9f14603b-9ef.glb",
"category": "prop",
"subCategory": "statue",
"keywords": {
@@ -79268,7 +79270,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_a0745221-f6c",
- "path": "/models/samples/model_a0745221-f6c.glb.glb",
+ "path": "/models/samples/model_a0745221-f6c.glb",
"category": "nature",
"subCategory": "rock",
"keywords": {
@@ -79339,7 +79341,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_a077bff9-d75",
- "path": "/models/samples/model_a077bff9-d75.glb.glb",
+ "path": "/models/samples/model_a077bff9-d75.glb",
"category": "prop",
"subCategory": "bottle",
"keywords": {
@@ -79405,7 +79407,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_a07969d3-6d3",
- "path": "/models/samples/model_a07969d3-6d3.glb.glb",
+ "path": "/models/samples/model_a07969d3-6d3.glb",
"category": "prop",
"subCategory": "component",
"keywords": {
@@ -79470,7 +79472,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_a15ed272-471",
- "path": "/models/samples/model_a15ed272-471.glb.glb",
+ "path": "/models/samples/model_a15ed272-471.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -79537,7 +79539,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_a1898185-ed1",
- "path": "/models/samples/model_a1898185-ed1.glb.glb",
+ "path": "/models/samples/model_a1898185-ed1.glb",
"category": "prop",
"subCategory": "generic",
"keywords": {
@@ -79605,7 +79607,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_a1e26ab5-fb7",
- "path": "/models/samples/model_a1e26ab5-fb7.glb.glb",
+ "path": "/models/samples/model_a1e26ab5-fb7.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -79680,7 +79682,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_a3276f54-2ef",
- "path": "/models/samples/model_a3276f54-2ef.glb.glb",
+ "path": "/models/samples/model_a3276f54-2ef.glb",
"category": "prop",
"subCategory": "decorative",
"keywords": {
@@ -79745,7 +79747,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_a3db3629-211",
- "path": "/models/samples/model_a3db3629-211.glb.glb",
+ "path": "/models/samples/model_a3db3629-211.glb",
"category": "prop",
"subCategory": "component",
"keywords": {
@@ -79807,7 +79809,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_a5b149eb-fce",
- "path": "/models/samples/model_a5b149eb-fce.glb.glb",
+ "path": "/models/samples/model_a5b149eb-fce.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -79874,7 +79876,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_a60c6ac0-396",
- "path": "/models/samples/model_a60c6ac0-396.glb.glb",
+ "path": "/models/samples/model_a60c6ac0-396.glb",
"category": "prop",
"subCategory": "unknown",
"keywords": {
@@ -79937,7 +79939,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_a6205e59-c16",
- "path": "/models/samples/model_a6205e59-c16.glb.glb",
+ "path": "/models/samples/model_a6205e59-c16.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -80001,7 +80003,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_a62a0689-a8f",
- "path": "/models/samples/model_a62a0689-a8f.glb.glb",
+ "path": "/models/samples/model_a62a0689-a8f.glb",
"category": "prop",
"subCategory": "cube",
"keywords": {
@@ -80066,7 +80068,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_a6702109-209",
- "path": "/models/samples/model_a6702109-209.glb.glb",
+ "path": "/models/samples/model_a6702109-209.glb",
"category": "structure",
"subCategory": "structure",
"keywords": {
@@ -80140,7 +80142,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_a6ca5e4b-5b3",
- "path": "/models/samples/model_a6ca5e4b-5b3.glb.glb",
+ "path": "/models/samples/model_a6ca5e4b-5b3.glb",
"category": "prop",
"subCategory": "component",
"keywords": {
@@ -80201,7 +80203,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_a7900c23-d17",
- "path": "/models/samples/model_a7900c23-d17.glb.glb",
+ "path": "/models/samples/model_a7900c23-d17.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -80269,7 +80271,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_a8fee894-aa2",
- "path": "/models/samples/model_a8fee894-aa2.glb.glb",
+ "path": "/models/samples/model_a8fee894-aa2.glb",
"category": "prop",
"subCategory": "brick",
"keywords": {
@@ -80332,7 +80334,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_a9100a65-b11",
- "path": "/models/samples/model_a9100a65-b11.glb.glb",
+ "path": "/models/samples/model_a9100a65-b11.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -80402,7 +80404,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_a9203561-e20",
- "path": "/models/samples/model_a9203561-e20.glb.glb",
+ "path": "/models/samples/model_a9203561-e20.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -80472,7 +80474,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_a93a2cec-b8e",
- "path": "/models/samples/model_a93a2cec-b8e.glb.glb",
+ "path": "/models/samples/model_a93a2cec-b8e.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -80536,7 +80538,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_a956e9db-07a",
- "path": "/models/samples/model_a956e9db-07a.glb.glb",
+ "path": "/models/samples/model_a956e9db-07a.glb",
"category": "prop",
"subCategory": "statue",
"keywords": {
@@ -80609,7 +80611,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_aa014453-648",
- "path": "/models/samples/model_aa014453-648.glb.glb",
+ "path": "/models/samples/model_aa014453-648.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -80677,7 +80679,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_aa498820-63c",
- "path": "/models/samples/model_aa498820-63c.glb.glb",
+ "path": "/models/samples/model_aa498820-63c.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -80744,7 +80746,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_aa82fb6a-126",
- "path": "/models/samples/model_aa82fb6a-126.glb.glb",
+ "path": "/models/samples/model_aa82fb6a-126.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -80812,7 +80814,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_ac1d0a8c-109",
- "path": "/models/samples/model_ac1d0a8c-109.glb.glb",
+ "path": "/models/samples/model_ac1d0a8c-109.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -80876,7 +80878,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_ad0c1afa-f8f",
- "path": "/models/samples/model_ad0c1afa-f8f.glb.glb",
+ "path": "/models/samples/model_ad0c1afa-f8f.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -80952,7 +80954,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_ad92253f-0a8",
- "path": "/models/samples/model_ad92253f-0a8.glb.glb",
+ "path": "/models/samples/model_ad92253f-0a8.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -81016,7 +81018,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_aed9682f-9f8",
- "path": "/models/samples/model_aed9682f-9f8.glb.glb",
+ "path": "/models/samples/model_aed9682f-9f8.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -81080,7 +81082,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_aef47f78-1ea",
- "path": "/models/samples/model_aef47f78-1ea.glb.glb",
+ "path": "/models/samples/model_aef47f78-1ea.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -81147,7 +81149,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_afc28cad-022",
- "path": "/models/samples/model_afc28cad-022.glb.glb",
+ "path": "/models/samples/model_afc28cad-022.glb",
"category": "nature",
"subCategory": "rock",
"keywords": {
@@ -81220,7 +81222,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_afd3a410-a7e",
- "path": "/models/samples/model_afd3a410-a7e.glb.glb",
+ "path": "/models/samples/model_afd3a410-a7e.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -81284,7 +81286,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_afd71af1-468",
- "path": "/models/samples/model_afd71af1-468.glb.glb",
+ "path": "/models/samples/model_afd71af1-468.glb",
"category": "prop",
"subCategory": "metal part",
"keywords": {
@@ -81346,7 +81348,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_afebe841-ac8",
- "path": "/models/samples/model_afebe841-ac8.glb.glb",
+ "path": "/models/samples/model_afebe841-ac8.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -81415,7 +81417,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_b0208a3a-9cf",
- "path": "/models/samples/model_b0208a3a-9cf.glb.glb",
+ "path": "/models/samples/model_b0208a3a-9cf.glb",
"category": "prop",
"subCategory": "bottle",
"keywords": {
@@ -81484,7 +81486,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_b0d1266f-9f9",
- "path": "/models/samples/model_b0d1266f-9f9.glb.glb",
+ "path": "/models/samples/model_b0d1266f-9f9.glb",
"category": "prop",
"subCategory": "metal scrap",
"keywords": {
@@ -81547,7 +81549,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_b0f9eebc-639",
- "path": "/models/samples/model_b0f9eebc-639.glb.glb",
+ "path": "/models/samples/model_b0f9eebc-639.glb",
"category": "prop",
"subCategory": "pillar",
"keywords": {
@@ -81622,7 +81624,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_b1bc954e-134",
- "path": "/models/samples/model_b1bc954e-134.glb.glb",
+ "path": "/models/samples/model_b1bc954e-134.glb",
"category": "prop",
"subCategory": "statue",
"keywords": {
@@ -81693,7 +81695,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_b2246c95-22f",
- "path": "/models/samples/model_b2246c95-22f.glb.glb",
+ "path": "/models/samples/model_b2246c95-22f.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -81759,7 +81761,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_b33125ef-435",
- "path": "/models/samples/model_b33125ef-435.glb.glb",
+ "path": "/models/samples/model_b33125ef-435.glb",
"category": "furniture",
"subCategory": "shelf",
"keywords": {
@@ -81826,7 +81828,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_b38493ef-56f",
- "path": "/models/samples/model_b38493ef-56f.glb.glb",
+ "path": "/models/samples/model_b38493ef-56f.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -81901,7 +81903,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_b3f56e38-960",
- "path": "/models/samples/model_b3f56e38-960.glb.glb",
+ "path": "/models/samples/model_b3f56e38-960.glb",
"category": "prop",
"subCategory": "lamp",
"keywords": {
@@ -81970,7 +81972,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_b4546734-fe6",
- "path": "/models/samples/model_b4546734-fe6.glb.glb",
+ "path": "/models/samples/model_b4546734-fe6.glb",
"category": "structure",
"subCategory": "structure",
"keywords": {
@@ -82036,7 +82038,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_b4669237-a52",
- "path": "/models/samples/model_b4669237-a52.glb.glb",
+ "path": "/models/samples/model_b4669237-a52.glb",
"category": "prop",
"subCategory": "lamp",
"keywords": {
@@ -82108,7 +82110,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_b4c079c9-676",
- "path": "/models/samples/model_b4c079c9-676.glb.glb",
+ "path": "/models/samples/model_b4c079c9-676.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -82177,7 +82179,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_b530c034-560",
- "path": "/models/samples/model_b530c034-560.glb.glb",
+ "path": "/models/samples/model_b530c034-560.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -82243,7 +82245,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_b5f2d03a-8cd",
- "path": "/models/samples/model_b5f2d03a-8cd.glb.glb",
+ "path": "/models/samples/model_b5f2d03a-8cd.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -82311,7 +82313,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_b69687b6-927",
- "path": "/models/samples/model_b69687b6-927.glb.glb",
+ "path": "/models/samples/model_b69687b6-927.glb",
"category": "prop",
"subCategory": "wrench",
"keywords": {
@@ -82373,7 +82375,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_b712b2b3-1ac",
- "path": "/models/samples/model_b712b2b3-1ac.glb.glb",
+ "path": "/models/samples/model_b712b2b3-1ac.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -82439,7 +82441,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_b73e0b81-e5b",
- "path": "/models/samples/model_b73e0b81-e5b.glb.glb",
+ "path": "/models/samples/model_b73e0b81-e5b.glb",
"category": "prop",
"subCategory": "plank",
"keywords": {
@@ -82504,7 +82506,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_b7b52f23-c6f",
- "path": "/models/samples/model_b7b52f23-c6f.glb.glb",
+ "path": "/models/samples/model_b7b52f23-c6f.glb",
"category": "prop",
"subCategory": "stone tablet",
"keywords": {
@@ -82573,7 +82575,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_b7bf1970-2b8",
- "path": "/models/samples/model_b7bf1970-2b8.glb.glb",
+ "path": "/models/samples/model_b7bf1970-2b8.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -82638,7 +82640,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_b839d245-7a3",
- "path": "/models/samples/model_b839d245-7a3.glb.glb",
+ "path": "/models/samples/model_b839d245-7a3.glb",
"category": "prop",
"subCategory": "generic",
"keywords": {
@@ -82706,7 +82708,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_b841b2db-d53",
- "path": "/models/samples/model_b841b2db-d53.glb.glb",
+ "path": "/models/samples/model_b841b2db-d53.glb",
"category": "prop",
"subCategory": "plate",
"keywords": {
@@ -82769,7 +82771,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_b85eecc5-b0c",
- "path": "/models/samples/model_b85eecc5-b0c.glb.glb",
+ "path": "/models/samples/model_b85eecc5-b0c.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -82835,7 +82837,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_b9908061-8b4",
- "path": "/models/samples/model_b9908061-8b4.glb.glb",
+ "path": "/models/samples/model_b9908061-8b4.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -82902,7 +82904,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_ba094f95-fd6",
- "path": "/models/samples/model_ba094f95-fd6.glb.glb",
+ "path": "/models/samples/model_ba094f95-fd6.glb",
"category": "prop",
"subCategory": "panel",
"keywords": {
@@ -82969,7 +82971,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_bb1e31be-8e3",
- "path": "/models/samples/model_bb1e31be-8e3.glb.glb",
+ "path": "/models/samples/model_bb1e31be-8e3.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -83036,7 +83038,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_bb650703-a20",
- "path": "/models/samples/model_bb650703-a20.glb.glb",
+ "path": "/models/samples/model_bb650703-a20.glb",
"category": "prop",
"subCategory": "statue",
"keywords": {
@@ -83107,7 +83109,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_bb8eccc2-1a0",
- "path": "/models/samples/model_bb8eccc2-1a0.glb.glb",
+ "path": "/models/samples/model_bb8eccc2-1a0.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -83176,7 +83178,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_bbba8700-cc8",
- "path": "/models/samples/model_bbba8700-cc8.glb.glb",
+ "path": "/models/samples/model_bbba8700-cc8.glb",
"category": "prop",
"subCategory": "pillar",
"keywords": {
@@ -83249,7 +83251,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_bbfd9a36-4ae",
- "path": "/models/samples/model_bbfd9a36-4ae.glb.glb",
+ "path": "/models/samples/model_bbfd9a36-4ae.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -83316,7 +83318,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_bc5c053b-6b8",
- "path": "/models/samples/model_bc5c053b-6b8.glb.glb",
+ "path": "/models/samples/model_bc5c053b-6b8.glb",
"category": "prop",
"subCategory": "bottle",
"keywords": {
@@ -83383,7 +83385,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_bc8407a3-861",
- "path": "/models/samples/model_bc8407a3-861.glb.glb",
+ "path": "/models/samples/model_bc8407a3-861.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -83449,7 +83451,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_bc8aee66-020",
- "path": "/models/samples/model_bc8aee66-020.glb.glb",
+ "path": "/models/samples/model_bc8aee66-020.glb",
"category": "prop",
"subCategory": "jar",
"keywords": {
@@ -83520,7 +83522,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_bcaf6746-de1",
- "path": "/models/samples/model_bcaf6746-de1.glb.glb",
+ "path": "/models/samples/model_bcaf6746-de1.glb",
"category": "prop",
"subCategory": "bottle",
"keywords": {
@@ -83588,7 +83590,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_be4bda23-1c7",
- "path": "/models/samples/model_be4bda23-1c7.glb.glb",
+ "path": "/models/samples/model_be4bda23-1c7.glb",
"category": "prop",
"subCategory": "object",
"keywords": {
@@ -83654,7 +83656,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_be8924d5-c65",
- "path": "/models/samples/model_be8924d5-c65.glb.glb",
+ "path": "/models/samples/model_be8924d5-c65.glb",
"category": "prop",
"subCategory": "bottle",
"keywords": {
@@ -83724,7 +83726,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_c1d60b5f-82a",
- "path": "/models/samples/model_c1d60b5f-82a.glb.glb",
+ "path": "/models/samples/model_c1d60b5f-82a.glb",
"category": "structure",
"subCategory": "structure",
"keywords": {
@@ -83792,7 +83794,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_c29e1da8-b8b",
- "path": "/models/samples/model_c29e1da8-b8b.glb.glb",
+ "path": "/models/samples/model_c29e1da8-b8b.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -83857,7 +83859,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_c3987744-ec5",
- "path": "/models/samples/model_c3987744-ec5.glb.glb",
+ "path": "/models/samples/model_c3987744-ec5.glb",
"category": "prop",
"subCategory": "cube",
"keywords": {
@@ -83918,7 +83920,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_c423ab76-e31",
- "path": "/models/samples/model_c423ab76-e31.glb.glb",
+ "path": "/models/samples/model_c423ab76-e31.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -83992,7 +83994,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_c444ba25-97e",
- "path": "/models/samples/model_c444ba25-97e.glb.glb",
+ "path": "/models/samples/model_c444ba25-97e.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -84053,7 +84055,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_c4c118aa-bfa",
- "path": "/models/samples/model_c4c118aa-bfa.glb.glb",
+ "path": "/models/samples/model_c4c118aa-bfa.glb",
"category": "prop",
"subCategory": "bottle",
"keywords": {
@@ -84121,7 +84123,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_c4e4b8aa-a8d",
- "path": "/models/samples/model_c4e4b8aa-a8d.glb.glb",
+ "path": "/models/samples/model_c4e4b8aa-a8d.glb",
"category": "prop",
"subCategory": "bead",
"keywords": {
@@ -84184,7 +84186,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_c5ebde8e-590",
- "path": "/models/samples/model_c5ebde8e-590.glb.glb",
+ "path": "/models/samples/model_c5ebde8e-590.glb",
"category": "furniture",
"subCategory": "shelf",
"keywords": {
@@ -84249,7 +84251,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_c6475352-ab0",
- "path": "/models/samples/model_c6475352-ab0.glb.glb",
+ "path": "/models/samples/model_c6475352-ab0.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -84314,7 +84316,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_c7399ba0-576",
- "path": "/models/samples/model_c7399ba0-576.glb.glb",
+ "path": "/models/samples/model_c7399ba0-576.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -84380,7 +84382,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_c7aaa41e-d88",
- "path": "/models/samples/model_c7aaa41e-d88.glb.glb",
+ "path": "/models/samples/model_c7aaa41e-d88.glb",
"category": "prop",
"subCategory": "abstract",
"keywords": {
@@ -84448,7 +84450,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_c8f214ff-5da",
- "path": "/models/samples/model_c8f214ff-5da.glb.glb",
+ "path": "/models/samples/model_c8f214ff-5da.glb",
"category": "prop",
"subCategory": "miniature",
"keywords": {
@@ -84514,7 +84516,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_c97d0688-9d7",
- "path": "/models/samples/model_c97d0688-9d7.glb.glb",
+ "path": "/models/samples/model_c97d0688-9d7.glb",
"category": "prop",
"subCategory": "floor lamp",
"keywords": {
@@ -84580,7 +84582,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_cbaf22e0-241",
- "path": "/models/samples/model_cbaf22e0-241.glb.glb",
+ "path": "/models/samples/model_cbaf22e0-241.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -84648,7 +84650,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_cbb1f63e-909",
- "path": "/models/samples/model_cbb1f63e-909.glb.glb",
+ "path": "/models/samples/model_cbb1f63e-909.glb",
"category": "furniture",
"subCategory": "shelf",
"keywords": {
@@ -84717,7 +84719,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_cbd86306-ab3",
- "path": "/models/samples/model_cbd86306-ab3.glb.glb",
+ "path": "/models/samples/model_cbd86306-ab3.glb",
"category": "prop",
"subCategory": "plank",
"keywords": {
@@ -84783,7 +84785,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_cc83da49-17e",
- "path": "/models/samples/model_cc83da49-17e.glb.glb",
+ "path": "/models/samples/model_cc83da49-17e.glb",
"category": "prop",
"subCategory": "metal part",
"keywords": {
@@ -84845,7 +84847,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_ccae3ba8-412",
- "path": "/models/samples/model_ccae3ba8-412.glb.glb",
+ "path": "/models/samples/model_ccae3ba8-412.glb",
"category": "nature",
"subCategory": "rock",
"keywords": {
@@ -84915,7 +84917,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_ccd0e302-53c",
- "path": "/models/samples/model_ccd0e302-53c.glb.glb",
+ "path": "/models/samples/model_ccd0e302-53c.glb",
"category": "prop",
"subCategory": "cube",
"keywords": {
@@ -84981,7 +84983,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_cdaf8464-0df",
- "path": "/models/samples/model_cdaf8464-0df.glb.glb",
+ "path": "/models/samples/model_cdaf8464-0df.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -85049,7 +85051,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_cdc0585e-37d",
- "path": "/models/samples/model_cdc0585e-37d.glb.glb",
+ "path": "/models/samples/model_cdc0585e-37d.glb",
"category": "prop",
"subCategory": "orb",
"keywords": {
@@ -85116,7 +85118,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_cdf6df67-fe9",
- "path": "/models/samples/model_cdf6df67-fe9.glb.glb",
+ "path": "/models/samples/model_cdf6df67-fe9.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -85189,7 +85191,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_cdfeb29b-b5e",
- "path": "/models/samples/model_cdfeb29b-b5e.glb.glb",
+ "path": "/models/samples/model_cdfeb29b-b5e.glb",
"category": "prop",
"subCategory": "metal part",
"keywords": {
@@ -85252,7 +85254,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_ce74927a-c3f",
- "path": "/models/samples/model_ce74927a-c3f.glb.glb",
+ "path": "/models/samples/model_ce74927a-c3f.glb",
"category": "prop",
"subCategory": "pillar",
"keywords": {
@@ -85326,7 +85328,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_cec6713a-e4c",
- "path": "/models/samples/model_cec6713a-e4c.glb.glb",
+ "path": "/models/samples/model_cec6713a-e4c.glb",
"category": "nature",
"subCategory": "rock",
"keywords": {
@@ -85399,7 +85401,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_cff80aa0-ab6",
- "path": "/models/samples/model_cff80aa0-ab6.glb.glb",
+ "path": "/models/samples/model_cff80aa0-ab6.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -85470,7 +85472,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_d027a82e-1cd",
- "path": "/models/samples/model_d027a82e-1cd.glb.glb",
+ "path": "/models/samples/model_d027a82e-1cd.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -85537,7 +85539,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_d0a14d35-a9a",
- "path": "/models/samples/model_d0a14d35-a9a.glb.glb",
+ "path": "/models/samples/model_d0a14d35-a9a.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -85603,7 +85605,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_d0c029e9-5ff",
- "path": "/models/samples/model_d0c029e9-5ff.glb.glb",
+ "path": "/models/samples/model_d0c029e9-5ff.glb",
"category": "nature",
"subCategory": "rock",
"keywords": {
@@ -85676,7 +85678,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_d0d4c8ef-251",
- "path": "/models/samples/model_d0d4c8ef-251.glb.glb",
+ "path": "/models/samples/model_d0d4c8ef-251.glb",
"category": "prop",
"subCategory": "plank",
"keywords": {
@@ -85741,7 +85743,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_d1140ab6-6f7",
- "path": "/models/samples/model_d1140ab6-6f7.glb.glb",
+ "path": "/models/samples/model_d1140ab6-6f7.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -85805,7 +85807,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_d1b6ae44-8ac",
- "path": "/models/samples/model_d1b6ae44-8ac.glb.glb",
+ "path": "/models/samples/model_d1b6ae44-8ac.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -85874,7 +85876,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_d2279ea8-74c",
- "path": "/models/samples/model_d2279ea8-74c.glb.glb",
+ "path": "/models/samples/model_d2279ea8-74c.glb",
"category": "prop",
"subCategory": "bucket",
"keywords": {
@@ -85941,7 +85943,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_d2620506-13d",
- "path": "/models/samples/model_d2620506-13d.glb.glb",
+ "path": "/models/samples/model_d2620506-13d.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -86009,7 +86011,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_d2c30b63-4f4",
- "path": "/models/samples/model_d2c30b63-4f4.glb.glb",
+ "path": "/models/samples/model_d2c30b63-4f4.glb",
"category": "structure",
"subCategory": "structure",
"keywords": {
@@ -86073,7 +86075,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_d2faa1df-81a",
- "path": "/models/samples/model_d2faa1df-81a.glb.glb",
+ "path": "/models/samples/model_d2faa1df-81a.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -86139,7 +86141,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_d32d552a-117",
- "path": "/models/samples/model_d32d552a-117.glb.glb",
+ "path": "/models/samples/model_d32d552a-117.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -86205,7 +86207,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_d4b3b231-38a",
- "path": "/models/samples/model_d4b3b231-38a.glb.glb",
+ "path": "/models/samples/model_d4b3b231-38a.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -86272,7 +86274,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_d4d9d53a-f4c",
- "path": "/models/samples/model_d4d9d53a-f4c.glb.glb",
+ "path": "/models/samples/model_d4d9d53a-f4c.glb",
"category": "prop",
"subCategory": "sphere",
"keywords": {
@@ -86341,7 +86343,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_d4e325c0-ca2",
- "path": "/models/samples/model_d4e325c0-ca2.glb.glb",
+ "path": "/models/samples/model_d4e325c0-ca2.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -86408,7 +86410,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_d4eca46e-5c1",
- "path": "/models/samples/model_d4eca46e-5c1.glb.glb",
+ "path": "/models/samples/model_d4eca46e-5c1.glb",
"category": "prop",
"subCategory": "dust",
"keywords": {
@@ -86471,7 +86473,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_d4fe17dd-4fd",
- "path": "/models/samples/model_d4fe17dd-4fd.glb.glb",
+ "path": "/models/samples/model_d4fe17dd-4fd.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -86535,7 +86537,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_d693b39d-538",
- "path": "/models/samples/model_d693b39d-538.glb.glb",
+ "path": "/models/samples/model_d693b39d-538.glb",
"category": "prop",
"subCategory": "metal piece",
"keywords": {
@@ -86600,7 +86602,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_d7386ebe-3c0",
- "path": "/models/samples/model_d7386ebe-3c0.glb.glb",
+ "path": "/models/samples/model_d7386ebe-3c0.glb",
"category": "prop",
"subCategory": "pedestal",
"keywords": {
@@ -86663,7 +86665,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_d8e2ebd4-49c",
- "path": "/models/samples/model_d8e2ebd4-49c.glb.glb",
+ "path": "/models/samples/model_d8e2ebd4-49c.glb",
"category": "furniture",
"subCategory": "bench",
"keywords": {
@@ -86732,7 +86734,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_d93158e9-522",
- "path": "/models/samples/model_d93158e9-522.glb.glb",
+ "path": "/models/samples/model_d93158e9-522.glb",
"category": "prop",
"subCategory": "plate",
"keywords": {
@@ -86797,7 +86799,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_d97bc02e-d9c",
- "path": "/models/samples/model_d97bc02e-d9c.glb.glb",
+ "path": "/models/samples/model_d97bc02e-d9c.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -86864,7 +86866,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_d9c612bd-31f",
- "path": "/models/samples/model_d9c612bd-31f.glb.glb",
+ "path": "/models/samples/model_d9c612bd-31f.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -86932,7 +86934,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_da163e91-586",
- "path": "/models/samples/model_da163e91-586.glb.glb",
+ "path": "/models/samples/model_da163e91-586.glb",
"category": "prop",
"subCategory": "candle",
"keywords": {
@@ -87005,7 +87007,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_db13e457-827",
- "path": "/models/samples/model_db13e457-827.glb.glb",
+ "path": "/models/samples/model_db13e457-827.glb",
"category": "structure",
"subCategory": "statue",
"keywords": {
@@ -87075,7 +87077,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_db2321c0-133",
- "path": "/models/samples/model_db2321c0-133.glb.glb",
+ "path": "/models/samples/model_db2321c0-133.glb",
"category": "prop",
"subCategory": "laboratory equipment",
"keywords": {
@@ -87136,7 +87138,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_dbd88b8a-f2a",
- "path": "/models/samples/model_dbd88b8a-f2a.glb.glb",
+ "path": "/models/samples/model_dbd88b8a-f2a.glb",
"category": "nature",
"subCategory": "rock",
"keywords": {
@@ -87207,7 +87209,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_dd0823c9-59c",
- "path": "/models/samples/model_dd0823c9-59c.glb.glb",
+ "path": "/models/samples/model_dd0823c9-59c.glb",
"category": "prop",
"subCategory": "dagger",
"keywords": {
@@ -87280,7 +87282,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_dd087f76-5df",
- "path": "/models/samples/model_dd087f76-5df.glb.glb",
+ "path": "/models/samples/model_dd087f76-5df.glb",
"category": "prop",
"subCategory": "dust",
"keywords": {
@@ -87343,7 +87345,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_dd55e3c2-fe1",
- "path": "/models/samples/model_dd55e3c2-fe1.glb.glb",
+ "path": "/models/samples/model_dd55e3c2-fe1.glb",
"category": "furniture",
"subCategory": "bench",
"keywords": {
@@ -87415,7 +87417,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_dda9071f-016",
- "path": "/models/samples/model_dda9071f-016.glb.glb",
+ "path": "/models/samples/model_dda9071f-016.glb",
"category": "prop",
"subCategory": "metal part",
"keywords": {
@@ -87478,7 +87480,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_ddc5d7d2-e7b",
- "path": "/models/samples/model_ddc5d7d2-e7b.glb.glb",
+ "path": "/models/samples/model_ddc5d7d2-e7b.glb",
"category": "furniture",
"subCategory": "shelf",
"keywords": {
@@ -87545,7 +87547,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_ddebaec6-dbf",
- "path": "/models/samples/model_ddebaec6-dbf.glb.glb",
+ "path": "/models/samples/model_ddebaec6-dbf.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -87621,7 +87623,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_df977e78-571",
- "path": "/models/samples/model_df977e78-571.glb.glb",
+ "path": "/models/samples/model_df977e78-571.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -87686,7 +87688,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_dfd35b24-20d",
- "path": "/models/samples/model_dfd35b24-20d.glb.glb",
+ "path": "/models/samples/model_dfd35b24-20d.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -87751,7 +87753,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_e0f28728-2e2",
- "path": "/models/samples/model_e0f28728-2e2.glb.glb",
+ "path": "/models/samples/model_e0f28728-2e2.glb",
"category": "prop",
"subCategory": "unknown",
"keywords": {
@@ -87817,7 +87819,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_e1cc5d2b-8ce",
- "path": "/models/samples/model_e1cc5d2b-8ce.glb.glb",
+ "path": "/models/samples/model_e1cc5d2b-8ce.glb",
"category": "structure",
"subCategory": "statue",
"keywords": {
@@ -87889,7 +87891,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_e1e29c43-5eb",
- "path": "/models/samples/model_e1e29c43-5eb.glb.glb",
+ "path": "/models/samples/model_e1e29c43-5eb.glb",
"category": "prop",
"subCategory": "bottle",
"keywords": {
@@ -87958,7 +87960,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_e2920a39-48a",
- "path": "/models/samples/model_e2920a39-48a.glb.glb",
+ "path": "/models/samples/model_e2920a39-48a.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -88028,7 +88030,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_e32c88b3-0be",
- "path": "/models/samples/model_e32c88b3-0be.glb.glb",
+ "path": "/models/samples/model_e32c88b3-0be.glb",
"category": "prop",
"subCategory": "small object",
"keywords": {
@@ -88096,7 +88098,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_e34a018d-ca9",
- "path": "/models/samples/model_e34a018d-ca9.glb.glb",
+ "path": "/models/samples/model_e34a018d-ca9.glb",
"category": "prop",
"subCategory": "stand",
"keywords": {
@@ -88159,7 +88161,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_e3f82d01-354",
- "path": "/models/samples/model_e3f82d01-354.glb.glb",
+ "path": "/models/samples/model_e3f82d01-354.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -88234,7 +88236,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_e4bcb83c-18c",
- "path": "/models/samples/model_e4bcb83c-18c.glb.glb",
+ "path": "/models/samples/model_e4bcb83c-18c.glb",
"category": "prop",
"subCategory": "block",
"keywords": {
@@ -88300,7 +88302,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_e62c71bd-144",
- "path": "/models/samples/model_e62c71bd-144.glb.glb",
+ "path": "/models/samples/model_e62c71bd-144.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -88366,7 +88368,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_e6575280-200",
- "path": "/models/samples/model_e6575280-200.glb.glb",
+ "path": "/models/samples/model_e6575280-200.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -88439,7 +88441,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_e69bcc63-c34",
- "path": "/models/samples/model_e69bcc63-c34.glb.glb",
+ "path": "/models/samples/model_e69bcc63-c34.glb",
"category": "prop",
"subCategory": "slab",
"keywords": {
@@ -88508,7 +88510,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_e80d9f2b-7ff",
- "path": "/models/samples/model_e80d9f2b-7ff.glb.glb",
+ "path": "/models/samples/model_e80d9f2b-7ff.glb",
"category": "prop",
"subCategory": "container",
"keywords": {
@@ -88572,7 +88574,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_eb131f00-2c3",
- "path": "/models/samples/model_eb131f00-2c3.glb.glb",
+ "path": "/models/samples/model_eb131f00-2c3.glb",
"category": "prop",
"subCategory": "pillar",
"keywords": {
@@ -88644,7 +88646,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_eb2d7523-082",
- "path": "/models/samples/model_eb2d7523-082.glb.glb",
+ "path": "/models/samples/model_eb2d7523-082.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -88716,7 +88718,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_eb4d6a13-ca4",
- "path": "/models/samples/model_eb4d6a13-ca4.glb.glb",
+ "path": "/models/samples/model_eb4d6a13-ca4.glb",
"category": "prop",
"subCategory": "statue",
"keywords": {
@@ -88788,7 +88790,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_ec6b9814-05c",
- "path": "/models/samples/model_ec6b9814-05c.glb.glb",
+ "path": "/models/samples/model_ec6b9814-05c.glb",
"category": "structure",
"subCategory": "structure",
"keywords": {
@@ -88854,7 +88856,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_ed1058c9-b9e",
- "path": "/models/samples/model_ed1058c9-b9e.glb.glb",
+ "path": "/models/samples/model_ed1058c9-b9e.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -88919,7 +88921,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_ed25e36b-caf",
- "path": "/models/samples/model_ed25e36b-caf.glb.glb",
+ "path": "/models/samples/model_ed25e36b-caf.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -88987,7 +88989,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_ed9ee2e6-4fe",
- "path": "/models/samples/model_ed9ee2e6-4fe.glb.glb",
+ "path": "/models/samples/model_ed9ee2e6-4fe.glb",
"category": "structure",
"subCategory": "pillar base",
"keywords": {
@@ -89058,7 +89060,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_eef315f3-a71",
- "path": "/models/samples/model_eef315f3-a71.glb.glb",
+ "path": "/models/samples/model_eef315f3-a71.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -89127,7 +89129,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_ef0825e6-7ab",
- "path": "/models/samples/model_ef0825e6-7ab.glb.glb",
+ "path": "/models/samples/model_ef0825e6-7ab.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -89198,7 +89200,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_ef611be9-f95",
- "path": "/models/samples/model_ef611be9-f95.glb.glb",
+ "path": "/models/samples/model_ef611be9-f95.glb",
"category": "prop",
"subCategory": "cube",
"keywords": {
@@ -89264,7 +89266,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_efa74db6-33a",
- "path": "/models/samples/model_efa74db6-33a.glb.glb",
+ "path": "/models/samples/model_efa74db6-33a.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -89331,7 +89333,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_f0a300e0-68b",
- "path": "/models/samples/model_f0a300e0-68b.glb.glb",
+ "path": "/models/samples/model_f0a300e0-68b.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -89398,7 +89400,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_f0d5d20c-288",
- "path": "/models/samples/model_f0d5d20c-288.glb.glb",
+ "path": "/models/samples/model_f0d5d20c-288.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -89461,7 +89463,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_f0e31075-8a3",
- "path": "/models/samples/model_f0e31075-8a3.glb.glb",
+ "path": "/models/samples/model_f0e31075-8a3.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -89525,7 +89527,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_f1431dfd-6e9",
- "path": "/models/samples/model_f1431dfd-6e9.glb.glb",
+ "path": "/models/samples/model_f1431dfd-6e9.glb",
"category": "prop",
"subCategory": "tablet",
"keywords": {
@@ -89596,7 +89598,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_f1994e0f-2c0",
- "path": "/models/samples/model_f1994e0f-2c0.glb.glb",
+ "path": "/models/samples/model_f1994e0f-2c0.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -89664,7 +89666,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_f1e7458b-159",
- "path": "/models/samples/model_f1e7458b-159.glb.glb",
+ "path": "/models/samples/model_f1e7458b-159.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -89731,7 +89733,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_f1ed6ad1-d54",
- "path": "/models/samples/model_f1ed6ad1-d54.glb.glb",
+ "path": "/models/samples/model_f1ed6ad1-d54.glb",
"category": "structure",
"subCategory": "pillar",
"keywords": {
@@ -89802,7 +89804,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_f33bbd68-b9a",
- "path": "/models/samples/model_f33bbd68-b9a.glb.glb",
+ "path": "/models/samples/model_f33bbd68-b9a.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -89872,7 +89874,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_f397d7ef-2a6",
- "path": "/models/samples/model_f397d7ef-2a6.glb.glb",
+ "path": "/models/samples/model_f397d7ef-2a6.glb",
"category": "prop",
"subCategory": "bottle",
"keywords": {
@@ -89939,7 +89941,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_f4b87b96-c56",
- "path": "/models/samples/model_f4b87b96-c56.glb.glb",
+ "path": "/models/samples/model_f4b87b96-c56.glb",
"category": "prop",
"subCategory": "bottle",
"keywords": {
@@ -90007,7 +90009,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_f4eaac36-c6f",
- "path": "/models/samples/model_f4eaac36-c6f.glb.glb",
+ "path": "/models/samples/model_f4eaac36-c6f.glb",
"category": "prop",
"subCategory": "sculpture",
"keywords": {
@@ -90075,7 +90077,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_f6e3b0dc-e5a",
- "path": "/models/samples/model_f6e3b0dc-e5a.glb.glb",
+ "path": "/models/samples/model_f6e3b0dc-e5a.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -90142,7 +90144,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_f73f5d73-788",
- "path": "/models/samples/model_f73f5d73-788.glb.glb",
+ "path": "/models/samples/model_f73f5d73-788.glb",
"category": "prop",
"subCategory": "bucket",
"keywords": {
@@ -90209,7 +90211,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_fa9c4d3f-544",
- "path": "/models/samples/model_fa9c4d3f-544.glb.glb",
+ "path": "/models/samples/model_fa9c4d3f-544.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -90275,7 +90277,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_fb3f9cc1-f65",
- "path": "/models/samples/model_fb3f9cc1-f65.glb.glb",
+ "path": "/models/samples/model_fb3f9cc1-f65.glb",
"category": "prop",
"subCategory": "statue",
"keywords": {
@@ -90346,7 +90348,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_fb611993-efd",
- "path": "/models/samples/model_fb611993-efd.glb.glb",
+ "path": "/models/samples/model_fb611993-efd.glb",
"category": "prop",
"subCategory": "candle holder",
"keywords": {
@@ -90418,7 +90420,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_fbac7d31-dde",
- "path": "/models/samples/model_fbac7d31-dde.glb.glb",
+ "path": "/models/samples/model_fbac7d31-dde.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -90487,7 +90489,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_fc2e6a27-c5c",
- "path": "/models/samples/model_fc2e6a27-c5c.glb.glb",
+ "path": "/models/samples/model_fc2e6a27-c5c.glb",
"category": "prop",
"subCategory": "statue",
"keywords": {
@@ -90559,7 +90561,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_fca00348-326",
- "path": "/models/samples/model_fca00348-326.glb.glb",
+ "path": "/models/samples/model_fca00348-326.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -90633,7 +90635,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_fdb3fabc-376",
- "path": "/models/samples/model_fdb3fabc-376.glb.glb",
+ "path": "/models/samples/model_fdb3fabc-376.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -90698,7 +90700,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_fdcfac2d-15c",
- "path": "/models/samples/model_fdcfac2d-15c.glb.glb",
+ "path": "/models/samples/model_fdcfac2d-15c.glb",
"category": "prop",
"subCategory": "bottle",
"keywords": {
@@ -90766,7 +90768,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_fddc5f43-8b9",
- "path": "/models/samples/model_fddc5f43-8b9.glb.glb",
+ "path": "/models/samples/model_fddc5f43-8b9.glb",
"category": "nature",
"subCategory": "rock",
"keywords": {
@@ -90837,7 +90839,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_fdfb7519-95e",
- "path": "/models/samples/model_fdfb7519-95e.glb.glb",
+ "path": "/models/samples/model_fdfb7519-95e.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -90903,7 +90905,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_model_fe8040e1-71a",
- "path": "/models/samples/model_fe8040e1-71a.glb.glb",
+ "path": "/models/samples/model_fe8040e1-71a.glb",
"category": "prop",
"subCategory": "box",
"keywords": {
@@ -90970,7 +90972,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_module_600",
- "path": "/models/samples/module_600.glb.glb",
+ "path": "/models/samples/module_600.glb",
"category": "structure",
"subCategory": "wall",
"keywords": {
@@ -91041,17 +91043,19 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_moltenDagger",
- "path": "/models/samples/moltenDagger.glb.glb",
+ "path": "/models/samples/moltenDagger.glb",
"category": "prop",
"subCategory": "dagger",
"keywords": {
"ko": [
+ "๋จ๊ฒ",
"๋ถ",
"ํ์ผ",
"ํํ์ง",
"๋์ ",
- "๋ฐฉํจ",
- "ํ๋ถ"
+ "๋ฌด๊ธฐ",
+ "์์",
+ "์ํ"
],
"en": [
"molten",
@@ -91067,6 +91071,9 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
"fiery",
"dangerous",
"powerful",
+ "small",
+ "item",
+ "prop",
"dungeon",
"fantasy battlefield",
"volcano",
@@ -91112,7 +91119,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_MosquitoInAmber",
- "path": "/models/samples/MosquitoInAmber.glb.glb",
+ "path": "/models/samples/MosquitoInAmber.glb",
"category": "prop",
"subCategory": "preserved specimen",
"keywords": {
@@ -91179,7 +91186,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_MultiUVTest",
- "path": "/models/samples/MultiUVTest.glb.glb",
+ "path": "/models/samples/MultiUVTest.glb",
"category": "prop",
"subCategory": "test",
"keywords": {
@@ -91238,7 +91245,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_obelisk1",
- "path": "/models/samples/obelisk1.glb.glb",
+ "path": "/models/samples/obelisk1.glb",
"category": "structure",
"subCategory": "obelisk",
"keywords": {
@@ -91308,7 +91315,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_obelisk2",
- "path": "/models/samples/obelisk2.glb.glb",
+ "path": "/models/samples/obelisk2.glb",
"category": "structure",
"subCategory": "obelisk",
"keywords": {
@@ -91377,7 +91384,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_octopus_customRig",
- "path": "/models/samples/octopus_customRig.glb.glb",
+ "path": "/models/samples/octopus_customRig.glb",
"category": "character",
"subCategory": "octopus",
"keywords": {
@@ -91440,7 +91447,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_OrientationTest",
- "path": "/models/samples/OrientationTest.glb.glb",
+ "path": "/models/samples/OrientationTest.glb",
"category": "prop",
"subCategory": "test",
"keywords": {
@@ -91498,7 +91505,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_PBR_Spheres",
- "path": "/models/samples/PBR_Spheres.glb.glb",
+ "path": "/models/samples/PBR_Spheres.glb",
"category": "prop",
"subCategory": "spheres",
"keywords": {
@@ -91561,7 +91568,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_pill",
- "path": "/models/samples/pill.glb.glb",
+ "path": "/models/samples/pill.glb",
"category": "prop",
"subCategory": "pill",
"keywords": {
@@ -91624,7 +91631,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_pinkEnergyBall",
- "path": "/models/samples/pinkEnergyBall.glb.glb",
+ "path": "/models/samples/pinkEnergyBall.glb",
"category": "prop",
"subCategory": "energy",
"keywords": {
@@ -91685,7 +91692,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_pirateFort",
- "path": "/models/samples/pirateFort.glb.glb",
+ "path": "/models/samples/pirateFort.glb",
"category": "structure",
"subCategory": "fort",
"keywords": {
@@ -91748,7 +91755,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_block-moving",
- "path": "/models/samples/platformer-kit_block-moving.glb.glb",
+ "path": "/models/samples/platformer-kit_block-moving.glb",
"category": "prop",
"subCategory": "platform",
"keywords": {
@@ -91814,7 +91821,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_block-moving-blue",
- "path": "/models/samples/platformer-kit_block-moving-blue.glb.glb",
+ "path": "/models/samples/platformer-kit_block-moving-blue.glb",
"category": "prop",
"subCategory": "platformer",
"keywords": {
@@ -91879,7 +91886,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_block-moving-large",
- "path": "/models/samples/platformer-kit_block-moving-large.glb.glb",
+ "path": "/models/samples/platformer-kit_block-moving-large.glb",
"category": "prop",
"subCategory": "platformer",
"keywords": {
@@ -91942,7 +91949,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_block-snow-corner-overhang",
- "path": "/models/samples/platformer-kit_block-snow-corner-overhang.glb.glb",
+ "path": "/models/samples/platformer-kit_block-snow-corner-overhang.glb",
"category": "structure",
"subCategory": "platform",
"keywords": {
@@ -92004,7 +92011,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_block-snow-corner-overhang-low",
- "path": "/models/samples/platformer-kit_block-snow-corner-overhang-low.glb.glb",
+ "path": "/models/samples/platformer-kit_block-snow-corner-overhang-low.glb",
"category": "structure",
"subCategory": "platform",
"keywords": {
@@ -92065,7 +92072,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_block-snow-curve",
- "path": "/models/samples/platformer-kit_block-snow-curve.glb.glb",
+ "path": "/models/samples/platformer-kit_block-snow-curve.glb",
"category": "prop",
"subCategory": "platformer",
"keywords": {
@@ -92129,7 +92136,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_block-snow-curve-half",
- "path": "/models/samples/platformer-kit_block-snow-curve-half.glb.glb",
+ "path": "/models/samples/platformer-kit_block-snow-curve-half.glb",
"category": "prop",
"subCategory": "platformer",
"keywords": {
@@ -92191,7 +92198,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_block-snow-curve-low",
- "path": "/models/samples/platformer-kit_block-snow-curve-low.glb.glb",
+ "path": "/models/samples/platformer-kit_block-snow-curve-low.glb",
"category": "prop",
"subCategory": "platformer",
"keywords": {
@@ -92257,7 +92264,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_block-snow-edge",
- "path": "/models/samples/platformer-kit_block-snow-edge.glb.glb",
+ "path": "/models/samples/platformer-kit_block-snow-edge.glb",
"category": "prop",
"subCategory": "platformer",
"keywords": {
@@ -92319,7 +92326,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_block-snow-large-slope",
- "path": "/models/samples/platformer-kit_block-snow-large-slope.glb.glb",
+ "path": "/models/samples/platformer-kit_block-snow-large-slope.glb",
"category": "prop",
"subCategory": "platformer",
"keywords": {
@@ -92381,7 +92388,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_block-snow-large-slope-steep",
- "path": "/models/samples/platformer-kit_block-snow-large-slope-steep.glb.glb",
+ "path": "/models/samples/platformer-kit_block-snow-large-slope-steep.glb",
"category": "prop",
"subCategory": "platformer",
"keywords": {
@@ -92442,7 +92449,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_block-snow-overhang-corner",
- "path": "/models/samples/platformer-kit_block-snow-overhang-corner.glb.glb",
+ "path": "/models/samples/platformer-kit_block-snow-overhang-corner.glb",
"category": "prop",
"subCategory": "platformer",
"keywords": {
@@ -92503,7 +92510,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_block-snow-overhang-edge",
- "path": "/models/samples/platformer-kit_block-snow-overhang-edge.glb.glb",
+ "path": "/models/samples/platformer-kit_block-snow-overhang-edge.glb",
"category": "structure",
"subCategory": "block",
"keywords": {
@@ -92567,7 +92574,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_block-snow-overhang-large",
- "path": "/models/samples/platformer-kit_block-snow-overhang-large.glb.glb",
+ "path": "/models/samples/platformer-kit_block-snow-overhang-large.glb",
"category": "structure",
"subCategory": "platform",
"keywords": {
@@ -92631,7 +92638,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_block-snow-overhang-large-slope",
- "path": "/models/samples/platformer-kit_block-snow-overhang-large-slope.glb.glb",
+ "path": "/models/samples/platformer-kit_block-snow-overhang-large-slope.glb",
"category": "structure",
"subCategory": "platform",
"keywords": {
@@ -92692,7 +92699,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_block-snow-overhang-large-slope-steep",
- "path": "/models/samples/platformer-kit_block-snow-overhang-large-slope-steep.glb.glb",
+ "path": "/models/samples/platformer-kit_block-snow-overhang-large-slope-steep.glb",
"category": "structure",
"subCategory": "platform",
"keywords": {
@@ -92758,7 +92765,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_block-snow-overhang-large-tall",
- "path": "/models/samples/platformer-kit_block-snow-overhang-large-tall.glb.glb",
+ "path": "/models/samples/platformer-kit_block-snow-overhang-large-tall.glb",
"category": "prop",
"subCategory": "platformer",
"keywords": {
@@ -92822,7 +92829,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_block-snow-overhang-long",
- "path": "/models/samples/platformer-kit_block-snow-overhang-long.glb.glb",
+ "path": "/models/samples/platformer-kit_block-snow-overhang-long.glb",
"category": "structure",
"subCategory": "platform",
"keywords": {
@@ -92884,7 +92891,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_block-snow-overhang-low",
- "path": "/models/samples/platformer-kit_block-snow-overhang-low.glb.glb",
+ "path": "/models/samples/platformer-kit_block-snow-overhang-low.glb",
"category": "prop",
"subCategory": "platformer",
"keywords": {
@@ -92946,7 +92953,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_block-snow-overhang-low-large",
- "path": "/models/samples/platformer-kit_block-snow-overhang-low-large.glb.glb",
+ "path": "/models/samples/platformer-kit_block-snow-overhang-low-large.glb",
"category": "prop",
"subCategory": "platformer",
"keywords": {
@@ -93010,7 +93017,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_block-snow-overhang-low-long",
- "path": "/models/samples/platformer-kit_block-snow-overhang-low-long.glb.glb",
+ "path": "/models/samples/platformer-kit_block-snow-overhang-low-long.glb",
"category": "prop",
"subCategory": "platformer block",
"keywords": {
@@ -93071,7 +93078,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_bomb",
- "path": "/models/samples/platformer-kit_bomb.glb.glb",
+ "path": "/models/samples/platformer-kit_bomb.glb",
"category": "prop",
"subCategory": "bomb",
"keywords": {
@@ -93138,7 +93145,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_brick",
- "path": "/models/samples/platformer-kit_brick.glb.glb",
+ "path": "/models/samples/platformer-kit_brick.glb",
"category": "prop",
"subCategory": "platformer",
"keywords": {
@@ -93207,7 +93214,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_button-round",
- "path": "/models/samples/platformer-kit_button-round.glb.glb",
+ "path": "/models/samples/platformer-kit_button-round.glb",
"category": "prop",
"subCategory": "button",
"keywords": {
@@ -93271,7 +93278,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_button-square",
- "path": "/models/samples/platformer-kit_button-square.glb.glb",
+ "path": "/models/samples/platformer-kit_button-square.glb",
"category": "prop",
"subCategory": "button",
"keywords": {
@@ -93341,7 +93348,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_conveyor-belt",
- "path": "/models/samples/platformer-kit_conveyor-belt.glb.glb",
+ "path": "/models/samples/platformer-kit_conveyor-belt.glb",
"category": "prop",
"subCategory": "platformer",
"keywords": {
@@ -93407,7 +93414,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_hedge-corner",
- "path": "/models/samples/platformer-kit_hedge-corner.glb.glb",
+ "path": "/models/samples/platformer-kit_hedge-corner.glb",
"category": "prop",
"subCategory": "platformer",
"keywords": {
@@ -93479,7 +93486,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_ladder-broken",
- "path": "/models/samples/platformer-kit_ladder-broken.glb.glb",
+ "path": "/models/samples/platformer-kit_ladder-broken.glb",
"category": "prop",
"subCategory": "ladder",
"keywords": {
@@ -93547,7 +93554,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_ladder-long",
- "path": "/models/samples/platformer-kit_ladder-long.glb.glb",
+ "path": "/models/samples/platformer-kit_ladder-long.glb",
"category": "prop",
"subCategory": "ladder",
"keywords": {
@@ -93618,7 +93625,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_lever",
- "path": "/models/samples/platformer-kit_lever.glb.glb",
+ "path": "/models/samples/platformer-kit_lever.glb",
"category": "prop",
"subCategory": "lever",
"keywords": {
@@ -93686,7 +93693,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_pipe",
- "path": "/models/samples/platformer-kit_pipe.glb.glb",
+ "path": "/models/samples/platformer-kit_pipe.glb",
"category": "prop",
"subCategory": "platformer",
"keywords": {
@@ -93751,7 +93758,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_platform-fortified",
- "path": "/models/samples/platformer-kit_platform-fortified.glb.glb",
+ "path": "/models/samples/platformer-kit_platform-fortified.glb",
"category": "prop",
"subCategory": "platform",
"keywords": {
@@ -93819,7 +93826,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_poles",
- "path": "/models/samples/platformer-kit_poles.glb.glb",
+ "path": "/models/samples/platformer-kit_poles.glb",
"category": "prop",
"subCategory": "platformer",
"keywords": {
@@ -93887,7 +93894,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_saw",
- "path": "/models/samples/platformer-kit_saw.glb.glb",
+ "path": "/models/samples/platformer-kit_saw.glb",
"category": "prop",
"subCategory": "platformer",
"keywords": {
@@ -93952,7 +93959,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_spike-block",
- "path": "/models/samples/platformer-kit_spike-block.glb.glb",
+ "path": "/models/samples/platformer-kit_spike-block.glb",
"category": "prop",
"subCategory": "platformer",
"keywords": {
@@ -94015,7 +94022,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_spike-block-wide",
- "path": "/models/samples/platformer-kit_spike-block-wide.glb.glb",
+ "path": "/models/samples/platformer-kit_spike-block-wide.glb",
"category": "prop",
"subCategory": "platformer",
"keywords": {
@@ -94083,7 +94090,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_spring",
- "path": "/models/samples/platformer-kit_spring.glb.glb",
+ "path": "/models/samples/platformer-kit_spring.glb",
"category": "prop",
"subCategory": "platformer",
"keywords": {
@@ -94150,7 +94157,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_trap-spikes",
- "path": "/models/samples/platformer-kit_trap-spikes.glb.glb",
+ "path": "/models/samples/platformer-kit_trap-spikes.glb",
"category": "prop",
"subCategory": "trap",
"keywords": {
@@ -94221,7 +94228,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_platformer-kit_trap-spikes-large",
- "path": "/models/samples/platformer-kit_trap-spikes-large.glb.glb",
+ "path": "/models/samples/platformer-kit_trap-spikes-large.glb",
"category": "prop",
"subCategory": "trap",
"keywords": {
@@ -94292,7 +94299,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_PlaysetLightTest",
- "path": "/models/samples/PlaysetLightTest.glb.glb",
+ "path": "/models/samples/PlaysetLightTest.glb",
"category": "prop",
"subCategory": "playset",
"keywords": {
@@ -94351,7 +94358,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_PointLightIntensityTest",
- "path": "/models/samples/PointLightIntensityTest.glb.glb",
+ "path": "/models/samples/PointLightIntensityTest.glb",
"category": "prop",
"subCategory": "point light",
"keywords": {
@@ -94415,7 +94422,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_PotOfCoals",
- "path": "/models/samples/PotOfCoals.glb.glb",
+ "path": "/models/samples/PotOfCoals.glb",
"category": "prop",
"subCategory": "pot",
"keywords": {
@@ -94484,7 +94491,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_PotOfCoalsAnimationPointer",
- "path": "/models/samples/PotOfCoalsAnimationPointer.glb.glb",
+ "path": "/models/samples/PotOfCoalsAnimationPointer.glb",
"category": "prop",
"subCategory": "pot",
"keywords": {
@@ -94552,7 +94559,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_previewSphere",
- "path": "/models/samples/previewSphere.glb.glb",
+ "path": "/models/samples/previewSphere.glb",
"category": "prop",
"subCategory": "preview",
"keywords": {
@@ -94615,7 +94622,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_r_hand_lhs",
- "path": "/models/samples/r_hand_lhs.glb.glb",
+ "path": "/models/samples/r_hand_lhs.glb",
"category": "prop",
"subCategory": "hand",
"keywords": {
@@ -94678,7 +94685,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_r_hand_rhs",
- "path": "/models/samples/r_hand_rhs.glb.glb",
+ "path": "/models/samples/r_hand_rhs.glb",
"category": "prop",
"subCategory": "hand",
"keywords": {
@@ -94743,7 +94750,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_RecursiveSkeletons",
- "path": "/models/samples/RecursiveSkeletons.glb.glb",
+ "path": "/models/samples/RecursiveSkeletons.glb",
"category": "prop",
"subCategory": "skeleton",
"keywords": {
@@ -94810,7 +94817,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_RiggedFigure",
- "path": "/models/samples/RiggedFigure.glb.glb",
+ "path": "/models/samples/RiggedFigure.glb",
"category": "character",
"subCategory": "humanoid",
"keywords": {
@@ -94877,7 +94884,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_riggedMesh",
- "path": "/models/samples/riggedMesh.glb.glb",
+ "path": "/models/samples/riggedMesh.glb",
"category": "prop",
"subCategory": "rigged",
"keywords": {
@@ -94939,7 +94946,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_RiggedSimple",
- "path": "/models/samples/RiggedSimple.glb.glb",
+ "path": "/models/samples/RiggedSimple.glb",
"category": "prop",
"subCategory": "rigged",
"keywords": {
@@ -94999,7 +95006,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_right",
- "path": "/models/samples/right.glb.glb",
+ "path": "/models/samples/right.glb",
"category": "prop",
"subCategory": "arrow",
"keywords": {
@@ -95065,7 +95072,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_Road_corner",
- "path": "/models/samples/Road corner.glb.glb",
+ "path": "/models/samples/Road corner.glb",
"category": "environment",
"subCategory": "road",
"keywords": {
@@ -95129,7 +95136,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_road_gap",
- "path": "/models/samples/road gap.glb.glb",
+ "path": "/models/samples/road gap.glb",
"category": "environment",
"subCategory": "road",
"keywords": {
@@ -95192,7 +95199,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_roundedCube",
- "path": "/models/samples/roundedCube.glb.glb",
+ "path": "/models/samples/roundedCube.glb",
"category": "prop",
"subCategory": "cube",
"keywords": {
@@ -95255,7 +95262,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_roundedCylinder",
- "path": "/models/samples/roundedCylinder.glb.glb",
+ "path": "/models/samples/roundedCylinder.glb",
"category": "prop",
"subCategory": "cylinder",
"keywords": {
@@ -95321,7 +95328,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_sarcophagus",
- "path": "/models/samples/sarcophagus.glb.glb",
+ "path": "/models/samples/sarcophagus.glb",
"category": "prop",
"subCategory": "sarcophagus",
"keywords": {
@@ -95390,7 +95397,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_sarcophagusOpen",
- "path": "/models/samples/sarcophagusOpen.glb.glb",
+ "path": "/models/samples/sarcophagusOpen.glb",
"category": "prop",
"subCategory": "sarcophagus",
"keywords": {
@@ -95460,7 +95467,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_sawMill",
- "path": "/models/samples/sawMill.glb.glb",
+ "path": "/models/samples/sawMill.glb",
"category": "structure",
"subCategory": "mill",
"keywords": {
@@ -95530,7 +95537,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_seagulf",
- "path": "/models/samples/seagulf.glb.glb",
+ "path": "/models/samples/seagulf.glb",
"category": "character",
"subCategory": "bird",
"keywords": {
@@ -95594,7 +95601,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_shaderBall",
- "path": "/models/samples/shaderBall.glb.glb",
+ "path": "/models/samples/shaderBall.glb",
"category": "prop",
"subCategory": "shader",
"keywords": {
@@ -95652,7 +95659,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_shaderBall_rotation",
- "path": "/models/samples/shaderBall_rotation.glb.glb",
+ "path": "/models/samples/shaderBall_rotation.glb",
"category": "prop",
"subCategory": "ball",
"keywords": {
@@ -95711,7 +95718,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_shark",
- "path": "/models/samples/shark.glb.glb",
+ "path": "/models/samples/shark.glb",
"category": "character",
"subCategory": "fish",
"keywords": {
@@ -95774,7 +95781,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_sign",
- "path": "/models/samples/sign.glb.glb",
+ "path": "/models/samples/sign.glb",
"category": "prop",
"subCategory": "sign",
"keywords": {
@@ -95846,7 +95853,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_signboard1",
- "path": "/models/samples/signboard1.glb.glb",
+ "path": "/models/samples/signboard1.glb",
"category": "prop",
"subCategory": "signboard",
"keywords": {
@@ -95915,7 +95922,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_signboard2",
- "path": "/models/samples/signboard2.glb.glb",
+ "path": "/models/samples/signboard2.glb",
"category": "prop",
"subCategory": "signboard",
"keywords": {
@@ -95987,7 +95994,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_snowBall",
- "path": "/models/samples/snowBall.glb.glb",
+ "path": "/models/samples/snowBall.glb",
"category": "prop",
"subCategory": "snow",
"keywords": {
@@ -96051,7 +96058,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_snowField",
- "path": "/models/samples/snowField.glb.glb",
+ "path": "/models/samples/snowField.glb",
"category": "environment",
"subCategory": "field",
"keywords": {
@@ -96118,7 +96125,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_solar_system",
- "path": "/models/samples/solar_system.glb.glb",
+ "path": "/models/samples/solar_system.glb",
"category": "prop",
"subCategory": "system",
"keywords": {
@@ -96179,7 +96186,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_solid",
- "path": "/models/samples/solid.glb.glb",
+ "path": "/models/samples/solid.glb",
"category": "prop",
"subCategory": "cube",
"keywords": {
@@ -96244,7 +96251,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_SpecGlossVsMetalRough",
- "path": "/models/samples/SpecGlossVsMetalRough.glb.glb",
+ "path": "/models/samples/SpecGlossVsMetalRough.glb",
"category": "prop",
"subCategory": "display",
"keywords": {
@@ -96304,7 +96311,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_spellDisk",
- "path": "/models/samples/spellDisk.glb.glb",
+ "path": "/models/samples/spellDisk.glb",
"category": "prop",
"subCategory": "spell",
"keywords": {
@@ -96372,7 +96379,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_straight",
- "path": "/models/samples/straight.glb.glb",
+ "path": "/models/samples/straight.glb",
"category": "prop",
"subCategory": "stick",
"keywords": {
@@ -96439,7 +96446,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_stud",
- "path": "/models/samples/stud.glb.glb",
+ "path": "/models/samples/stud.glb",
"category": "prop",
"subCategory": "metal fitting",
"keywords": {
@@ -96501,7 +96508,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_stump",
- "path": "/models/samples/stump.glb.glb",
+ "path": "/models/samples/stump.glb",
"category": "nature",
"subCategory": "stump",
"keywords": {
@@ -96572,7 +96579,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_stump1",
- "path": "/models/samples/stump1.glb.glb",
+ "path": "/models/samples/stump1.glb",
"category": "nature",
"subCategory": "stump",
"keywords": {
@@ -96645,7 +96652,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_stump2",
- "path": "/models/samples/stump2.glb.glb",
+ "path": "/models/samples/stump2.glb",
"category": "nature",
"subCategory": "stump",
"keywords": {
@@ -96716,7 +96723,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_SunglassesKhronos",
- "path": "/models/samples/SunglassesKhronos.glb.glb",
+ "path": "/models/samples/SunglassesKhronos.glb",
"category": "prop",
"subCategory": "sunglasses",
"keywords": {
@@ -96779,7 +96786,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_target",
- "path": "/models/samples/target.glb.glb",
+ "path": "/models/samples/target.glb",
"category": "prop",
"subCategory": "target",
"keywords": {
@@ -96842,7 +96849,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_TextureCoordinateTest",
- "path": "/models/samples/TextureCoordinateTest.glb.glb",
+ "path": "/models/samples/TextureCoordinateTest.glb",
"category": "prop",
"subCategory": "test",
"keywords": {
@@ -96903,7 +96910,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_TextureEncodingTest",
- "path": "/models/samples/TextureEncodingTest.glb.glb",
+ "path": "/models/samples/TextureEncodingTest.glb",
"category": "prop",
"subCategory": "test",
"keywords": {
@@ -96963,7 +96970,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_TextureSettingsTest",
- "path": "/models/samples/TextureSettingsTest.glb.glb",
+ "path": "/models/samples/TextureSettingsTest.glb",
"category": "prop",
"subCategory": "settings",
"keywords": {
@@ -97020,7 +97027,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_TextureTransformMultiTest",
- "path": "/models/samples/TextureTransformMultiTest.glb.glb",
+ "path": "/models/samples/TextureTransformMultiTest.glb",
"category": "prop",
"subCategory": "test",
"keywords": {
@@ -97081,7 +97088,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_bath_day",
- "path": "/models/samples/three.js-examples_bath_day.glb.glb",
+ "path": "/models/samples/three.js-examples_bath_day.glb",
"category": "prop",
"subCategory": "bathroom",
"keywords": {
@@ -97147,7 +97154,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_coffeemat",
- "path": "/models/samples/three.js-examples_coffeemat.glb.glb",
+ "path": "/models/samples/three.js-examples_coffeemat.glb",
"category": "prop",
"subCategory": "mat",
"keywords": {
@@ -97212,7 +97219,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_coffeeMug",
- "path": "/models/samples/three.js-examples_coffeeMug.glb.glb",
+ "path": "/models/samples/three.js-examples_coffeeMug.glb",
"category": "prop",
"subCategory": "mug",
"keywords": {
@@ -97280,7 +97287,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_collision-world",
- "path": "/models/samples/three.js-examples_collision-world.glb.glb",
+ "path": "/models/samples/three.js-examples_collision-world.glb",
"category": "prop",
"subCategory": "scene",
"keywords": {
@@ -97343,7 +97350,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_duck",
- "path": "/models/samples/three.js-examples_duck.glb.glb",
+ "path": "/models/samples/three.js-examples_duck.glb",
"category": "prop",
"subCategory": "toy",
"keywords": {
@@ -97404,7 +97411,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_facecap",
- "path": "/models/samples/three.js-examples_facecap.glb.glb",
+ "path": "/models/samples/three.js-examples_facecap.glb",
"category": "prop",
"subCategory": "data",
"keywords": {
@@ -97467,7 +97474,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_ferrari",
- "path": "/models/samples/three.js-examples_ferrari.glb.glb",
+ "path": "/models/samples/three.js-examples_ferrari.glb",
"category": "prop",
"subCategory": "sports car",
"keywords": {
@@ -97536,7 +97543,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_Flamingo",
- "path": "/models/samples/three.js-examples_Flamingo.glb.glb",
+ "path": "/models/samples/three.js-examples_Flamingo.glb",
"category": "prop",
"subCategory": "decoration",
"keywords": {
@@ -97601,7 +97608,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_gears",
- "path": "/models/samples/three.js-examples_gears.glb.glb",
+ "path": "/models/samples/three.js-examples_gears.glb",
"category": "prop",
"subCategory": "gear",
"keywords": {
@@ -97662,7 +97669,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_godrays_demo",
- "path": "/models/samples/three.js-examples_godrays_demo.glb.glb",
+ "path": "/models/samples/three.js-examples_godrays_demo.glb",
"category": "prop",
"subCategory": "light effect",
"keywords": {
@@ -97729,7 +97736,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_IridescentDishWithOlives",
- "path": "/models/samples/three.js-examples_IridescentDishWithOlives.glb.glb",
+ "path": "/models/samples/three.js-examples_IridescentDishWithOlives.glb",
"category": "prop",
"subCategory": "dish",
"keywords": {
@@ -97795,7 +97802,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_kira",
- "path": "/models/samples/three.js-examples_kira.glb.glb",
+ "path": "/models/samples/three.js-examples_kira.glb",
"category": "prop",
"subCategory": "example",
"keywords": {
@@ -97862,7 +97869,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_LeePerrySmith",
- "path": "/models/samples/three.js-examples_LeePerrySmith.glb.glb",
+ "path": "/models/samples/three.js-examples_LeePerrySmith.glb",
"category": "prop",
"subCategory": "head",
"keywords": {
@@ -97923,7 +97930,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_LittlestTokyo",
- "path": "/models/samples/three.js-examples_LittlestTokyo.glb.glb",
+ "path": "/models/samples/three.js-examples_LittlestTokyo.glb",
"category": "structure",
"subCategory": "city",
"keywords": {
@@ -97989,7 +97996,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_Michelle",
- "path": "/models/samples/three.js-examples_Michelle.glb.glb",
+ "path": "/models/samples/three.js-examples_Michelle.glb",
"category": "character",
"subCategory": "human",
"keywords": {
@@ -98059,7 +98066,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_Nefertiti",
- "path": "/models/samples/three.js-examples_Nefertiti.glb.glb",
+ "path": "/models/samples/three.js-examples_Nefertiti.glb",
"category": "prop",
"subCategory": "bust",
"keywords": {
@@ -98125,7 +98132,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_nemetona",
- "path": "/models/samples/three.js-examples_nemetona.glb.glb",
+ "path": "/models/samples/three.js-examples_nemetona.glb",
"category": "prop",
"subCategory": "generic",
"keywords": {
@@ -98193,7 +98200,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_Parrot",
- "path": "/models/samples/three.js-examples_Parrot.glb.glb",
+ "path": "/models/samples/three.js-examples_Parrot.glb",
"category": "character",
"subCategory": "bird",
"keywords": {
@@ -98256,7 +98263,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_pool",
- "path": "/models/samples/three.js-examples_pool.glb.glb",
+ "path": "/models/samples/three.js-examples_pool.glb",
"category": "prop",
"subCategory": "pool",
"keywords": {
@@ -98324,7 +98331,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_PrimaryIonDrive",
- "path": "/models/samples/three.js-examples_PrimaryIonDrive.glb.glb",
+ "path": "/models/samples/three.js-examples_PrimaryIonDrive.glb",
"category": "prop",
"subCategory": "spaceship part",
"keywords": {
@@ -98387,7 +98394,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_readyplayer_me",
- "path": "/models/samples/three.js-examples_readyplayer.me.glb.glb",
+ "path": "/models/samples/three.js-examples_readyplayer.me.glb",
"category": "character",
"subCategory": "avatar",
"keywords": {
@@ -98453,7 +98460,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_RobotExpressive",
- "path": "/models/samples/three.js-examples_RobotExpressive.glb.glb",
+ "path": "/models/samples/three.js-examples_RobotExpressive.glb",
"category": "prop",
"subCategory": "robot",
"keywords": {
@@ -98517,7 +98524,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_rolex",
- "path": "/models/samples/three.js-examples_rolex.glb.glb",
+ "path": "/models/samples/three.js-examples_rolex.glb",
"category": "prop",
"subCategory": "watch",
"keywords": {
@@ -98587,7 +98594,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_ShaderBall",
- "path": "/models/samples/three.js-examples_ShaderBall.glb.glb",
+ "path": "/models/samples/three.js-examples_ShaderBall.glb",
"category": "prop",
"subCategory": "ball",
"keywords": {
@@ -98648,7 +98655,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_ShaderBall2",
- "path": "/models/samples/three.js-examples_ShaderBall2.glb.glb",
+ "path": "/models/samples/three.js-examples_ShaderBall2.glb",
"category": "prop",
"subCategory": "ball",
"keywords": {
@@ -98709,7 +98716,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_ShadowmappableMesh",
- "path": "/models/samples/three.js-examples_ShadowmappableMesh.glb.glb",
+ "path": "/models/samples/three.js-examples_ShadowmappableMesh.glb",
"category": "prop",
"subCategory": "generic",
"keywords": {
@@ -98770,7 +98777,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_steampunk_camera",
- "path": "/models/samples/three.js-examples_steampunk_camera.glb.glb",
+ "path": "/models/samples/three.js-examples_steampunk_camera.glb",
"category": "prop",
"subCategory": "camera",
"keywords": {
@@ -98836,7 +98843,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_Stork",
- "path": "/models/samples/three.js-examples_Stork.glb.glb",
+ "path": "/models/samples/three.js-examples_Stork.glb",
"category": "character",
"subCategory": "bird",
"keywords": {
@@ -98905,7 +98912,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_venice_mask",
- "path": "/models/samples/three.js-examples_venice_mask.glb.glb",
+ "path": "/models/samples/three.js-examples_venice_mask.glb",
"category": "prop",
"subCategory": "mask",
"keywords": {
@@ -98973,7 +98980,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_three_js-examples_Xbot",
- "path": "/models/samples/three.js-examples_Xbot.glb.glb",
+ "path": "/models/samples/three.js-examples_Xbot.glb",
"category": "character",
"subCategory": "humanoid",
"keywords": {
@@ -99034,7 +99041,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_toast_acrobatics",
- "path": "/models/samples/toast_acrobatics.glb.glb",
+ "path": "/models/samples/toast_acrobatics.glb",
"category": "prop",
"subCategory": "acrobatics",
"keywords": {
@@ -99101,7 +99108,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_transfiguration_class",
- "path": "/models/samples/transfiguration_class.glb.glb",
+ "path": "/models/samples/transfiguration_class.glb",
"category": "prop",
"subCategory": "classroom",
"keywords": {
@@ -99168,7 +99175,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_ufo",
- "path": "/models/samples/ufo.glb.glb",
+ "path": "/models/samples/ufo.glb",
"category": "prop",
"subCategory": "ufo",
"keywords": {
@@ -99231,7 +99238,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_underwaterGround",
- "path": "/models/samples/underwaterGround.glb.glb",
+ "path": "/models/samples/underwaterGround.glb",
"category": "environment",
"subCategory": "underwater",
"keywords": {
@@ -99298,7 +99305,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_underwaterScene",
- "path": "/models/samples/underwaterScene.glb.glb",
+ "path": "/models/samples/underwaterScene.glb",
"category": "environment",
"subCategory": "underwater",
"keywords": {
@@ -99364,7 +99371,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_underwaterSceneNavMesh",
- "path": "/models/samples/underwaterSceneNavMesh.glb.glb",
+ "path": "/models/samples/underwaterSceneNavMesh.glb",
"category": "prop",
"subCategory": "underwater",
"keywords": {
@@ -99427,7 +99434,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_valleyvillage",
- "path": "/models/samples/valleyvillage.glb.glb",
+ "path": "/models/samples/valleyvillage.glb",
"category": "structure",
"subCategory": "village",
"keywords": {
@@ -99502,7 +99509,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_village",
- "path": "/models/samples/village.glb.glb",
+ "path": "/models/samples/village.glb",
"category": "structure",
"subCategory": "village",
"keywords": {
@@ -99575,7 +99582,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_VirtualCity",
- "path": "/models/samples/VirtualCity.glb.glb",
+ "path": "/models/samples/VirtualCity.glb",
"category": "structure",
"subCategory": "city",
"keywords": {
@@ -99642,7 +99649,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_wagon",
- "path": "/models/samples/wagon.glb.glb",
+ "path": "/models/samples/wagon.glb",
"category": "prop",
"subCategory": "wagon",
"keywords": {
@@ -99712,7 +99719,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_waterwell",
- "path": "/models/samples/waterwell.glb.glb",
+ "path": "/models/samples/waterwell.glb",
"category": "prop",
"subCategory": "waterwell",
"keywords": {
@@ -99779,7 +99786,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_Xbot",
- "path": "/models/samples/Xbot.glb.glb",
+ "path": "/models/samples/Xbot.glb",
"category": "character",
"subCategory": "robot",
"keywords": {
@@ -99842,7 +99849,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_yellowEnergyBall",
- "path": "/models/samples/yellowEnergyBall.glb.glb",
+ "path": "/models/samples/yellowEnergyBall.glb",
"category": "prop",
"subCategory": "ball",
"keywords": {
@@ -99906,7 +99913,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "samples_YetiSmall",
- "path": "/models/samples/YetiSmall.glb.glb",
+ "path": "/models/samples/YetiSmall.glb",
"category": "character",
"subCategory": "yeti",
"keywords": {
@@ -99967,7 +99974,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "sketchfab_food_Low-poly_Fangding_food_vessel",
- "path": "/models/sketchfab/food/Low-poly_Fangding_food_vessel.glb.glb",
+ "path": "/models/sketchfab/food/Low-poly_Fangding_food_vessel.glb",
"category": "prop",
"subCategory": "vessel",
"keywords": {
@@ -100036,7 +100043,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "sketchfab_food_Lower-poly_Liding_food_vessel__12th-11th_C_BCE",
- "path": "/models/sketchfab/food/Lower-poly_Liding_food_vessel__12th-11th_C_BCE.glb.glb",
+ "path": "/models/sketchfab/food/Lower-poly_Liding_food_vessel__12th-11th_C_BCE.glb",
"category": "prop",
"subCategory": "vessel",
"keywords": {
@@ -100104,7 +100111,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_acrobaticPlane_variants",
- "path": "/models/vehicles/acrobaticPlane_variants.glb.glb",
+ "path": "/models/vehicles/acrobaticPlane_variants.glb",
"category": "prop",
"subCategory": "plane",
"keywords": {
@@ -100167,7 +100174,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_aerobatic_plane",
- "path": "/models/vehicles/aerobatic_plane.glb.glb",
+ "path": "/models/vehicles/aerobatic_plane.glb",
"category": "prop",
"subCategory": "aeroplane",
"keywords": {
@@ -100231,7 +100238,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_babylon-assets_Buggy",
- "path": "/models/vehicles/babylon-assets_Buggy.glb.glb",
+ "path": "/models/vehicles/babylon-assets_Buggy.glb",
"category": "prop",
"subCategory": "buggy",
"keywords": {
@@ -100301,7 +100308,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_babylon-assets_CesiumMilkTruck",
- "path": "/models/vehicles/babylon-assets_CesiumMilkTruck.glb.glb",
+ "path": "/models/vehicles/babylon-assets_CesiumMilkTruck.glb",
"category": "prop",
"subCategory": "truck",
"keywords": {
@@ -100367,7 +100374,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car",
- "path": "/models/vehicles/car.glb.glb",
+ "path": "/models/vehicles/car.glb",
"category": "prop",
"subCategory": "car",
"keywords": {
@@ -100438,7 +100445,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_ambulance",
- "path": "/models/vehicles/car-kit_ambulance.glb.glb",
+ "path": "/models/vehicles/car-kit_ambulance.glb",
"category": "prop",
"subCategory": "ambulance",
"keywords": {
@@ -100503,7 +100510,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_box",
- "path": "/models/vehicles/car-kit_box.glb.glb",
+ "path": "/models/vehicles/car-kit_box.glb",
"category": "prop",
"subCategory": "car",
"keywords": {
@@ -100567,7 +100574,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_cone",
- "path": "/models/vehicles/car-kit_cone.glb.glb",
+ "path": "/models/vehicles/car-kit_cone.glb",
"category": "prop",
"subCategory": "cone",
"keywords": {
@@ -100632,7 +100639,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_cone-flat",
- "path": "/models/vehicles/car-kit_cone-flat.glb.glb",
+ "path": "/models/vehicles/car-kit_cone-flat.glb",
"category": "prop",
"subCategory": "car",
"keywords": {
@@ -100701,7 +100708,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_debris-bolt",
- "path": "/models/vehicles/car-kit_debris-bolt.glb.glb",
+ "path": "/models/vehicles/car-kit_debris-bolt.glb",
"category": "prop",
"subCategory": "debris",
"keywords": {
@@ -100766,7 +100773,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_debris-bumper",
- "path": "/models/vehicles/car-kit_debris-bumper.glb.glb",
+ "path": "/models/vehicles/car-kit_debris-bumper.glb",
"category": "prop",
"subCategory": "car part",
"keywords": {
@@ -100831,7 +100838,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_debris-drivetrain",
- "path": "/models/vehicles/car-kit_debris-drivetrain.glb.glb",
+ "path": "/models/vehicles/car-kit_debris-drivetrain.glb",
"category": "prop",
"subCategory": "drivetrain",
"keywords": {
@@ -100895,7 +100902,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_debris-drivetrain-axle",
- "path": "/models/vehicles/car-kit_debris-drivetrain-axle.glb.glb",
+ "path": "/models/vehicles/car-kit_debris-drivetrain-axle.glb",
"category": "prop",
"subCategory": "drivetrain",
"keywords": {
@@ -100961,7 +100968,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_debris-nut",
- "path": "/models/vehicles/car-kit_debris-nut.glb.glb",
+ "path": "/models/vehicles/car-kit_debris-nut.glb",
"category": "prop",
"subCategory": "debris",
"keywords": {
@@ -101025,7 +101032,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_debris-plate-a",
- "path": "/models/vehicles/car-kit_debris-plate-a.glb.glb",
+ "path": "/models/vehicles/car-kit_debris-plate-a.glb",
"category": "prop",
"subCategory": "debris",
"keywords": {
@@ -101089,7 +101096,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_debris-plate-b",
- "path": "/models/vehicles/car-kit_debris-plate-b.glb.glb",
+ "path": "/models/vehicles/car-kit_debris-plate-b.glb",
"category": "prop",
"subCategory": "car part",
"keywords": {
@@ -101154,7 +101161,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_debris-plate-small-a",
- "path": "/models/vehicles/car-kit_debris-plate-small-a.glb.glb",
+ "path": "/models/vehicles/car-kit_debris-plate-small-a.glb",
"category": "prop",
"subCategory": "debris",
"keywords": {
@@ -101219,7 +101226,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_debris-plate-small-b",
- "path": "/models/vehicles/car-kit_debris-plate-small-b.glb.glb",
+ "path": "/models/vehicles/car-kit_debris-plate-small-b.glb",
"category": "prop",
"subCategory": "debris",
"keywords": {
@@ -101285,7 +101292,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_debris-spoiler-a",
- "path": "/models/vehicles/car-kit_debris-spoiler-a.glb.glb",
+ "path": "/models/vehicles/car-kit_debris-spoiler-a.glb",
"category": "prop",
"subCategory": "spoiler",
"keywords": {
@@ -101348,7 +101355,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_debris-spoiler-b",
- "path": "/models/vehicles/car-kit_debris-spoiler-b.glb.glb",
+ "path": "/models/vehicles/car-kit_debris-spoiler-b.glb",
"category": "prop",
"subCategory": "spoiler",
"keywords": {
@@ -101411,7 +101418,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_debris-tire",
- "path": "/models/vehicles/car-kit_debris-tire.glb.glb",
+ "path": "/models/vehicles/car-kit_debris-tire.glb",
"category": "prop",
"subCategory": "tire",
"keywords": {
@@ -101476,7 +101483,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_delivery",
- "path": "/models/vehicles/car-kit_delivery.glb.glb",
+ "path": "/models/vehicles/car-kit_delivery.glb",
"category": "prop",
"subCategory": "delivery",
"keywords": {
@@ -101542,7 +101549,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_delivery-flat",
- "path": "/models/vehicles/car-kit_delivery-flat.glb.glb",
+ "path": "/models/vehicles/car-kit_delivery-flat.glb",
"category": "prop",
"subCategory": "delivery car",
"keywords": {
@@ -101605,7 +101612,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_firetruck",
- "path": "/models/vehicles/car-kit_firetruck.glb.glb",
+ "path": "/models/vehicles/car-kit_firetruck.glb",
"category": "prop",
"subCategory": "firetruck",
"keywords": {
@@ -101674,7 +101681,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_garbage-truck",
- "path": "/models/vehicles/car-kit_garbage-truck.glb.glb",
+ "path": "/models/vehicles/car-kit_garbage-truck.glb",
"category": "prop",
"subCategory": "truck",
"keywords": {
@@ -101741,7 +101748,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_hatchback-sports",
- "path": "/models/vehicles/car-kit_hatchback-sports.glb.glb",
+ "path": "/models/vehicles/car-kit_hatchback-sports.glb",
"category": "prop",
"subCategory": "hatchback",
"keywords": {
@@ -101811,7 +101818,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_kart-oobi",
- "path": "/models/vehicles/car-kit_kart-oobi.glb.glb",
+ "path": "/models/vehicles/car-kit_kart-oobi.glb",
"category": "prop",
"subCategory": "kart",
"keywords": {
@@ -101875,7 +101882,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_kart-oodi",
- "path": "/models/vehicles/car-kit_kart-oodi.glb.glb",
+ "path": "/models/vehicles/car-kit_kart-oodi.glb",
"category": "prop",
"subCategory": "kart",
"keywords": {
@@ -101940,7 +101947,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_kart-ooli",
- "path": "/models/vehicles/car-kit_kart-ooli.glb.glb",
+ "path": "/models/vehicles/car-kit_kart-ooli.glb",
"category": "prop",
"subCategory": "kart",
"keywords": {
@@ -102005,7 +102012,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_kart-oopi",
- "path": "/models/vehicles/car-kit_kart-oopi.glb.glb",
+ "path": "/models/vehicles/car-kit_kart-oopi.glb",
"category": "prop",
"subCategory": "kart",
"keywords": {
@@ -102070,7 +102077,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_kart-oozi",
- "path": "/models/vehicles/car-kit_kart-oozi.glb.glb",
+ "path": "/models/vehicles/car-kit_kart-oozi.glb",
"category": "prop",
"subCategory": "kart",
"keywords": {
@@ -102136,7 +102143,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_police",
- "path": "/models/vehicles/car-kit_police.glb.glb",
+ "path": "/models/vehicles/car-kit_police.glb",
"category": "prop",
"subCategory": "police car",
"keywords": {
@@ -102201,7 +102208,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_race",
- "path": "/models/vehicles/car-kit_race.glb.glb",
+ "path": "/models/vehicles/car-kit_race.glb",
"category": "prop",
"subCategory": "race car",
"keywords": {
@@ -102267,7 +102274,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_race-future",
- "path": "/models/vehicles/car-kit_race-future.glb.glb",
+ "path": "/models/vehicles/car-kit_race-future.glb",
"category": "prop",
"subCategory": "future car",
"keywords": {
@@ -102333,7 +102340,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_sedan",
- "path": "/models/vehicles/car-kit_sedan.glb.glb",
+ "path": "/models/vehicles/car-kit_sedan.glb",
"category": "prop",
"subCategory": "sedan",
"keywords": {
@@ -102399,7 +102406,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_sedan-sports",
- "path": "/models/vehicles/car-kit_sedan-sports.glb.glb",
+ "path": "/models/vehicles/car-kit_sedan-sports.glb",
"category": "prop",
"subCategory": "sports car",
"keywords": {
@@ -102470,7 +102477,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_suv",
- "path": "/models/vehicles/car-kit_suv.glb.glb",
+ "path": "/models/vehicles/car-kit_suv.glb",
"category": "prop",
"subCategory": "car",
"keywords": {
@@ -102540,7 +102547,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_suv-luxury",
- "path": "/models/vehicles/car-kit_suv-luxury.glb.glb",
+ "path": "/models/vehicles/car-kit_suv-luxury.glb",
"category": "prop",
"subCategory": "suv",
"keywords": {
@@ -102611,7 +102618,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_taxi",
- "path": "/models/vehicles/car-kit_taxi.glb.glb",
+ "path": "/models/vehicles/car-kit_taxi.glb",
"category": "prop",
"subCategory": "taxi",
"keywords": {
@@ -102676,7 +102683,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_tractor",
- "path": "/models/vehicles/car-kit_tractor.glb.glb",
+ "path": "/models/vehicles/car-kit_tractor.glb",
"category": "prop",
"subCategory": "tractor",
"keywords": {
@@ -102741,7 +102748,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_tractor-police",
- "path": "/models/vehicles/car-kit_tractor-police.glb.glb",
+ "path": "/models/vehicles/car-kit_tractor-police.glb",
"category": "prop",
"subCategory": "tractor",
"keywords": {
@@ -102807,7 +102814,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_tractor-shovel",
- "path": "/models/vehicles/car-kit_tractor-shovel.glb.glb",
+ "path": "/models/vehicles/car-kit_tractor-shovel.glb",
"category": "prop",
"subCategory": "tractor",
"keywords": {
@@ -102872,7 +102879,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_truck",
- "path": "/models/vehicles/car-kit_truck.glb.glb",
+ "path": "/models/vehicles/car-kit_truck.glb",
"category": "prop",
"subCategory": "truck",
"keywords": {
@@ -102937,7 +102944,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_truck-flat",
- "path": "/models/vehicles/car-kit_truck-flat.glb.glb",
+ "path": "/models/vehicles/car-kit_truck-flat.glb",
"category": "prop",
"subCategory": "truck",
"keywords": {
@@ -103003,7 +103010,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_van",
- "path": "/models/vehicles/car-kit_van.glb.glb",
+ "path": "/models/vehicles/car-kit_van.glb",
"category": "prop",
"subCategory": "car",
"keywords": {
@@ -103071,7 +103078,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_wheel-dark",
- "path": "/models/vehicles/car-kit_wheel-dark.glb.glb",
+ "path": "/models/vehicles/car-kit_wheel-dark.glb",
"category": "prop",
"subCategory": "wheel",
"keywords": {
@@ -103136,7 +103143,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_wheel-default",
- "path": "/models/vehicles/car-kit_wheel-default.glb.glb",
+ "path": "/models/vehicles/car-kit_wheel-default.glb",
"category": "prop",
"subCategory": "wheel",
"keywords": {
@@ -103201,7 +103208,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_wheel-racing",
- "path": "/models/vehicles/car-kit_wheel-racing.glb.glb",
+ "path": "/models/vehicles/car-kit_wheel-racing.glb",
"category": "prop",
"subCategory": "racing car wheel",
"keywords": {
@@ -103265,7 +103272,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_wheel-tractor-back",
- "path": "/models/vehicles/car-kit_wheel-tractor-back.glb.glb",
+ "path": "/models/vehicles/car-kit_wheel-tractor-back.glb",
"category": "prop",
"subCategory": "tractor",
"keywords": {
@@ -103331,7 +103338,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_wheel-tractor-dark-back",
- "path": "/models/vehicles/car-kit_wheel-tractor-dark-back.glb.glb",
+ "path": "/models/vehicles/car-kit_wheel-tractor-dark-back.glb",
"category": "prop",
"subCategory": "tractor",
"keywords": {
@@ -103394,7 +103401,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_wheel-tractor-dark-front",
- "path": "/models/vehicles/car-kit_wheel-tractor-dark-front.glb.glb",
+ "path": "/models/vehicles/car-kit_wheel-tractor-dark-front.glb",
"category": "prop",
"subCategory": "tractor",
"keywords": {
@@ -103457,7 +103464,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_wheel-tractor-front",
- "path": "/models/vehicles/car-kit_wheel-tractor-front.glb.glb",
+ "path": "/models/vehicles/car-kit_wheel-tractor-front.glb",
"category": "prop",
"subCategory": "tractor",
"keywords": {
@@ -103521,7 +103528,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_car-kit_wheel-truck",
- "path": "/models/vehicles/car-kit_wheel-truck.glb.glb",
+ "path": "/models/vehicles/car-kit_wheel-truck.glb",
"category": "prop",
"subCategory": "wheel",
"keywords": {
@@ -103586,7 +103593,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_CarbonFiberWheel",
- "path": "/models/vehicles/CarbonFiberWheel.glb.glb",
+ "path": "/models/vehicles/CarbonFiberWheel.glb",
"category": "prop",
"subCategory": "wheel",
"keywords": {
@@ -103648,7 +103655,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_CarbonFibre",
- "path": "/models/vehicles/CarbonFibre.glb.glb",
+ "path": "/models/vehicles/CarbonFibre.glb",
"category": "prop",
"subCategory": "panel",
"keywords": {
@@ -103713,7 +103720,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_CarConcept",
- "path": "/models/vehicles/CarConcept.glb.glb",
+ "path": "/models/vehicles/CarConcept.glb",
"category": "prop",
"subCategory": "concept car",
"keywords": {
@@ -103781,7 +103788,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_CesiumMilkTruck",
- "path": "/models/vehicles/CesiumMilkTruck.glb.glb",
+ "path": "/models/vehicles/CesiumMilkTruck.glb",
"category": "prop",
"subCategory": "truck",
"keywords": {
@@ -103844,7 +103851,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_ClearCoatCarPaint",
- "path": "/models/vehicles/ClearCoatCarPaint.glb.glb",
+ "path": "/models/vehicles/ClearCoatCarPaint.glb",
"category": "prop",
"subCategory": "car paint",
"keywords": {
@@ -103908,7 +103915,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_fantasy-town-kit_cart",
- "path": "/models/vehicles/fantasy-town-kit_cart.glb.glb",
+ "path": "/models/vehicles/fantasy-town-kit_cart.glb",
"category": "prop",
"subCategory": "cart",
"keywords": {
@@ -103977,7 +103984,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_fantasy-town-kit_cart-high",
- "path": "/models/vehicles/fantasy-town-kit_cart-high.glb.glb",
+ "path": "/models/vehicles/fantasy-town-kit_cart-high.glb",
"category": "prop",
"subCategory": "cart",
"keywords": {
@@ -104045,7 +104052,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_graveyard-kit_pumpkin-carved",
- "path": "/models/vehicles/graveyard-kit_pumpkin-carved.glb.glb",
+ "path": "/models/vehicles/graveyard-kit_pumpkin-carved.glb",
"category": "prop",
"subCategory": "graveyard",
"keywords": {
@@ -104112,7 +104119,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_graveyard-kit_pumpkin-tall-carved",
- "path": "/models/vehicles/graveyard-kit_pumpkin-tall-carved.glb.glb",
+ "path": "/models/vehicles/graveyard-kit_pumpkin-tall-carved.glb",
"category": "prop",
"subCategory": "graveyard",
"keywords": {
@@ -104181,7 +104188,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_highPolyPlane",
- "path": "/models/vehicles/highPolyPlane.glb.glb",
+ "path": "/models/vehicles/highPolyPlane.glb",
"category": "prop",
"subCategory": "plane",
"keywords": {
@@ -104244,7 +104251,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_pumpkinBucketCarved",
- "path": "/models/vehicles/pumpkinBucketCarved.glb.glb",
+ "path": "/models/vehicles/pumpkinBucketCarved.glb",
"category": "prop",
"subCategory": "car",
"keywords": {
@@ -104311,7 +104318,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_three_js-examples_space_ship_hallway",
- "path": "/models/vehicles/three.js-examples_space_ship_hallway.glb.glb",
+ "path": "/models/vehicles/three.js-examples_space_ship_hallway.glb",
"category": "prop",
"subCategory": "spaceship",
"keywords": {
@@ -104378,7 +104385,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "vehicles_ToyCar",
- "path": "/models/vehicles/ToyCar.glb.glb",
+ "path": "/models/vehicles/ToyCar.glb",
"category": "prop",
"subCategory": "toy car",
"keywords": {
@@ -104443,7 +104450,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "weapons_babylon-assets_DamagedHelmet",
- "path": "/models/weapons/babylon-assets_DamagedHelmet.glb.glb",
+ "path": "/models/weapons/babylon-assets_DamagedHelmet.glb",
"category": "prop",
"subCategory": "helmet",
"keywords": {
@@ -104510,7 +104517,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "weapons_bowlingBall",
- "path": "/models/weapons/bowlingBall.glb.glb",
+ "path": "/models/weapons/bowlingBall.glb",
"category": "prop",
"subCategory": "bowling ball",
"keywords": {
@@ -104571,7 +104578,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "weapons_bowlingPinpin",
- "path": "/models/weapons/bowlingPinpin.glb.glb",
+ "path": "/models/weapons/bowlingPinpin.glb",
"category": "prop",
"subCategory": "bowling pin",
"keywords": {
@@ -104632,7 +104639,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "weapons_DamagedHelmet",
- "path": "/models/weapons/DamagedHelmet.glb.glb",
+ "path": "/models/weapons/DamagedHelmet.glb",
"category": "prop",
"subCategory": "helmet",
"keywords": {
@@ -104705,7 +104712,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "weapons_flightHelmet",
- "path": "/models/weapons/flightHelmet.glb.glb",
+ "path": "/models/weapons/flightHelmet.glb",
"category": "prop",
"subCategory": "helmet",
"keywords": {
@@ -104768,7 +104775,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "weapons_frostAxe",
- "path": "/models/weapons/frostAxe.glb.glb",
+ "path": "/models/weapons/frostAxe.glb",
"category": "prop",
"subCategory": "axe",
"keywords": {
@@ -104838,7 +104845,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "weapons_frostAxe_noMorph",
- "path": "/models/weapons/frostAxe_noMorph.glb.glb",
+ "path": "/models/weapons/frostAxe_noMorph.glb",
"category": "prop",
"subCategory": "axe",
"keywords": {
@@ -104907,7 +104914,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "weapons_graveyard-kit_detail-bowl",
- "path": "/models/weapons/graveyard-kit_detail-bowl.glb.glb",
+ "path": "/models/weapons/graveyard-kit_detail-bowl.glb",
"category": "prop",
"subCategory": "graveyard decor",
"keywords": {
@@ -104974,7 +104981,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "weapons_platformer-kit_arrow",
- "path": "/models/weapons/platformer-kit_arrow.glb.glb",
+ "path": "/models/weapons/platformer-kit_arrow.glb",
"category": "prop",
"subCategory": "arrow",
"keywords": {
@@ -105039,7 +105046,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "weapons_platformer-kit_arrows",
- "path": "/models/weapons/platformer-kit_arrows.glb.glb",
+ "path": "/models/weapons/platformer-kit_arrows.glb",
"category": "prop",
"subCategory": "arrow",
"keywords": {
@@ -105104,7 +105111,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "weapons_platformer-kit_block-snow-large-slope-narrow",
- "path": "/models/weapons/platformer-kit_block-snow-large-slope-narrow.glb.glb",
+ "path": "/models/weapons/platformer-kit_block-snow-large-slope-narrow.glb",
"category": "structure",
"subCategory": "platform",
"keywords": {
@@ -105165,7 +105172,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "weapons_platformer-kit_block-snow-large-slope-steep-narrow",
- "path": "/models/weapons/platformer-kit_block-snow-large-slope-steep-narrow.glb.glb",
+ "path": "/models/weapons/platformer-kit_block-snow-large-slope-steep-narrow.glb",
"category": "structure",
"subCategory": "platform",
"keywords": {
@@ -105227,7 +105234,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "weapons_platformer-kit_block-snow-low-narrow",
- "path": "/models/weapons/platformer-kit_block-snow-low-narrow.glb.glb",
+ "path": "/models/weapons/platformer-kit_block-snow-low-narrow.glb",
"category": "prop",
"subCategory": "block",
"keywords": {
@@ -105290,7 +105297,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "weapons_platformer-kit_block-snow-narrow",
- "path": "/models/weapons/platformer-kit_block-snow-narrow.glb.glb",
+ "path": "/models/weapons/platformer-kit_block-snow-narrow.glb",
"category": "prop",
"subCategory": "block",
"keywords": {
@@ -105353,7 +105360,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "weapons_platformer-kit_block-snow-overhang-large-slope-narrow",
- "path": "/models/weapons/platformer-kit_block-snow-overhang-large-slope-narrow.glb.glb",
+ "path": "/models/weapons/platformer-kit_block-snow-overhang-large-slope-narrow.glb",
"category": "structure",
"subCategory": "platform",
"keywords": {
@@ -105416,7 +105423,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "weapons_platformer-kit_block-snow-overhang-large-slope-steep-narrow",
- "path": "/models/weapons/platformer-kit_block-snow-overhang-large-slope-steep-narrow.glb.glb",
+ "path": "/models/weapons/platformer-kit_block-snow-overhang-large-slope-steep-narrow.glb",
"category": "structure",
"subCategory": "platform",
"keywords": {
@@ -105480,7 +105487,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "weapons_platformer-kit_block-snow-overhang-low-narrow",
- "path": "/models/weapons/platformer-kit_block-snow-overhang-low-narrow.glb.glb",
+ "path": "/models/weapons/platformer-kit_block-snow-overhang-low-narrow.glb",
"category": "structure",
"subCategory": "platform",
"keywords": {
@@ -105541,7 +105548,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "weapons_platformer-kit_block-snow-overhang-narrow",
- "path": "/models/weapons/platformer-kit_block-snow-overhang-narrow.glb.glb",
+ "path": "/models/weapons/platformer-kit_block-snow-overhang-narrow.glb",
"category": "structure",
"subCategory": "platform",
"keywords": {
@@ -105602,7 +105609,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "weapons_runeSword",
- "path": "/models/weapons/runeSword.glb.glb",
+ "path": "/models/weapons/runeSword.glb",
"category": "prop",
"subCategory": "sword",
"keywords": {
@@ -105678,7 +105685,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "weapons_stumpAxe",
- "path": "/models/weapons/stumpAxe.glb.glb",
+ "path": "/models/weapons/stumpAxe.glb",
"category": "prop",
"subCategory": "axe",
"keywords": {
@@ -105744,7 +105751,7 @@ export const SEMANTIC_ASSETS: SemanticAsset[] = [
},
{
"id": "weapons_sword_noMat",
- "path": "/models/weapons/sword_noMat.glb.glb",
+ "path": "/models/weapons/sword_noMat.glb",
"category": "prop",
"subCategory": "sword",
"keywords": {
diff --git a/src/data/semanticAssets.ts b/src/data/semanticAssets.ts
index 79c1b51..baa993b 100644
--- a/src/data/semanticAssets.ts
+++ b/src/data/semanticAssets.ts
@@ -6,12 +6,13 @@
*/
export type AssetCategory =
- | 'environment' // ํ๊ฒฝ/์ฅ์
- | 'furniture' // ๊ฐ๊ตฌ
- | 'character' // ์บ๋ฆญํฐ
- | 'prop' // ์ํ
- | 'nature' // ์์ฐ๋ฌผ
- | 'structure'; // ๊ตฌ์กฐ๋ฌผ
+ | 'environment' // ํ๊ฒฝ/์ฅ์
+ | 'environment_container' // ๋๊ท๋ชจ ํ๊ฒฝ ์ปจํ
์ด๋ (v3.5 ์ถ๊ฐ)
+ | 'furniture' // ๊ฐ๊ตฌ
+ | 'character' // ์บ๋ฆญํฐ
+ | 'prop' // ์ํ
+ | 'nature' // ์์ฐ๋ฌผ
+ | 'structure'; // ๊ตฌ์กฐ๋ฌผ
export interface SemanticAsset {
id: string;
diff --git a/src/data/sfx_library.ts b/src/data/sfx_library.ts
index 1c940eb..9566a90 100644
--- a/src/data/sfx_library.ts
+++ b/src/data/sfx_library.ts
@@ -42,68 +42,71 @@ try {
}
// Kenney SFX CDN (GitHub jsdelivr)
-const KENNEY_SFX_CDN = 'https://cdn.jsdelivr.net/gh/KenneyNL/Assets@latest/Audio';
+// Fallback Audio CDN (Phaser Examples & Google Actions) due to KenneyNL availability issues
+const PHASER_SFX_CDN = 'https://cdn.jsdelivr.net/gh/photonstorm/phaser-examples@master/examples/assets/audio/SoundEffects';
+const GOOGLE_SFX_CDN = 'https://actions.google.com/sounds/v1/cartoon';
+const KENNEY_SFX_CDN = PHASER_SFX_CDN; // Backwards compatibility for variable name
export const SFX_LIBRARY: Record = {
// ========================================
// ๐โโ๏ธ Movement (40+)
// ========================================
- 'footstep_grass_1': { url: `${KENNEY_SFX_CDN}/RPG%20Audio/footstep00.ogg`, category: 'movement', vol: 0.8 },
- 'footstep_grass_2': { url: `${KENNEY_SFX_CDN}/RPG%20Audio/footstep01.ogg`, category: 'movement', vol: 0.8 },
- 'footstep_grass_3': { url: `${KENNEY_SFX_CDN}/RPG%20Audio/footstep02.ogg`, category: 'movement', vol: 0.8 },
- 'footstep_grass_4': { url: `${KENNEY_SFX_CDN}/RPG%20Audio/footstep03.ogg`, category: 'movement', vol: 0.8 },
- 'footstep_grass_5': { url: `${KENNEY_SFX_CDN}/RPG%20Audio/footstep04.ogg`, category: 'movement', vol: 0.8 },
+ 'footstep_grass_1': { url: `${PHASER_SFX_CDN}/numkey.wav`, category: 'movement', vol: 0.5 },
+ 'footstep_grass_2': { url: `${PHASER_SFX_CDN}/numkey.wav`, category: 'movement', vol: 0.5 },
+ 'footstep_grass_3': { url: `${PHASER_SFX_CDN}/numkey.wav`, category: 'movement', vol: 0.5 },
+ 'footstep_grass_4': { url: `${PHASER_SFX_CDN}/numkey.wav`, category: 'movement', vol: 0.5 },
+ 'footstep_grass_5': { url: `${PHASER_SFX_CDN}/numkey.wav`, category: 'movement', vol: 0.5 },
- 'footstep_wood_1': { url: `${KENNEY_SFX_CDN}/RPG%20Audio/footstep05.ogg`, category: 'movement', vol: 0.9 },
- 'footstep_wood_2': { url: `${KENNEY_SFX_CDN}/RPG%20Audio/footstep06.ogg`, category: 'movement', vol: 0.9 },
- 'footstep_wood_3': { url: `${KENNEY_SFX_CDN}/RPG%20Audio/footstep07.ogg`, category: 'movement', vol: 0.9 },
- 'footstep_wood_4': { url: `${KENNEY_SFX_CDN}/RPG%20Audio/footstep08.ogg`, category: 'movement', vol: 0.9 },
- 'footstep_wood_5': { url: `${KENNEY_SFX_CDN}/RPG%20Audio/footstep09.ogg`, category: 'movement', vol: 0.9 },
+ 'footstep_wood_1': { url: `${PHASER_SFX_CDN}/numkey.wav`, category: 'movement', vol: 0.5 },
+ 'footstep_wood_2': { url: `${PHASER_SFX_CDN}/numkey.wav`, category: 'movement', vol: 0.5 },
+ 'footstep_wood_3': { url: `${PHASER_SFX_CDN}/numkey.wav`, category: 'movement', vol: 0.5 },
+ 'footstep_wood_4': { url: `${PHASER_SFX_CDN}/numkey.wav`, category: 'movement', vol: 0.5 },
+ 'footstep_wood_5': { url: `${PHASER_SFX_CDN}/numkey.wav`, category: 'movement', vol: 0.5 },
- 'footstep_stone_1': { url: `${KENNEY_SFX_CDN}/RPG%20Audio/footstep00.ogg`, category: 'movement', vol: 0.8 },
+ 'footstep_stone_1': { url: `${PHASER_SFX_CDN}/numkey.wav`, category: 'movement', vol: 0.5 },
// ========================================
// โ๏ธ Combat (50+)
// ========================================
- 'sword_swing_1': { url: `${KENNEY_SFX_CDN}/RPG%20Audio/chop00.ogg`, category: 'combat' },
- 'sword_swing_2': { url: `${KENNEY_SFX_CDN}/RPG%20Audio/chop01.ogg`, category: 'combat' },
- 'sword_hit_1': { url: `${KENNEY_SFX_CDN}/RPG%20Audio/chop02.ogg`, category: 'combat' },
+ 'sword_swing_1': { url: `${PHASER_SFX_CDN}/alien_death1.wav`, category: 'combat' },
+ 'sword_swing_2': { url: `${PHASER_SFX_CDN}/alien_death1.wav`, category: 'combat' },
+ 'sword_hit_1': { url: `${PHASER_SFX_CDN}/boss_hit.wav`, category: 'combat' },
- 'impact_metal_1': { url: `${KENNEY_SFX_CDN}/Impact%20Sounds/impactMetal_000.ogg`, category: 'combat' },
- 'impact_metal_2': { url: `${KENNEY_SFX_CDN}/Impact%20Sounds/impactMetal_001.ogg`, category: 'combat' },
- 'impact_metal_3': { url: `${KENNEY_SFX_CDN}/Impact%20Sounds/impactMetal_002.ogg`, category: 'combat' },
+ 'impact_metal_1': { url: `${PHASER_SFX_CDN}/boss_hit.wav`, category: 'combat' },
+ 'impact_metal_2': { url: `${PHASER_SFX_CDN}/boss_hit.wav`, category: 'combat' },
+ 'impact_metal_3': { url: `${PHASER_SFX_CDN}/boss_hit.wav`, category: 'combat' },
- 'impact_wood_1': { url: `${KENNEY_SFX_CDN}/Impact%20Sounds/impactWood_000.ogg`, category: 'combat' },
- 'impact_wood_2': { url: `${KENNEY_SFX_CDN}/Impact%20Sounds/impactWood_001.ogg`, category: 'combat' },
+ 'impact_wood_1': { url: `${PHASER_SFX_CDN}/boss_hit.wav`, category: 'combat' },
+ 'impact_wood_2': { url: `${PHASER_SFX_CDN}/boss_hit.wav`, category: 'combat' },
// ========================================
// ๐ฑ๏ธ UI (40+)
// ========================================
- 'click_1': { url: `${KENNEY_SFX_CDN}/UI%20Audio/click1.ogg`, category: 'ui', vol: 0.5 },
- 'click_2': { url: `${KENNEY_SFX_CDN}/UI%20Audio/click2.ogg`, category: 'ui', vol: 0.5 },
- 'click_3': { url: `${KENNEY_SFX_CDN}/UI%20Audio/click3.ogg`, category: 'ui', vol: 0.5 },
- 'hover_1': { url: `${KENNEY_SFX_CDN}/UI%20Audio/rollover2.ogg`, category: 'ui', vol: 0.3 },
- 'hover_2': { url: `${KENNEY_SFX_CDN}/UI%20Audio/rollover3.ogg`, category: 'ui', vol: 0.3 },
+ 'click_1': { url: `${GOOGLE_SFX_CDN}/pop.ogg`, category: 'ui', vol: 0.5 },
+ 'click_2': { url: `${PHASER_SFX_CDN}/numkey.wav`, category: 'ui', vol: 0.5 },
+ 'click_3': { url: `${PHASER_SFX_CDN}/numkey.wav`, category: 'ui', vol: 0.5 },
+ 'hover_1': { url: `${PHASER_SFX_CDN}/numkey.wav`, category: 'ui', vol: 0.3 },
+ 'hover_2': { url: `${PHASER_SFX_CDN}/numkey.wav`, category: 'ui', vol: 0.3 },
- 'confirm_1': { url: `${KENNEY_SFX_CDN}/UI%20Audio/confirmation_001.ogg`, category: 'ui' },
- 'confirm_2': { url: `${KENNEY_SFX_CDN}/UI%20Audio/confirmation_002.ogg`, category: 'ui' },
- 'back_1': { url: `${KENNEY_SFX_CDN}/UI%20Audio/back_001.ogg`, category: 'ui' },
- 'error_1': { url: `${KENNEY_SFX_CDN}/UI%20Audio/error_001.ogg`, category: 'ui' },
+ 'confirm_1': { url: `${PHASER_SFX_CDN}/escape.wav`, category: 'ui' },
+ 'confirm_2': { url: `${PHASER_SFX_CDN}/escape.wav`, category: 'ui' },
+ 'back_1': { url: `${PHASER_SFX_CDN}/numkey.wav`, category: 'ui' },
+ 'error_1': { url: `${PHASER_SFX_CDN}/squit.mp3`, category: 'ui' },
// ========================================
// โจ Magic (20+)
// ========================================
- 'spell_cast_1': { url: `${KENNEY_SFX_CDN}/Fantasy%20UI/magic00.ogg`, category: 'magic' },
- 'spell_cast_2': { url: `${KENNEY_SFX_CDN}/Fantasy%20UI/magic01.ogg`, category: 'magic' },
- 'spell_hit_1': { url: `${KENNEY_SFX_CDN}/Fantasy%20UI/spell00.ogg`, category: 'magic' },
- 'level_up': { url: `${KENNEY_SFX_CDN}/Fantasy%20UI/mission_complete.ogg`, category: 'magic', vol: 1.0 },
+ 'spell_cast_1': { url: `${PHASER_SFX_CDN}/blaster.mp3`, category: 'magic' },
+ 'spell_cast_2': { url: `${PHASER_SFX_CDN}/blaster.mp3`, category: 'magic' },
+ 'spell_hit_1': { url: `${PHASER_SFX_CDN}/boss_hit.wav`, category: 'magic' },
+ 'level_up': { url: `${PHASER_SFX_CDN}/escape.wav`, category: 'magic', vol: 1.0 },
// ========================================
// ๐ Environment (30+)
// ========================================
- 'door_open': { url: `${KENNEY_SFX_CDN}/RPG%20Audio/doorOpen_1.ogg`, category: 'env' },
- 'door_close': { url: `${KENNEY_SFX_CDN}/RPG%20Audio/doorClose_1.ogg`, category: 'env' },
- 'chest_open': { url: `${KENNEY_SFX_CDN}/RPG%20Audio/doorOpen_2.ogg`, category: 'env' },
+ 'door_open': { url: `${PHASER_SFX_CDN}/squit.mp3`, category: 'env' },
+ 'door_close': { url: `${PHASER_SFX_CDN}/squit.mp3`, category: 'env' },
+ 'chest_open': { url: `${PHASER_SFX_CDN}/squit.mp3`, category: 'env' },
// ===== LOCAL SFX (์๋ ๋ก๋: _registry.json โ build-asset-registry.ts ์์ฑ) =====
// npm run build:registry ์คํ ์ ์๋ ๊ฐฑ์ (94๊ฐ ๋ก์ปฌ ํ์ผ)
diff --git a/src/hooks/useBGMPlayer.ts b/src/hooks/useBGMPlayer.ts
index 307bc67..78a9ead 100644
--- a/src/hooks/useBGMPlayer.ts
+++ b/src/hooks/useBGMPlayer.ts
@@ -97,8 +97,6 @@ export function useBGMPlayer(): UseBGMPlayerReturn {
const handlePlay = () => setIsPlaying(true);
const handlePause = () => setIsPlaying(false);
- audio.addEventListener('canplaythrough', handleCanPlay);
- audio.addEventListener('error', handleError);
audio.addEventListener('play', handlePlay);
audio.addEventListener('pause', handlePause);
@@ -107,8 +105,11 @@ export function useBGMPlayer(): UseBGMPlayerReturn {
audio.removeEventListener('error', handleError);
audio.removeEventListener('play', handlePlay);
audio.removeEventListener('pause', handlePause);
+
+ // [Phase 3.3] ์ค๋์ค ๋ฆฌ์์ค ๊ฐ์ ํด์ (Memory Leak & Pool Exhaustion ๋ฐฉ์ง)
audio.pause();
audio.src = '';
+ audio.load(); // ์คํธ๋ฆผ ์ค๋จ ์ ๋
};
}, [bgmUrl]);
diff --git a/src/hooks/useSafeGLTF.ts b/src/hooks/useSafeGLTF.ts
index d93ce31..4a3c333 100644
--- a/src/hooks/useSafeGLTF.ts
+++ b/src/hooks/useSafeGLTF.ts
@@ -13,13 +13,17 @@
import { useLoader } from '@react-three/fiber';
import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
import { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader.js';
+import { KTX2Loader } from 'three/examples/jsm/loaders/KTX2Loader.js';
import type { GLTF } from 'three/examples/jsm/loaders/GLTFLoader.js';
+import * as THREE from 'three';
// Draco CDN ๊ฒฝ๋ก
const DRACO_CDN = 'https://www.gstatic.com/draco/versioned/decoders/1.5.7/';
+const KTX2_CDN = 'https://cdn.jsdelivr.net/gh/pmndrs/drei-assets/basis/';
// DRACOLoader ์ฑ๊ธํค (๋ฉ๋ชจ๋ฆฌ ํจ์จ)
let dracoLoaderInstance: DRACOLoader | null = null;
+let ktx2LoaderInstance: KTX2Loader | null = null;
function getDracoLoader(): DRACOLoader {
if (!dracoLoaderInstance) {
@@ -33,6 +37,30 @@ function getDracoLoader(): DRACOLoader {
return dracoLoaderInstance;
}
+function getKTX2Loader(): KTX2Loader | null {
+ if (!ktx2LoaderInstance && typeof window !== 'undefined') {
+ try {
+ ktx2LoaderInstance = new KTX2Loader();
+ ktx2LoaderInstance.setTranscoderPath(KTX2_CDN);
+
+ // GPU ์ง์ ๊ฐ์ง๋ฅผ ์ํ ์์ ๋ ๋๋ฌ
+ const tempCanvas = document.createElement('canvas');
+ const tempRenderer = new THREE.WebGLRenderer({
+ canvas: tempCanvas,
+ context: tempCanvas.getContext('webgl2') || undefined,
+ });
+ ktx2LoaderInstance.detectSupport(tempRenderer);
+ tempRenderer.dispose();
+
+ console.log('[useSafeGLTF] KTX2Loader ์ด๊ธฐํ ์๋ฃ');
+ } catch (e) {
+ console.warn('[useSafeGLTF] KTX2Loader ์ด๊ธฐํ ์คํจ (๋ฌด์):', e);
+ ktx2LoaderInstance = null;
+ }
+ }
+ return ktx2LoaderInstance;
+}
+
/**
* useGLTF ๋์ฒด ํ
* Draco JS ๋์ฝ๋๋ฅผ ๊ฐ์ ์ฌ์ฉํ์ฌ BYTES_PER_ELEMENT ์๋ฌ ๋ฐฉ์ง
@@ -45,6 +73,12 @@ export function useSafeGLTF(path: string): GLTF {
// GLTFLoader์ DRACOLoader ์ค์
const dracoLoader = getDracoLoader();
loader.setDRACOLoader(dracoLoader);
+
+ // KTX2Loader ์ค์
+ const ktx2Loader = getKTX2Loader();
+ if (ktx2Loader) {
+ loader.setKTX2Loader(ktx2Loader);
+ }
}
) as GLTF;
@@ -63,6 +97,8 @@ useSafeGLTF.preload = (path: string) => {
const loader = new GLTFLoader();
loader.setDRACOLoader(getDracoLoader());
+ const ktx2 = getKTX2Loader();
+ if (ktx2) loader.setKTX2Loader(ktx2);
loader.load(path, () => { }, undefined, (error) => {
console.warn(`[useSafeGLTF] ํ๋ฆฌ๋ก๋ ์คํจ: ${path}`, error);
});
@@ -85,4 +121,8 @@ export function disposeDracoLoader() {
dracoLoaderInstance.dispose();
dracoLoaderInstance = null;
}
+ if (ktx2LoaderInstance) {
+ ktx2LoaderInstance.dispose();
+ ktx2LoaderInstance = null;
+ }
}
diff --git a/src/lib/ClientResourceMatcher.ts b/src/lib/ClientResourceMatcher.ts
index 264716c..f7d5174 100644
--- a/src/lib/ClientResourceMatcher.ts
+++ b/src/lib/ClientResourceMatcher.ts
@@ -37,36 +37,35 @@ export function matchStaticOrRemote(description: string): ClientMatchResult | nu
const keywords = extractKeywords(description);
console.log(`[ClientMatcher] ์ถ์ถ๋ ํค์๋: ${keywords.join(', ')}`);
- // 2. ๊ฐ๋ณ ๋จ์ด๋ก Static Library ๊ฒ์
+ // 2. ๋ชจ๋ ํค์๋์ ๋ํ ์ต์ ๋งค์นญ ์์ง (v3: ์ฆ์ ๋ฐํ โ ๋ค์ค ํ๋ณด ๋น๊ต)
+ let bestResult: ClientMatchResult | null = null;
+ let bestScore = 0;
+
for (const keyword of keywords) {
const libraryPath = findAssetByKeyword(keyword);
if (libraryPath) {
- console.log(`[ClientMatcher] Static ๋งค์นญ: "${keyword}" โ ${libraryPath}`);
- return {
- type: 'asset',
- source: 'library',
- id: keyword.replace(/\s+/g, '_'),
- filePath: libraryPath,
- similarity: 1.0
- };
+ // ํค์๋ ๊ธธ์ด ๊ธฐ๋ฐ ๊ด๋ จ์ฑ ์ ์: ๊ธด ํค์๋ = ๋ ๊ตฌ์ฒด์ = ๋ ๋์ ์ ์
+ const score = keyword.length / (keyword.length + 2);
+ if (score > bestScore) {
+ bestScore = score;
+ bestResult = {
+ type: 'asset',
+ source: 'library',
+ id: keyword.replace(/\s+/g, '_'),
+ filePath: libraryPath,
+ similarity: score
+ };
+ }
}
}
- // 3. ๊ฐ๋ณ ๋จ์ด๋ก Remote CDN ๊ฒ์
+ if (bestResult) {
+ console.log(`[ClientMatcher] Static ์ต์ ๋งค์นญ: "${bestResult.id}" โ ${bestResult.filePath} (score: ${bestScore.toFixed(3)})`);
+ return bestResult;
+ }
+
+ // 3. Remote CDN ๊ฒ์ (ํ์ฌ ๋นํ์ฑํ)
// [FIX] Poly Pizza CORS/Auth Issues - Temporarily Disabled
- // for (const keyword of keywords) {
- // const remotePath = findRemoteAsset(keyword);
- // if (remotePath) {
- // console.log(`[ClientMatcher] Remote ๋งค์นญ: "${keyword}" โ ${remotePath}`);
- // return {
- // type: 'asset',
- // source: 'remote',
- // id: `remote_${keyword.replace(/\s+/g, '_')}`,
- // filePath: remotePath,
- // similarity: 0.95
- // };
- // }
- // }
console.log(`[ClientMatcher] ๋งค์นญ ์คํจ: ${description}`);
return null;
diff --git a/src/lib/PromptExpander.ts b/src/lib/PromptExpander.ts
index 829dcd4..9c4e81d 100644
--- a/src/lib/PromptExpander.ts
+++ b/src/lib/PromptExpander.ts
@@ -1,4 +1,4 @@
-import { GoogleGenerativeAI } from '@google/generative-ai';
+import { GoogleGenerativeAI, Part } from '@google/generative-ai';
import { GenreId, GENRE_TEMPLATES } from '@/data/GenreTemplates';
/**
@@ -18,8 +18,10 @@ export async function expandPrompt(
}
try {
+ const { getModelForTier, AIModelTier } = require('../app/api/ai/utils/gemini');
+ const modelId = getModelForTier(AIModelTier.ULTRA);
const genAI = new GoogleGenerativeAI(apiKey);
- const model = genAI.getGenerativeModel({ model: 'gemini-2.0-flash' });
+ const model = genAI.getGenerativeModel({ model: modelId });
const template = GENRE_TEMPLATES[genre];
diff --git a/src/lib/ScenePlanner.ts b/src/lib/ScenePlanner.ts
index fb9fea0..73c394e 100644
--- a/src/lib/ScenePlanner.ts
+++ b/src/lib/ScenePlanner.ts
@@ -174,9 +174,12 @@ export async function planScene(
).join('\n');
try {
+ const { getModelForTier, AIModelTier } = require('../app/api/ai/utils/gemini');
+ const modelId = getModelForTier(AIModelTier.PRO);
const genAI = new GoogleGenerativeAI(apiKey);
+ // [v3.0] ๊ณต๊ฐ ๋ฐฐ์น ์ง๋ฅ ์ํฅ
const model = genAI.getGenerativeModel({
- model: 'gemini-2.0-flash',
+ model: modelId,
generationConfig: { responseMimeType: "application/json" }
});
diff --git a/src/lib/audioManager.ts b/src/lib/audioManager.ts
index 48b1f56..325d0d3 100644
--- a/src/lib/audioManager.ts
+++ b/src/lib/audioManager.ts
@@ -17,17 +17,17 @@ class AudioManager {
private bgmSources: Record = {
fantasy: 'https://actions.google.com/sounds/v1/ambiences/fire.ogg',
'sci-fi': 'https://actions.google.com/sounds/v1/science_fiction/space_ambience_industrial.ogg',
- horror: 'https://cdn.pixabay.com/download/audio/2022/01/18/audio_d0a13f69d2.mp3',
- mystery: 'https://cdn.pixabay.com/download/audio/2022/01/18/audio_d0a13f69d2.mp3',
+ horror: 'https://actions.google.com/sounds/v1/ambiences/thunderstorm.ogg',
+ mystery: 'https://actions.google.com/sounds/v1/ambiences/wind_chimes.ogg',
modern: 'https://actions.google.com/sounds/v1/ambiences/coffee_shop.ogg'
};
// SFX ์์ค ์ ์
private sfxSources = {
- click: 'https://cdn.pixabay.com/download/audio/2022/03/15/audio_21c8a14b0b.mp3',
- success: 'https://cdn.pixabay.com/download/audio/2022/03/10/audio_c8c8a73467.mp3',
- footstep: '',
- pickup: 'https://cdn.pixabay.com/download/audio/2022/03/15/audio_21c8a14b0b.mp3'
+ click: 'https://actions.google.com/sounds/v1/cartoon/pop.ogg',
+ success: 'https://cdn.jsdelivr.net/gh/photonstorm/phaser-examples@master/examples/assets/audio/SoundEffects/escape.wav',
+ footstep: 'https://cdn.jsdelivr.net/gh/photonstorm/phaser-examples@master/examples/assets/audio/SoundEffects/numkey.wav',
+ pickup: 'https://cdn.jsdelivr.net/gh/photonstorm/phaser-examples@master/examples/assets/audio/SoundEffects/squit.mp3'
};
// [Phase 5] SFX ์ฌ์ ๋ก๋๋ ์ธ์คํด์ค ํ (๋งค๋ฒ new Howl() ์์ฑ ๋ฐฉ์ง)
@@ -71,14 +71,14 @@ class AudioManager {
public playBGM(genre: string) {
if (this.currentGenre === genre) return;
- // ์ด์ BGM ํ์ด๋ ์์
+ // ์ด์ BGM ํ์ด๋ ์์ ๋ฐ ์ฆ์ ์ธ๋ก๋ ์์ฝ
if (this.bgm) {
const oldBgm = this.bgm;
- oldBgm.fade(0.5, 0, 1000);
+ oldBgm.fade(oldBgm.volume(), 0, 500); // ํ์ด๋ ์๊ฐ์ ๋น๊ฒจ ๋ ๋นจ๋ฆฌ ํด์
setTimeout(() => {
oldBgm.stop();
- oldBgm.unload(); // [Phase 5] ์ด์ ์ธ์คํด์ค ๋ฉ๋ชจ๋ฆฌ ํด์
- }, 1000);
+ oldBgm.unload(); // [Phase 5] ๊ฐ์ ์ธ๋ก๋๋ก Audio Pool ํ๋ณด
+ }, 550);
}
const targetGenre = (Object.keys(this.bgmSources).includes(genre) ? genre : 'modern') as Genre;
@@ -89,26 +89,29 @@ class AudioManager {
this.bgm = new Howl({
src: [src],
- html5: true,
+ html5: true, // BGM์ ์คํธ๋ฆฌ๋ฐ์ ์ํด html5 ์ ์ง
loop: true,
volume: 0,
onloaderror: (_id, err) => console.warn(`[Audio] BGM ๋ก๋ ์คํจ: ${err}`),
- onplayerror: (_id, err) => console.warn(`[Audio] BGM ์ฌ์ ์คํจ: ${err}`)
+ onplayerror: (_id, err) => {
+ console.warn(`[Audio] BGM ์ฌ์ ์คํจ (Autoplay?): ${err}`);
+ // ์ฌ์ ์คํจ ์ ์ฌ์ฉ์ ์ํธ์์ฉ ํ ์ฌ์๋ํ ์ ์๋๋ก ์ํ ์ ์ง
+ }
});
this.bgm.play();
this.bgm.fade(0, 0.5, 1000);
- console.log(`[Audio] BGM ์ฌ์: ${targetGenre}`);
+ console.log(`[Audio] BGM ์ฌ์ ์์: ${targetGenre}`);
}
public playBGMFromUrl(url: string) {
if (this.bgm) {
const oldBgm = this.bgm;
- oldBgm.fade(0.5, 0, 1000);
+ oldBgm.fade(oldBgm.volume(), 0, 500);
setTimeout(() => {
oldBgm.stop();
oldBgm.unload(); // [Phase 5] ๋ฉ๋ชจ๋ฆฌ ํด์
- }, 1000);
+ }, 550);
}
this.bgm = new Howl({
@@ -155,6 +158,31 @@ class AudioManager {
public setVolume(vol: number) {
Howler.volume(vol);
}
+
+ /**
+ * [Phase 5] ๋ฆฌ์์ค ํด์ (์ฌ ์ ํ ์ ํธ์ถ ๊ถ์ฅ)
+ * ๋ชจ๋ BGM ๋ฐ SFX ์ธ์คํด์ค๋ฅผ ์ธ๋ก๋ํ์ฌ Audio Pool ๊ณ ๊ฐ ๋ฐฉ์ง
+ */
+ public dispose() {
+ console.log('[Audio] ๋ชจ๋ ์ค๋์ค ๋ฆฌ์์ค ํด์ ์ค...');
+
+ // BGM ํด์
+ if (this.bgm) {
+ this.bgm.stop();
+ this.bgm.unload();
+ this.bgm = null;
+ }
+
+ // SFX ํ ํด์
+ this.sfxPool.forEach((howl) => {
+ howl.stop();
+ howl.unload();
+ });
+ this.sfxPool.clear();
+
+ this.currentGenre = null;
+ console.log('[Audio] ์ค๋์ค ๋ฆฌ์์ค ์ ๋ฆฌ ์๋ฃ');
+ }
}
export const audioManager = AudioManager.getInstance();
diff --git a/src/lib/geometry/OBBCollisionSystem.ts b/src/lib/geometry/OBBCollisionSystem.ts
index 82f1a12..2722677 100644
--- a/src/lib/geometry/OBBCollisionSystem.ts
+++ b/src/lib/geometry/OBBCollisionSystem.ts
@@ -191,10 +191,11 @@ export function checkOBBCollision(a: OBB, b: OBB): SATCollisionResult {
const distance = Math.abs(centerDiff.dot(axis));
// ๊ฐ๊ฒฉ = ๊ฑฐ๋ฆฌ - (A ๋ฐ๊ฒฝ + B ๋ฐ๊ฒฝ)
+ // [Phase 4] ๋ฏธ์ธ ์ค์ฐจ ํ์ฉ (0.001๋จ์ ๊ฒน์นจ์ ๋ฌด์)
const gap = distance - (radiusA + radiusB);
// ๊ฐ๊ฒฉ์ด 0๋ณด๋ค ํฌ๋ฉด ๋ถ๋ฆฌ๋จ (์ถฉ๋ ์์)
- if (gap > 0) {
+ if (gap > -0.001) {
return { collides: false };
}
@@ -315,10 +316,11 @@ export class OBBCollisionManager {
}
// MTV ์ ์ฉํ์ฌ ์ ์์น ๋ฐํ
+ // [Phase 4] ํด๊ฒฐ ํ ์์ฃผ ๋ฏธ์ธํ๊ฒ ๋ ๋ฐ์ด๋ด์ด ์ฌ์ถฉ๋ ๋ฐฉ์ง
return [
- position[0] + totalMTV.x,
- position[1] + totalMTV.y,
- position[2] + totalMTV.z,
+ position[0] + totalMTV.x * 1.002,
+ position[1] + totalMTV.y * 1.002,
+ position[2] + totalMTV.z * 1.002,
];
}
diff --git a/src/lib/schema/nsse-constraints.ts b/src/lib/schema/nsse-constraints.ts
index 5885f28..5103ed8 100644
--- a/src/lib/schema/nsse-constraints.ts
+++ b/src/lib/schema/nsse-constraints.ts
@@ -138,6 +138,22 @@ export const ROLE_PHYSICAL_RULES: Record = {
// ์นดํ
๊ณ ๋ฆฌ ๋งค์นญ ์ฐ์ ์์ (๊ธด ํค์๋ โ ์งง์ ํค์๋, ์ค๋ถ๋ฅ ๋ฐฉ์ง)
const CATEGORY_PRIORITY: string[] = [
// ๋ณตํฉ์ด / ๊ตฌ์ฒด์ ์นดํ
๊ณ ๋ฆฌ (์ค๋ถ๋ฅ ์ํ ๋ฎ์)
+ 'knight', 'paladin', 'hero', 'warrior', // ์ธ๊ฒฉ์ฒด ์ต์ฐ์
'bookshelf', 'tombstone', 'graveyard', 'mushroom', 'campfire',
'character', 'creature', 'environment',
'building', 'terrain', 'boulder', 'vehicle', 'cabinet', 'cottage',
- 'village', 'knight',
+ 'village',
// ์ค๊ฐ ๊ธธ์ด
'castle', 'bridge', 'flower', 'shield', 'scroll', 'potion',
'barrel', 'dragon', 'horse', 'chest', 'crate', 'tower',
diff --git a/src/services/AssetOrchestrator.ts b/src/services/AssetOrchestrator.ts
index 5493aee..2936a6b 100644
--- a/src/services/AssetOrchestrator.ts
+++ b/src/services/AssetOrchestrator.ts
@@ -16,6 +16,8 @@
// [์ค์] three-stdlib ์ฌ์ฉ (@react-three/drei์ useGLTF์ ํธํ)
import { DRACOLoader } from 'three-stdlib';
import { GLTFLoader, GLTF } from 'three-stdlib';
+import { KTX2Loader } from 'three/examples/jsm/loaders/KTX2Loader.js';
+import * as THREE from 'three';
import { MissingResourceTracker } from './MissingResourceTracker';
// ์์ฐ ๋ก๋ฉ ๊ฒฐ๊ณผ ํ์
@@ -61,6 +63,9 @@ export class AssetOrchestrator {
// ์ฑ๊ธํค GLTFLoader ์ธ์คํด์ค
private gltfLoader: GLTFLoader | null = null;
+ // KTX2Loader ์ธ์คํด์ค
+ private ktx2Loader: KTX2Loader | null = null;
+
// ๊ฒ์ฆ ์บ์ (์ค๋ณต HEAD ์์ฒญ ๋ฐฉ์ง)
private validationCache: Map = new Map();
@@ -92,6 +97,9 @@ export class AssetOrchestrator {
// ๋ก์ปฌ Draco ํด๋ฐฑ ๊ฒฝ๋ก
private readonly DRACO_LOCAL_PATH = '/draco/';
+ // KTX2 Basis Universal ํธ๋์ค์ฝ๋ CDN
+ private readonly KTX2_TRANSCODER_CDN = 'https://cdn.jsdelivr.net/gh/pmndrs/drei-assets/basis/';
+
private constructor() {
this.detectDeviceCapabilities();
this.initializeLoaders();
@@ -130,6 +138,7 @@ export class AssetOrchestrator {
/**
* ๋ก๋ ์ด๊ธฐํ (์ฑ๊ธํค)
* [Fix] JS ๋์ฝ๋ ๊ฐ์ ์ฌ์ฉ์ผ๋ก WASM BYTES_PER_ELEMENT ์๋ฌ ๋ฐฉ์ง
+ * [Fix] KTX2Loader ์ถ๊ฐ๋ก KTX2 ํ
์ค์ฒ ์ง์
*/
private initializeLoaders(): void {
// DRACOLoader ์ฑ๊ธํค ์์ฑ
@@ -148,7 +157,28 @@ export class AssetOrchestrator {
this.gltfLoader = new GLTFLoader();
this.gltfLoader.setDRACOLoader(this.dracoLoader);
- console.log('[AssetOrchestrator] โ
๋ก๋ ์ด๊ธฐํ ์๋ฃ (Draco JS ์ฑ๊ธํค)');
+ // KTX2Loader ์ค์ (๋ธ๋ผ์ฐ์ ํ๊ฒฝ์์๋ง)
+ if (typeof window !== 'undefined') {
+ try {
+ this.ktx2Loader = new KTX2Loader();
+ this.ktx2Loader.setTranscoderPath(this.KTX2_TRANSCODER_CDN);
+
+ const tempCanvas = document.createElement('canvas');
+ const tempRenderer = new THREE.WebGLRenderer({
+ canvas: tempCanvas,
+ context: tempCanvas.getContext('webgl2') || undefined,
+ });
+ this.ktx2Loader.detectSupport(tempRenderer);
+ tempRenderer.dispose();
+
+ this.gltfLoader.setKTX2Loader(this.ktx2Loader as any);
+ console.log('[AssetOrchestrator] โ๏ธ KTX2 ํธ๋์ค์ฝ๋ ์ค์ ์๋ฃ');
+ } catch (e) {
+ console.warn('[AssetOrchestrator] โ ๏ธ KTX2Loader ์ด๊ธฐํ ์คํจ (๋ฌด์):', e);
+ }
+ }
+
+ console.log('[AssetOrchestrator] โ
๋ก๋ ์ด๊ธฐํ ์๋ฃ (Draco JS + KTX2)');
}
/**
@@ -410,6 +440,10 @@ export class AssetOrchestrator {
this.dracoLoader.dispose();
this.dracoLoader = null;
}
+ if (this.ktx2Loader) {
+ this.ktx2Loader.dispose();
+ this.ktx2Loader = null;
+ }
this.gltfLoader = null;
this.validationCache.clear();
this.failedPaths.clear();
diff --git a/src/services/TripoService.ts b/src/services/TripoService.ts
index 3611186..8f1e978 100644
--- a/src/services/TripoService.ts
+++ b/src/services/TripoService.ts
@@ -46,6 +46,69 @@ class TripoServiceClass {
private proxyUrl = '/api/tripo';
private generationCache = new Map();
+ // โโโ ์ผ์ผ API ํธ์ถ ์ ํ (ํ๋ฃจ 5ํ) โโโ
+ private static readonly DAILY_LIMIT = 5;
+ private static readonly STORAGE_KEY = 'tripo_daily_usage';
+
+ /**
+ * ์ค๋ ๋ ์ง ๊ธฐ์ค API ์ฌ์ฉ๋ ์กฐํ
+ * localStorage์ { date: 'YYYY-MM-DD', count: number } ํํ๋ก ์ ์ฅ
+ */
+ private getDailyUsage(): { date: string; count: number } {
+ const today = new Date().toISOString().slice(0, 10); // 'YYYY-MM-DD'
+ try {
+ const raw = typeof window !== 'undefined'
+ ? localStorage.getItem(TripoServiceClass.STORAGE_KEY)
+ : null;
+ if (raw) {
+ const parsed = JSON.parse(raw);
+ // ๋ ์ง๊ฐ ๋ค๋ฅด๋ฉด ๋ฆฌ์
+ if (parsed.date === today) {
+ return parsed;
+ }
+ }
+ } catch {
+ // localStorage ์ ๊ทผ ๋ถ๊ฐ (SSR ๋ฑ) โ ๋ฉ๋ชจ๋ฆฌ ํด๋ฐฑ ์๋์์ ์ฒ๋ฆฌ
+ }
+ return { date: today, count: 0 };
+ }
+
+ /**
+ * API ํธ์ถ ํ์ ์ฆ๊ฐ + ์ ์ฅ
+ */
+ private incrementDailyUsage(): number {
+ const usage = this.getDailyUsage();
+ usage.count += 1;
+ try {
+ if (typeof window !== 'undefined') {
+ localStorage.setItem(
+ TripoServiceClass.STORAGE_KEY,
+ JSON.stringify(usage)
+ );
+ }
+ } catch {
+ // localStorage ์ ๊ทผ ๋ถ๊ฐ ์ ๋ฌด์
+ }
+ console.log(`[Tripo] ์ผ์ผ ์ฌ์ฉ๋: ${usage.count}/${TripoServiceClass.DAILY_LIMIT}`);
+ return usage.count;
+ }
+
+ /**
+ * ์ผ์ผ ํ๋ ๋๋ฌ ์ฌ๋ถ ํ์ธ
+ */
+ isDailyLimitReached(): boolean {
+ const usage = this.getDailyUsage();
+ return usage.count >= TripoServiceClass.DAILY_LIMIT;
+ }
+
+ /**
+ * ๋จ์ ์ผ์ผ ํธ์ถ ํ์ ๋ฐํ
+ */
+ getRemainingCalls(): number {
+ const usage = this.getDailyUsage();
+ return Math.max(0, TripoServiceClass.DAILY_LIMIT - usage.count);
+ }
+
/**
* ์๋งจํฑ ์ค๋ณต ์ฒดํฌ (Semantic Guardrail)
* ์ ์ฌ๋ 0.9 ์ด์์ด๋ฉด ๊ธฐ์กด ์์
์ฌ์ฌ์ฉ
@@ -75,15 +138,26 @@ class TripoServiceClass {
/**
* Text-to-3D ๋ชจ๋ธ ์์ฑ ์์ฒญ
+ * โ ๏ธ ํ๋ฃจ 5ํ ์ ํ โ ์ด๊ณผ ์ ์ฐจ๋จ
*/
async generateFromText(prompt: string, isCritical = false): Promise {
console.log(`[Tripo] ์์ฑ ์์: "${prompt}" (ํต์ฌ: ${isCritical})`);
- // 1. ์ค๋ณต ์ฒดํฌ
+ // 1. ์ค๋ณต ์ฒดํฌ (API ํธ์ถ ์๋ โ ํ๋์ ํฌํจํ์ง ์์)
const existing = await this.checkSemanticDuplicate(prompt);
if (existing) return existing;
- // 2. Tripo API ํธ์ถ
+ // 2. โ ์ผ์ผ ํ๋ ํ์ธ โ ์ด๊ณผ ์ API ํธ์ถ ์ฐจ๋จ
+ if (this.isDailyLimitReached()) {
+ const msg = `[Tripo] โ ์ผ์ผ API ํธ์ถ ํ๋(${TripoServiceClass.DAILY_LIMIT}ํ) ๋๋ฌ! ๋ด์ผ ์์ ์ ๋ฆฌ์
๋ฉ๋๋ค. ๋จ์ ํธ์ถ: 0`;
+ console.error(msg);
+ throw new Error(msg);
+ }
+
+ // 3. ํธ์ถ ํ์ ์ฆ๊ฐ (API ํธ์ถ ์ ์ ์นด์ดํธํ์ฌ ์คํจํด๋ ์ฐจ๊ฐ)
+ this.incrementDailyUsage();
+
+ // 4. Tripo API ํธ์ถ
const response = await fetch(this.proxyUrl, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
diff --git a/src/services/VectorSearchService.ts b/src/services/VectorSearchService.ts
index 299ab2c..0e06990 100644
--- a/src/services/VectorSearchService.ts
+++ b/src/services/VectorSearchService.ts
@@ -13,8 +13,9 @@
*/
import { GoogleGenerativeAI } from '@google/generative-ai';
-import { SEMANTIC_ASSETS, SemanticAsset } from '@/data/semanticAssets.generated';
-import { LexicalSearchService, LexicalSearchResult } from './search/LexicalSearchService';
+import { SEMANTIC_ASSETS, SemanticAsset, AssetCategory } from '@/data/semanticAssets.generated';
+import { CATEGORY_SCALE_TABLE, KEYWORD_CATEGORY_MAP } from '@/config/ScaleNormalizationConfig';
+import { LexicalSearchService, LexicalSearchResult, isBlacklistedPath } from './search/LexicalSearchService';
import { AssetSearchCache } from './SemanticCacheService';
@@ -46,24 +47,6 @@ export interface HybridSearchResult extends SearchResult {
// RRF ํ์ดํผํ๋ผ๋ฏธํฐ (Elasticsearch ๊ธฐ๋ณธ๊ฐ: 60)
const RRF_K = 60;
-// ============================================================
-// ๋ธ๋๋ฆฌ์คํธ ๊ฒฝ๋ก ํจํด - ํ
์คํธ ํ์ผ ๋ฐ ๋ด๋ถ์ฉ ์์
์ ์ธ
-// ============================================================
-const ASSET_PATH_BLACKLIST = [
- '_test_data',
- 'test_',
- 'debug_',
- '/temp/',
-];
-
-/**
- * ๋ธ๋๋ฆฌ์คํธ ๊ฒฝ๋ก ํ์ธ
- */
-function isBlacklistedPath(path: string): boolean {
- const lowerPath = path.toLowerCase();
- return ASSET_PATH_BLACKLIST.some(pattern => lowerPath.includes(pattern.toLowerCase()));
-}
-
// ============================================================
// Vector Search Service
// ============================================================
@@ -394,6 +377,12 @@ class VectorSearchServiceClass {
score *= 1.3;
}
+ // [v3] ์นดํ
๊ณ ๋ฆฌ ๋ถ์ผ์น ํ๋ํฐ: ์ถ๋ก ๋ ์นดํ
๊ณ ๋ฆฌ์ ์์ ํ ๋ค๋ฅด๋ฉด ๊ฐ๋ ฅํ ํ๋ํฐ (ร0.2)
+ // ํ๋์ฝ๋ฉ ์์ด ๊ธฐ์กด inferCategoryFromQuery ๊ฒฐ๊ณผ๋ง ํ์ฉ
+ if (inferredCategory && asset.category !== inferredCategory && score > 0) {
+ score *= 0.2;
+ }
+
return { asset, score, matchCount: score };
});
@@ -591,23 +580,47 @@ class VectorSearchServiceClass {
* [Phase 3] ์ ํ ๋งค์นญ ์ฐ์ ์ฒ๋ฆฌ ์ถ๊ฐ
* [Phase 4] ์๋งจํฑ ์บ์ ํตํฉ (์ ๊ทผ๋ฒ D)
*/
- async findBestHybridMatch(concept: string): Promise {
+ async findBestHybridMatch(concept: string, roleHint?: string, theme?: string): Promise {
+ // [Phase 6] role ๊ธฐ๋ฐ ์นดํ
๊ณ ๋ฆฌ ํํฐ โ character ์์
์ด non-character ๊ฐ๋
์ ๋งคํ๋๋ ๊ฒ์ ๋ฐฉ์ง
+ const lowerRole = roleHint?.toLowerCase() || '';
+ const isCharacterRole = ['character', 'npc', 'hero_character'].includes(lowerRole);
+ const isStructureRole = ['structure', 'environment_container', 'building'].includes(lowerRole);
// [Phase 4] ์๋งจํฑ ์บ์ ์กฐํ ๋จผ์ ์๋
const cacheResult = await AssetSearchCache.lookup(concept);
if (cacheResult.hit && cacheResult.value) {
const cached = cacheResult.value;
const asset = SEMANTIC_ASSETS.find(a => a.path === cached.assetPath);
if (asset) {
- console.log(`[HybridSearch] ๐ ์บ์ HIT: "${concept}" โ ${asset.id} (${cacheResult.responseTimeMs}ms)`);
- return {
- asset,
- score: cached.score,
- confidence: cached.score,
- vectorRank: 1,
- lexicalRank: 1,
- rrfScore: cached.score,
- matchedTerms: [concept],
- };
+ // [v3.4 Fix] ์บ์๋ ๊ฒฐ๊ณผ๋ ํ์ฌ roleHint์ ์์ถฉํ๋์ง ์ต์ํ์ ๊ฒ์ฆ ์ํ
+ if (asset.category === 'character' && !isCharacterRole) {
+ const conceptLower = concept.toLowerCase();
+ const isLivingConcept = ['knight', 'paladin', 'warrior', 'elf', 'human', 'npc', 'hero', 'creature', 'monster', '๊ธฐ์ฌ', '์ฉ์ฌ', '์ ์ฌ', '์ํ', '์ธ๊ฐ', '๊ดด๋ฌผ'].some(k => conceptLower.includes(k));
+ if (!isLivingConcept) {
+ console.log(`[HybridSearch] โ ๏ธ ์บ์๋ character ์์
์ด ๋ถ์ ์ ํ ์ฟผ๋ฆฌ์ ๋งคํ๋จ - ๋ฌด์: ${asset.id}`);
+ } else {
+ console.log(`[HybridSearch] ๐ ์บ์ HIT (์บ๋ฆญํฐ ์์ธ): "${concept}" โ ${asset.id}`);
+ return {
+ asset,
+ score: cached.score,
+ confidence: cached.score,
+ vectorRank: 1,
+ lexicalRank: 1,
+ rrfScore: cached.score,
+ matchedTerms: [concept],
+ };
+ }
+ } else {
+ console.log(`[HybridSearch] ๐ ์บ์ HIT: "${concept}" โ ${asset.id} (${cacheResult.responseTimeMs}ms)`);
+ return {
+ asset,
+ score: cached.score,
+ confidence: cached.score,
+ vectorRank: 1,
+ lexicalRank: 1,
+ rrfScore: cached.score,
+ matchedTerms: [concept],
+ };
+ }
}
}
@@ -646,23 +659,161 @@ class VectorSearchServiceClass {
}
if (exactMatch && !isBlacklistedPath(exactMatch.path)) {
- console.log(`[HybridSearch] ๐ฏ ์ ํ ๋งค์นญ ๋ฐ๊ฒฌ: "${concept}" โ ${exactMatch.id} (path: ${exactMatch.path})`);
- return {
- asset: exactMatch,
- score: 1.0,
- confidence: 1.0,
- vectorRank: 1,
- lexicalRank: 1,
- rrfScore: 1.0,
- matchedTerms: [concept],
- };
+ // [Phase 6] ์ ํ ๋งค์นญ์๋ character ์นดํ
๊ณ ๋ฆฌ ํํฐ ์ ์ฉ
+ if (exactMatch.category === 'character' && !isCharacterRole) {
+ // [v3.4 Fix] ์ฟผ๋ฆฌ์ ๋ช
์์ ์ธ ์ธ๊ฒฉ์ฒด ํค์๋๊ฐ ์์ผ๋ฉด ํ์ฉ
+ const conceptLower = concept.toLowerCase();
+ const isLivingConcept = ['knight', 'warrior', 'npc', 'elf', 'human', 'hero', 'paladin', '๊ธฐ์ฌ', '์ ์ฌ', '์ํ', '์ธ๊ฐ', '์ฉ์ฌ'].some(k => conceptLower.includes(k));
+
+ if (isLivingConcept) {
+ console.log(`[HybridSearch] ๐ฏ ์ ํ ๋งค์นญ ๋ฐ๊ฒฌ (์บ๋ฆญํฐ ์์ธ ํ์ฉ): "${concept}" โ ${exactMatch.id}`);
+ return {
+ asset: exactMatch,
+ score: 1.0,
+ confidence: 1.0,
+ vectorRank: 1,
+ lexicalRank: 1,
+ rrfScore: 1.0,
+ matchedTerms: [concept],
+ };
+ }
+ console.log(`[HybridSearch] ๐ซ ์ ํ ๋งค์นญ character ํํฐ๋ง: ${exactMatch.id} (role: ${roleHint || 'unknown'})`);
+ } else {
+ console.log(`[HybridSearch] ๐ฏ ์ ํ ๋งค์นญ ๋ฐ๊ฒฌ: "${concept}" โ ${exactMatch.id} (path: ${exactMatch.path})`);
+ return {
+ asset: exactMatch,
+ score: 1.0,
+ confidence: 1.0,
+ vectorRank: 1,
+ lexicalRank: 1,
+ rrfScore: 1.0,
+ matchedTerms: [concept],
+ };
+ }
}
// ์ผ๋ฐ ํ์ด๋ธ๋ฆฌ๋ ๊ฒ์
const allResults = await this.hybridSearch(concept, 10);
- // ๋ธ๋๋ฆฌ์คํธ ๊ฒฝ๋ก ์ ์ธ
- const filteredResults = allResults.filter(r => !isBlacklistedPath(r.asset.path));
+ // [v3.4] ๊ตฌ์กฐ๋ฌผ/ํ๊ฒฝ vs ํ๋กญ ์ ํฉ์ฑ ๊ฐํ (category์ query ์๋ ๊ต์ฐจ ๊ฒ์ฆ์ฉ ์ ๊ท์)
+ const conceptLower = concept.toLowerCase();
+ const isQueryAskingForEnvironment = conceptLower.match(/(field|plain|ocean|forest|desert|valley|landscape|terrain|nature|world|ground|๋คํ|ํ์|๋ฐ๋ค|์ฒ|์ฌ๋ง|๊ณ๊ณก|๋์ง|์งํ|์์ฐ|์๋|๋ฐ๋ฅ)/i);
+ const isQueryAskingForStructure = conceptLower.match(/(gate|castle|tower|building|fall|structure|wall|gate|temple|monument|pavilion|๊ณ ์ฑ|์ฑ๋ฌธ|๊ตฌ์กฐ๋ฌผ|๋น๋ฉ|๊ฑด๋ฌผ|ํญํฌ|์ฌ์|๊ธฐ๋
๋น|๋ฃจ)/i);
+ const isQueryAskingForSmallProp = conceptLower.match(/(dagger|sword|potion|key|coin|item|prop|box|chest|book|scroll|chalice|gem|ring|๋จ๊ฒ|์นผ|ํฌ์
|์ด์ |๊ธํ|์ํ|๋ฐ์ค|์์|์ฑ
|์คํฌ๋กค|์ฑ๋ฐฐ|๋ณด์|๋ฐ์ง)/i);
+
+ // ๋ธ๋๋ฆฌ์คํธ ๊ฒฝ๋ก ์ ์ธ + [Phase 6] ์ญํ ๊ธฐ๋ฐ ํํฐ๋ง ๋ฐ ๊ฐ์ค์น ์กฐ์
+ const filteredResults = allResults.filter((r: HybridSearchResult) => {
+ if (!r || !r.asset) return false;
+
+ const assetPath = r.asset.path || '';
+ if (isBlacklistedPath(assetPath)) return false;
+
+ const assetCategory = r.asset.category;
+ const assetTags = [...(r.asset.keywords?.ko || []), ...(r.asset.keywords?.en || []), ...(r.asset.tags || [])].map((t: string) => t.toLowerCase());
+
+ // [v3.5+ VAM] Volume-Aware Matching: ์ฟผ๋ฆฌ ์๋์ ์์
์ค์ผ์ผ์ ๋ฌผ๋ฆฌ์ ์ ํฉ์ฑ ๊ฒ์ฆ
+ const targetScale = this.inferTargetScale(concept);
+ // 1์์: ์์
์ ๋ช
์๋ physical_scale, 2์์: ์นดํ
๊ณ ๋ฆฌ๋ณ ๊ธฐ๋ณธ ์ค์ผ์ผ ํ
์ด๋ธ
+ // physical_scale์ SemanticAsset ์ธํฐํ์ด์ค์ optional๋ก ์กด์ฌํจ
+ const assetScale = (r.asset as any).physical_scale || CATEGORY_SCALE_TABLE[assetCategory as keyof typeof CATEGORY_SCALE_TABLE] || 1.0;
+
+ // [v3.1] ์บ๋ฆญํฐ ํํฐ๋ง ์ํ:
+ // ๋๋๊ณค(dragon), ๋ชฌ์คํฐ(monster) ๋ฑ ์๋ช
์ฒด ์์
์ด ์บ๋ฆญํฐ ์นดํ
๊ณ ๋ฆฌ์ผ ๊ฒฝ์ฐ,
+ // ์ฟผ๋ฆฌ(concept)์ ํด๋น ํค์๋๊ฐ ํฌํจ๋์ด ์๋ค๋ฉด roleHint๊ฐ ์๋๋ผ๋ ํ์ฉ.
+ if (assetCategory === 'character' && !isCharacterRole) {
+ const conceptLower = concept.toLowerCase();
+ // [v3.4 Fix] ์บ๋ฆญํฐ ์ง์นญ ํค์๋ ๋ฆฌ์คํธ ๊ฐํ (๊ธฐ์ฌ, ๋ณ์ฌ ๋ฑ ์ถ๊ฐ)
+ const isLivingConcept = ['dragon', 'monster', 'creature', 'animal', 'knight', 'warrior', 'soldier', 'npc', 'paladin', 'elf', 'human', '์ฉ', '๊ดด๋ฌผ', '์๋ฌผ', '๋๋ฌผ', '๊ธฐ์ฌ', '์ ์ฌ', '๋ณ์ฌ', '์ธ๊ฐ'].some(k => conceptLower.includes(k));
+ const hasLivingTag = assetTags.some(t => ['living', 'creature', 'humanoid', 'character', 'dragon', 'knight', 'npc'].includes(t));
+
+ if (isLivingConcept || hasLivingTag) {
+ console.log(`[HybridSearch] ๐ ์บ๋ฆญํฐ ํํฐ๋ง ์์ธ ํ์ฉ: ${r.asset.id}`);
+ r.rrfScore *= 0.9; // ํ๋ํฐ ๊ฐ์ (0.8 -> 0.9)
+ } else {
+ console.log(`[HybridSearch] ๐ซ character ์์
ํํฐ๋ง: ${r.asset.id} (role: ${roleHint || 'unknown'})`);
+ return false;
+ }
+ }
+
+ // [v3.5+ VAM] ๋ฌผ๋ฆฌ์ ์ค์ผ์ผ ๊ธฐ๋ฐ ์ ํฉ์ฑ ๊ฒ์ฆ (Scale Ratio)
+ // ์ค์ผ์ผ ์ฐจ์ด๊ฐ 10๋ฐฐ ์ด์ ๋๋ฉด ๊ฐ๋ ฅํ ํ๋ํฐ (์: 0.3m ์ํ vs 45m ๋ํ ํ๊ฒฝ)
+ const scaleRatio = Math.max(targetScale, assetScale) / Math.min(targetScale, assetScale);
+
+ if (scaleRatio > 10) {
+ const isQuerySmall = targetScale < 1.0;
+ const isAssetLarge = assetScale > 5.0;
+ const isQueryLarge = targetScale > 5.0;
+ const isAssetSmall = assetScale < 1.0;
+
+ if ((isQuerySmall && isAssetLarge) || (isQueryLarge && isAssetSmall)) {
+ r.rrfScore *= 0.0001; // ๊ฑฐ์ ์ฐจ๋จ ์์ค
+ r.confidence *= 0.0001;
+ console.log(`[HybridSearch] ๐ VAM ์ฐจ๋จ: ${r.asset.id} (Scale Ratio: ${scaleRatio.toFixed(1)}x, Query: ${concept})`);
+ }
+ }
+
+ // [v3.4] ๊ตฌ์กฐ๋ฌผ/ํ๊ฒฝ vs ํ๋กญ ์ ํฉ์ฑ ๊ฐํ (ํค์๋ ๊ธฐ๋ฐ ๊ฐ์คํฉ์ฐ ๊ฐ์)
+ if (assetCategory === 'environment_container' || assetCategory === 'environment') {
+ if (isQueryAskingForEnvironment) {
+ r.rrfScore *= 1.5;
+ r.confidence = Math.min(r.confidence * 1.5, 1.0);
+ }
+ } else if (assetCategory === 'structure') {
+ if (isStructureRole || isQueryAskingForStructure) {
+ r.rrfScore *= 1.4;
+ r.confidence = Math.min(r.confidence * 1.4, 1.0);
+ }
+ } else if (assetCategory === 'prop') {
+ if (isQueryAskingForSmallProp) {
+ r.rrfScore *= 1.2;
+ }
+ }
+ return true;
+ });
+
+ // [v3] ThemeGuard: ํ์ฌ ์ฌ์ ์ฅ๋ฅด(theme)์ ์์
์ ์คํ์ผ์ด ์ผ์นํ๋์ง ๊ฒ์ฌ
+ if (theme && filteredResults.length > 0) {
+ const normalizedTheme = theme.toLowerCase();
+ filteredResults.forEach(r => {
+ const style = (r.asset as any).style?.toLowerCase() || '';
+ const tags = [...r.asset.keywords.ko, ...r.asset.keywords.en].map((k: string) => k.toLowerCase());
+
+ // ํ
๋ง ์ผ์น ์ ๋ณด๋์ค (1.5๋ฐฐ)
+ if (style === normalizedTheme || tags.includes(normalizedTheme)) {
+ r.rrfScore *= 1.5;
+ r.confidence = Math.min(r.confidence * 1.5, 1.0);
+ }
+ // ํ
๋ง ๋ถ์ผ์น(์์ถฉ) ์ ํ๋ํฐ (0.2๋ฐฐ๋ก ๊ฐํ)
+ else if (normalizedTheme === 'urban' && (style === 'fantasy' || tags.includes('fantasy'))) {
+ r.rrfScore *= 0.2;
+ r.confidence *= 0.2;
+ }
+ else if (normalizedTheme === 'fantasy' && (style === 'sci-fi' || tags.includes('sci-fi') || style === 'urban')) {
+ r.rrfScore *= 0.2;
+ r.confidence *= 0.2;
+ }
+ // [v3.4] Hell/Fantasy ํ
๋ง ๋ํ ๊ตฌ์กฐ๋ฌผ(Gate/Castle) ์ ํฉ์ฑ ๊ฐํ ๋ฐ Dagger ์ค๋งค์นญ ๋ฐฉ์ง
+ else if ((normalizedTheme === 'hell' || normalizedTheme === 'fantasy') &&
+ (concept.toLowerCase().match(/(gate|castle|tower|temple|monument)/i))) {
+ // ์ฟผ๋ฆฌ๊ฐ ๋ํ ๊ตฌ์กฐ๋ฌผ์ ์ง์นญํ๋๋ฐ dagger, sword ๋ฑ ๋ฌด๊ธฐ๋ฅ๊ฐ ๋งค์นญ๋๋ฉด ์์ฒ ์ฐจ๋จ์ ๊ฐ๊น์ด ํ๋ํฐ
+ const isWeaponOrSmallItem = tags.some(t => ['dagger', 'sword', 'blade', 'arrow', 'potion', 'key', 'coin', '๋จ๊ฒ', '๊ฒ'].includes(t.toLowerCase()));
+ if (isWeaponOrSmallItem) {
+ console.log(`[HybridSearch] ๐ซ ์ฟผ๋ฆฌ(${concept}) vs ์์
(${r.asset.id}) ๋ถ์ผ์น ์ฐจ๋จ: ${normalizedTheme} ๊ตฌ์กฐ๋ฌผ ์๋ฆฌ์ ์ํ ๋งค์นญ๋จ`);
+ r.rrfScore *= 0.001;
+ r.confidence *= 0.001;
+ }
+ }
+ // Hell ํ
๋ง์์ Lava ์ฟผ๋ฆฌ์ ๋จ๊ฒ์ด ๋งค์นญ๋๋ ๊ฒฝ์ฐ ๋ฐฉ์ง
+ else if (normalizedTheme === 'hell' && concept.toLowerCase().includes('lava')) {
+ if (tags.some(t => ['dagger', 'dagger', 'weapon'].includes(t.toLowerCase()))) {
+ r.rrfScore *= 0.01;
+ console.log(`[HybridSearch] ๐ซ Lava ์ฟผ๋ฆฌ์ ๋จ๊ฒ ๋งค์นญ ์ฐจ๋จ: ${r.asset.id}`);
+ }
+ }
+ });
+ // ์ ์์ ๋ฐ๋ผ ์ฌ์ ๋ ฌ
+ filteredResults.sort((a, b) => b.rrfScore - a.rrfScore);
+ }
if (filteredResults.length > 0) {
const bestResult = filteredResults[0];
@@ -864,6 +1015,22 @@ class VectorSearchServiceClass {
return results[0].score > 0 ? results[0].skybox.url : null;
}
+
+ /**
+ * [v3.5+ VAM] ์ฟผ๋ฆฌ ํค์๋๋ก๋ถํฐ ๋ชฉํ ๋ฌผ๋ฆฌ ์ค์ผ์ผ ์ถ๋ก
+ */
+ private inferTargetScale(query: string): number {
+ const queryLower = query.toLowerCase();
+
+ // ScaleNormalizationConfig์ ํค์๋ ๋งต ํ์ฉ
+ for (const [category, keywords] of Object.entries(KEYWORD_CATEGORY_MAP) as [string, string[]][]) {
+ if (keywords.some((k: string) => queryLower.includes(k.toLowerCase()))) {
+ return CATEGORY_SCALE_TABLE[category as AssetCategory] || 1.0;
+ }
+ }
+
+ return 1.0; // ๊ธฐ๋ณธ๊ฐ 1m
+ }
}
// ์ฑ๊ธํค ์ธ์คํด์ค
diff --git a/src/services/a2a/VisualCriticAgent.ts b/src/services/a2a/VisualCriticAgent.ts
index 6cdd96c..5eeb355 100644
--- a/src/services/a2a/VisualCriticAgent.ts
+++ b/src/services/a2a/VisualCriticAgent.ts
@@ -105,7 +105,7 @@ export class VisualCriticAgent extends BaseAgent {
}
try {
- const model = this.genAI.getGenerativeModel({ model: 'gemini-2.0-flash-exp' });
+ const model = this.genAI.getGenerativeModel({ model: 'gemini-2.0-pro' });
const base64Image = typeof imageData === 'string'
? imageData
diff --git a/src/services/ai-pipeline/AIPipelineOrchestrator.ts b/src/services/ai-pipeline/AIPipelineOrchestrator.ts
index 561c493..2be5740 100644
--- a/src/services/ai-pipeline/AIPipelineOrchestrator.ts
+++ b/src/services/ai-pipeline/AIPipelineOrchestrator.ts
@@ -27,6 +27,10 @@ import { createDefaultConstraints } from '@/lib/schema/nsse-constraints';
import { AssetBoundingBoxService } from './AssetBoundingBoxService';
import { SkyboxDecisionService } from './SkyboxDecisionService';
import { MissingResourceTracker } from '../MissingResourceTracker';
+import { PhysicsScatteringService, ScatteringObject } from './PhysicsScatteringService';
+import { VLMFeedbackService, VLMFeedback } from './VLMFeedbackService';
+import { PBRMaterialConverter } from './PBRMaterialConverter';
+import { NavMeshGenerationService, NavMeshResult } from './NavMeshGenerationService';
import * as THREE from 'three';
// ============================================================
@@ -55,6 +59,7 @@ export interface PipelineResult {
// [IAOS] Skybox ์๋ ์ ์ฉ
skyboxUrl?: string;
environmentType: 'outdoor' | 'indoor' | 'unknown'; // [IAOS] AI ๊ฒฐ์ ํ๊ฒฝ ํ์
+ navMesh?: NavMeshResult; // [v4.0] ๋ด๋น๊ฒ์ด์
๋ฐ์ดํฐ
stages: PipelineProgress[];
totalDuration: number;
error?: string;
@@ -107,6 +112,14 @@ export class AIPipelineOrchestrator {
// [MissingResourceTracker] ํ์ฌ ํ๋กฌํํธ ์ปจํ
์คํธ ์ค์
MissingResourceTracker.getInstance().setCurrentPrompt(userPrompt);
+ // [AssetRegistry Init] ์์
๋ ์ง์คํธ๋ฆฌ ๋ก๋ ๋ณด์ฅ (๋ ์ด์ค ์ปจ๋์
ํด๊ฒฐ)
+ try {
+ const { initializeAssetRegistry } = await import('../../data/AssetRegistry');
+ await initializeAssetRegistry();
+ } catch (e) {
+ console.warn('[Pipeline] AssetRegistry ์ด๊ธฐํ ์คํจ:', e);
+ }
+
// [Vector Search Init] ์๋งจํฑ ๊ฒ์ ์ด๊ธฐํ
if (!VectorSearchService.initialized) {
console.log('[Pipeline] Vector Search Service ์ด๊ธฐํ ์ค...');
@@ -515,9 +528,22 @@ export class AIPipelineOrchestrator {
stages.push({ stage: 3, stageName: 'Scale Validation', status: 'completed' });
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- // Stage 4: Semantic Role Placement (์๋งจํฑ ์ญํ ๊ธฐ๋ฐ ๋ฐฐ์น)
+ // Stage 4: Semantic Role Placement (๊ณ์ธตํ NSSE ๋ฐฐ์น)
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- this.updateProgress(4, 'Semantic Role Placement', 'running');
+ this.updateProgress(4, 'Hierarchical Semantic Placement', 'running');
+
+ const nsseService = getNSSEIntegrationService();
+ nsseService.clear();
+
+ // 1. ์ปจํ
์ด๋์ ์ผ๋ฐ ์ค๋ธ์ ํธ ๋ถ๋ฆฌ
+ const containers = placeableObjects.filter(obj =>
+ obj.semanticRole === 'environment_container' || obj.semanticRole === 'sub_container'
+ );
+ const otherObjects = placeableObjects.filter(obj =>
+ obj.semanticRole !== 'environment_container' && obj.semanticRole !== 'sub_container'
+ );
+
+ const intermediatePlaced: any[] = [];
// ๋ฉ์ธ ์ปจํ
์ด๋ ๋ฐ์ด๋ฉ ๋ฐ์ค ๊ณ์ฐ
const containerBounds = mainContainer ? {
@@ -525,38 +551,95 @@ export class AIPipelineOrchestrator {
max: [mainContainerScale / 2, mainContainerScale * 0.6, mainContainerScale / 2] as [number, number, number],
} : null;
- // ๊ฐ ์ค๋ธ์ ํธ์ ์๋งจํฑ ์ญํ ๊ธฐ๋ฐ ์์น ์ ์ฉ
- const placedObjects = placeableObjects.map(obj => {
- const semanticRole = obj.semanticRole || 'unspecified';
- const placementHint = obj.placementHint;
-
- // MCTSPlacementService์ ์๋งจํฑ ๋ฐฐ์น ๋ก์ง ํ์ฉ
+ // 2. ์ปจํ
์ด๋ ์ฐ์ ๋ฐฐ์น ๋ฐ ์๋น์ค ๋ฑ๋ก
+ for (const container of containers) {
const position = MCTSPlacementService.applySemanticRolePlacement(
- semanticRole,
+ container.semanticRole,
containerBounds,
- obj.scale,
- placementHint
+ container.scale,
+ container.placementHint
);
- return {
- ...obj,
+ // ์ปจํ
์ด๋ ๊ฒฝ๊ณ ๋ฑ๋ก
+ const bounds = new THREE.Box3(
+ new THREE.Vector3(position[0] - container.scale[0] / 2, position[1], position[2] - container.scale[2] / 2),
+ new THREE.Vector3(position[0] + container.scale[0] / 2, position[1] + container.scale[1], position[2] + container.scale[2] / 2)
+ );
+ nsseService.registerContainer(container.id, bounds);
+
+ intermediatePlaced.push({
+ ...container,
position,
- semanticRole,
- };
- });
+ semanticRole: container.semanticRole
+ });
+ }
- this.updateProgress(4, 'Semantic Role Placement', 'completed',
- `${placedObjects.length}๊ฐ ๋ฐฐ์น ์๋ฃ`);
- stages.push({ stage: 4, stageName: 'Semantic Role Placement', status: 'completed' });
+ // 3. ํ์ ์ค๋ธ์ ํธ ๋ฐฐ์น (๋ถ๋ชจ ์ ์ฝ ์กฐ๊ฑด ๋ฐ์)
+ for (const obj of otherObjects) {
+ const semanticRole = obj.semanticRole || 'unspecified';
- const totalDuration = Date.now() - startTime;
+ // NSSE ์ ์ฝ ์กฐ๊ฑด ์ค๋น (๋ถ๋ชจ ์ ๋ฌด์ ๋ฐ๋ผ ์์ญ ์๋ ๊ฒฐ์ )
+ const prepared = nsseService.prepareConstraints(
+ obj.id,
+ obj.name,
+ semanticRole as any,
+ obj.parentId,
+ obj.placementHint as any
+ );
- console.log('='.repeat(60));
- console.log(`[NSSE] ์๋ฃ! ์์ ์๊ฐ: ${totalDuration}ms`);
- console.log(`[NSSE] ์ค๋ธ์ ํธ: ${placedObjects.length}`);
- console.log(`[NSSE] ๊ณต๊ฐ ๊ด๊ณ: ${relationCount}`);
- console.log(`[NSSE] ์ค์ผ์ผ ์ ํจ์ฑ: ${validCount}/${totalCount}`);
- console.log('='.repeat(60));
+ // ๋ถ๋ชจ ์์ญ ๋ด์์ ์ํ๋ง (๊ธฐ๋ณธ์ ์ผ๋ก ์ค์ฌ์์ ๋๋ค ์คํ์
)
+ const center = new THREE.Vector3();
+ prepared.constraints.searchVolume.getCenter(center);
+
+ const size = new THREE.Vector3();
+ prepared.constraints.searchVolume.getSize(size);
+
+ // ๋๋ค XZ ์คํ์
+ center.x += (Math.random() - 0.5) * size.x * 0.8;
+ center.z += (Math.random() - 0.5) * size.z * 0.8;
+
+ // ์๋งจํฑ ์ญํ ๊ธฐ๋ฐ Y ์กฐ์ ๋ฐ ํด๋จํ
+ const finalPos = nsseService.applySemanticRolePlacement(center, prepared.constraints);
+
+ intermediatePlaced.push({
+ ...obj,
+ position: [finalPos.x, finalPos.y, finalPos.z],
+ semanticRole
+ });
+ }
+
+ const placedObjects = intermediatePlaced;
+
+ this.updateProgress(4, 'Hierarchical Semantic Placement', 'completed',
+ `${placedObjects.length}๊ฐ ๊ณ์ธตํ ๋ฐฐ์น ์๋ฃ`);
+ stages.push({ stage: 4, stageName: 'Hierarchical Semantic Placement', status: 'completed' });
+
+ // โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
+ // [v4.0] Stage 5: Physics Scattering (๋ฌผ๋ฆฌ ์์ ํ)
+ // โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
+ this.updateProgress(5, 'Physics Scattering', 'running');
+ const scatteringService = new PhysicsScatteringService();
+
+ // ๋ฌผ๋ฆฌ ์ฐ์ฐ์ ์ํ ๋ฐ์ดํฐ ๋ณํ
+ const objectsForScattering: ScatteringObject[] = placedObjects.map(obj => ({
+ id: obj.id,
+ position: obj.position,
+ rotation: [0, Math.random() * Math.PI * 2, 0], // ์ด๊ธฐ ๋๋ค ํ์
+ scale: obj.scale
+ }));
+
+ const stabilizedObjects = await scatteringService.simulateScattering(objectsForScattering);
+
+ // ๋ฌผ๋ฆฌ ์์ ํ ๊ฒฐ๊ณผ ๋ฐ์
+ const finalPlacedObjects = placedObjects.map((obj, i) => ({
+ ...obj,
+ position: stabilizedObjects[i].position
+ }));
+
+ this.updateProgress(5, 'Physics Scattering', 'completed', '๋ฌผ๋ฆฌ์ ๊ฒน์นจ ํด๊ฒฐ ๋ฐ ์์ฐฉ ์๋ฃ');
+ stages.push({ stage: 5, stageName: 'Physics Scattering', status: 'completed' });
+
+ const totalDuration = Date.now() - startTime;
// [MissingResourceTracker] ๋๋ฝ ๋ฆฌ์์ค ๋์คํฌ ์ ์ฅ
await MissingResourceTracker.getInstance().flush();
@@ -570,7 +653,7 @@ export class AIPipelineOrchestrator {
iterations: 1,
placement_time_ms: totalDuration,
},
- objects: placedObjects.map(obj => ({
+ objects: finalPlacedObjects.map(obj => ({
zone_id: 'main',
concept: obj.name,
asset_id: obj.id,
@@ -583,11 +666,21 @@ export class AIPipelineOrchestrator {
})),
};
+ // โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
+ // [v4.0] Stage 11: NavMesh Generation (์ด๋ ๊ฐ๋ฅ ์์ญ ๊ณ์ฐ)
+ // โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
+ this.updateProgress(11, 'NavMesh Generation', 'running');
+ const navMesh = NavMeshGenerationService.generateGrid(placementResult, 0.5, mainContainerScale);
+ this.updateProgress(11, 'NavMesh Generation', 'completed',
+ `์ด๋ ๊ฐ๋ฅ ์์ญ: ${(navMesh.walkableAreaRatio * 100).toFixed(1)}%`);
+ stages.push({ stage: 11, stageName: 'NavMesh Generation', status: 'completed' });
+
return {
success: true,
unifiedSceneResult: unifiedResult,
inferenceResult,
placementResult,
+ navMesh,
stages,
totalDuration,
environmentType: 'outdoor', // NSSE๋ ๊ธฐ๋ณธ ์ผ์ธ
@@ -606,6 +699,137 @@ export class AIPipelineOrchestrator {
};
}
}
+
+ /**
+ * [v4.0] MACR (AI ๋นํ๊ฐ ๋ฃจํ) ํฌํจ ์ฌ ์์ฑ ๋ฐ ๊ฒ์ฆ
+ * 1. ์ฌ ์์ฑ
+ * 2. ๋ ๋๋ง ๋๊ธฐ (UI ํธ์ถ ํ์)
+ * 3. VLM ๋ถ์ ๋ฐ ํผ๋๋ฐฑ
+ */
+ async executeWithMACR(userPrompt: string): Promise {
+ // 1. ๊ธฐ๋ณธ ์์ฑ (NSSE + Physics)
+ const result = await this.executeNeuroSymbolic(userPrompt);
+ if (!result.success) return result;
+
+ try {
+ this.updateProgress(9, 'Visual Feedback (VLM)', 'pending', 'ํ๋ฉด ์บก์ฒ ๋๊ธฐ ์ค...');
+
+ const vlmService = new VLMFeedbackService();
+
+ // [Critical] ์ฌ๊ธฐ์๋ ์บ๋ฒ์ค ์บก์ฒ๋ฅผ ์ํด ์ ์ ๋๊ธฐ
+ await new Promise(r => setTimeout(r, 1500)); // ๋ ๋๋ง ์ ์ ์๊ฐ ์ฆ๋ (1.5s)
+
+ const imageBase64 = await vlmService.captureFromCanvas();
+ this.updateProgress(9, 'Visual Feedback (VLM)', 'running', 'Gemini ๋ถ์ ์ค...');
+
+ const feedback = await vlmService.analyzeScene(imageBase64, userPrompt);
+
+ this.updateProgress(9, 'Visual Feedback (VLM)', 'completed',
+ `์ ์: ${feedback.overallScore} | ์ ์: ${feedback.suggestions.length}๊ฑด`);
+
+ // โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
+ // [v4.0] Stage 10: Auto-Fix (์์จ ๊ต์ )
+ // โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
+ if (feedback.overallScore < 85 && feedback.suggestions.length > 0) {
+ this.updateProgress(10, 'Auto-Fix (Closed-loop)', 'running', 'ํผ๋๋ฐฑ ๊ธฐ๋ฐ ์๋ ์์ ์ค...');
+
+ const fixedResult = this.autoFixScene(result, feedback);
+
+ this.updateProgress(10, 'Auto-Fix (Closed-loop)', 'completed',
+ `๊ต์ ์๋ฃ (suggestions ${feedback.suggestions.length}๊ฑด ๋ฐ์)`);
+
+ return {
+ ...fixedResult,
+ feedback
+ };
+ }
+
+ return {
+ ...result,
+ feedback
+ };
+
+ } catch (err) {
+ console.warn('[MACR] ํผ๋๋ฐฑ ๋จ๊ณ ๊ฑด๋๋:', err);
+ return result;
+ }
+ }
+
+ /**
+ * [v4.0] Stage 10: Auto-Fix ํต์ฌ ๋ก์ง
+ * VLM ํผ๋๋ฐฑ์ Actionable ์ ์์ ์ฌ ๋ฐ์ดํฐ์ ๋ฐ์
+ */
+ private autoFixScene(result: PipelineResult, feedback: VLMFeedback): PipelineResult {
+ if (!result.placementResult) return result;
+
+ const updatedObjects = [...result.placementResult.objects];
+ let fixCount = 0;
+
+ for (const suggestion of feedback.suggestions) {
+ if (!suggestion.action) continue;
+
+ const { type, targetId, action } = suggestion;
+
+ // 1. ํน์ ์ค๋ธ์ ํธ ๋ฐฐ์น ๋ณด์ (Nudge)
+ if (type === 'placement' && targetId && action.nudge) {
+ const objIndex = updatedObjects.findIndex(o => o.asset_id === targetId);
+ if (objIndex !== -1) {
+ const obj = updatedObjects[objIndex];
+ updatedObjects[objIndex] = {
+ ...obj,
+ position: [
+ obj.position[0] + action.nudge[0],
+ obj.position[1] + action.nudge[1],
+ obj.position[2] + action.nudge[2]
+ ]
+ };
+ fixCount++;
+ console.log(`[Auto-Fix] Nudged object ${targetId} by ${action.nudge}`);
+ }
+ }
+
+ // 2. ์ค์ผ์ผ ๋ณด์
+ if (type === 'scale' && targetId && action.scaleMultiplier) {
+ const objIndex = updatedObjects.findIndex(o => o.asset_id === targetId);
+ if (objIndex !== -1) {
+ const obj = updatedObjects[objIndex];
+ updatedObjects[objIndex] = {
+ ...obj,
+ scale: [
+ obj.scale[0] * action.scaleMultiplier,
+ obj.scale[1] * action.scaleMultiplier,
+ obj.scale[2] * action.scaleMultiplier
+ ]
+ };
+ fixCount++;
+ console.log(`[Auto-Fix] Rescaled object ${targetId} by ${action.scaleMultiplier}`);
+ }
+ }
+
+ // 3. ๋ถ์๊ธฐ/ํ๊ฒฝ ๋ณด์ (Atmosphere/Post-processing)
+ if (type === 'atmosphere' && action) {
+ if (action.intensity !== undefined) {
+ console.log(`[Auto-Fix] Atmosphere enhancement suggested: Intensity ${action.intensity}`);
+ }
+ }
+
+ // 4. ์กฐ๋ช
๋ณด์ (Lighting)
+ if (type === 'lighting' && action.intensity !== undefined) {
+ console.log(`[Auto-Fix] Lighting adjustment suggested: Intensity ${action.intensity}`);
+ }
+ }
+
+ // [Note] ์กฐ๋ช
๊ฐ๋(intensity) ๋ฑ์ ์ ์ญ ์ํ๋ Renderer ๋ ๋ฒจ์์์ ์ฒ๋ฆฌ๊ฐ ํ์ํ๋ฏ๋ก
+ // ์ฌ๊ธฐ์๋ ๋ก๊ทธ๋ฅผ ๋จ๊ธฐ๊ณ , ์ถํ ํตํฉ ์คํ ์ด ์ก์
์ผ๋ก ์ฐ๋ํ ์ ์๋๋ก ์ค๊ณํฉ๋๋ค.
+
+ return {
+ ...result,
+ placementResult: {
+ ...result.placementResult,
+ objects: updatedObjects
+ }
+ };
+ }
}
// ๊ธฐ๋ณธ ์ธ์คํด์ค ๋ด๋ณด๋ด๊ธฐ
diff --git a/src/services/ai-pipeline/AssetIntelligenceService.ts b/src/services/ai-pipeline/AssetIntelligenceService.ts
index 35ee6d7..e202937 100644
--- a/src/services/ai-pipeline/AssetIntelligenceService.ts
+++ b/src/services/ai-pipeline/AssetIntelligenceService.ts
@@ -25,6 +25,8 @@ export const AssetRoleSchema = z.enum([
'framing', // ํ๋ ์ด๋ฐ ์์ (๊ตฌ๋ ์์ฑ)
'ambient', // ํ๊ฒฝ ์์ (๋ฐฐ๊ฒฝ ์ฑ์ฐ๊ธฐ)
'interactive', // ์ํธ์์ฉ ๊ฐ๋ฅ ์์
+ 'character', // ์บ๋ฆญํฐ / ์๋ฌผ
+ 'structure', // ๋ํ ๊ตฌ์กฐ๋ฌผ / ๊ฑด๋ฌผ
]);
/**
@@ -121,7 +123,7 @@ Generate a JSON object with the following structure:
"concept": "",
"search_keywords": ["<3-5 keywords for semantic search>"],
"count": <1-10>,
- "role": "",
+ "role": "",
"priority": <1-10, higher = place first>,
"size_hint": "",
"material_hint": ""
diff --git a/src/services/ai-pipeline/AssetRetrievalService.ts b/src/services/ai-pipeline/AssetRetrievalService.ts
index d34a833..64732fc 100644
--- a/src/services/ai-pipeline/AssetRetrievalService.ts
+++ b/src/services/ai-pipeline/AssetRetrievalService.ts
@@ -183,19 +183,33 @@ export const AssetRetrievalService = {
},
/**
- * [Phase 2.5] ํ์ผ ๊ฒฝ๋ก๋ก ์ ๋ํฌ ์์
์ฌ๋ถ ํ์ธ
+ * [Phase 2.5] ํฌ๊ธฐ/์นดํ
๊ณ ๋ฆฌ ๊ธฐ๋ฐ ์ ๋ํฌ ์์
์๋ ํ๋จ
+ *
+ * ํค์๋ ํ๋์ฝ๋ฉ ๋์ AssetMetadataService์ ํฌ๊ธฐ ์ถ์ ์ ํ์ฉ:
+ * - ๋์ด(y) โฅ 4m โ ๋ํ ๊ตฌ์กฐ๋ฌผ (๊ฑด๋ฌผ, ์ฑ, ํ ๋ฑ)
+ * - ๋ฐ๋ฅ๋ฉด์ (x * z) โฅ 50mยฒ โ ํ๊ฒฝ/์งํ ์์
+ * โ ์ฌ์ ๊ฐ์ ํ์ผ์ด 1๊ฐ๋ง ๋ฐฐ์น๋๋๋ก ๋ณด์ฅ
*/
isUniqueAssetPath: (filePath: string): boolean => {
- const lowerPath = filePath.toLowerCase();
+ // Procedural ์์
์ ์ ๋ํฌ ํ๋จ ์ ์ธ
+ if (filePath.startsWith('__PROCEDURAL__')) return false;
+
+ // ํ์ผ๋ช
์์ ์์
์ด๋ฆ ์ถ์ถ (๊ฒฝ๋ก์ ๋ง์ง๋ง ๋ถ๋ถ, ํ์ฅ์ ์ ๊ฑฐ)
+ const fileName = filePath.split('/').pop()?.replace(/\.glb$/i, '') || '';
+ if (!fileName) return false;
+
+ // AssetMetadataService๋ก ํฌ๊ธฐ ์ถ์
+ const { AssetMetadataService } = require('@/services/AssetMetadataService');
+ const size = AssetMetadataService.estimateSizeByName(fileName);
- // ๋ํ ๊ฑด๋ฌผ/ํ๊ฒฝ ์์
ํจํด
- const uniquePatterns = [
- 'hogwarts', 'castle', 'grand_hall', 'hall',
- 'fortress', 'palace', 'cathedral', 'temple',
- 'building', 'tower', 'mansion',
- ];
+ // ๋ํ ๊ตฌ์กฐ๋ฌผ: ๋์ด 4m ์ด์ ๋๋ ๋ฐ๋ฅ๋ฉด์ 50mยฒ ์ด์
+ const isLargeStructure = size.y >= 4 || (size.x * size.z) >= 50;
- return uniquePatterns.some(pattern => lowerPath.includes(pattern));
+ if (isLargeStructure) {
+ console.log(`[AssetRetrieval] ๐๏ธ ์ ๋ํฌ ์์
๊ฐ์ง (ํฌ๊ธฐ ๊ธฐ๋ฐ): "${fileName}" (${size.x.toFixed(1)}ร${size.y.toFixed(1)}ร${size.z.toFixed(1)})`);
+ }
+
+ return isLargeStructure;
},
/**
@@ -208,7 +222,7 @@ export const AssetRetrievalService = {
for (const assetConcept of zonePlan.assets) {
// ๊ฐ ๊ฐ๋
์ ๋ํด count๋งํผ ์์
๊ฒ์
for (let i = 0; i < assetConcept.count; i++) {
- const retrieved = await AssetRetrievalService.retrieveSingleAsset(assetConcept, i);
+ const retrieved = await AssetRetrievalService.retrieveSingleAsset(assetConcept, i, zonePlan.zone_name); // zone_name์ด๋ theme ์ ๋ณด๋ฅผ ํ์ฉ ๊ฐ๋ฅ
assets.push(retrieved);
// ํต๊ณ ์
๋ฐ์ดํธ
@@ -239,18 +253,20 @@ export const AssetRetrievalService = {
* ๋จ์ผ ์์
๊ฒ์ (Multi-Source Strategy)
* search_keywords๋ฅผ ํ์ฉํ ๋ค์ค ์ฟผ๋ฆฌ ์ ๋ต
*/
- retrieveSingleAsset: async (concept: AssetConcept, index: number): Promise => {
+ retrieveSingleAsset: async (concept: AssetConcept, index: number, themeHint?: string): Promise => {
const conceptName = concept.concept;
const searchKeywords = concept.search_keywords || [];
- // 1๋จ๊ณ: ๋ก์ปฌ ์บ์ ๊ฒ์ (๋ค์ค ์ฟผ๋ฆฌ ์ ๋ต)
+ console.log(`[AssetRetrieval] ๐ retrieveSingleAsset: "${conceptName}" (theme: ${themeHint || 'none'})`);
+
+ // 1๋จ๊ณ: ๋ก์ปฌ ์บ์(Hybrid Search) ๊ฒ์
// 1-1: ์๋ณธ concept์ผ๋ก ๊ฒ์
- let localPath = await AssetRetrievalService.searchLocalCache(conceptName);
+ let localPath = await AssetRetrievalService.searchLocalCache(conceptName, concept.role, themeHint);
// 1-2: concept ๊ฒ์ ์คํจ ์ search_keywords๋ก ์์ฐจ ๊ฒ์
if (!localPath && searchKeywords.length > 0) {
for (const keyword of searchKeywords) {
- localPath = await AssetRetrievalService.searchLocalCache(keyword);
+ localPath = await AssetRetrievalService.searchLocalCache(keyword, concept.role);
if (localPath) {
console.log(`[AssetRetrieval] โ
search_keywords ๋งค์นญ: "${keyword}" โ ${localPath}`);
break;
@@ -262,7 +278,7 @@ export const AssetRetrievalService = {
if (!localPath) {
const tokens = conceptName.split(/[_\s-]+/).filter(t => t.length > 2);
for (const token of tokens) {
- localPath = await AssetRetrievalService.searchLocalCache(token);
+ localPath = await AssetRetrievalService.searchLocalCache(token, concept.role);
if (localPath) {
console.log(`[AssetRetrieval] โ
ํ ํฐ ๋งค์นญ: "${token}" โ ${localPath}`);
break;
@@ -333,11 +349,11 @@ export const AssetRetrievalService = {
* ๋ก์ปฌ ์บ์์์ ์์
๊ฒ์ (Phase 2: ํ์ด๋ธ๋ฆฌ๋ ๊ฒ์)
* - BM25 (๋ ์์ปฌ) + Vector (์๋งจํฑ) + RRF ์ตํฉ
*/
- searchLocalCache: async (concept: string): Promise => {
- console.log(`[AssetRetrieval] ๐ searchLocalCache ํธ์ถ (ํ์ด๋ธ๋ฆฌ๋ ๊ฒ์): "${concept}"`);
+ searchLocalCache: async (concept: string, roleHint?: string, theme?: string): Promise => {
+ console.log(`[AssetRetrieval] ๐ searchLocalCache ํธ์ถ (ํ์ด๋ธ๋ฆฌ๋ ๊ฒ์): "${concept}"${roleHint ? ` (role: ${roleHint})` : ''}${theme ? ` (theme: ${theme})` : ''}`);
- // Phase 2: ํ์ด๋ธ๋ฆฌ๋ ๊ฒ์ (Vector + BM25 + RRF ์ตํฉ)
- const result = await VectorSearchService.findBestHybridMatch(concept);
+ // Phase 2: ํ์ด๋ธ๋ฆฌ๋ ๊ฒ์ (Vector + BM25 + RRF ์ตํฉ) + Phase 6: role ํํฐ๋ง + v3: ThemeGuard
+ const result = await VectorSearchService.findBestHybridMatch(concept, roleHint, theme);
if (result) {
console.log(`[AssetRetrieval] ๐ HybridSearch ๊ฒฐ๊ณผ: ${result.asset?.id} (RRF: ${result.rrfScore.toFixed(4)}, confidence: ${result.confidence.toFixed(2)})`);
diff --git a/src/services/ai-pipeline/NavMeshGenerationService.ts b/src/services/ai-pipeline/NavMeshGenerationService.ts
new file mode 100644
index 0000000..2415b63
--- /dev/null
+++ b/src/services/ai-pipeline/NavMeshGenerationService.ts
@@ -0,0 +1,104 @@
+/**
+ * NavMeshGenerationService.ts
+ *
+ * v4.0 Phase 3: Navigation Intelligence
+ * ๋ฐฐ์น๋ ์ค๋ธ์ ํธ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์บ๋ฆญํฐ๊ฐ ์ด๋ ๊ฐ๋ฅํ ์์ญ(NavMesh)์ ๊ณ์ฐํฉ๋๋ค.
+ */
+
+import * as THREE from 'three';
+import { PlacementResult, PlacedObject } from './MCTSPlacementService';
+
+export interface NavGridCell {
+ x: number;
+ z: number;
+ isWalkable: boolean;
+}
+
+export interface NavMeshResult {
+ gridSize: number;
+ resolution: number;
+ cells: NavGridCell[];
+ walkableAreaRatio: number;
+}
+
+export class NavMeshGenerationService {
+ /**
+ * ๋ฐฐ์น ๊ฒฐ๊ณผ๋ก๋ถํฐ ๋ด๋น๊ฒ์ด์
๊ทธ๋ฆฌ๋ ์์ฑ
+ *
+ * @param placementResult - MCTS ๋ฐฐ์น ๊ฒฐ๊ณผ
+ * @param resolution - ๊ทธ๋ฆฌ๋ ํด์๋ (๊ธฐ๋ณธ 0.5m)
+ * @param sceneSize - ์ฌ ์ ์ฒด ํฌ๊ธฐ (๊ธฐ๋ณธ 30m)
+ */
+ static generateGrid(
+ placementResult: PlacementResult,
+ resolution: number = 0.5,
+ sceneSize: number = 30
+ ): NavMeshResult {
+ const halfSize = sceneSize / 2;
+ const cells: NavGridCell[] = [];
+ let walkableCount = 0;
+
+ // 1. ๊ทธ๋ฆฌ๋ ์ด๊ธฐํ
+ for (let x = -halfSize; x < halfSize; x += resolution) {
+ for (let z = -halfSize; z < halfSize; z += resolution) {
+ cells.push({ x, z, isWalkable: true });
+ }
+ }
+
+ // 2. ์ค๋ธ์ ํธ๋ณ ์ถฉ๋ ์์ญ(AABB) ๊ณ์ฐ ๋ฐ ๊ทธ๋ฆฌ๋ ์ฐจ๋จ
+ placementResult.objects.forEach((obj: any) => {
+ // ๋ฐ๋ฅ ์ ์ ์ค๋ธ์ ํธ(๊ฐ๊ตฌ, ๊ตฌ์กฐ๋ฌผ)๋ง ๋ด๋น๊ฒ์ด์
์ฐจ๋จ ๋์์ผ๋ก ๊ฐ์ฃผ
+ if (
+ obj.semantic_role === 'furniture_floor' ||
+ obj.semantic_role === 'structure' ||
+ obj.semantic_role === 'sub_container' ||
+ obj.semantic_role === 'environment_container'
+ ) {
+ const box = this.calculateObjectFloorAABB(obj);
+
+ // ํด๋น ์์ญ์ ๊ทธ๋ฆฌ๋ ์
๋ค์ non-walkable๋ก ์ค์
+ cells.forEach(cell => {
+ if (cell.isWalkable && this.isPointInBox(cell.x, cell.z, box)) {
+ cell.isWalkable = false;
+ }
+ });
+ }
+ });
+
+ walkableCount = cells.filter(c => c.isWalkable).length;
+
+ console.log(`[NavMesh] ์์ฑ ์๋ฃ: ํด์๋=${resolution}m, ์ด๋๊ฐ๋ฅ ๋น์จ=${((walkableCount / cells.length) * 100).toFixed(1)}%`);
+
+ return {
+ gridSize: sceneSize,
+ resolution,
+ cells,
+ walkableAreaRatio: walkableCount / cells.length
+ };
+ }
+
+ /**
+ * ์ค๋ธ์ ํธ์ ๋ฐ๋ฅ ํฌ์ AABB ๊ณ์ฐ (ํจ๋ฉ ํฌํจ)
+ */
+ private static calculateObjectFloorAABB(obj: PlacedObject): { minX: number; minZ: number; maxX: number; maxZ: number } {
+ const padding = 0.2; // ์บ๋ฆญํฐ ์ฌ์ ๊ณต๊ฐ
+ const halfX = (obj.scale[0] / 2) + padding;
+ const halfZ = (obj.scale[2] / 2) + padding;
+
+ return {
+ minX: obj.position[0] - halfX,
+ minZ: obj.position[2] - halfZ,
+ maxX: obj.position[0] + halfX,
+ maxZ: obj.position[2] + halfZ
+ };
+ }
+
+ /**
+ * ์ ์ด ๋ฐ์ค ๋ด๋ถ์ ์๋์ง ํ์ธ
+ */
+ private static isPointInBox(x: number, z: number, box: { minX: number; minZ: number; maxX: number; maxZ: number }): boolean {
+ return x >= box.minX && x <= box.maxX && z >= box.minZ && z <= box.maxZ;
+ }
+}
+
+export default NavMeshGenerationService;
diff --git a/src/services/ai-pipeline/PBRMaterialConverter.ts b/src/services/ai-pipeline/PBRMaterialConverter.ts
new file mode 100644
index 0000000..caf19b5
--- /dev/null
+++ b/src/services/ai-pipeline/PBRMaterialConverter.ts
@@ -0,0 +1,87 @@
+/**
+ * PBRMaterialConverter.ts
+ *
+ * ์๊ฐ์ ํ์ง ๊ณ ๋ํ ์๋น์ค (v4.0 Premium Visuals)
+ * ๊ธฐ์กด Matcap ๊ธฐ๋ฐ ์ฌ์ง์ ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ ๋ ๋๋ง(PBR) ์ฌ์ง๋ก ๋ณํํ๊ณ ์์ฑ์ ์ต์ ํํฉ๋๋ค.
+ */
+
+import * as THREE from 'three';
+
+export interface PBRProperties {
+ roughness?: number;
+ metalness?: number;
+ envMapIntensity?: number;
+ color?: string;
+ emissive?: string;
+ emissiveIntensity?: number;
+}
+
+export class PBRMaterialConverter {
+ /**
+ * GLB ๋ชจ๋ธ ์ ์ฒด๋ฅผ ์ํํ๋ฉฐ PBR ์ฌ์ง(MeshStandardMaterial)์ ์ ์ฉํฉ๋๋ค.
+ */
+ static convert(group: THREE.Group, props: PBRProperties = {}) {
+ group.traverse((child) => {
+ if (child instanceof THREE.Mesh) {
+ // ๊ธฐ์กด ์ฌ์ง ์ ๋ณด ์ถ์ถ
+ const oldMat = child.material as THREE.MeshStandardMaterial;
+
+ // ์๋ก์ด PBR ์ฌ์ง ์์ฑ (MeshStandardMaterial ์ฌ์ฉ)
+ const newMat = new THREE.MeshStandardMaterial({
+ color: props.color ? new THREE.Color(props.color) : oldMat.color,
+ map: oldMat.map,
+ normalMap: oldMat.normalMap,
+ roughnessMap: oldMat.roughnessMap,
+ metalnessMap: oldMat.metalnessMap,
+ aoMap: oldMat.aoMap,
+ // ๊ธฐ๋ณธ PBR ๊ฐ ์ค์
+ roughness: props.roughness ?? 0.7,
+ metalness: props.metalness ?? 0.2,
+ envMapIntensity: props.envMapIntensity ?? 1.0,
+ // ๋ฐ๊ด ์ค์ (ํ์ ์)
+ emissive: props.emissive ? new THREE.Color(props.emissive) : oldMat.emissive,
+ emissiveIntensity: props.emissiveIntensity ?? (oldMat.emissiveIntensity || 0),
+ });
+
+ // ๊ธฐ์กด ์ฌ์ง ํด์ (๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ)
+ if (oldMat.dispose) oldMat.dispose();
+
+ child.material = newMat;
+ child.castShadow = true;
+ child.receiveShadow = true;
+ }
+ });
+
+ console.log(`[PBRMaterialConverter] โจ PBR ์ฌ์ง ๋ณํ ์๋ฃ: ${group.name || 'Unknown Group'}`);
+ }
+
+ /**
+ * ์๋งจํฑ ์ญํ (SemanticRole)์ ๋ฐ๋ฅธ ํ๋ฆฌ์
๋ฌผ์ฑ ์ ์ฉ
+ */
+ static applyByRole(group: THREE.Group, role: string) {
+ let props: PBRProperties = {};
+
+ switch (role) {
+ case 'character':
+ props = { roughness: 0.6, metalness: 0.1, envMapIntensity: 1.2 };
+ break;
+ case 'structure':
+ props = { roughness: 0.8, metalness: 0.0, envMapIntensity: 0.8 };
+ break;
+ case 'prop':
+ if (group.name.toLowerCase().includes('metal')) {
+ props = { roughness: 0.2, metalness: 0.9, envMapIntensity: 1.5 };
+ } else {
+ props = { roughness: 0.7, metalness: 0.1, envMapIntensity: 1.0 };
+ }
+ break;
+ case 'nature':
+ props = { roughness: 0.9, metalness: 0.0, envMapIntensity: 0.5 };
+ break;
+ default:
+ props = { roughness: 0.7, metalness: 0.2, envMapIntensity: 1.0 };
+ }
+
+ this.convert(group, props);
+ }
+}
diff --git a/src/services/ai-pipeline/PhysicsScatteringService.ts b/src/services/ai-pipeline/PhysicsScatteringService.ts
new file mode 100644
index 0000000..08b50c5
--- /dev/null
+++ b/src/services/ai-pipeline/PhysicsScatteringService.ts
@@ -0,0 +1,110 @@
+/**
+ * PhysicsScatteringService.ts
+ *
+ * ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ ์ค๋ธ์ ํธ ๋ฐฐ์น ๋ณด์ ์๋น์ค (v4.0 Physical Intelligence)
+ * MCTS๋ก ๊ฒฐ์ ๋ ์ด๊ธฐ ์์น์์ ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์
์ ์คํํ์ฌ ์์ฐ์ค๋ฌ์ด ๋ฐฐ์น๋ฅผ ์ ๋ํฉ๋๋ค.
+ */
+
+import RAPIER from '@dimforge/rapier3d-compat';
+
+export interface ScatteringObject {
+ id: string;
+ position: [number, number, number];
+ rotation: [number, number, number];
+ scale: [number, number, number];
+ mass?: number;
+ friction?: number;
+ restitution?: number;
+}
+
+export class PhysicsScatteringService {
+ private static initialized = false;
+
+ /**
+ * Rapier ์์ง ์ด๊ธฐํ (WASM ๋ก๋)
+ */
+ static async init() {
+ if (!this.initialized) {
+ // ๋ธ๋ผ์ฐ์ ๋ฐ Node ํ๊ฒฝ์์ ํธํ๋๋๋ก ์ด๊ธฐํ
+ await RAPIER.init();
+ this.initialized = true;
+ console.log('[PhysicsScatteringService] ๐๏ธ Rapier Physics Engine Initialized');
+ }
+ }
+
+ /**
+ * ์ง์ ๋ ์ค๋ธ์ ํธ ๋ฆฌ์คํธ์ ๋ํด ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์
์คํ
+ * @param objects ์ด๊ธฐ ๋ฐฐ์น ์ ๋ณด
+ * @param steps ์๋ฎฌ๋ ์ด์
์คํ
(๊ธฐ๋ณธ 60ํ๋ ์ = 1์ด)
+ * @returns ๋ฌผ๋ฆฌ์ ์ผ๋ก ์์ ํ๋ ์์น ์ ๋ณด๋ฅผ ํฌํจํ ์ค๋ธ์ ํธ ๋ฆฌ์คํธ
+ */
+ async simulateScattering(objects: ScatteringObject[], steps: number = 60): Promise {
+ await PhysicsScatteringService.init();
+
+ // 1. World ์์ฑ (์ค๋ ฅ ์ค์ : Y์ถ ์๋๋ฐฉํฅ -9.81)
+ const gravity = { x: 0.0, y: -9.81, z: 0.0 };
+ const world = new RAPIER.World(gravity);
+
+ // 2. ๋ฐ๋ฅ(Ground) ์์ฑ (์ค๋ธ์ ํธ๋ค์ด ์๋๋ก ๋จ์ด์ง์ง ์๊ฒ)
+ // ๋์ ํ๋ฉด์ ๋ฐ๋ฅ์ผ๋ก ์ค์
+ const groundColliderDesc = RAPIER.ColliderDesc.cuboid(100, 0.1, 100);
+ world.createCollider(groundColliderDesc);
+
+ // 3. RigidBody ๋ฐ Collider ๋ฑ๋ก
+ const bodyMap = new Map();
+
+ objects.forEach(obj => {
+ // ์์น ๋ณด์ ์ฉ RigidBody (์
๋ ฅ ์์น๋ณด๋ค ์์ฃผ ์ฝ๊ฐ ์์์ ๋จ์ด๋จ๋ฆผ์ผ๋ก์จ ๊ฒน์นจ ๋ฐฉ์ง ๋ฐ ์์ฐฉ ์ ๋)
+ const bodyDesc = RAPIER.RigidBodyDesc.dynamic()
+ .setTranslation(obj.position[0], obj.position[1] + 0.05, obj.position[2])
+ // ๋จ์ Y์ถ ํ์ ์ ์ฉ (Quaternion: [0, sin(y/2), 0, cos(y/2)])
+ .setRotation({
+ x: 0,
+ y: Math.sin(obj.rotation[1] / 2),
+ z: 0,
+ w: Math.cos(obj.rotation[1] / 2)
+ });
+
+ const body = world.createRigidBody(bodyDesc);
+
+ // ์ฝ๋ผ์ด๋ ์ค์ (๋จ์ ๋ฐ์ค ๊ธฐ๋ฐ)
+ // scale์ ์ ๋ฐ(half-extents)์ ์ธ์๋ก ์ ๋ฌ
+ const colliderDesc = RAPIER.ColliderDesc.cuboid(
+ Math.max(obj.scale[0], 0.1) / 2,
+ Math.max(obj.scale[1], 0.1) / 2,
+ Math.max(obj.scale[2], 0.1) / 2
+ )
+ .setFriction(obj.friction ?? 0.5)
+ .setRestitution(obj.restitution ?? 0.2);
+
+ world.createCollider(colliderDesc, body);
+ bodyMap.set(obj.id, body);
+ });
+
+ // 4. ์๋ฎฌ๋ ์ด์
์คํ (์ง์ ๋ ์คํ
๋งํผ)
+ // [Note] ํค๋๋ฆฌ์ค ํ๊ฒฝ์ด๋ฏ๋ก ๋งค์ฐ ๋น ๋ฅธ ์๋๋ก ์ฐ์ฐ๋จ
+ for (let i = 0; i < steps; i++) {
+ world.step();
+ }
+
+ // 5. ๊ฒฐ๊ณผ ์ถ์ถ
+ const results = objects.map(obj => {
+ const body = bodyMap.get(obj.id);
+ if (!body) return obj;
+
+ const trans = body.translation();
+ // ์ฟผํฐ๋์ธ์์ Y์ถ ํ์ ์ ๋ค์ ์ถ์ถํ๋ ๋์ , ์์ ํ๋ ์์น ๋ฐ์์ ์ฃผ๋ชฉ์ ์ผ๋ก ํจ
+
+ return {
+ ...obj,
+ position: [trans.x, trans.y, trans.z]
+ } as ScatteringObject;
+ });
+
+ // 6. ๋ฆฌ์์ค ํด์ (Memory leak ๋ฐฉ์ง ํ์)
+ world.free();
+
+ console.log(`[PhysicsScatteringService] ๐ฆ ${objects.length}๊ฐ ์ค๋ธ์ ํธ ๋ฌผ๋ฆฌ ์์ ํ ์๋ฃ`);
+ return results;
+ }
+}
diff --git a/src/services/ai-pipeline/RelativeScalePolicy.ts b/src/services/ai-pipeline/RelativeScalePolicy.ts
index da25e4c..1b3ecc4 100644
--- a/src/services/ai-pipeline/RelativeScalePolicy.ts
+++ b/src/services/ai-pipeline/RelativeScalePolicy.ts
@@ -40,6 +40,10 @@ export const SCALE_RATIO_BY_ROLE: Record();
+ // [v3.4] ReflexArc (OBB SAT Collision Engine) ์ด๊ธฐํ
+ const ReflexArc = (await import('@/cells/core/ReflexArc')).ReflexArc;
+
+ // 1. ๊ธฐ์กด ๋ฐฐ์น ๋ฐ์ดํฐ + ํ๋ ์ด์ด(PC) ์์น ์ถ๊ฐ
+ // PC๋ ๋ณดํต ์ค์ ๋ถ๊ทผ์ ์์นํ๋ฏ๋ก (0,0,0) ์ฃผ๋ณ 2m ์์ญ์ ์ถฉ๋ ๊ตฌ์ญ์ผ๋ก ์ค์
+ const pcOBB = {
+ id: 'PLAYER_PC_RESERVED',
+ position: [0, 0, 0] as [number, number, number],
+ scale: [1.5, 2.0, 1.5] as [number, number, number], // ํ๋ ์ด์ด ๋ถํผ
+ rotation: [0, 0, 0] as [number, number, number]
+ };
+
+ const candidateObjects = [
+ pcOBB,
+ ...placementResult.objects.map(obj => ({
+ id: obj.asset_id,
+ position: obj.position,
+ scale: obj.scale,
+ rotation: obj.rotation
+ }))
+ ];
+
+ const reflexEngine = new ReflexArc();
+ // ์์ง์ ๋ชจ๋ ์ค๋ธ์ ํธ ๋ฏธ๋ฆฌ ๋ฑ๋กํ์ฌ ์ํธ ์ถฉ๋ ์ค๋น
+ candidateObjects.forEach(o => reflexEngine.commit(o.id, o.position, o.scale, o.rotation));
for (const obj of placementResult.objects) {
- const validated = RenderValidationService.validateObject(obj, positionMap, issues);
- validatedObjects.push(validated);
+ // 1. ๊ธฐ๋ณธ ๋ฌผ๋ฆฌ ๋ฐ ๊ฒฝ๊ณ ๊ฒ์ฆ (์ง๋ฉด, ๊ฒฝ๊ณ ํด๋จํ)
+ const preValidated = RenderValidationService.validateObjectBasic(obj, issues);
- if (validated.was_adjusted) {
- adjustedCount++;
+ // 2. ReflexArc๋ฅผ ํตํ ์ ๋ฐ OBB ์ถฉ๋ ๊ฒ์ฌ ๋ฐ ํด๊ฒฐ (MTV ์ ์ฉ)
+ // PC ์์ญ ์นจ๋ฒ ์ Nudge(๋ฐ์ด๋ด๊ธฐ)๊ฐ ์ํ๋จ
+ const reflexResult = reflexEngine.check(
+ preValidated.position,
+ preValidated.scale,
+ preValidated.rotation,
+ obj.asset_id
+ );
+
+ if (!reflexResult.allowed || reflexResult.action !== 'PASS') {
+ const isAdjusted = reflexResult.action === 'NUDGE' || reflexResult.action === 'SHRINK';
+
+ issues.push({
+ object_id: obj.asset_id,
+ issue_type: 'collision',
+ severity: isAdjusted ? 'fixed' : 'error',
+ description: `[ReflexArc] ${reflexResult.action}: ์ถฉ๋ ํด๊ฒฐ ์๋๋จ`,
+ original_value: obj.position,
+ corrected_value: reflexResult.finalPosition,
+ });
+
+ preValidated.position = reflexResult.finalPosition as [number, number, number];
+ preValidated.scale = reflexResult.finalScale as [number, number, number];
+ preValidated.was_adjusted = isAdjusted;
+ preValidated.adjustments = [
+ ...(preValidated.adjustments || []),
+ `ReflexArc ${reflexResult.action} (Penetration: ${(reflexResult.penetrationDepth || 0).toFixed(3)}m)`
+ ];
}
- // ์์น ๋งต์ ์ถ๊ฐ (์ถฉ๋ ๊ฐ์ง์ฉ)
- const posKey = `${Math.round(validated.position[0])},${Math.round(validated.position[2])}`;
- positionMap.set(posKey, obj);
+ validatedObjects.push(preValidated);
+ if (preValidated.was_adjusted) adjustedCount++;
+ }
+
+ // โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
+ // [Stage 7.5] AI Quality Gate (AI Judge)
+ // โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
+ try {
+ console.log(`[RenderValidation] AI Quality Gate ๊ฒ์ฆ ์๋ (PRO)...`);
+ const aiResponse = await fetch('/api/ai/quality-gate', {
+ method: 'POST',
+ headers: { 'Content-Type': 'application/json' },
+ body: JSON.stringify({ placementResult, sceneSpec }),
+ });
+
+ if (aiResponse.ok) {
+ const aiData = await aiResponse.json();
+
+ // AI ์ ์ ์ด์ ๋ฐ์
+ if (aiData.issues && aiData.issues.length > 0) {
+ aiData.issues.forEach((issue: any) => {
+ issues.push(issue);
+
+ // ์์ ์ ์์ด ์๊ณ , ๋์ ์ค๋ธ์ ํธ๋ฅผ ์ฐพ์ ๊ฒฝ์ฐ ๋ฐ์
+ const targetObj = validatedObjects.find(o => o.id === issue.object_id);
+ if (targetObj && issue.suggested_adjustment) {
+ if (issue.suggested_adjustment.position) {
+ targetObj.position = issue.suggested_adjustment.position;
+ targetObj.was_adjusted = true;
+ targetObj.adjustments = [...(targetObj.adjustments || []), `AI Judge: ${issue.description}`];
+ adjustedCount++;
+ }
+ }
+ });
+ }
+ console.log(`[RenderValidation] AI Quality Gate ์๋ฃ: ${aiData.issues?.length || 0}๊ฐ ์ด์ ๋ฐ๊ฒฌ`);
+ }
+ } catch (aiError) {
+ console.warn(`[RenderValidation] AI Quality Gate ์คํจ (๋ฌด์ํ๊ณ ํด๋ฆฌ์คํฑ ๊ฒฐ๊ณผ ์ฌ์ฉ):`, aiError);
}
const validationTime = Date.now() - startTime;
@@ -147,11 +232,11 @@ export const RenderValidationService = {
},
/**
- * ๋จ์ผ ์ค๋ธ์ ํธ ๊ฒ์ฆ
+ * ๋จ์ผ ์ค๋ธ์ ํธ ๊ธฐ๋ณธ ๊ฒ์ฆ (์ง๋ฉด, ๊ฒฝ๊ณ)
+ * ์ถฉ๋์ Stage 7 ์์ค์์ ReflexArc๊ฐ ์ฒ๋ฆฌํจ
*/
- validateObject: (
+ validateObjectBasic: (
obj: PlacedObject,
- positionMap: Map,
issues: ValidationIssue[]
): ValidatedObject => {
const adjustments: string[] = [];
@@ -193,25 +278,6 @@ export const RenderValidationService = {
wasAdjusted = true;
}
- // 3. ์์ ๋์ผ ์์น ์ถฉ๋๋ง ์ฒ๋ฆฌ (๋ฏธ์ธ ์กฐ์ )
- const posKey = `${Math.round(position[0])},${Math.round(position[2])}`;
- if (positionMap.has(posKey)) {
- issues.push({
- object_id: obj.asset_id,
- issue_type: 'collision',
- severity: 'fixed',
- description: `๋์ผ ์์น ์ถฉ๋ ๊ฐ์ง`,
- });
-
- // ์ฝ๊ฐ ์ด๋ (0.5~1.5m ๋๋ค)
- const offset = 0.5 + Math.random();
- const angle = Math.random() * Math.PI * 2;
- position[0] += Math.cos(angle) * offset;
- position[2] += Math.sin(angle) * offset;
- adjustments.push('์ถฉ๋ ํํผ ์ด๋');
- wasAdjusted = true;
- }
-
return {
id: obj.asset_id,
asset_id: obj.asset_id,
diff --git a/src/services/ai-pipeline/SemanticScaleResolver.ts b/src/services/ai-pipeline/SemanticScaleResolver.ts
index 00074bd..da4ad1b 100644
--- a/src/services/ai-pipeline/SemanticScaleResolver.ts
+++ b/src/services/ai-pipeline/SemanticScaleResolver.ts
@@ -54,6 +54,10 @@ export const SEMANTIC_ALPHA_TABLE: Record = {
lighting: 0.015, // ์กฐ๋ช
(๋จํ, ํ๋ถ)
effect: 0.01, // ํํฐํด, ์๊ฐ, ๋ง๋ฒ ํจ๊ณผ
+ // ์๋ฌผ ๋ฐ ๋ํ ๊ตฌ์กฐ๋ฌผ
+ character: 0.06, // ์บ๋ฆญํฐ (๋ฐฉ ํฌ๊ธฐ์ 6%, ์ฝ 0.72m~1.8m)
+ structure: 0.5, // ๊ตฌ์กฐ๋ฌผ (๋ฐฉ ํฌ๊ธฐ์ 50%, ์ฝ 5m~10m)
+
// ๊ธฐ๋ณธ๊ฐ
unspecified: 0.05, // ๋ถ๋ฅ๋์ง ์์ - ์ค๊ฐ๊ฐ
};
diff --git a/src/services/ai-pipeline/UnifiedSceneGenerationService.ts b/src/services/ai-pipeline/UnifiedSceneGenerationService.ts
index 5a50f92..0e22497 100644
--- a/src/services/ai-pipeline/UnifiedSceneGenerationService.ts
+++ b/src/services/ai-pipeline/UnifiedSceneGenerationService.ts
@@ -132,7 +132,7 @@ const UNIFIED_SCENE_PROMPT_TEMPLATE = `
"id": "๊ณ ์ ID",
"name": "์ค๋ธ์ ํธ ์ด๋ฆ",
"description": "๊ฒ์์ฉ ์ค๋ช
",
- "semanticRole": "environment_container | sub_container | furniture_floor | decoration_floating | decoration_hanging | decoration_surface | lighting | effect | unspecified",
+ "semanticRole": "environment_container | sub_container | furniture_floor | decoration_floating | decoration_hanging | decoration_surface | lighting | effect | character | structure | unspecified",
"keywords": ["๊ฒ์", "ํค์๋"],
"parentId": "๋ถ๋ชจ ID (์์ผ๋ฉด null)",
"isContainer": true/false,
@@ -142,6 +142,7 @@ const UNIFIED_SCENE_PROMPT_TEMPLATE = `
"placementHint": {
"floatingRange": [minY, maxY], // ๋ถ์ ์ค๋ธ์ ํธ์ฉ
"attachTo": "floor | ceiling | wall",
+ "y_range": [minY, maxY], // Y์ถ ๋ฐฐ์น ๋ฒ์ (ํ์)
"zone": "center | near_wall | corner | random"
},
"suggestedScale": ๋ฏธํฐ_๋จ์_์ค์ผ์ผ,
@@ -172,7 +173,7 @@ const UNIFIED_SCENE_PROMPT_TEMPLATE = `
- ๋ฒฝ๋ฉด ๋ถ์ฐฉ: \`y_range: [1.2, 2.0]\`
### 2. semantic_role (ํ์)
-\`furniture_floor\`, \`decoration_floating\`, \`decoration_hanging\`, \`lighting\`, \`effect\`, \`sub_container\` ์ค ์ ํ.
+\`furniture_floor\`, \`decoration_floating\`, \`decoration_hanging\`, \`lighting\`, \`effect\`, \`sub_container\`, \`character\`, \`structure\` ์ค ์ ํ.
โ ๏ธ **์ด ํ๋๊ฐ ๋๋ฝ๋๋ฉด ํด๋น ์ค๋ธ์ ํธ๋ ์ฌ๋ฐ๋ฅด๊ฒ ๋ฐฐ์น๋์ง ์์ต๋๋ค.**
@@ -380,6 +381,8 @@ export const UnifiedSceneGenerationService = {
decoration_hanging: 1.5,
lighting: 0.5,
effect: 2,
+ character: 1.8,
+ structure: 10,
unspecified: 1,
};
return scaleMap[role] || 1;
diff --git a/src/services/ai-pipeline/VLMFeedbackService.ts b/src/services/ai-pipeline/VLMFeedbackService.ts
new file mode 100644
index 0000000..330eeb6
--- /dev/null
+++ b/src/services/ai-pipeline/VLMFeedbackService.ts
@@ -0,0 +1,147 @@
+/**
+ * VLMFeedbackService.ts
+ *
+ * Stage 9: VLM ๊ธฐ๋ฐ ๋น์ฃผ์ผ ํผ๋๋ฐฑ ์๋น์ค
+ * ๋ ๋๋ง๋ ์ฌ ์ด๋ฏธ์ง๋ฅผ ๋ถ์ํ์ฌ ์ ์ฑ์ ํ๊ฐ ๋ฐ ๊ฐ์ ์ ์์ ์์ฑํฉ๋๋ค. (v4.0 MACR)
+ */
+
+import { GoogleGenerativeAI } from "@google/generative-ai";
+
+export interface VLMFeedback {
+ overallScore: number;
+ composition: string;
+ atmosphere: string;
+ physicalIntegrity: string;
+ issues: string[];
+ suggestions: Array<{
+ type: 'placement' | 'lighting' | 'scale' | 'atmosphere';
+ targetId?: string;
+ advice: string;
+ action?: {
+ nudge?: [number, number, number]; // [x, y, z] ์ด๋๋ (๋ฏธํฐ)
+ scaleMultiplier?: number; // ์ค์ผ์ผ ๋ณ๊ฒฝ ๋ฐฐ์จ
+ intensity?: number; // ์กฐ๋ช
๋ฑ ๊ฐ๋
+ }
+ }>;
+}
+
+export class VLMFeedbackService {
+ private model: any;
+
+ constructor() {
+ // ํ๊ฒฝ ๋ณ์์์ API ํค ๋ก๋ (Next.js ํด๋ผ์ด์ธํธ/์๋ฒ ๊ณต์ฉ)
+ const apiKey = process.env.NEXT_PUBLIC_GEMINI_API_KEY || process.env.GEMINI_API_KEY;
+ if (!apiKey) {
+ console.warn('[VLMFeedbackService] API Key missing. Feedback will be skipped.');
+ return;
+ }
+ const genAI = new GoogleGenerativeAI(apiKey);
+ this.model = genAI.getGenerativeModel({ model: "gemini-2.0-flash" });
+ }
+
+ /**
+ * ํด๋ผ์ด์ธํธ ์บ๋ฒ์ค ์บก์ฒ ์์ฒญ ๋ฐ ๋๊ธฐ
+ * [Note] PreviewCanvas.tsx์ CaptureScene ์ปดํฌ๋ํธ๊ฐ ํ์ฑํ๋์ด ์์ด์ผ ํจ
+ */
+ async captureFromCanvas(): Promise {
+ if (typeof window === 'undefined') {
+ throw new Error('[VLMFeedbackService] Capture is only supported in browser environment');
+ }
+
+ return new Promise((resolve, reject) => {
+ const requestId = Math.random().toString(36).substring(7);
+ const timeout = setTimeout(() => {
+ window.removeEventListener(`captureResponse_${requestId}`, handleResponse as any);
+ reject(new Error('[VLMFeedbackService] Capture timed out (5s)'));
+ }, 5000);
+
+ const handleResponse = (e: CustomEvent) => {
+ clearTimeout(timeout);
+ window.removeEventListener(`captureResponse_${requestId}`, handleResponse as any);
+ if (e.detail.success) {
+ resolve(e.detail.dataUrl);
+ } else {
+ reject(new Error(e.detail.error || 'Unknown capture error'));
+ }
+ };
+
+ window.addEventListener(`captureResponse_${requestId}`, handleResponse as any);
+
+ // PreviewCanvas์ ์บก์ฒ ์์ฒญ ๋ฐ์ก
+ console.log(`[VLMFeedbackService] ๐ธ ์บก์ฒ ์์ฒญ ์ค (requestId: ${requestId})...`);
+ window.dispatchEvent(new CustomEvent('requestSceneCapture', { detail: { requestId } }));
+ });
+ }
+
+ /**
+ * Gemini VLM์ ํตํ ์ฌ ๋ถ์
+ */
+ async analyzeScene(imageBase64: string, originalPrompt: string): Promise {
+ if (!this.model) throw new Error('[VLMFeedbackService] Model not initialized');
+
+ // Data URL์์ ์ค์ Base64 ๋ฐ์ดํฐ๋ง ์ถ์ถ
+ const base64Data = imageBase64.includes(',') ? imageBase64.split(',')[1] : imageBase64;
+
+ const systemPrompt = `
+ ์ฌ์ฉ์์ ์๋ณธ ์์ฒญ: "${originalPrompt}"
+
+ ๋น์ ์ ์๊ฐ ์์ ๋์์ธ ์ ๋ฌธ๊ฐ์ด์ ๊ฐ์ ๊ณต๊ฐ ๋ฌผ๋ฆฌํ์์
๋๋ค.
+ ์ ๊ณต๋ ์ด๋ฏธ์ง๋ AI๊ฐ ์์ฑํ 3D ๊ฐ์ ๊ณต๊ฐ์ ํ์ฌ ๋ ๋๋ง ์ค๋
์ท์
๋๋ค.
+ ์ด ๊ณต๊ฐ์ ๋ค์ ์ธ ๊ฐ์ง ์ ์ฑ์ ๊ธฐ์ค์ผ๋ก ์์ธํ ๋ถ์ํ๊ณ JSON ํ์์ผ๋ก๋ง ๋ต๋ณํ์ธ์.
+
+ ๋ถ์ ๊ธฐ์ค:
+ 1. Composition (๊ตฌ๋): ์ค๋ธ์ ํธ๋ค์ด ์กฐํ๋กญ๊ฒ ๋ฐฐ์น๋์ด ์๋๊ฐ? (ํฉ๊ธ๋น์จ, ์ค์ฌ์ ๋ฑ)
+ 2. Atmosphere (๋ถ์๊ธฐ): ์ฌ์ฉ์์ ์์ฒญ ํ
๋ง๊ฐ ์กฐ๋ช
๊ณผ ๋ฐฐ์น๋ฅผ ํตํด ์ ํํ๋์๋๊ฐ?
+ 3. Physical Integrity (๋ฌผ๋ฆฌ์ ์ ํจ์ฑ): ๋ฌผ์ฒด๊ฐ ๊ณต์ค์ ๋ ์๊ฑฐ๋, ๋ถ์์ฐ์ค๋ฝ๊ฒ ๊ฒน์น๊ฑฐ๋, ์ง์ง๋ ์์ด ๋์ธ ๋ถ๋ถ์ด ์๋๊ฐ?
+
+ ์ถ๋ ฅ ํ์ (๋ฐ๋์ ์ ํจํ JSON์ด์ด์ผ ํจ):
+ {
+ "overallScore": 0~100 ์ฌ์ด์ ์ ์,
+ "composition": "๊ตฌ๋ ๋ถ์ (ํ๊ตญ์ด)",
+ "atmosphere": "๋ถ์๊ธฐ ๋ถ์ (ํ๊ตญ์ด)",
+ "physicalIntegrity": "๋ฌผ๋ฆฌ ์ ํฉ์ฑ ๋ถ์ (ํ๊ตญ์ด)",
+ "issues": ["๋ฌธ์ ์ 1", "๋ฌธ์ ์ 2"],
+ "suggestions": [
+ {
+ "type": "placement | lighting | scale | atmosphere",
+ "targetId": "๋ฌธ์ ์ค๋ธ์ ํธ ID (์ ์ ์์ผ๋ฉด ์๋ต)",
+ "advice": "๊ตฌ์ฒด์ ์ธ ๊ฐ์ ์กฐ์ธ",
+ "action": {
+ "nudge": [x, y, z], // ์ด๋์ด ํ์ํ ๊ฒฝ์ฐ (์: [0, 0.5, 0])
+ "scaleMultiplier": 0.5~2.0, // ํฌ๊ธฐ ์กฐ์ ์ด ํ์ํ ๊ฒฝ์ฐ
+ "intensity": 0.1~2.0 // ์กฐ๋ช
๋ฑ ๊ฐ๋ ์กฐ์ ์
+ }
+ }
+ ]
+ }
+
+ ์ฃผ์: ๋งํฌ๋ค์ด ์ฝ๋ ๋ธ๋ก ์์ด JSON ๊ฐ์ฒด ๋ณธ์ฒด๋ง ๋ต๋ณํ์ญ์์ค.
+ `;
+
+ try {
+ const result = await this.model.generateContent([
+ systemPrompt,
+ { inlineData: { data: base64Data, mimeType: "image/webp" } }
+ ]);
+
+ const responseText = result.response.text();
+
+ // JSON ์ถ์ถ ๋ฐ ํ์ฑ
+ const jsonStart = responseText.indexOf('{');
+ const jsonEnd = responseText.lastIndexOf('}') + 1;
+ const jsonString = responseText.substring(jsonStart, jsonEnd);
+
+ if (!jsonString) {
+ throw new Error('VLM did not return a valid JSON object');
+ }
+
+ const feedback: VLMFeedback = JSON.parse(jsonString);
+ console.log('[VLMFeedbackService] โ
ํผ๋๋ฐฑ ์์ ์๋ฃ:', feedback.overallScore);
+ return feedback;
+
+ } catch (err) {
+ console.error('[VLMFeedbackService] โ ๋ถ์ ์ค ์๋ฌ ๋ฐ์:', err);
+ throw err;
+ }
+ }
+}
diff --git a/src/services/judge/LLMJudgeService.ts b/src/services/judge/LLMJudgeService.ts
index f06e8a7..a8a4159 100644
--- a/src/services/judge/LLMJudgeService.ts
+++ b/src/services/judge/LLMJudgeService.ts
@@ -22,8 +22,8 @@ import type {
} from './types';
import { DEFAULT_CRITERIA_PRESETS } from './types';
-// ๊ธฐ๋ณธ ์ค์
-const DEFAULT_MODEL = 'gemini-1.5-flash';
+// ๊ธฐ๋ณธ ์ค์ - v3.0 ์
๊ทธ๋ ์ด๋ (๊ณ ์ง๋ฅ ํ์ ์ ์ํด Pro ๋ชจ๋ธ ์ฌ์ฉ)
+const DEFAULT_MODEL = 'gemini-2.0-pro';
const DEFAULT_TEMPERATURE = 0.3; // ๋ฎ์ ์จ๋๋ก ์ผ๊ด๋ ํ๊ฐ
/**
@@ -140,7 +140,7 @@ ${JSON.stringify(request.targetData, null, 2)}`;
console.log(`[LLMJudge] Gemini API ํธ์ถ ์์ (๋ชจ๋ธ: ${this.config.model})`);
const response = await fetch(
- `https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=${apiKey}`,
+ `https://generativelanguage.googleapis.com/v1beta/models/${this.config.model}:generateContent?key=${apiKey}`,
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
diff --git a/src/services/search/LexicalSearchService.ts b/src/services/search/LexicalSearchService.ts
index 1063c00..fde1104 100644
--- a/src/services/search/LexicalSearchService.ts
+++ b/src/services/search/LexicalSearchService.ts
@@ -164,7 +164,7 @@ const ASSET_PATH_BLACKLIST = [
/**
* ๋ธ๋๋ฆฌ์คํธ ๊ฒฝ๋ก ํ์ธ
*/
-function isBlacklistedPath(path: string): boolean {
+export function isBlacklistedPath(path: string): boolean {
const lowerPath = path.toLowerCase();
return ASSET_PATH_BLACKLIST.some(pattern => lowerPath.includes(pattern.toLowerCase()));
}
diff --git a/src/store/unifiedStore.ts b/src/store/unifiedStore.ts
index 740d9c0..896e9fb 100644
--- a/src/store/unifiedStore.ts
+++ b/src/store/unifiedStore.ts
@@ -32,6 +32,7 @@ import {
export type UnifiedStore = WorldSlice & SimulationSlice & EditorSlice & {
// ํตํฉ ์ก์
enterAIWorld: () => void;
+ enterDemoMode: (fallbackScenario?: any) => void;
resetAll: () => void;
};
@@ -83,6 +84,28 @@ const createUnifiedSlice: StateCreator = (se
console.log('[UnifiedStore] AI ์๋ ์ง์
์๋ฃ:', scenario.nodes.length, '๊ฐ ์ค๋ธ์ ํธ');
},
+ /**
+ * ๋ฐ๋ชจ ๋ชจ๋ ์ง์
(์ฒดํํ๊ธฐ ๋ฒํผ์ฉ)
+ *
+ * @param fallbackScenario AI ์ฌ์ด ์์ ๊ฒฝ์ฐ ์ฌ์ฉํ ๊ธฐ๋ณธ ์๋๋ฆฌ์ค
+ */
+ enterDemoMode: (fallbackScenario?: any) => {
+ const state = get();
+
+ if (state.aiScene.isGenerated && state.aiScene.objects.length > 0) {
+ state.enterAIWorld();
+ } else {
+ console.warn('[UnifiedStore] ์์ฑ๋ ์ฌ์ด ์์ด ๊ธฐ๋ณธ ๋ฐ๋ชจ ๋ชจ๋๋ก ์ง์
ํฉ๋๋ค.');
+
+ if (fallbackScenario) {
+ state.loadScenario(fallbackScenario);
+ }
+
+ state.setGameMode('demo');
+ state.setNarrativeState('intro');
+ }
+ },
+
/**
* ์ ์ฒด ๋ฆฌ์
*/
diff --git a/src/store/useSceneStore.ts b/src/store/useSceneStore.ts
index d9b9081..fa1040d 100644
--- a/src/store/useSceneStore.ts
+++ b/src/store/useSceneStore.ts
@@ -19,8 +19,12 @@ export interface SceneState {
preset: string;
background: boolean;
};
+ // [Integration] ์ ์ญ ๋ ๋๋ง ์คํ์ผ ์ค์
+ matcapTexture?: string;
+
addObject: (obj: SceneObject) => void;
setScene: (objects: SceneObject[]) => void;
+ setMatcapTexture: (url?: string) => void;
resetScene: () => void;
}
@@ -35,7 +39,10 @@ export const useSceneStore = create((set) => ({
preset: 'sunset',
background: true
},
+ matcapTexture: undefined,
+
addObject: (obj) => set((state) => ({ objects: [...state.objects, obj] })),
setScene: (objects) => set({ objects }),
+ setMatcapTexture: (url) => set({ matcapTexture: url }),
resetScene: () => set({ objects: [] }),
}));
diff --git a/src/utils/AssetLoader.ts b/src/utils/AssetLoader.ts
index 1c6176e..eadf09a 100644
--- a/src/utils/AssetLoader.ts
+++ b/src/utils/AssetLoader.ts
@@ -1,5 +1,6 @@
import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
import { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader.js';
+import { KTX2Loader } from 'three/examples/jsm/loaders/KTX2Loader.js';
import * as THREE from 'three';
class AssetLoader {
@@ -7,11 +8,30 @@ class AssetLoader {
private getLoader(): GLTFLoader {
if (!this.loader) {
- // Ensure we are in a browser environment if necessary (though simple instantiation might be safe, but worker setup isn't)
this.loader = new GLTFLoader();
+
+ // Draco ๋์ฝ๋ ์ค์
const dracoLoader = new DRACOLoader();
dracoLoader.setDecoderPath('https://www.gstatic.com/draco/versioned/decoders/1.5.7/');
this.loader.setDRACOLoader(dracoLoader);
+
+ // KTX2 ํ
์ค์ฒ ์ง์ (๋ธ๋ผ์ฐ์ ํ๊ฒฝ์์๋ง)
+ if (typeof window !== 'undefined') {
+ try {
+ const ktx2Loader = new KTX2Loader();
+ ktx2Loader.setTranscoderPath('https://cdn.jsdelivr.net/gh/pmndrs/drei-assets/basis/');
+ const tempCanvas = document.createElement('canvas');
+ const tempRenderer = new THREE.WebGLRenderer({
+ canvas: tempCanvas,
+ context: tempCanvas.getContext('webgl2') || undefined,
+ });
+ ktx2Loader.detectSupport(tempRenderer);
+ tempRenderer.dispose();
+ this.loader.setKTX2Loader(ktx2Loader);
+ } catch (e) {
+ console.warn('[AssetLoader] KTX2Loader ์ด๊ธฐํ ์คํจ (๋ฌด์):', e);
+ }
+ }
}
return this.loader;
}
diff --git a/src/utils/autoScaleAsset.ts b/src/utils/autoScaleAsset.ts
index d0f1d22..d566ab9 100644
--- a/src/utils/autoScaleAsset.ts
+++ b/src/utils/autoScaleAsset.ts
@@ -125,7 +125,7 @@ export async function autoScaleAsset(
// 3. ์ฃผ์ถ ๊ฐ์ง
const dominantAxis = detectDominantAxis(currentSize, category);
- const currentSizeOnAxis = currentSize[dominantAxis];
+ let currentSizeOnAxis = currentSize[dominantAxis];
// 4. ์๋งจํฑ ๋ถ์ (ํ๋กฌํํธ๊ฐ ์๋ ๊ฒฝ์ฐ)
let semantic: SemanticScaleResult | null = null;
@@ -146,21 +146,31 @@ export async function autoScaleAsset(
// 5. ์ค์ผ์ผ ํฉํฐ ๊ณ์ฐ
let scaleFactor = 1.0;
+ let preScaleFactor = 1.0;
+
+ // [P0] mm ๋จ์ ๋ชจ๋ธ ์ฌ์ ์ ๊ทํ (1km ์ด์)
+ if (currentSizeOnAxis > MM_UNIT_DETECTION_THRESHOLD) {
+ preScaleFactor = MM_TO_METER_SCALE;
+ console.log(`[AutoScale] โ ๏ธ mm ๋จ์ ๋ชจ๋ธ ๊ฐ์ง (Async): ${path.split('/').pop()}`);
+ console.log(` - ์๋ณธ: ${currentSizeOnAxis.toFixed(0)}m โ ์ ๊ทํ: ${(currentSizeOnAxis * preScaleFactor).toFixed(2)}m`);
+ currentSizeOnAxis *= preScaleFactor;
+ }
if (currentSizeOnAxis > 0 && isFinite(currentSizeOnAxis)) {
- // ๋ํ ๊ฑด๋ฌผ์ ์ถ์๋ง (ํ๋ ๊ธ์ง)
- if (category === 'buildings' || category === 'environment') {
- scaleFactor = currentSizeOnAxis > targetSize
- ? targetSize / currentSizeOnAxis
- : 1.0;
- } else {
- scaleFactor = targetSize / currentSizeOnAxis;
+ // [v3.4 Fix] ์ค์ผ์ผ ํฉํฐ ์์ ์ฑ ๊ฐํ
+ let rawScaleFactor = targetSize / currentSizeOnAxis;
+
+ if (rawScaleFactor < 0.01 || rawScaleFactor > 100.0) {
+ console.warn(`[AutoScale] โ ๏ธ ์ค์ผ์ผ ์ด์์น ๊ฐ์ง (${path.split('/').pop()}): ร${rawScaleFactor.toFixed(4)}`);
+ rawScaleFactor = Math.min(Math.max(rawScaleFactor, 0.05), 10.0);
+ console.log(` - ๐ก๏ธ ์์ ์ค์ผ์ผ๋ก ๋ณด์ ๋จ: ร${rawScaleFactor.toFixed(4)}`);
}
- // ํด๋จํ ์ ๊ฑฐ: ์๊ณ ๋ฆฌ์ฆ์ด ๊ณ์ฐํ ์ ํํ ๊ฐ ์ฌ์ฉ
+ // ์ต์ข
์ค์ผ์ผ ํฉํฐ = mm ๋ณด์ * ํ๊ฒ ๋ณด์
+ scaleFactor = rawScaleFactor * preScaleFactor;
}
- console.log(`[AutoScale] โ
${path.split('/').pop()}: ${currentSizeOnAxis.toFixed(2)}m โ ${targetSize.toFixed(2)}m (ร${scaleFactor.toFixed(4)})`);
+ console.log(`[AutoScale] โ
${path.split('/').pop()}: ${currentSizeOnAxis.toFixed(2)}m โ ${(currentSizeOnAxis * scaleFactor).toFixed(2)}m (ร${scaleFactor.toFixed(4)})`);
return {
scaleFactor,
@@ -204,14 +214,15 @@ export function autoScaleAssetSync(
let scaleFactor = 1.0;
if (currentSizeOnAxis > 0 && isFinite(currentSizeOnAxis)) {
- if (category === 'environment_container') {
- // [P0] ๋ํ ํ๊ฒฝ ์ปจํ
์ด๋๋ ํญ์ ํ๊ฒ ํฌ๊ธฐ(45m)๋ก ๋ง์ถค
- scaleFactor = targetSize / currentSizeOnAxis;
- } else if (category === 'buildings' || category === 'environment') {
- // ์ผ๋ฐ ๊ฑด๋ฌผ์ ํ๊ฒ๋ณด๋ค ํฐ ๊ฒฝ์ฐ์๋ง ์ถ์
- scaleFactor = currentSizeOnAxis > targetSize ? targetSize / currentSizeOnAxis : 1.0;
+ // [v3.4 Fix] ์ค์ผ์ผ ํฉํฐ ์์ ์ฑ ๊ฐํ (Clamping & Sanity Check)
+ const rawScaleFactor = targetSize / currentSizeOnAxis;
+
+ if (rawScaleFactor < 0.01 || rawScaleFactor > 100.0) {
+ console.warn(`[AutoScale] โ ๏ธ ์ค์ผ์ผ ์ด์์น ๊ฐ์ง (${path.split('/').pop()}): ร${rawScaleFactor.toFixed(4)}`);
+ scaleFactor = Math.min(Math.max(rawScaleFactor, 0.05), 10.0);
+ console.log(` - ๐ก๏ธ ์์ ์ค์ผ์ผ๋ก ๋ณด์ ๋จ: ร${scaleFactor.toFixed(4)}`);
} else {
- scaleFactor = targetSize / currentSizeOnAxis;
+ scaleFactor = rawScaleFactor;
}
}