From 8c0bea48dd365a3720497287ab365cee0c987ffe Mon Sep 17 00:00:00 2001 From: Devon Jones Date: Wed, 8 Jul 2026 14:22:39 -0600 Subject: [PATCH] =?UTF-8?q?data:=20aztlan=20scan=20=E2=80=94=20add=2062=20?= =?UTF-8?q?treasure=5Fhollow=20files?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Incremental dropbox scan of aztlan (bin/dropbox_scanner, per load_all.sh): 227 -> 289 blueprints. 62 new treasure_hollow variants (9/13/30mm x openforge/openlock/dragonlock/filament/side, s2w-corner + separate-wall). 124 files uploaded to R2 (62 STL + 62 sprite PNGs). No files removed or content-changed; all 227 existing MD5s preserved. Large line diff is scanner re-serialization, not semantic change. Co-Authored-By: Claude Fable 5 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .beads/issues.jsonl | 8 +- openforge/db/fixtures/blueprints/aztlan.json | 10695 +++++++++++++++-- 2 files changed, 9700 insertions(+), 1003 deletions(-) diff --git a/.beads/issues.jsonl b/.beads/issues.jsonl index 056c680..80dd390 100644 --- a/.beads/issues.jsonl +++ b/.beads/issues.jsonl @@ -5,16 +5,16 @@ {"id":"openforge_catalog-5gb","title":"Frontend: Admin camera position controls UI","description":"Build admin interface to preview and set default camera angles for models. Shows live preview of each angle, allows selecting which is default. Integrates with admin set camera position API. Consider batch operations for setting defaults across similar models.","status":"open","priority":2,"issue_type":"task","created_at":"2025-12-21T09:58:45.023938263-07:00","updated_at":"2025-12-21T09:58:45.023938263-07:00","dependencies":[{"issue_id":"openforge_catalog-5gb","depends_on_id":"openforge_catalog-bll","type":"parent-child","created_at":"2025-12-21T09:59:19.862145404-07:00","created_by":"daemon"},{"issue_id":"openforge_catalog-5gb","depends_on_id":"openforge_catalog-hqe","type":"blocks","created_at":"2025-12-21T09:59:36.561390068-07:00","created_by":"daemon"}]} {"id":"openforge_catalog-5na","title":"Phased rollout: Test subset before bulk backfill","description":"Implement safe migration strategy: (1) Generate sprite sheets for small test set (~10-20 diverse models). (2) Deploy frontend with fallback to legacy single thumbnails. (3) Validate with users - test interactive controls, image quality, performance. (4) Iterate on camera positions/layout based on feedback. (5) Only after validation, run bulk backfill for all 8000+ STL files. Include ability to pause/resume bulk processing. Track which models have sprite sheets vs legacy thumbnails.","status":"open","priority":2,"issue_type":"task","created_at":"2025-12-21T10:13:57.517770238-07:00","updated_at":"2025-12-21T10:13:57.517770238-07:00","dependencies":[{"issue_id":"openforge_catalog-5na","depends_on_id":"openforge_catalog-bll","type":"parent-child","created_at":"2025-12-21T10:14:18.760726353-07:00","created_by":"daemon"},{"issue_id":"openforge_catalog-5na","depends_on_id":"openforge_catalog-4ji","type":"blocks","created_at":"2025-12-21T10:14:23.673079682-07:00","created_by":"daemon"},{"issue_id":"openforge_catalog-5na","depends_on_id":"openforge_catalog-3cx","type":"blocks","created_at":"2025-12-21T10:14:24.071569003-07:00","created_by":"daemon"},{"issue_id":"openforge_catalog-5na","depends_on_id":"openforge_catalog-dd4","type":"blocks","created_at":"2025-12-21T10:14:24.494018624-07:00","created_by":"daemon"}]} {"id":"openforge_catalog-5tg","title":"Backend API: Get thumbnail variants endpoint","description":"Create Flask endpoint to return sprite sheet info for a model. Returns: (1) Sprite sheet URL, (2) Grid layout (rows, cols, tile dimensions), (3) Angle metadata (name, position in grid, camera coords), (4) Default angle index. Frontend uses this to display correct region from sprite sheet. Handles models with legacy single thumbnail gracefully.","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-21T09:58:32.287223899-07:00","updated_at":"2025-12-21T14:00:25.231595972-07:00","closed_at":"2025-12-21T14:00:25.231595972-07:00","close_reason":"Completed: Created GET /api/blueprints/\u003cblueprint_id\u003e/thumbnail-variants endpoint. Returns sprite sheet URL, grid layout (rows/cols/tile_size), angle metadata with camera positions, and default angle index. Gracefully handles legacy single thumbnails. All 319 tests passing.","dependencies":[{"issue_id":"openforge_catalog-5tg","depends_on_id":"openforge_catalog-bll","type":"parent-child","created_at":"2025-12-21T09:59:18.52350897-07:00","created_by":"daemon"},{"issue_id":"openforge_catalog-5tg","depends_on_id":"openforge_catalog-ubp","type":"blocks","created_at":"2025-12-21T09:59:35.26824895-07:00","created_by":"daemon"}]} -{"id":"openforge_catalog-750","title":"Postgres migration: thingiverse sync-state tables","description":"New schema version adding: thingiverse_thing (blueprint_id \u003c-\u003e thing_id, status, published_at, last_synced_at) and thingiverse_file (thing ref, catalog file ref + local hash, remote file id + remote hash, last_synced_at) — the diff ledger for the sync engine. Follow existing openforge/db/schema/version_NN.py migration pattern. If the HAR ticket proves the remote hash is SHA-256 (catalog stores MD5), include storage for the second hash algorithm.","notes":"SCOPE NOTES: (1) thingiverse_file must carry a file-type/role discriminator (model/image/zip/other) since things contain mixed file types. (2) This runs against the LOCAL db; prod gets a subset via the fixture path (see openforge_catalog-8yb) — keep the mapping (blueprint_id, thing_id, public_url) cleanly separable from local-only operational state (hash ledger, sync timestamps).","status":"in_progress","priority":2,"issue_type":"task","owner":"devon.jones@gmail.com","created_at":"2026-07-06T11:42:25.104764326-06:00","created_by":"Devon Jones","updated_at":"2026-07-06T14:40:56.467812707-06:00","dependencies":[{"issue_id":"openforge_catalog-750","depends_on_id":"openforge_catalog-4kx","type":"parent-child","created_at":"2026-07-06T11:42:52.476138903-06:00","created_by":"Devon Jones"}]} +{"id":"openforge_catalog-750","title":"Postgres migration: thingiverse sync-state tables","description":"New schema version adding: thingiverse_thing (blueprint_id \u003c-\u003e thing_id, status, published_at, last_synced_at) and thingiverse_file (thing ref, catalog file ref + local hash, remote file id + remote hash, last_synced_at) — the diff ledger for the sync engine. Follow existing openforge/db/schema/version_NN.py migration pattern. If the HAR ticket proves the remote hash is SHA-256 (catalog stores MD5), include storage for the second hash algorithm.","notes":"FROM hnr FINDINGS: Thingiverse's file hash is content-MD5 (32-hex), confirmed empirically. Catalog already stores file_md5, so thingiverse_files.local_md5 is the comparison column and local_sha256 is UNNECESSARY (dead/harmless column). If a follow-up migration touches this table, drop local_sha256.","status":"in_progress","priority":2,"issue_type":"task","owner":"devon.jones@gmail.com","created_at":"2026-07-06T11:42:25.104764326-06:00","created_by":"Devon Jones","updated_at":"2026-07-07T09:21:58.974547055-06:00","dependencies":[{"issue_id":"openforge_catalog-750","depends_on_id":"openforge_catalog-4kx","type":"parent-child","created_at":"2026-07-06T11:42:52.476138903-06:00","created_by":"Devon Jones"}]} {"id":"openforge_catalog-7dg","title":"Auth/token manager for Thingiverse v2 (login + refresh)","description":"Python module: interactive 'login' does POST /v2/auth/login {usernameOrEmail, password} -\u003e AuthTokensResponse (handle 202 2FA via /v2/auth/2fa/login), persists refresh token securely (env file/keyring, never in repo); runtime path auto-refreshes access JWT via POST /v2/auth/refresh. Password is never stored. Buildable and testable today against the live API — verify a Devon-scoped JWT via GET /v2/users/me. Note: THINGIVERSE_APP_TOKEN in ~/.profile.d/099.api_keys.sh is v1-only and scoped to the wrong account (Joaquin Munguia, id 5577639) — do not use.","status":"closed","priority":1,"issue_type":"feature","owner":"devon.jones@gmail.com","created_at":"2026-07-06T11:42:24.708129858-06:00","created_by":"Devon Jones","updated_at":"2026-07-06T14:39:30.409750275-06:00","closed_at":"2026-07-06T14:39:30.409750275-06:00","close_reason":"Merged in PR #224 to test. TokenManager (login/2FA/refresh/atomic 0600 persistence/server-side logout) + tv_auth CLI + 53 tests at 100% coverage. Live-verified: devonjones (id 47139) login, status, and refresh rotation against the real v2 API. Unblocks gn2 together with hnr (HAR capture).","dependencies":[{"issue_id":"openforge_catalog-7dg","depends_on_id":"openforge_catalog-4kx","type":"parent-child","created_at":"2026-07-06T11:42:52.071225891-06:00","created_by":"Devon Jones"}]} {"id":"openforge_catalog-8yb","title":"Propagate thingiverse sync data to AWS prod (fixture + API upsert path)","description":"The tool runs against the LOCAL Postgres, but prod (AWS Lambda + serverless Postgres) is populated by replaying fixture JSON through the Flask API (bin/upload_fixture with OPENFORGE_BASE_URL, same pattern as blueprint fixtures). Thingiverse data (blueprint_id \u003c-\u003e thing_id mapping, public thing URLs) must ride that path so the app can render Thingiverse links in prod and support deeper integration later. Deliverables: fixture format for thingiverse mappings (exported from the local sync tables), an authenticated API upsert endpoint in the Flask app, and upload_fixture support. Note: prod likely only needs the mapping/links, not the per-file hash ledger — that is local operational state; decide the split when designing the fixture.","notes":"DESIGN NOTE from PR #225 review: the schema allows one blueprint to appear in MULTIPLE things (partial unique index is per-thing only, and test_same_source_allowed_in_different_things pins that behavior). The prod fixture mapping is therefore 1:N — (blueprint_id, thing_id, public_url) derived per thingiverse_files row, not a unique-per-blueprint map. The app's Thingiverse links UI must handle a blueprint linking to several things.","status":"open","priority":2,"issue_type":"feature","owner":"devon.jones@gmail.com","created_at":"2026-07-06T11:55:33.474857151-06:00","created_by":"Devon Jones","updated_at":"2026-07-06T14:51:24.318740515-06:00","dependencies":[{"issue_id":"openforge_catalog-8yb","depends_on_id":"openforge_catalog-750","type":"blocks","created_at":"2026-07-06T11:55:47.512062985-06:00","created_by":"Devon Jones"},{"issue_id":"openforge_catalog-8yb","depends_on_id":"openforge_catalog-4kx","type":"parent-child","created_at":"2026-07-06T11:55:47.882392741-06:00","created_by":"Devon Jones"}]} -{"id":"openforge_catalog-ad5","title":"Sync engine: diff local files vs remote hashes, reconcile","description":"For each managed thing: diff manifest-directed local files against remote files using hash comparison (via thingiverse_file ledger) -\u003e upload new, replace changed, delete removed, patch drifted metadata. Idempotent; dry-run mode showing planned actions before mutating. Depends on hash-algorithm verification: if remote is SHA-256, compute+store SHA-256 alongside catalog MD5s.","notes":"PRIOR ART (old v1 tool): tv_update_description did bulk find/replace of boilerplate across all things matching a name filter, with --dry-run (desc_update.json shows real mass migrations happened). tv_tag_dl mirrored all things to local JSON with 3s sleeps (self-rate-limiting; v1 had practical rate limits). Lessons: (1) metadata drift detection should cover the shared-boilerplate case so a boilerplate change re-syncs every managed thing's description; (2) throttle API calls; (3) dry-run is a first-class requirement, already in scope.","status":"open","priority":1,"issue_type":"feature","owner":"devon.jones@gmail.com","created_at":"2026-07-06T11:42:26.401028262-06:00","created_by":"Devon Jones","updated_at":"2026-07-06T12:00:34.191543122-06:00","dependencies":[{"issue_id":"openforge_catalog-ad5","depends_on_id":"openforge_catalog-gn2","type":"blocks","created_at":"2026-07-06T11:42:43.166238543-06:00","created_by":"Devon Jones"},{"issue_id":"openforge_catalog-ad5","depends_on_id":"openforge_catalog-750","type":"blocks","created_at":"2026-07-06T11:42:43.606420026-06:00","created_by":"Devon Jones"},{"issue_id":"openforge_catalog-ad5","depends_on_id":"openforge_catalog-d7a","type":"blocks","created_at":"2026-07-06T11:42:44.00974978-06:00","created_by":"Devon Jones"},{"issue_id":"openforge_catalog-ad5","depends_on_id":"openforge_catalog-4kx","type":"parent-child","created_at":"2026-07-06T11:42:53.860069002-06:00","created_by":"Devon Jones"}]} +{"id":"openforge_catalog-ad5","title":"Sync engine: diff local files vs remote hashes, reconcile","description":"For each managed thing: diff manifest-directed local files against remote files using hash comparison (via thingiverse_file ledger) -\u003e upload new, replace changed, delete removed, patch drifted metadata. Idempotent; dry-run mode showing planned actions before mutating. Depends on hash-algorithm verification: if remote is SHA-256, compute+store SHA-256 alongside catalog MD5s.","notes":"VALIDATED on real data (thing:7364110 aztlan): 31/31 STLs' Thingiverse hashes match catalog file_md5 exactly. TWO REQUIREMENTS: (1) Hash encoding VARIES - old things=hex MD5 (32ch), recent=base64 MD5 (24ch, e.g. lma97RnU7yEQDMZcDe1vEA==). Normalize before compare: 24-char/b64 -\u003e decode to hex; 32-char -\u003e lowercase. (2) Thingiverse SANITIZES filenames on upload (strips #, comma, etc): catalog 'aztlan#snakehole.A.openforge,side.stl' -\u003e TV 'aztlansnakehole.A.openforgeside.stl'. Match files by MD5, NEVER by name. Zips are aggregate bundles (file_type=zip, not blueprint-backed).","status":"open","priority":1,"issue_type":"feature","owner":"devon.jones@gmail.com","created_at":"2026-07-06T11:42:26.401028262-06:00","created_by":"Devon Jones","updated_at":"2026-07-07T12:16:40.504894238-06:00","dependencies":[{"issue_id":"openforge_catalog-ad5","depends_on_id":"openforge_catalog-gn2","type":"blocks","created_at":"2026-07-06T11:42:43.166238543-06:00","created_by":"Devon Jones"},{"issue_id":"openforge_catalog-ad5","depends_on_id":"openforge_catalog-750","type":"blocks","created_at":"2026-07-06T11:42:43.606420026-06:00","created_by":"Devon Jones"},{"issue_id":"openforge_catalog-ad5","depends_on_id":"openforge_catalog-d7a","type":"blocks","created_at":"2026-07-06T11:42:44.00974978-06:00","created_by":"Devon Jones"},{"issue_id":"openforge_catalog-ad5","depends_on_id":"openforge_catalog-4kx","type":"parent-child","created_at":"2026-07-06T11:42:53.860069002-06:00","created_by":"Devon Jones"}]} {"id":"openforge_catalog-aq5","title":"Add general-reviewer to the agent pack (no Gemini on this repo)","description":"Gemini Code Assist/Cursor aren't installed on this repo, so the pack needs a formalized whole-PR generalist reviewer that ALWAYS spawns in every pr-review-loop round, covering what the specialists don't own (logic correctness, domain/design soundness, contract fidelity, docs accuracy). Previously run ad-hoc as the Claude fallback: the invalid-ruff-flag catch was on PR #223 (the pack's own creation PR); the JWT AttributeError catch was PR #224; the multi-accept AND-vs-ANY bug was PR #226.","status":"closed","priority":2,"issue_type":"task","owner":"devon.jones@gmail.com","created_at":"2026-07-06T17:33:30.159979202-06:00","created_by":"Devon Jones","updated_at":"2026-07-06T17:45:19.960182349-06:00","closed_at":"2026-07-06T17:45:19.960182349-06:00","close_reason":"Merged in PR #227. general-reviewer formalized in the pack; dogfooded on its own PR and caught a misattribution in the PR body."} {"id":"openforge_catalog-bll","title":"Multi-Angle Thumbnail Viewing System","description":"Enable users to view STL models from 10 isometric camera angles with interactive controls. Admins can set default viewing angles per model. System generates 10 isometric-perspective angles (6 primary directions + 4 diagonal corners) during file scan using stl-thumb --cam-pos, combined into single sprite sheet PNG. Frontend has drag-to-rotate and keyboard navigation. All angles maintain 3/4 view for depth, not flat orthographic.","status":"open","priority":1,"issue_type":"epic","created_at":"2025-12-21T09:57:50.607001989-07:00","updated_at":"2025-12-21T10:09:20.457266019-07:00"} {"id":"openforge_catalog-d7a","title":"Manifest schema + metadata assembler","description":"Define per-thing manifest format (YAML): explicit file list for the thing plus field overrides. Assembler builds the thing payload with defaults pulled from catalog Postgres blueprint records (name, description, tag hierarchy -\u003e Thingiverse tags, category, license, images) and applies manifest overrides on top. Zero-manual-entry defaults, curated where it matters. Payload field names/shape finalized against the HAR contract.","notes":"PRIOR ART (old v1 tool): bin/new.*.json templates were per-product-line defaults (openforge2, openlock, construction_kit, miniature, tools): license, category, tags, boilerplate description. Key design lesson: descriptions = per-thing content + SHARED BOILERPLATE FOOTER (Patreon/tutorials/catalog links) that changes over time. Model boilerplate as a shared block composed at assembly time (stored once, referenced by manifests), not baked into each manifest — enables bulk boilerplate updates via re-sync. Old templates: ~/Dropbox/projects/Hardware/objects/OpenForgeDevelopment/openforge/bin/new.*.json","status":"in_progress","priority":2,"issue_type":"feature","owner":"devon.jones@gmail.com","created_at":"2026-07-06T11:42:25.496132115-06:00","created_by":"Devon Jones","updated_at":"2026-07-06T15:00:55.159469636-06:00","dependencies":[{"issue_id":"openforge_catalog-d7a","depends_on_id":"openforge_catalog-4kx","type":"parent-child","created_at":"2026-07-06T11:42:52.892986073-06:00","created_by":"Devon Jones"}]} {"id":"openforge_catalog-dd4","title":"Integration: Wire scanner pipeline for multi-angle generation","description":"Wire multi-angle sprite sheet generation into file scanning pipeline, BUT ONLY AFTER phased rollout validation. Scanner should: (1) Support both legacy single thumbnails AND new sprite sheets during transition. (2) Have feature flag to enable/disable sprite generation. (3) Track which models have sprites vs legacy. (4) Handle failures gracefully - don't block scan if sprite generation fails. (5) Be pausable/resumable for bulk backfill. Only enable bulk processing after small test set is validated with users.","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-21T09:58:49.223198843-07:00","updated_at":"2025-12-21T14:35:20.810908751-07:00","closed_at":"2025-12-21T14:35:20.810908751-07:00","close_reason":"Completed: Integrated sprite sheet generation into scanner pipeline with feature flag (ENABLE_SPRITE_THUMBNAILS). Created create_and_upload_thumbnail() helper that handles both sprite sheets and legacy thumbnails. Updated scanner.py and incremental.py to use new function. Gracefully handles failures without blocking scans. Supports transition period with both formats. All 319 tests passing.","dependencies":[{"issue_id":"openforge_catalog-dd4","depends_on_id":"openforge_catalog-bll","type":"parent-child","created_at":"2025-12-21T09:59:20.290625315-07:00","created_by":"daemon"},{"issue_id":"openforge_catalog-dd4","depends_on_id":"openforge_catalog-ubp","type":"blocks","created_at":"2025-12-21T09:59:37.011721674-07:00","created_by":"daemon"},{"issue_id":"openforge_catalog-dd4","depends_on_id":"openforge_catalog-5tg","type":"blocks","created_at":"2025-12-21T09:59:37.450897079-07:00","created_by":"daemon"},{"issue_id":"openforge_catalog-dd4","depends_on_id":"openforge_catalog-hqe","type":"blocks","created_at":"2025-12-21T09:59:37.840969584-07:00","created_by":"daemon"}]} -{"id":"openforge_catalog-gn2","title":"Thingiverse v2 API client (write endpoints from HAR contract)","description":"Python client wrapping the v2 API using the auth/token manager: create thing, patch metadata, upload model file, replace file, delete file, list files w/ hashes, publish. Read endpoints (things/{id}/complete etc.) from the public spec (docs/thingiverse-api-v2.md); write endpoints implemented per the HAR-derived contract. Stub the write calls if started before the HAR ticket completes.","status":"open","priority":1,"issue_type":"feature","owner":"devon.jones@gmail.com","created_at":"2026-07-06T11:42:25.975705436-06:00","created_by":"Devon Jones","updated_at":"2026-07-06T11:42:25.975705436-06:00","dependencies":[{"issue_id":"openforge_catalog-gn2","depends_on_id":"openforge_catalog-hnr","type":"blocks","created_at":"2026-07-06T11:42:42.234078586-06:00","created_by":"Devon Jones"},{"issue_id":"openforge_catalog-gn2","depends_on_id":"openforge_catalog-7dg","type":"blocks","created_at":"2026-07-06T11:42:42.679151017-06:00","created_by":"Devon Jones"},{"issue_id":"openforge_catalog-gn2","depends_on_id":"openforge_catalog-4kx","type":"parent-child","created_at":"2026-07-06T11:42:53.406992128-06:00","created_by":"Devon Jones"}]} -{"id":"openforge_catalog-hnr","title":"Capture HAR of Thingiverse SPA create/upload/edit flow and extract API contract","description":"Devon captures a HAR (Network tab, preserve log, Fetch/XHR, 'Save all as HAR with content') of a complete flow: create draft thing, set name/description/tags/category/license, upload image, upload STL, replace the STL, delete a file, publish. HAR goes to scratchpad only — contains live JWT/refresh/cookies, never commit; rotate tokens after. From the HAR, extract and document: create-thing endpoint+payload, model-file upload mechanism (direct POST vs presigned URL — matters for Lambda), file object shape incl. hash field, metadata patch, and file delete. Also verify hash algorithm: hash the exact uploaded STL locally with MD5 and SHA-256 and match against the hash Thingiverse reports (Devon guesses SHA-256). Output: docs/thingiverse-api-v2-private.md contract doc.","notes":"SCOPE ADDITION: things will contain photos, zip files, and other non-STL files. During the HAR capture, upload at least one photo, one zip, and one STL, and capture whether they all go through the same upload endpoint/mechanism or different ones (the public spec only shows an image upload route). Verify whether the hash field is reported for ALL file types or only models.","status":"open","priority":1,"issue_type":"task","owner":"devon.jones@gmail.com","created_at":"2026-07-06T11:42:24.225732535-06:00","created_by":"Devon Jones","updated_at":"2026-07-06T11:55:48.284424468-06:00","dependencies":[{"issue_id":"openforge_catalog-hnr","depends_on_id":"openforge_catalog-4kx","type":"parent-child","created_at":"2026-07-06T11:42:51.659042706-06:00","created_by":"Devon Jones"}]} +{"id":"openforge_catalog-gn2","title":"Thingiverse v2 API client (write endpoints from HAR contract)","description":"Python client wrapping the v2 API using the auth/token manager: create thing, patch metadata, upload model file, replace file, delete file, list files w/ hashes, publish. Read endpoints (things/{id}/complete etc.) from the public spec (docs/thingiverse-api-v2.md); write endpoints implemented per the HAR-derived contract. Stub the write calls if started before the HAR ticket completes.","notes":"Hash field comes base64-encoded on recent uploads (24-char) and hex on older ones (32-char) - client must expose a normalized-hex form. Remote filenames are sanitized (no #/comma/etc) so never key on name. Confirmed the v1 read shape on a real published thing (thing:7364110): license=human string, is_published=1, creator.name, File.hash present.","status":"in_progress","priority":1,"issue_type":"feature","owner":"devon.jones@gmail.com","created_at":"2026-07-06T11:42:25.975705436-06:00","created_by":"Devon Jones","updated_at":"2026-07-07T12:47:35.456889575-06:00","dependencies":[{"issue_id":"openforge_catalog-gn2","depends_on_id":"openforge_catalog-hnr","type":"blocks","created_at":"2026-07-06T11:42:42.234078586-06:00","created_by":"Devon Jones"},{"issue_id":"openforge_catalog-gn2","depends_on_id":"openforge_catalog-7dg","type":"blocks","created_at":"2026-07-06T11:42:42.679151017-06:00","created_by":"Devon Jones"},{"issue_id":"openforge_catalog-gn2","depends_on_id":"openforge_catalog-4kx","type":"parent-child","created_at":"2026-07-06T11:42:53.406992128-06:00","created_by":"Devon Jones"}]} +{"id":"openforge_catalog-hnr","title":"Capture HAR of Thingiverse SPA create/upload/edit flow and extract API contract","description":"Devon captures a HAR (Network tab, preserve log, Fetch/XHR, 'Save all as HAR with content') of a complete flow: create draft thing, set name/description/tags/category/license, upload image, upload STL, replace the STL, delete a file, publish. HAR goes to scratchpad only — contains live JWT/refresh/cookies, never commit; rotate tokens after. From the HAR, extract and document: create-thing endpoint+payload, model-file upload mechanism (direct POST vs presigned URL — matters for Lambda), file object shape incl. hash field, metadata patch, and file delete. Also verify hash algorithm: hash the exact uploaded STL locally with MD5 and SHA-256 and match against the hash Thingiverse reports (Devon guesses SHA-256). Output: docs/thingiverse-api-v2-private.md contract doc.","notes":"LARGELY SOLVED via v1 swagger (thingiverse.com/swagger/docs/openapi.yaml) + live probes. (1) HASH = content-MD5, confirmed empirically (downloaded a file, MD5 matches the File.hash field exactly). Catalog already stores file_md5 -\u003e sync compares directly, NO SHA-256 needed (local_sha256 column is dead/harmless). (2) WRITE AUTH SOLVED: use the 'token' field from POST /v2/auth/login as Bearer (32-char opaque, devonjones-scoped id 47139), against api.thingiverse.com DIRECTLY (www origin is Cloudflare-challenged). The env THINGIVERSE_APP_TOKEN authenticates as Joaquin (wrong account) - do not use. (3) Write surface is v1: POST /things/ (create), POST /files/0/uploadFile (multipart -\u003e {id}), POST /files/0/FinalizeFiles, GET /things/{id}/files (hash), POST /things/{id}/publish. Full contract: docs/thingiverse-api-v2-private.md. REMAINING: confirm POST /things/ payload on first real create; Devon notes v1 can't set all fields he wants (open request to Thingiverse for v2 write).","status":"closed","priority":1,"issue_type":"task","owner":"devon.jones@gmail.com","created_at":"2026-07-06T11:42:24.225732535-06:00","created_by":"Devon Jones","updated_at":"2026-07-07T12:47:34.953583534-06:00","closed_at":"2026-07-07T12:47:34.953583534-06:00","close_reason":"Contract captured and validated end-to-end. Write auth (login token field, devonjones-scoped, api.thingiverse.com direct), file hash = MD5 (hex or base64 depending on upload path), write endpoints (v1: POST /things/, uploadFile+FinalizeFiles, publish), filename sanitization all documented in docs/thingiverse-api-v2-private.md and validated against thing:7364110 (31/31 STLs match catalog file_md5).","dependencies":[{"issue_id":"openforge_catalog-hnr","depends_on_id":"openforge_catalog-4kx","type":"parent-child","created_at":"2026-07-06T11:42:51.659042706-06:00","created_by":"Devon Jones"}]} {"id":"openforge_catalog-hqe","title":"Backend API: Admin set default camera position","description":"Create Flask endpoint for admins to set/update the default camera position for individual models. Accepts model_id and camera position (x,y,z). Requires admin authentication. Triggers thumbnail regeneration if needed.","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-21T09:58:36.544944445-07:00","updated_at":"2025-12-21T14:01:55.202764217-07:00","closed_at":"2025-12-21T14:01:55.202764217-07:00","close_reason":"Completed: Created PATCH /api/blueprints/\u003cblueprint_id\u003e/thumbnail-variants/default-angle endpoint. Admin-only, requires authentication and CSRF protection. Validates angle index (0-9), updates sprite_metadata.default_angle in database. Returns error for legacy single thumbnails. All 319 tests passing.","dependencies":[{"issue_id":"openforge_catalog-hqe","depends_on_id":"openforge_catalog-bll","type":"parent-child","created_at":"2025-12-21T09:59:18.965408581-07:00","created_by":"daemon"},{"issue_id":"openforge_catalog-hqe","depends_on_id":"openforge_catalog-jnl","type":"blocks","created_at":"2025-12-21T09:59:35.746577657-07:00","created_by":"daemon"}]} {"id":"openforge_catalog-hr4","title":"Admin UI: Manually trigger sprite generation per model","description":"Add admin interface to manually trigger sprite sheet generation for individual models. Useful for: (1) Testing different camera positions on specific models. (2) Regenerating sprites after adjusting defaults. (3) Fixing failed generations. Shows progress, preview of result, ability to approve/reject before replacing existing thumbnail. Can mark models as 'sprite sheet validated' to track rollout progress.","status":"open","priority":3,"issue_type":"task","created_at":"2025-12-21T10:14:01.648534686-07:00","updated_at":"2025-12-21T10:14:01.648534686-07:00","dependencies":[{"issue_id":"openforge_catalog-hr4","depends_on_id":"openforge_catalog-bll","type":"parent-child","created_at":"2025-12-21T10:14:19.184588659-07:00","created_by":"daemon"},{"issue_id":"openforge_catalog-hr4","depends_on_id":"openforge_catalog-4ji","type":"blocks","created_at":"2025-12-21T10:14:24.909562746-07:00","created_by":"daemon"}]} {"id":"openforge_catalog-jnl","title":"Database schema for camera positions and thumbnail variants","description":"Add database schema to store: (1) Sprite sheet metadata - grid dimensions (rows, cols), tile size, angle positions in grid. (2) Camera position per angle (x,y,z coords). (3) Default angle index per model. (4) Sprite sheet file path/URL in R2. Consider if this extends existing thumbnail tables or needs new camera_angles table. Must support models with legacy single thumbnail during migration.","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-21T09:58:19.570114017-07:00","updated_at":"2025-12-21T13:07:55.263321459-07:00","closed_at":"2025-12-21T13:07:55.263321459-07:00","close_reason":"Completed: Added sprite_metadata JSONB column to images table with GIN index. Migration version 16 created and tested. All tests passing.","dependencies":[{"issue_id":"openforge_catalog-jnl","depends_on_id":"openforge_catalog-bll","type":"parent-child","created_at":"2025-12-21T09:59:17.171165836-07:00","created_by":"daemon"}]} diff --git a/openforge/db/fixtures/blueprints/aztlan.json b/openforge/db/fixtures/blueprints/aztlan.json index 7a3ec80..2134555 100644 --- a/openforge/db/fixtures/blueprints/aztlan.json +++ b/openforge/db/fixtures/blueprints/aztlan.json @@ -5187,18 +5187,33 @@ "type": "model" }, { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|13mm" + } + ] + } + } + ] + }, "file_metadata": { - "file": "aztlan#corner,wall.2x.openforge,side+dragonlock.stl", - "file_modified_at": "2026-05-01T13:24:13.895803", - "full_name": "tiles/aztlan/s2w/corner/wall#corner+s2w/aztlan#corner,wall.2x.openforge,side+dragonlock.stl", - "md5": "7e1ea2dc162012bcef9224b0d2157214", - "size": 12984084, - "storage_address": "https://objects.openforge.tools/models/7e1ea2/7e1ea2dc162012bcef9224b0d2157214.stl" + "file": "aztlan#corner,treasure_hollow+13mm.BA.openforge,side+dragonlock.stl", + "file_modified_at": "2026-06-15T11:35:41.486475", + "full_name": "tiles/aztlan/s2w/corner/treasure_hollow#corner+s2w/aztlan#corner,treasure_hollow+13mm.BA.openforge,side+dragonlock.stl", + "md5": "39926f410890baf2823077c6965c5007", + "size": 13152984, + "storage_address": "https://objects.openforge.tools/models/39926f/39926f410890baf2823077c6965c5007.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/7e1ea2/7e1ea2dc162012bcef9224b0d2157214.png", + "image_url": "https://objects.openforge.tools/sprites/39926f/39926f410890baf2823077c6965c5007.png", "sprite_metadata": { "angles": [ { @@ -5299,34 +5314,50 @@ } } ], - "metadata": false, + "metadata": true, "tags": [ "build|s2w", - "component|wall", + "component|treasure_hollow", + "component|treasure_hollow|13mm", "connection|openforge", "connection|side", "connection|side|dragonlock", "shape|corner", "shape|wall", - "size|openlock|A", - "size|width|2", + "size|openlock|BA", + "size|width|1.5", "texture|aztlan" ], "type": "model" }, { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|13mm" + } + ] + } + } + ] + }, "file_metadata": { - "file": "aztlan#corner,wall.2x.openforge,side+filament.stl", - "file_modified_at": "2026-05-01T13:24:23.762001", - "full_name": "tiles/aztlan/s2w/corner/wall#corner+s2w/aztlan#corner,wall.2x.openforge,side+filament.stl", - "md5": "4439c24071b69356afec6550d2b81382", - "size": 13774284, - "storage_address": "https://objects.openforge.tools/models/4439c2/4439c24071b69356afec6550d2b81382.stl" + "file": "aztlan#corner,treasure_hollow+13mm.BA.openforge,side+filament.stl", + "file_modified_at": "2026-06-15T11:36:51.337769", + "full_name": "tiles/aztlan/s2w/corner/treasure_hollow#corner+s2w/aztlan#corner,treasure_hollow+13mm.BA.openforge,side+filament.stl", + "md5": "dc866f1fec4f0240167ac85f0faaac94", + "size": 13943984, + "storage_address": "https://objects.openforge.tools/models/dc866f/dc866f1fec4f0240167ac85f0faaac94.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/4439c2/4439c24071b69356afec6550d2b81382.png", + "image_url": "https://objects.openforge.tools/sprites/dc866f/dc866f1fec4f0240167ac85f0faaac94.png", "sprite_metadata": { "angles": [ { @@ -5427,34 +5458,50 @@ } } ], - "metadata": false, + "metadata": true, "tags": [ "build|s2w", - "component|wall", + "component|treasure_hollow", + "component|treasure_hollow|13mm", "connection|openforge", "connection|side", "connection|side|filament", "shape|corner", "shape|wall", - "size|openlock|A", - "size|width|2", + "size|openlock|BA", + "size|width|1.5", "texture|aztlan" ], "type": "model" }, { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|13mm" + } + ] + } + } + ] + }, "file_metadata": { - "file": "aztlan#corner,wall.2x.openforge,side.stl", - "file_modified_at": "2026-05-01T13:24:03.028493", - "full_name": "tiles/aztlan/s2w/corner/wall#corner+s2w/aztlan#corner,wall.2x.openforge,side.stl", - "md5": "d571230e0a578993f2b8d02e412ca04d", - "size": 12648084, - "storage_address": "https://objects.openforge.tools/models/d57123/d571230e0a578993f2b8d02e412ca04d.stl" + "file": "aztlan#corner,treasure_hollow+13mm.BA.openforge,side.stl", + "file_modified_at": "2026-06-15T11:34:37.448961", + "full_name": "tiles/aztlan/s2w/corner/treasure_hollow#corner+s2w/aztlan#corner,treasure_hollow+13mm.BA.openforge,side.stl", + "md5": "4a4d391a59ca32803707a7d1f5551ad9", + "size": 12815784, + "storage_address": "https://objects.openforge.tools/models/4a4d39/4a4d391a59ca32803707a7d1f5551ad9.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/d57123/d571230e0a578993f2b8d02e412ca04d.png", + "image_url": "https://objects.openforge.tools/sprites/4a4d39/4a4d391a59ca32803707a7d1f5551ad9.png", "sprite_metadata": { "angles": [ { @@ -5555,34 +5602,50 @@ } } ], - "metadata": false, + "metadata": true, "tags": [ "build|s2w", - "component|wall", + "component|treasure_hollow", + "component|treasure_hollow|13mm", "connection|openforge", "connection|side", "connection|side|openlock", "shape|corner", "shape|wall", - "size|openlock|A", - "size|width|2", + "size|openlock|BA", + "size|width|1.5", "texture|aztlan" ], "type": "model" }, { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|9mm" + } + ] + } + } + ] + }, "file_metadata": { - "file": "aztlan#corner,wall+low.2x.openforge,side+dragonlock.stl", - "file_modified_at": "2026-05-01T13:23:20.657397", - "full_name": "tiles/aztlan/s2w/corner/wall+low#corner+s2w/aztlan#corner,wall+low.2x.openforge,side+dragonlock.stl", - "md5": "6e6d6ad33593c228bd0ba9d7edf33636", - "size": 11313084, - "storage_address": "https://objects.openforge.tools/models/6e6d6a/6e6d6ad33593c228bd0ba9d7edf33636.stl" + "file": "aztlan#corner,treasure_hollow+9mm.BA.openforge,side+dragonlock.stl", + "file_modified_at": "2026-06-15T11:39:11.105398", + "full_name": "tiles/aztlan/s2w/corner/treasure_hollow#corner+s2w/aztlan#corner,treasure_hollow+9mm.BA.openforge,side+dragonlock.stl", + "md5": "554dc64ae84c3d984e8dac1944a637ab", + "size": 13122884, + "storage_address": "https://objects.openforge.tools/models/554dc6/554dc64ae84c3d984e8dac1944a637ab.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/6e6d6a/6e6d6ad33593c228bd0ba9d7edf33636.png", + "image_url": "https://objects.openforge.tools/sprites/554dc6/554dc64ae84c3d984e8dac1944a637ab.png", "sprite_metadata": { "angles": [ { @@ -5683,34 +5746,50 @@ } } ], - "metadata": false, + "metadata": true, "tags": [ "build|s2w", - "component|wall|low", + "component|treasure_hollow", + "component|treasure_hollow|9mm", "connection|openforge", "connection|side", "connection|side|dragonlock", "shape|corner", - "shape|wall|low", - "size|openlock|A", - "size|width|2", + "shape|wall", + "size|openlock|BA", + "size|width|1.5", "texture|aztlan" ], "type": "model" }, { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|9mm" + } + ] + } + } + ] + }, "file_metadata": { - "file": "aztlan#corner,wall+low.2x.openforge,side+filament.stl", - "file_modified_at": "2026-05-01T13:23:35.384544", - "full_name": "tiles/aztlan/s2w/corner/wall+low#corner+s2w/aztlan#corner,wall+low.2x.openforge,side+filament.stl", - "md5": "c4a347abfc3b115fc325b78cbd3787af", - "size": 11717684, - "storage_address": "https://objects.openforge.tools/models/c4a347/c4a347abfc3b115fc325b78cbd3787af.stl" + "file": "aztlan#corner,treasure_hollow+9mm.BA.openforge,side+filament.stl", + "file_modified_at": "2026-06-15T11:40:27.360066", + "full_name": "tiles/aztlan/s2w/corner/treasure_hollow#corner+s2w/aztlan#corner,treasure_hollow+9mm.BA.openforge,side+filament.stl", + "md5": "c18e2d00aa180361480d5b9b2c8a0098", + "size": 13914284, + "storage_address": "https://objects.openforge.tools/models/c18e2d/c18e2d00aa180361480d5b9b2c8a0098.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/c4a347/c4a347abfc3b115fc325b78cbd3787af.png", + "image_url": "https://objects.openforge.tools/sprites/c18e2d/c18e2d00aa180361480d5b9b2c8a0098.png", "sprite_metadata": { "angles": [ { @@ -5811,34 +5890,50 @@ } } ], - "metadata": false, + "metadata": true, "tags": [ "build|s2w", - "component|wall|low", + "component|treasure_hollow", + "component|treasure_hollow|9mm", "connection|openforge", "connection|side", "connection|side|filament", "shape|corner", - "shape|wall|low", - "size|openlock|A", - "size|width|2", + "shape|wall", + "size|openlock|BA", + "size|width|1.5", "texture|aztlan" ], "type": "model" }, { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|9mm" + } + ] + } + } + ] + }, "file_metadata": { - "file": "aztlan#corner,wall+low.2x.openforge,side.stl", - "file_modified_at": "2026-05-01T13:23:10.025591", - "full_name": "tiles/aztlan/s2w/corner/wall+low#corner+s2w/aztlan#corner,wall+low.2x.openforge,side.stl", - "md5": "578cb3ad318c01489530c6d6b0a55442", - "size": 11151584, - "storage_address": "https://objects.openforge.tools/models/578cb3/578cb3ad318c01489530c6d6b0a55442.stl" + "file": "aztlan#corner,treasure_hollow+9mm.BA.openforge,side.stl", + "file_modified_at": "2026-06-15T11:38:05.877178", + "full_name": "tiles/aztlan/s2w/corner/treasure_hollow#corner+s2w/aztlan#corner,treasure_hollow+9mm.BA.openforge,side.stl", + "md5": "1f2870b745f829cb273e08658abf5fc6", + "size": 12787684, + "storage_address": "https://objects.openforge.tools/models/1f2870/1f2870b745f829cb273e08658abf5fc6.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/578cb3/578cb3ad318c01489530c6d6b0a55442.png", + "image_url": "https://objects.openforge.tools/sprites/1f2870/1f2870b745f829cb273e08658abf5fc6.png", "sprite_metadata": { "angles": [ { @@ -5939,34 +6034,35 @@ } } ], - "metadata": false, + "metadata": true, "tags": [ "build|s2w", - "component|wall|low", + "component|treasure_hollow", + "component|treasure_hollow|9mm", "connection|openforge", "connection|side", "connection|side|openlock", "shape|corner", - "shape|wall|low", - "size|openlock|A", - "size|width|2", + "shape|wall", + "size|openlock|BA", + "size|width|1.5", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#corner,window.2x.openforge,side+dragonlock.stl", - "file_modified_at": "2026-05-30T13:43:44.158485", - "full_name": "tiles/aztlan/s2w/corner/window#corner+s2w/aztlan#corner,window.2x.openforge,side+dragonlock.stl", - "md5": "8b1f667eb3178d9232f8afaa8d1aacd0", - "size": 13428934, - "storage_address": "https://objects.openforge.tools/models/8b1f66/8b1f667eb3178d9232f8afaa8d1aacd0.stl" + "file": "aztlan#corner,wall.2x.openforge,side+dragonlock.stl", + "file_modified_at": "2026-05-01T13:24:13.895803", + "full_name": "tiles/aztlan/s2w/corner/wall#corner+s2w/aztlan#corner,wall.2x.openforge,side+dragonlock.stl", + "md5": "7e1ea2dc162012bcef9224b0d2157214", + "size": 12984084, + "storage_address": "https://objects.openforge.tools/models/7e1ea2/7e1ea2dc162012bcef9224b0d2157214.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/8b1f66/8b1f667eb3178d9232f8afaa8d1aacd0.png", + "image_url": "https://objects.openforge.tools/sprites/7e1ea2/7e1ea2dc162012bcef9224b0d2157214.png", "sprite_metadata": { "angles": [ { @@ -6070,7 +6166,7 @@ "metadata": false, "tags": [ "build|s2w", - "component|window", + "component|wall", "connection|openforge", "connection|side", "connection|side|dragonlock", @@ -6084,17 +6180,17 @@ }, { "file_metadata": { - "file": "aztlan#corner,window.2x.openforge,side+filament.stl", - "file_modified_at": "2026-05-30T13:45:12.913178", - "full_name": "tiles/aztlan/s2w/corner/window#corner+s2w/aztlan#corner,window.2x.openforge,side+filament.stl", - "md5": "a1319ece0e8195bcd33f0a4e8c961cd3", - "size": 14218334, - "storage_address": "https://objects.openforge.tools/models/a1319e/a1319ece0e8195bcd33f0a4e8c961cd3.stl" + "file": "aztlan#corner,wall.2x.openforge,side+filament.stl", + "file_modified_at": "2026-05-01T13:24:23.762001", + "full_name": "tiles/aztlan/s2w/corner/wall#corner+s2w/aztlan#corner,wall.2x.openforge,side+filament.stl", + "md5": "4439c24071b69356afec6550d2b81382", + "size": 13774284, + "storage_address": "https://objects.openforge.tools/models/4439c2/4439c24071b69356afec6550d2b81382.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/a1319e/a1319ece0e8195bcd33f0a4e8c961cd3.png", + "image_url": "https://objects.openforge.tools/sprites/4439c2/4439c24071b69356afec6550d2b81382.png", "sprite_metadata": { "angles": [ { @@ -6198,7 +6294,7 @@ "metadata": false, "tags": [ "build|s2w", - "component|window", + "component|wall", "connection|openforge", "connection|side", "connection|side|filament", @@ -6212,17 +6308,17 @@ }, { "file_metadata": { - "file": "aztlan#corner,window.2x.openforge,side.stl", - "file_modified_at": "2026-05-30T13:42:14.911378", - "full_name": "tiles/aztlan/s2w/corner/window#corner+s2w/aztlan#corner,window.2x.openforge,side.stl", - "md5": "18972d76a49587933bdd2edd3d9f6ad0", - "size": 13091834, - "storage_address": "https://objects.openforge.tools/models/18972d/18972d76a49587933bdd2edd3d9f6ad0.stl" + "file": "aztlan#corner,wall.2x.openforge,side.stl", + "file_modified_at": "2026-05-01T13:24:03.028493", + "full_name": "tiles/aztlan/s2w/corner/wall#corner+s2w/aztlan#corner,wall.2x.openforge,side.stl", + "md5": "d571230e0a578993f2b8d02e412ca04d", + "size": 12648084, + "storage_address": "https://objects.openforge.tools/models/d57123/d571230e0a578993f2b8d02e412ca04d.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/18972d/18972d76a49587933bdd2edd3d9f6ad0.png", + "image_url": "https://objects.openforge.tools/sprites/d57123/d571230e0a578993f2b8d02e412ca04d.png", "sprite_metadata": { "angles": [ { @@ -6326,7 +6422,7 @@ "metadata": false, "tags": [ "build|s2w", - "component|window", + "component|wall", "connection|openforge", "connection|side", "connection|side|openlock", @@ -6340,17 +6436,17 @@ }, { "file_metadata": { - "file": "aztlan#floor+s2w+wall.1x1.openforge.stl", - "file_modified_at": "2026-04-30T09:42:20.433682", - "full_name": "tiles/aztlan/s2w/wall/floor/aztlan#floor+s2w+wall.1x1.openforge.stl", - "md5": "fd0a78bb9bb3caf41b938e3f12c09c61", - "size": 785434, - "storage_address": "https://objects.openforge.tools/models/fd0a78/fd0a78bb9bb3caf41b938e3f12c09c61.stl" + "file": "aztlan#corner,wall+low.2x.openforge,side+dragonlock.stl", + "file_modified_at": "2026-05-01T13:23:20.657397", + "full_name": "tiles/aztlan/s2w/corner/wall+low#corner+s2w/aztlan#corner,wall+low.2x.openforge,side+dragonlock.stl", + "md5": "6e6d6ad33593c228bd0ba9d7edf33636", + "size": 11313084, + "storage_address": "https://objects.openforge.tools/models/6e6d6a/6e6d6ad33593c228bd0ba9d7edf33636.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/fd0a78/fd0a78bb9bb3caf41b938e3f12c09c61.png", + "image_url": "https://objects.openforge.tools/sprites/6e6d6a/6e6d6ad33593c228bd0ba9d7edf33636.png", "sprite_metadata": { "angles": [ { @@ -6454,30 +6550,31 @@ "metadata": false, "tags": [ "build|s2w", + "component|wall|low", "connection|openforge", - "shape|floor", - "shape|floor|s2w", - "shape|floor|wall", - "shape|wall", - "size|depth|1", - "size|width|1", + "connection|side", + "connection|side|dragonlock", + "shape|corner", + "shape|wall|low", + "size|openlock|A", + "size|width|2", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#floor+s2w+wall.2x1.openforge.stl", - "file_modified_at": "2026-04-30T09:46:29.142567", - "full_name": "tiles/aztlan/s2w/wall/floor/aztlan#floor+s2w+wall.2x1.openforge.stl", - "md5": "45d5908269ae1dc81e4d8155f87116ae", - "size": 2894884, - "storage_address": "https://objects.openforge.tools/models/45d590/45d5908269ae1dc81e4d8155f87116ae.stl" + "file": "aztlan#corner,wall+low.2x.openforge,side+filament.stl", + "file_modified_at": "2026-05-01T13:23:35.384544", + "full_name": "tiles/aztlan/s2w/corner/wall+low#corner+s2w/aztlan#corner,wall+low.2x.openforge,side+filament.stl", + "md5": "c4a347abfc3b115fc325b78cbd3787af", + "size": 11717684, + "storage_address": "https://objects.openforge.tools/models/c4a347/c4a347abfc3b115fc325b78cbd3787af.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/45d590/45d5908269ae1dc81e4d8155f87116ae.png", + "image_url": "https://objects.openforge.tools/sprites/c4a347/c4a347abfc3b115fc325b78cbd3787af.png", "sprite_metadata": { "angles": [ { @@ -6581,12 +6678,13 @@ "metadata": false, "tags": [ "build|s2w", + "component|wall|low", "connection|openforge", - "shape|floor", - "shape|floor|s2w", - "shape|floor|wall", - "shape|wall", - "size|depth|1", + "connection|side", + "connection|side|filament", + "shape|corner", + "shape|wall|low", + "size|openlock|A", "size|width|2", "texture|aztlan" ], @@ -6594,17 +6692,17 @@ }, { "file_metadata": { - "file": "aztlan#floor+s2w+wall.2x2.openforge.stl", - "file_modified_at": "2026-04-30T09:46:52.892788", - "full_name": "tiles/aztlan/s2w/wall/floor/aztlan#floor+s2w+wall.2x2.openforge.stl", - "md5": "667521c8c2494e79a03468611637e063", - "size": 6876184, - "storage_address": "https://objects.openforge.tools/models/667521/667521c8c2494e79a03468611637e063.stl" + "file": "aztlan#corner,wall+low.2x.openforge,side.stl", + "file_modified_at": "2026-05-01T13:23:10.025591", + "full_name": "tiles/aztlan/s2w/corner/wall+low#corner+s2w/aztlan#corner,wall+low.2x.openforge,side.stl", + "md5": "578cb3ad318c01489530c6d6b0a55442", + "size": 11151584, + "storage_address": "https://objects.openforge.tools/models/578cb3/578cb3ad318c01489530c6d6b0a55442.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/667521/667521c8c2494e79a03468611637e063.png", + "image_url": "https://objects.openforge.tools/sprites/578cb3/578cb3ad318c01489530c6d6b0a55442.png", "sprite_metadata": { "angles": [ { @@ -6708,12 +6806,13 @@ "metadata": false, "tags": [ "build|s2w", + "component|wall|low", "connection|openforge", - "shape|floor", - "shape|floor|s2w", - "shape|floor|wall", - "shape|wall", - "size|depth|2", + "connection|side", + "connection|side|openlock", + "shape|corner", + "shape|wall|low", + "size|openlock|A", "size|width|2", "texture|aztlan" ], @@ -6721,17 +6820,17 @@ }, { "file_metadata": { - "file": "aztlan#floor+s2w+wall.3x1.openforge.stl", - "file_modified_at": "2026-04-30T09:47:20.453761", - "full_name": "tiles/aztlan/s2w/wall/floor/aztlan#floor+s2w+wall.3x1.openforge.stl", - "md5": "b8c99a9a5ca813f28388fd072de28a58", - "size": 1966584, - "storage_address": "https://objects.openforge.tools/models/b8c99a/b8c99a9a5ca813f28388fd072de28a58.stl" + "file": "aztlan#corner,window.2x.openforge,side+dragonlock.stl", + "file_modified_at": "2026-05-30T13:43:44.158485", + "full_name": "tiles/aztlan/s2w/corner/window#corner+s2w/aztlan#corner,window.2x.openforge,side+dragonlock.stl", + "md5": "8b1f667eb3178d9232f8afaa8d1aacd0", + "size": 13428934, + "storage_address": "https://objects.openforge.tools/models/8b1f66/8b1f667eb3178d9232f8afaa8d1aacd0.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/b8c99a/b8c99a9a5ca813f28388fd072de28a58.png", + "image_url": "https://objects.openforge.tools/sprites/8b1f66/8b1f667eb3178d9232f8afaa8d1aacd0.png", "sprite_metadata": { "angles": [ { @@ -6835,30 +6934,31 @@ "metadata": false, "tags": [ "build|s2w", + "component|window", "connection|openforge", - "shape|floor", - "shape|floor|s2w", - "shape|floor|wall", + "connection|side", + "connection|side|dragonlock", + "shape|corner", "shape|wall", - "size|depth|1", - "size|width|3", + "size|openlock|A", + "size|width|2", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#floor+s2w+wall.3x3.openforge.stl", - "file_modified_at": "2026-04-30T09:47:36.296151", - "full_name": "tiles/aztlan/s2w/wall/floor/aztlan#floor+s2w+wall.3x3.openforge.stl", - "md5": "b7ed028fbc892c9b5efefd4591bf90e4", - "size": 15545984, - "storage_address": "https://objects.openforge.tools/models/b7ed02/b7ed028fbc892c9b5efefd4591bf90e4.stl" + "file": "aztlan#corner,window.2x.openforge,side+filament.stl", + "file_modified_at": "2026-05-30T13:45:12.913178", + "full_name": "tiles/aztlan/s2w/corner/window#corner+s2w/aztlan#corner,window.2x.openforge,side+filament.stl", + "md5": "a1319ece0e8195bcd33f0a4e8c961cd3", + "size": 14218334, + "storage_address": "https://objects.openforge.tools/models/a1319e/a1319ece0e8195bcd33f0a4e8c961cd3.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/b7ed02/b7ed028fbc892c9b5efefd4591bf90e4.png", + "image_url": "https://objects.openforge.tools/sprites/a1319e/a1319ece0e8195bcd33f0a4e8c961cd3.png", "sprite_metadata": { "angles": [ { @@ -6962,30 +7062,31 @@ "metadata": false, "tags": [ "build|s2w", + "component|window", "connection|openforge", - "shape|floor", - "shape|floor|s2w", - "shape|floor|wall", + "connection|side", + "connection|side|filament", + "shape|corner", "shape|wall", - "size|depth|3", - "size|width|3", + "size|openlock|A", + "size|width|2", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#floor+s2w+wall.4x1.openforge.stl", - "file_modified_at": "2026-04-30T09:47:51.956722", - "full_name": "tiles/aztlan/s2w/wall/floor/aztlan#floor+s2w+wall.4x1.openforge.stl", - "md5": "e1fc96e530918c3f069ba95ff3de2f5e", - "size": 2629784, - "storage_address": "https://objects.openforge.tools/models/e1fc96/e1fc96e530918c3f069ba95ff3de2f5e.stl" + "file": "aztlan#corner,window.2x.openforge,side.stl", + "file_modified_at": "2026-05-30T13:42:14.911378", + "full_name": "tiles/aztlan/s2w/corner/window#corner+s2w/aztlan#corner,window.2x.openforge,side.stl", + "md5": "18972d76a49587933bdd2edd3d9f6ad0", + "size": 13091834, + "storage_address": "https://objects.openforge.tools/models/18972d/18972d76a49587933bdd2edd3d9f6ad0.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/e1fc96/e1fc96e530918c3f069ba95ff3de2f5e.png", + "image_url": "https://objects.openforge.tools/sprites/18972d/18972d76a49587933bdd2edd3d9f6ad0.png", "sprite_metadata": { "angles": [ { @@ -7089,30 +7190,31 @@ "metadata": false, "tags": [ "build|s2w", + "component|window", "connection|openforge", - "shape|floor", - "shape|floor|s2w", - "shape|floor|wall", + "connection|side", + "connection|side|openlock", + "shape|corner", "shape|wall", - "size|depth|1", - "size|width|4", + "size|openlock|A", + "size|width|2", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#floor+s2w+wall.4x2.openforge.stl", - "file_modified_at": "2026-04-30T09:47:08.135706", - "full_name": "tiles/aztlan/s2w/wall/floor/aztlan#floor+s2w+wall.4x2.openforge.stl", - "md5": "b81d5091d53b61a4190a7ab3e5f9fd37", - "size": 12743584, - "storage_address": "https://objects.openforge.tools/models/b81d50/b81d5091d53b61a4190a7ab3e5f9fd37.stl" + "file": "aztlan#floor+s2w+wall.1x1.openforge.stl", + "file_modified_at": "2026-04-30T09:42:20.433682", + "full_name": "tiles/aztlan/s2w/wall/floor/aztlan#floor+s2w+wall.1x1.openforge.stl", + "md5": "fd0a78bb9bb3caf41b938e3f12c09c61", + "size": 785434, + "storage_address": "https://objects.openforge.tools/models/fd0a78/fd0a78bb9bb3caf41b938e3f12c09c61.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/b81d50/b81d5091d53b61a4190a7ab3e5f9fd37.png", + "image_url": "https://objects.openforge.tools/sprites/fd0a78/fd0a78bb9bb3caf41b938e3f12c09c61.png", "sprite_metadata": { "angles": [ { @@ -7221,25 +7323,25 @@ "shape|floor|s2w", "shape|floor|wall", "shape|wall", - "size|depth|2", - "size|width|4", + "size|depth|1", + "size|width|1", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#floor+s2w+wall.4x4.openforge.stl", - "file_modified_at": "2026-04-30T09:48:13.507262", - "full_name": "tiles/aztlan/s2w/wall/floor/aztlan#floor+s2w+wall.4x4.openforge.stl", - "md5": "8889e8499ec9a5874dc9f2bf5d18e527", - "size": 27577484, - "storage_address": "https://objects.openforge.tools/models/8889e8/8889e8499ec9a5874dc9f2bf5d18e527.stl" + "file": "aztlan#floor+s2w+wall.2x1.openforge.stl", + "file_modified_at": "2026-04-30T09:46:29.142567", + "full_name": "tiles/aztlan/s2w/wall/floor/aztlan#floor+s2w+wall.2x1.openforge.stl", + "md5": "45d5908269ae1dc81e4d8155f87116ae", + "size": 2894884, + "storage_address": "https://objects.openforge.tools/models/45d590/45d5908269ae1dc81e4d8155f87116ae.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/8889e8/8889e8499ec9a5874dc9f2bf5d18e527.png", + "image_url": "https://objects.openforge.tools/sprites/45d590/45d5908269ae1dc81e4d8155f87116ae.png", "sprite_metadata": { "angles": [ { @@ -7348,25 +7450,25 @@ "shape|floor|s2w", "shape|floor|wall", "shape|wall", - "size|depth|4", - "size|width|4", + "size|depth|1", + "size|width|2", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#column+low.col+I.side.stl", - "file_modified_at": "2026-05-01T14:54:23.591582", - "full_name": "tiles/aztlan/separate_walls/primary_walls/column+low/openlock/aztlan#column+low.col+I.side.stl", - "md5": "db9968fcba8578e09345910acd03aee9", - "size": 3438134, - "storage_address": "https://objects.openforge.tools/models/db9968/db9968fcba8578e09345910acd03aee9.stl" + "file": "aztlan#floor+s2w+wall.2x2.openforge.stl", + "file_modified_at": "2026-04-30T09:46:52.892788", + "full_name": "tiles/aztlan/s2w/wall/floor/aztlan#floor+s2w+wall.2x2.openforge.stl", + "md5": "667521c8c2494e79a03468611637e063", + "size": 6876184, + "storage_address": "https://objects.openforge.tools/models/667521/667521c8c2494e79a03468611637e063.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/db9968/db9968fcba8578e09345910acd03aee9.png", + "image_url": "https://objects.openforge.tools/sprites/667521/667521c8c2494e79a03468611637e063.png", "sprite_metadata": { "angles": [ { @@ -7469,31 +7571,31 @@ ], "metadata": false, "tags": [ - "connection|side", - "connection|side|openlock", - "shape|column", - "shape|column|low", - "shape|square", + "build|s2w", + "connection|openforge", + "shape|floor", + "shape|floor|s2w", + "shape|floor|wall", "shape|wall", - "size|column_shape|I", - "size|openlock|I", + "size|depth|2", + "size|width|2", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#column+low.col+L.side.stl", - "file_modified_at": "2026-05-01T14:54:37.215159", - "full_name": "tiles/aztlan/separate_walls/primary_walls/column+low/openlock/aztlan#column+low.col+L.side.stl", - "md5": "68241da359c1708d8dd766bb284b73b1", - "size": 3462984, - "storage_address": "https://objects.openforge.tools/models/68241d/68241da359c1708d8dd766bb284b73b1.stl" + "file": "aztlan#floor+s2w+wall.3x1.openforge.stl", + "file_modified_at": "2026-04-30T09:47:20.453761", + "full_name": "tiles/aztlan/s2w/wall/floor/aztlan#floor+s2w+wall.3x1.openforge.stl", + "md5": "b8c99a9a5ca813f28388fd072de28a58", + "size": 1966584, + "storage_address": "https://objects.openforge.tools/models/b8c99a/b8c99a9a5ca813f28388fd072de28a58.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/68241d/68241da359c1708d8dd766bb284b73b1.png", + "image_url": "https://objects.openforge.tools/sprites/b8c99a/b8c99a9a5ca813f28388fd072de28a58.png", "sprite_metadata": { "angles": [ { @@ -7596,31 +7698,31 @@ ], "metadata": false, "tags": [ - "connection|side", - "connection|side|openlock", - "shape|column", - "shape|column|low", - "shape|square", + "build|s2w", + "connection|openforge", + "shape|floor", + "shape|floor|s2w", + "shape|floor|wall", "shape|wall", - "size|column_shape|L", - "size|openlock|L", + "size|depth|1", + "size|width|3", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#column+low.col+O.side.stl", - "file_modified_at": "2026-05-01T14:54:50.453207", - "full_name": "tiles/aztlan/separate_walls/primary_walls/column+low/openlock/aztlan#column+low.col+O.side.stl", - "md5": "88940c06ab11b421efcc4af41f59bb7b", - "size": 3729384, - "storage_address": "https://objects.openforge.tools/models/88940c/88940c06ab11b421efcc4af41f59bb7b.stl" + "file": "aztlan#floor+s2w+wall.3x3.openforge.stl", + "file_modified_at": "2026-04-30T09:47:36.296151", + "full_name": "tiles/aztlan/s2w/wall/floor/aztlan#floor+s2w+wall.3x3.openforge.stl", + "md5": "b7ed028fbc892c9b5efefd4591bf90e4", + "size": 15545984, + "storage_address": "https://objects.openforge.tools/models/b7ed02/b7ed028fbc892c9b5efefd4591bf90e4.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/88940c/88940c06ab11b421efcc4af41f59bb7b.png", + "image_url": "https://objects.openforge.tools/sprites/b7ed02/b7ed028fbc892c9b5efefd4591bf90e4.png", "sprite_metadata": { "angles": [ { @@ -7723,31 +7825,31 @@ ], "metadata": false, "tags": [ - "connection|side", - "connection|side|openlock", - "shape|column", - "shape|column|low", - "shape|square", + "build|s2w", + "connection|openforge", + "shape|floor", + "shape|floor|s2w", + "shape|floor|wall", "shape|wall", - "size|column_shape|O", - "size|openlock|O", + "size|depth|3", + "size|width|3", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#column.col+I.side+dragonlock.stl", - "file_modified_at": "2026-05-01T14:52:39.122350", - "full_name": "tiles/aztlan/separate_walls/primary_walls/column/dragonlock/aztlan#column.col+I.side+dragonlock.stl", - "md5": "40c32ec8563072dad8f283e4eaf654c1", - "size": 3684984, - "storage_address": "https://objects.openforge.tools/models/40c32e/40c32ec8563072dad8f283e4eaf654c1.stl" + "file": "aztlan#floor+s2w+wall.4x1.openforge.stl", + "file_modified_at": "2026-04-30T09:47:51.956722", + "full_name": "tiles/aztlan/s2w/wall/floor/aztlan#floor+s2w+wall.4x1.openforge.stl", + "md5": "e1fc96e530918c3f069ba95ff3de2f5e", + "size": 2629784, + "storage_address": "https://objects.openforge.tools/models/e1fc96/e1fc96e530918c3f069ba95ff3de2f5e.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/40c32e/40c32ec8563072dad8f283e4eaf654c1.png", + "image_url": "https://objects.openforge.tools/sprites/e1fc96/e1fc96e530918c3f069ba95ff3de2f5e.png", "sprite_metadata": { "angles": [ { @@ -7850,30 +7952,31 @@ ], "metadata": false, "tags": [ - "connection|side", - "connection|side|dragonlock", - "shape|column", - "shape|square", + "build|s2w", + "connection|openforge", + "shape|floor", + "shape|floor|s2w", + "shape|floor|wall", "shape|wall", - "size|column_shape|I", - "size|openlock|I", + "size|depth|1", + "size|width|4", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#column.col+L.side+dragonlock.stl", - "file_modified_at": "2026-05-01T14:52:55.065597", - "full_name": "tiles/aztlan/separate_walls/primary_walls/column/dragonlock/aztlan#column.col+L.side+dragonlock.stl", - "md5": "581eb338fdefc44e50f36dcbac36127e", - "size": 3609984, - "storage_address": "https://objects.openforge.tools/models/581eb3/581eb338fdefc44e50f36dcbac36127e.stl" + "file": "aztlan#floor+s2w+wall.4x2.openforge.stl", + "file_modified_at": "2026-04-30T09:47:08.135706", + "full_name": "tiles/aztlan/s2w/wall/floor/aztlan#floor+s2w+wall.4x2.openforge.stl", + "md5": "b81d5091d53b61a4190a7ab3e5f9fd37", + "size": 12743584, + "storage_address": "https://objects.openforge.tools/models/b81d50/b81d5091d53b61a4190a7ab3e5f9fd37.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/581eb3/581eb338fdefc44e50f36dcbac36127e.png", + "image_url": "https://objects.openforge.tools/sprites/b81d50/b81d5091d53b61a4190a7ab3e5f9fd37.png", "sprite_metadata": { "angles": [ { @@ -7976,30 +8079,31 @@ ], "metadata": false, "tags": [ - "connection|side", - "connection|side|dragonlock", - "shape|column", - "shape|square", + "build|s2w", + "connection|openforge", + "shape|floor", + "shape|floor|s2w", + "shape|floor|wall", "shape|wall", - "size|column_shape|L", - "size|openlock|L", + "size|depth|2", + "size|width|4", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#column.col+O.side+dragonlock.stl", - "file_modified_at": "2026-05-01T14:53:09.106401", - "full_name": "tiles/aztlan/separate_walls/primary_walls/column/dragonlock/aztlan#column.col+O.side+dragonlock.stl", - "md5": "ccdef3e3b79900e7efe312d2ec932131", - "size": 3630284, - "storage_address": "https://objects.openforge.tools/models/ccdef3/ccdef3e3b79900e7efe312d2ec932131.stl" + "file": "aztlan#floor+s2w+wall.4x4.openforge.stl", + "file_modified_at": "2026-04-30T09:48:13.507262", + "full_name": "tiles/aztlan/s2w/wall/floor/aztlan#floor+s2w+wall.4x4.openforge.stl", + "md5": "8889e8499ec9a5874dc9f2bf5d18e527", + "size": 27577484, + "storage_address": "https://objects.openforge.tools/models/8889e8/8889e8499ec9a5874dc9f2bf5d18e527.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/ccdef3/ccdef3e3b79900e7efe312d2ec932131.png", + "image_url": "https://objects.openforge.tools/sprites/8889e8/8889e8499ec9a5874dc9f2bf5d18e527.png", "sprite_metadata": { "angles": [ { @@ -8102,52 +8206,31 @@ ], "metadata": false, "tags": [ - "connection|side", - "connection|side|dragonlock", - "shape|column", - "shape|square", - "shape|wall", - "size|column_shape|O", - "size|openlock|O", - "texture|aztlan" - ], - "type": "model" - }, - { - "file_metadata": { - "file": "aztlan#column.col+T.side+dragonlock.stl", - "file_modified_at": "2026-05-01T14:53:25.826470", - "full_name": "tiles/aztlan/separate_walls/primary_walls/column/dragonlock/aztlan#column.col+T.side+dragonlock.stl", - "md5": "4892426c4728448564f2e13b048eea45", - "size": 84, - "storage_address": "https://objects.openforge.tools/models/489242/4892426c4728448564f2e13b048eea45.stl" - }, - "metadata": false, - "tags": [ - "connection|side", - "connection|side|dragonlock", - "shape|column", - "shape|square", + "build|s2w", + "connection|openforge", + "shape|floor", + "shape|floor|s2w", + "shape|floor|wall", "shape|wall", - "size|column_shape|T", - "size|openlock|T", + "size|depth|4", + "size|width|4", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#column.col+X.side+dragonlock.stl", - "file_modified_at": "2026-05-01T14:53:41.192044", - "full_name": "tiles/aztlan/separate_walls/primary_walls/column/dragonlock/aztlan#column.col+X.side+dragonlock.stl", - "md5": "ac4b5dd5b113f45becef62b23166eee4", - "size": 3880884, - "storage_address": "https://objects.openforge.tools/models/ac4b5d/ac4b5dd5b113f45becef62b23166eee4.stl" + "file": "aztlan#column+low.col+I.side.stl", + "file_modified_at": "2026-05-01T14:54:23.591582", + "full_name": "tiles/aztlan/separate_walls/primary_walls/column+low/openlock/aztlan#column+low.col+I.side.stl", + "md5": "db9968fcba8578e09345910acd03aee9", + "size": 3438134, + "storage_address": "https://objects.openforge.tools/models/db9968/db9968fcba8578e09345910acd03aee9.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/ac4b5d/ac4b5dd5b113f45becef62b23166eee4.png", + "image_url": "https://objects.openforge.tools/sprites/db9968/db9968fcba8578e09345910acd03aee9.png", "sprite_metadata": { "angles": [ { @@ -8251,29 +8334,30 @@ "metadata": false, "tags": [ "connection|side", - "connection|side|dragonlock", + "connection|side|openlock", "shape|column", + "shape|column|low", "shape|square", "shape|wall", - "size|column_shape|X", - "size|openlock|X", + "size|column_shape|I", + "size|openlock|I", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#column.col+I.side.stl", - "file_modified_at": "2026-05-01T14:51:05.506110", - "full_name": "tiles/aztlan/separate_walls/primary_walls/column/openlock/aztlan#column.col+I.side.stl", - "md5": "0c78fbb39efe9745649a908d93214c0c", - "size": 3348384, - "storage_address": "https://objects.openforge.tools/models/0c78fb/0c78fbb39efe9745649a908d93214c0c.stl" + "file": "aztlan#column+low.col+L.side.stl", + "file_modified_at": "2026-05-01T14:54:37.215159", + "full_name": "tiles/aztlan/separate_walls/primary_walls/column+low/openlock/aztlan#column+low.col+L.side.stl", + "md5": "68241da359c1708d8dd766bb284b73b1", + "size": 3462984, + "storage_address": "https://objects.openforge.tools/models/68241d/68241da359c1708d8dd766bb284b73b1.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/0c78fb/0c78fbb39efe9745649a908d93214c0c.png", + "image_url": "https://objects.openforge.tools/sprites/68241d/68241da359c1708d8dd766bb284b73b1.png", "sprite_metadata": { "angles": [ { @@ -8379,27 +8463,28 @@ "connection|side", "connection|side|openlock", "shape|column", + "shape|column|low", "shape|square", "shape|wall", - "size|column_shape|I", - "size|openlock|I", + "size|column_shape|L", + "size|openlock|L", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#column.col+L.side.stl", - "file_modified_at": "2026-05-01T14:51:23.659464", - "full_name": "tiles/aztlan/separate_walls/primary_walls/column/openlock/aztlan#column.col+L.side.stl", - "md5": "f6d34d756b2214d03cc3d51a9e4e8ac3", - "size": 3342984, - "storage_address": "https://objects.openforge.tools/models/f6d34d/f6d34d756b2214d03cc3d51a9e4e8ac3.stl" + "file": "aztlan#column+low.col+O.side.stl", + "file_modified_at": "2026-05-01T14:54:50.453207", + "full_name": "tiles/aztlan/separate_walls/primary_walls/column+low/openlock/aztlan#column+low.col+O.side.stl", + "md5": "88940c06ab11b421efcc4af41f59bb7b", + "size": 3729384, + "storage_address": "https://objects.openforge.tools/models/88940c/88940c06ab11b421efcc4af41f59bb7b.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/f6d34d/f6d34d756b2214d03cc3d51a9e4e8ac3.png", + "image_url": "https://objects.openforge.tools/sprites/88940c/88940c06ab11b421efcc4af41f59bb7b.png", "sprite_metadata": { "angles": [ { @@ -8505,27 +8590,28 @@ "connection|side", "connection|side|openlock", "shape|column", + "shape|column|low", "shape|square", "shape|wall", - "size|column_shape|L", - "size|openlock|L", + "size|column_shape|O", + "size|openlock|O", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#column.col+O.side.stl", - "file_modified_at": "2026-05-01T14:51:39.720559", - "full_name": "tiles/aztlan/separate_walls/primary_walls/column/openlock/aztlan#column.col+O.side.stl", - "md5": "6437cda48ec0a02cc1378fb5d65e4da9", - "size": 3376684, - "storage_address": "https://objects.openforge.tools/models/6437cd/6437cda48ec0a02cc1378fb5d65e4da9.stl" + "file": "aztlan#column.col+I.side+dragonlock.stl", + "file_modified_at": "2026-05-01T14:52:39.122350", + "full_name": "tiles/aztlan/separate_walls/primary_walls/column/dragonlock/aztlan#column.col+I.side+dragonlock.stl", + "md5": "40c32ec8563072dad8f283e4eaf654c1", + "size": 3684984, + "storage_address": "https://objects.openforge.tools/models/40c32e/40c32ec8563072dad8f283e4eaf654c1.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/6437cd/6437cda48ec0a02cc1378fb5d65e4da9.png", + "image_url": "https://objects.openforge.tools/sprites/40c32e/40c32ec8563072dad8f283e4eaf654c1.png", "sprite_metadata": { "angles": [ { @@ -8629,29 +8715,29 @@ "metadata": false, "tags": [ "connection|side", - "connection|side|openlock", + "connection|side|dragonlock", "shape|column", "shape|square", "shape|wall", - "size|column_shape|O", - "size|openlock|O", + "size|column_shape|I", + "size|openlock|I", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#column.col+T.side.stl", - "file_modified_at": "2026-05-01T14:51:54.977309", - "full_name": "tiles/aztlan/separate_walls/primary_walls/column/openlock/aztlan#column.col+T.side.stl", - "md5": "cc6e8433d867f0bfcc73cecd175b67e3", - "size": 3309684, - "storage_address": "https://objects.openforge.tools/models/cc6e84/cc6e8433d867f0bfcc73cecd175b67e3.stl" + "file": "aztlan#column.col+L.side+dragonlock.stl", + "file_modified_at": "2026-05-01T14:52:55.065597", + "full_name": "tiles/aztlan/separate_walls/primary_walls/column/dragonlock/aztlan#column.col+L.side+dragonlock.stl", + "md5": "581eb338fdefc44e50f36dcbac36127e", + "size": 3609984, + "storage_address": "https://objects.openforge.tools/models/581eb3/581eb338fdefc44e50f36dcbac36127e.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/cc6e84/cc6e8433d867f0bfcc73cecd175b67e3.png", + "image_url": "https://objects.openforge.tools/sprites/581eb3/581eb338fdefc44e50f36dcbac36127e.png", "sprite_metadata": { "angles": [ { @@ -8755,29 +8841,29 @@ "metadata": false, "tags": [ "connection|side", - "connection|side|openlock", + "connection|side|dragonlock", "shape|column", "shape|square", "shape|wall", - "size|column_shape|T", - "size|openlock|T", + "size|column_shape|L", + "size|openlock|L", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#column.col+X.side.stl", - "file_modified_at": "2026-05-01T14:52:10.551762", - "full_name": "tiles/aztlan/separate_walls/primary_walls/column/openlock/aztlan#column.col+X.side.stl", - "md5": "4d4c9c65a81dc0c8f89b866f96b28cd9", - "size": 3301784, - "storage_address": "https://objects.openforge.tools/models/4d4c9c/4d4c9c65a81dc0c8f89b866f96b28cd9.stl" + "file": "aztlan#column.col+O.side+dragonlock.stl", + "file_modified_at": "2026-05-01T14:53:09.106401", + "full_name": "tiles/aztlan/separate_walls/primary_walls/column/dragonlock/aztlan#column.col+O.side+dragonlock.stl", + "md5": "ccdef3e3b79900e7efe312d2ec932131", + "size": 3630284, + "storage_address": "https://objects.openforge.tools/models/ccdef3/ccdef3e3b79900e7efe312d2ec932131.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/4d4c9c/4d4c9c65a81dc0c8f89b866f96b28cd9.png", + "image_url": "https://objects.openforge.tools/sprites/ccdef3/ccdef3e3b79900e7efe312d2ec932131.png", "sprite_metadata": { "angles": [ { @@ -8881,29 +8967,51 @@ "metadata": false, "tags": [ "connection|side", - "connection|side|openlock", + "connection|side|dragonlock", "shape|column", "shape|square", "shape|wall", - "size|column_shape|X", - "size|openlock|X", + "size|column_shape|O", + "size|openlock|O", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan%bamboo#door+wide.stl", - "file_modified_at": "2026-05-28T09:21:04.767286", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/aztlan%bamboo#door+wide.stl", - "md5": "f6acb49d526dc6d30c214daefba4ddce", - "size": 28191984, - "storage_address": "https://objects.openforge.tools/models/f6acb4/f6acb49d526dc6d30c214daefba4ddce.stl" + "file": "aztlan#column.col+T.side+dragonlock.stl", + "file_modified_at": "2026-05-01T14:53:25.826470", + "full_name": "tiles/aztlan/separate_walls/primary_walls/column/dragonlock/aztlan#column.col+T.side+dragonlock.stl", + "md5": "4892426c4728448564f2e13b048eea45", + "size": 84, + "storage_address": "https://objects.openforge.tools/models/489242/4892426c4728448564f2e13b048eea45.stl" + }, + "metadata": false, + "tags": [ + "connection|side", + "connection|side|dragonlock", + "shape|column", + "shape|square", + "shape|wall", + "size|column_shape|T", + "size|openlock|T", + "texture|aztlan" + ], + "type": "model" + }, + { + "file_metadata": { + "file": "aztlan#column.col+X.side+dragonlock.stl", + "file_modified_at": "2026-05-01T14:53:41.192044", + "full_name": "tiles/aztlan/separate_walls/primary_walls/column/dragonlock/aztlan#column.col+X.side+dragonlock.stl", + "md5": "ac4b5dd5b113f45becef62b23166eee4", + "size": 3880884, + "storage_address": "https://objects.openforge.tools/models/ac4b5d/ac4b5dd5b113f45becef62b23166eee4.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/f6acb4/f6acb49d526dc6d30c214daefba4ddce.png", + "image_url": "https://objects.openforge.tools/sprites/ac4b5d/ac4b5dd5b113f45becef62b23166eee4.png", "sprite_metadata": { "angles": [ { @@ -9004,28 +9112,32 @@ } } ], - "metadata": true, + "metadata": false, "tags": [ - "interface|aztlan_door", - "part|door", - "size|wide", - "texture|bamboo" + "connection|side", + "connection|side|dragonlock", + "shape|column", + "shape|square", + "shape|wall", + "size|column_shape|X", + "size|openlock|X", + "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan%calendar#door.stl", - "file_modified_at": "2026-06-01T09:32:44.024099", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/aztlan%calendar#door.stl", - "md5": "59ba97efc0f797665e958e9b24b6eae1", - "size": 6456084, - "storage_address": "https://objects.openforge.tools/models/59ba97/59ba97efc0f797665e958e9b24b6eae1.stl" - }, - "images": [ + "file": "aztlan#column.col+I.side.stl", + "file_modified_at": "2026-05-01T14:51:05.506110", + "full_name": "tiles/aztlan/separate_walls/primary_walls/column/openlock/aztlan#column.col+I.side.stl", + "md5": "0c78fbb39efe9745649a908d93214c0c", + "size": 3348384, + "storage_address": "https://objects.openforge.tools/models/0c78fb/0c78fbb39efe9745649a908d93214c0c.stl" + }, + "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/59ba97/59ba97efc0f797665e958e9b24b6eae1.png", + "image_url": "https://objects.openforge.tools/sprites/0c78fb/0c78fbb39efe9745649a908d93214c0c.png", "sprite_metadata": { "angles": [ { @@ -9126,28 +9238,32 @@ } } ], - "metadata": true, + "metadata": false, "tags": [ - "interface|aztlan_door", - "part|door", - "size|single", - "texture|calendar" + "connection|side", + "connection|side|openlock", + "shape|column", + "shape|square", + "shape|wall", + "size|column_shape|I", + "size|openlock|I", + "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan%mosaic#door.stl", - "file_modified_at": "2026-06-01T09:32:06.029886", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/aztlan%mosaic#door.stl", - "md5": "a5a7cd4224cca247a9c2ffad758417f5", - "size": 5615984, - "storage_address": "https://objects.openforge.tools/models/a5a7cd/a5a7cd4224cca247a9c2ffad758417f5.stl" + "file": "aztlan#column.col+L.side.stl", + "file_modified_at": "2026-05-01T14:51:23.659464", + "full_name": "tiles/aztlan/separate_walls/primary_walls/column/openlock/aztlan#column.col+L.side.stl", + "md5": "f6d34d756b2214d03cc3d51a9e4e8ac3", + "size": 3342984, + "storage_address": "https://objects.openforge.tools/models/f6d34d/f6d34d756b2214d03cc3d51a9e4e8ac3.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/a5a7cd/a5a7cd4224cca247a9c2ffad758417f5.png", + "image_url": "https://objects.openforge.tools/sprites/f6d34d/f6d34d756b2214d03cc3d51a9e4e8ac3.png", "sprite_metadata": { "angles": [ { @@ -9248,28 +9364,32 @@ } } ], - "metadata": true, + "metadata": false, "tags": [ - "interface|aztlan_door", - "part|door", - "size|single", - "texture|mosaic" + "connection|side", + "connection|side|openlock", + "shape|column", + "shape|square", + "shape|wall", + "size|column_shape|L", + "size|openlock|L", + "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan%stone#door+narrow.stl", - "file_modified_at": "2026-05-28T09:21:01.606477", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/aztlan%stone#door+narrow.stl", - "md5": "516316375fa16126412caac7933dd809", - "size": 1999784, - "storage_address": "https://objects.openforge.tools/models/516316/516316375fa16126412caac7933dd809.stl" + "file": "aztlan#column.col+O.side.stl", + "file_modified_at": "2026-05-01T14:51:39.720559", + "full_name": "tiles/aztlan/separate_walls/primary_walls/column/openlock/aztlan#column.col+O.side.stl", + "md5": "6437cda48ec0a02cc1378fb5d65e4da9", + "size": 3376684, + "storage_address": "https://objects.openforge.tools/models/6437cd/6437cda48ec0a02cc1378fb5d65e4da9.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/516316/516316375fa16126412caac7933dd809.png", + "image_url": "https://objects.openforge.tools/sprites/6437cd/6437cda48ec0a02cc1378fb5d65e4da9.png", "sprite_metadata": { "angles": [ { @@ -9370,28 +9490,32 @@ } } ], - "metadata": true, + "metadata": false, "tags": [ - "interface|aztlan_door", - "part|door", - "size|narrow", - "texture|stone" + "connection|side", + "connection|side|openlock", + "shape|column", + "shape|square", + "shape|wall", + "size|column_shape|O", + "size|openlock|O", + "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan%stone#door+wide.stl", - "file_modified_at": "2026-05-28T09:21:06.420512", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/aztlan%stone#door+wide.stl", - "md5": "181cee8688bc26e9df3e18c52fac9ab2", - "size": 6999684, - "storage_address": "https://objects.openforge.tools/models/181cee/181cee8688bc26e9df3e18c52fac9ab2.stl" + "file": "aztlan#column.col+T.side.stl", + "file_modified_at": "2026-05-01T14:51:54.977309", + "full_name": "tiles/aztlan/separate_walls/primary_walls/column/openlock/aztlan#column.col+T.side.stl", + "md5": "cc6e8433d867f0bfcc73cecd175b67e3", + "size": 3309684, + "storage_address": "https://objects.openforge.tools/models/cc6e84/cc6e8433d867f0bfcc73cecd175b67e3.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/181cee/181cee8688bc26e9df3e18c52fac9ab2.png", + "image_url": "https://objects.openforge.tools/sprites/cc6e84/cc6e8433d867f0bfcc73cecd175b67e3.png", "sprite_metadata": { "angles": [ { @@ -9492,28 +9616,32 @@ } } ], - "metadata": true, + "metadata": false, "tags": [ - "interface|aztlan_door", - "part|door", - "size|wide", - "texture|stone" + "connection|side", + "connection|side|openlock", + "shape|column", + "shape|square", + "shape|wall", + "size|column_shape|T", + "size|openlock|T", + "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan%stone#door.stl", - "file_modified_at": "2026-06-01T09:31:54.050328", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/aztlan%stone#door.stl", - "md5": "b8c826d0b3f4827d239d73179fc90d27", - "size": 3551884, - "storage_address": "https://objects.openforge.tools/models/b8c826/b8c826d0b3f4827d239d73179fc90d27.stl" + "file": "aztlan#column.col+X.side.stl", + "file_modified_at": "2026-05-01T14:52:10.551762", + "full_name": "tiles/aztlan/separate_walls/primary_walls/column/openlock/aztlan#column.col+X.side.stl", + "md5": "4d4c9c65a81dc0c8f89b866f96b28cd9", + "size": 3301784, + "storage_address": "https://objects.openforge.tools/models/4d4c9c/4d4c9c65a81dc0c8f89b866f96b28cd9.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/b8c826/b8c826d0b3f4827d239d73179fc90d27.png", + "image_url": "https://objects.openforge.tools/sprites/4d4c9c/4d4c9c65a81dc0c8f89b866f96b28cd9.png", "sprite_metadata": { "angles": [ { @@ -9614,28 +9742,32 @@ } } ], - "metadata": true, + "metadata": false, "tags": [ - "interface|aztlan_door", - "part|door", - "size|single", - "texture|stone" + "connection|side", + "connection|side|openlock", + "shape|column", + "shape|square", + "shape|wall", + "size|column_shape|X", + "size|openlock|X", + "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan%trim#door.stl", - "file_modified_at": "2026-06-01T09:32:53.358075", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/aztlan%trim#door.stl", - "md5": "a0b4339cc43b26cd831b245620d2c74b", - "size": 5353184, - "storage_address": "https://objects.openforge.tools/models/a0b433/a0b4339cc43b26cd831b245620d2c74b.stl" + "file": "aztlan%bamboo#door+wide.stl", + "file_modified_at": "2026-05-28T09:21:04.767286", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/aztlan%bamboo#door+wide.stl", + "md5": "f6acb49d526dc6d30c214daefba4ddce", + "size": 28191984, + "storage_address": "https://objects.openforge.tools/models/f6acb4/f6acb49d526dc6d30c214daefba4ddce.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/a0b433/a0b4339cc43b26cd831b245620d2c74b.png", + "image_url": "https://objects.openforge.tools/sprites/f6acb4/f6acb49d526dc6d30c214daefba4ddce.png", "sprite_metadata": { "angles": [ { @@ -9740,24 +9872,24 @@ "tags": [ "interface|aztlan_door", "part|door", - "size|single", - "texture|trim" + "size|wide", + "texture|bamboo" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#door.A.openforge.stl", - "file_modified_at": "2026-05-30T10:58:59.974420", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openforge/aztlan#door.A.openforge.stl", - "md5": "202937dc116a221c7c85bbeef33eb7de", - "size": 13743684, - "storage_address": "https://objects.openforge.tools/models/202937/202937dc116a221c7c85bbeef33eb7de.stl" + "file": "aztlan%calendar#door.stl", + "file_modified_at": "2026-06-01T09:32:44.024099", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/aztlan%calendar#door.stl", + "md5": "59ba97efc0f797665e958e9b24b6eae1", + "size": 6456084, + "storage_address": "https://objects.openforge.tools/models/59ba97/59ba97efc0f797665e958e9b24b6eae1.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/202937/202937dc116a221c7c85bbeef33eb7de.png", + "image_url": "https://objects.openforge.tools/sprites/59ba97/59ba97efc0f797665e958e9b24b6eae1.png", "sprite_metadata": { "angles": [ { @@ -9858,31 +9990,28 @@ } } ], - "metadata": false, + "metadata": true, "tags": [ - "component|door", - "connection|openforge", - "shape|square", - "shape|wall", - "size|openlock|A", - "size|width|2", - "texture|aztlan" + "interface|aztlan_door", + "part|door", + "size|single", + "texture|calendar" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#door.BA.openforge.stl", - "file_modified_at": "2026-05-30T10:59:41.491655", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openforge/aztlan#door.BA.openforge.stl", - "md5": "a43ed0afece62d30818dd82aa0468f25", - "size": 12310584, - "storage_address": "https://objects.openforge.tools/models/a43ed0/a43ed0afece62d30818dd82aa0468f25.stl" + "file": "aztlan%mosaic#door.stl", + "file_modified_at": "2026-06-01T09:32:06.029886", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/aztlan%mosaic#door.stl", + "md5": "a5a7cd4224cca247a9c2ffad758417f5", + "size": 5615984, + "storage_address": "https://objects.openforge.tools/models/a5a7cd/a5a7cd4224cca247a9c2ffad758417f5.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/a43ed0/a43ed0afece62d30818dd82aa0468f25.png", + "image_url": "https://objects.openforge.tools/sprites/a5a7cd/a5a7cd4224cca247a9c2ffad758417f5.png", "sprite_metadata": { "angles": [ { @@ -9983,31 +10112,28 @@ } } ], - "metadata": false, + "metadata": true, "tags": [ - "component|door", - "connection|openforge", - "shape|square", - "shape|wall", - "size|openlock|BA", - "size|width|1.5", - "texture|aztlan" + "interface|aztlan_door", + "part|door", + "size|single", + "texture|mosaic" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#door.D.openforge.stl", - "file_modified_at": "2026-05-30T10:59:56.576934", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openforge/aztlan#door.D.openforge.stl", - "md5": "080d0a2fe59c1402400a0fecfd3841e5", - "size": 18729184, - "storage_address": "https://objects.openforge.tools/models/080d0a/080d0a2fe59c1402400a0fecfd3841e5.stl" + "file": "aztlan%stone#door+narrow.stl", + "file_modified_at": "2026-05-28T09:21:01.606477", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/aztlan%stone#door+narrow.stl", + "md5": "516316375fa16126412caac7933dd809", + "size": 1999784, + "storage_address": "https://objects.openforge.tools/models/516316/516316375fa16126412caac7933dd809.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/080d0a/080d0a2fe59c1402400a0fecfd3841e5.png", + "image_url": "https://objects.openforge.tools/sprites/516316/516316375fa16126412caac7933dd809.png", "sprite_metadata": { "angles": [ { @@ -10108,31 +10234,28 @@ } } ], - "metadata": false, + "metadata": true, "tags": [ - "component|door", - "connection|openforge", - "shape|square", - "shape|wall", - "size|openlock|D", - "size|width|3", - "texture|aztlan" + "interface|aztlan_door", + "part|door", + "size|narrow", + "texture|stone" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#door.IA.openforge.stl", - "file_modified_at": "2026-05-30T10:38:36.350194", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openforge/aztlan#door.IA.openforge.stl", - "md5": "e72ea87a105a7e2d9f0a85a115b0a0c5", - "size": 8904184, - "storage_address": "https://objects.openforge.tools/models/e72ea8/e72ea87a105a7e2d9f0a85a115b0a0c5.stl" + "file": "aztlan%stone#door+wide.stl", + "file_modified_at": "2026-05-28T09:21:06.420512", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/aztlan%stone#door+wide.stl", + "md5": "181cee8688bc26e9df3e18c52fac9ab2", + "size": 6999684, + "storage_address": "https://objects.openforge.tools/models/181cee/181cee8688bc26e9df3e18c52fac9ab2.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/e72ea8/e72ea87a105a7e2d9f0a85a115b0a0c5.png", + "image_url": "https://objects.openforge.tools/sprites/181cee/181cee8688bc26e9df3e18c52fac9ab2.png", "sprite_metadata": { "angles": [ { @@ -10233,31 +10356,28 @@ } } ], - "metadata": false, + "metadata": true, "tags": [ - "component|door", - "connection|openforge", - "shape|square", - "shape|wall", - "size|openlock|IA", - "size|width|1", - "texture|aztlan" + "interface|aztlan_door", + "part|door", + "size|wide", + "texture|stone" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#door.Q.openforge.stl", - "file_modified_at": "2026-05-30T11:00:09.746540", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openforge/aztlan#door.Q.openforge.stl", - "md5": "c862e418cb375e476056adb078b68566", - "size": 16509384, - "storage_address": "https://objects.openforge.tools/models/c862e4/c862e418cb375e476056adb078b68566.stl" + "file": "aztlan%stone#door.stl", + "file_modified_at": "2026-06-01T09:31:54.050328", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/aztlan%stone#door.stl", + "md5": "b8c826d0b3f4827d239d73179fc90d27", + "size": 3551884, + "storage_address": "https://objects.openforge.tools/models/b8c826/b8c826d0b3f4827d239d73179fc90d27.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/c862e4/c862e418cb375e476056adb078b68566.png", + "image_url": "https://objects.openforge.tools/sprites/b8c826/b8c826d0b3f4827d239d73179fc90d27.png", "sprite_metadata": { "angles": [ { @@ -10358,31 +10478,28 @@ } } ], - "metadata": false, + "metadata": true, "tags": [ - "component|door", - "connection|openforge", - "shape|square", - "shape|wall", - "size|openlock|Q", - "size|width|4", - "texture|aztlan" + "interface|aztlan_door", + "part|door", + "size|single", + "texture|stone" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#door.D.openforge,side+dragonlock.stl", - "file_modified_at": "2026-05-30T12:58:02.293967", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openforge/side,dragonlock/aztlan#door.D.openforge,side+dragonlock.stl", - "md5": "c023ad629ad1990fdc9a2910febe975a", - "size": 18851884, - "storage_address": "https://objects.openforge.tools/models/c023ad/c023ad629ad1990fdc9a2910febe975a.stl" + "file": "aztlan%trim#door.stl", + "file_modified_at": "2026-06-01T09:32:53.358075", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/aztlan%trim#door.stl", + "md5": "a0b4339cc43b26cd831b245620d2c74b", + "size": 5353184, + "storage_address": "https://objects.openforge.tools/models/a0b433/a0b4339cc43b26cd831b245620d2c74b.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/c023ad/c023ad629ad1990fdc9a2910febe975a.png", + "image_url": "https://objects.openforge.tools/sprites/a0b433/a0b4339cc43b26cd831b245620d2c74b.png", "sprite_metadata": { "angles": [ { @@ -10483,33 +10600,28 @@ } } ], - "metadata": false, + "metadata": true, "tags": [ - "component|door", - "connection|openforge", - "connection|side", - "connection|side|dragonlock", - "shape|square", - "shape|wall", - "size|openlock|D", - "size|width|3", - "texture|aztlan" + "interface|aztlan_door", + "part|door", + "size|single", + "texture|trim" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#door.D.openforge,side.stl", - "file_modified_at": "2026-05-30T12:57:41.422689", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openforge/side/aztlan#door.D.openforge,side.stl", - "md5": "909da83f1b6de12ef51cfac8b2fe6f05", - "size": 18188084, - "storage_address": "https://objects.openforge.tools/models/909da8/909da83f1b6de12ef51cfac8b2fe6f05.stl" + "file": "aztlan#door.A.openforge.stl", + "file_modified_at": "2026-05-30T10:58:59.974420", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openforge/aztlan#door.A.openforge.stl", + "md5": "202937dc116a221c7c85bbeef33eb7de", + "size": 13743684, + "storage_address": "https://objects.openforge.tools/models/202937/202937dc116a221c7c85bbeef33eb7de.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/909da8/909da83f1b6de12ef51cfac8b2fe6f05.png", + "image_url": "https://objects.openforge.tools/sprites/202937/202937dc116a221c7c85bbeef33eb7de.png", "sprite_metadata": { "angles": [ { @@ -10614,29 +10726,27 @@ "tags": [ "component|door", "connection|openforge", - "connection|side", - "connection|side|openlock", "shape|square", "shape|wall", - "size|openlock|D", - "size|width|3", + "size|openlock|A", + "size|width|2", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#door.A.openlock+unsupported.stl", - "file_modified_at": "2026-05-30T12:21:59.099422", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openlock+unsupported/aztlan#door.A.openlock+unsupported.stl", - "md5": "ec5ca4743dd6b2470b80c6244b7f7fdf", - "size": 8589984, - "storage_address": "https://objects.openforge.tools/models/ec5ca4/ec5ca4743dd6b2470b80c6244b7f7fdf.stl" + "file": "aztlan#door.BA.openforge.stl", + "file_modified_at": "2026-05-30T10:59:41.491655", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openforge/aztlan#door.BA.openforge.stl", + "md5": "a43ed0afece62d30818dd82aa0468f25", + "size": 12310584, + "storage_address": "https://objects.openforge.tools/models/a43ed0/a43ed0afece62d30818dd82aa0468f25.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/ec5ca4/ec5ca4743dd6b2470b80c6244b7f7fdf.png", + "image_url": "https://objects.openforge.tools/sprites/a43ed0/a43ed0afece62d30818dd82aa0468f25.png", "sprite_metadata": { "angles": [ { @@ -10740,29 +10850,28 @@ "metadata": false, "tags": [ "component|door", - "connection|openlock", - "connection|openlock|unsupported", + "connection|openforge", "shape|square", "shape|wall", - "size|openlock|A", - "size|width|2", + "size|openlock|BA", + "size|width|1.5", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#door.BA.openlock+unsupported.stl", - "file_modified_at": "2026-05-30T12:06:40.854540", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openlock+unsupported/aztlan#door.BA.openlock+unsupported.stl", - "md5": "edb95ae97a23a13be8b6ebd13e5f5010", - "size": 7820084, - "storage_address": "https://objects.openforge.tools/models/edb95a/edb95ae97a23a13be8b6ebd13e5f5010.stl" + "file": "aztlan#door.D.openforge.stl", + "file_modified_at": "2026-05-30T10:59:56.576934", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openforge/aztlan#door.D.openforge.stl", + "md5": "080d0a2fe59c1402400a0fecfd3841e5", + "size": 18729184, + "storage_address": "https://objects.openforge.tools/models/080d0a/080d0a2fe59c1402400a0fecfd3841e5.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/edb95a/edb95ae97a23a13be8b6ebd13e5f5010.png", + "image_url": "https://objects.openforge.tools/sprites/080d0a/080d0a2fe59c1402400a0fecfd3841e5.png", "sprite_metadata": { "angles": [ { @@ -10866,29 +10975,28 @@ "metadata": false, "tags": [ "component|door", - "connection|openlock", - "connection|openlock|unsupported", + "connection|openforge", "shape|square", "shape|wall", - "size|openlock|BA", - "size|width|1.5", + "size|openlock|D", + "size|width|3", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#door.D.openlock+unsupported.stl", - "file_modified_at": "2026-05-30T12:07:15.377831", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openlock+unsupported/aztlan#door.D.openlock+unsupported.stl", - "md5": "2f323da53cbee51fde8b930903bd3a36", - "size": 13597884, - "storage_address": "https://objects.openforge.tools/models/2f323d/2f323da53cbee51fde8b930903bd3a36.stl" + "file": "aztlan#door.IA.openforge.stl", + "file_modified_at": "2026-05-30T10:38:36.350194", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openforge/aztlan#door.IA.openforge.stl", + "md5": "e72ea87a105a7e2d9f0a85a115b0a0c5", + "size": 8904184, + "storage_address": "https://objects.openforge.tools/models/e72ea8/e72ea87a105a7e2d9f0a85a115b0a0c5.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/2f323d/2f323da53cbee51fde8b930903bd3a36.png", + "image_url": "https://objects.openforge.tools/sprites/e72ea8/e72ea87a105a7e2d9f0a85a115b0a0c5.png", "sprite_metadata": { "angles": [ { @@ -10992,29 +11100,28 @@ "metadata": false, "tags": [ "component|door", - "connection|openlock", - "connection|openlock|unsupported", + "connection|openforge", "shape|square", "shape|wall", - "size|openlock|D", - "size|width|3", + "size|openlock|IA", + "size|width|1", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#door.IA.openlock+unsupported.stl", - "file_modified_at": "2026-05-30T12:06:49.948696", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openlock+unsupported/aztlan#door.IA.openlock+unsupported.stl", - "md5": "b3599ff2d4866374d669504b0ffaae0d", - "size": 6008184, - "storage_address": "https://objects.openforge.tools/models/b3599f/b3599ff2d4866374d669504b0ffaae0d.stl" + "file": "aztlan#door.Q.openforge.stl", + "file_modified_at": "2026-05-30T11:00:09.746540", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openforge/aztlan#door.Q.openforge.stl", + "md5": "c862e418cb375e476056adb078b68566", + "size": 16509384, + "storage_address": "https://objects.openforge.tools/models/c862e4/c862e418cb375e476056adb078b68566.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/b3599f/b3599ff2d4866374d669504b0ffaae0d.png", + "image_url": "https://objects.openforge.tools/sprites/c862e4/c862e418cb375e476056adb078b68566.png", "sprite_metadata": { "angles": [ { @@ -11118,29 +11225,28 @@ "metadata": false, "tags": [ "component|door", - "connection|openlock", - "connection|openlock|unsupported", + "connection|openforge", "shape|square", "shape|wall", - "size|openlock|IA", - "size|width|1", + "size|openlock|Q", + "size|width|4", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#door.Q.openlock+unsupported.stl", - "file_modified_at": "2026-05-30T12:07:25.898557", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openlock+unsupported/aztlan#door.Q.openlock+unsupported.stl", - "md5": "f09add6ca7b0e14b633a5706a4be4c0c", - "size": 10789684, - "storage_address": "https://objects.openforge.tools/models/f09add/f09add6ca7b0e14b633a5706a4be4c0c.stl" + "file": "aztlan#door.D.openforge,side+dragonlock.stl", + "file_modified_at": "2026-05-30T12:58:02.293967", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openforge/side,dragonlock/aztlan#door.D.openforge,side+dragonlock.stl", + "md5": "c023ad629ad1990fdc9a2910febe975a", + "size": 18851884, + "storage_address": "https://objects.openforge.tools/models/c023ad/c023ad629ad1990fdc9a2910febe975a.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/f09add/f09add6ca7b0e14b633a5706a4be4c0c.png", + "image_url": "https://objects.openforge.tools/sprites/c023ad/c023ad629ad1990fdc9a2910febe975a.png", "sprite_metadata": { "angles": [ { @@ -11244,29 +11350,30 @@ "metadata": false, "tags": [ "component|door", - "connection|openlock", - "connection|openlock|unsupported", + "connection|openforge", + "connection|side", + "connection|side|dragonlock", "shape|square", "shape|wall", - "size|openlock|Q", - "size|width|4", + "size|openlock|D", + "size|width|3", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#door.D.openlock+unsupported,side.stl", - "file_modified_at": "2026-05-30T12:29:52.372566", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openlock+unsupported/side/aztlan#door.D.openlock+unsupported,side.stl", - "md5": "f28d9ca07ac4938265f6e38896f8cacb", - "size": 13056784, - "storage_address": "https://objects.openforge.tools/models/f28d9c/f28d9ca07ac4938265f6e38896f8cacb.stl" + "file": "aztlan#door.D.openforge,side.stl", + "file_modified_at": "2026-05-30T12:57:41.422689", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openforge/side/aztlan#door.D.openforge,side.stl", + "md5": "909da83f1b6de12ef51cfac8b2fe6f05", + "size": 18188084, + "storage_address": "https://objects.openforge.tools/models/909da8/909da83f1b6de12ef51cfac8b2fe6f05.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/f28d9c/f28d9ca07ac4938265f6e38896f8cacb.png", + "image_url": "https://objects.openforge.tools/sprites/909da8/909da83f1b6de12ef51cfac8b2fe6f05.png", "sprite_metadata": { "angles": [ { @@ -11370,8 +11477,7 @@ "metadata": false, "tags": [ "component|door", - "connection|openlock", - "connection|openlock|unsupported", + "connection|openforge", "connection|side", "connection|side|openlock", "shape|square", @@ -11384,17 +11490,17 @@ }, { "file_metadata": { - "file": "aztlan#door.A.openlock.stl", - "file_modified_at": "2026-05-30T12:06:54.882377", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openlock/aztlan#door.A.openlock.stl", - "md5": "64fefe2c5e6657c8d6ed28d9d3ba2098", - "size": 8630884, - "storage_address": "https://objects.openforge.tools/models/64fefe/64fefe2c5e6657c8d6ed28d9d3ba2098.stl" + "file": "aztlan#door.A.openlock+unsupported.stl", + "file_modified_at": "2026-05-30T12:21:59.099422", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openlock+unsupported/aztlan#door.A.openlock+unsupported.stl", + "md5": "ec5ca4743dd6b2470b80c6244b7f7fdf", + "size": 8589984, + "storage_address": "https://objects.openforge.tools/models/ec5ca4/ec5ca4743dd6b2470b80c6244b7f7fdf.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/64fefe/64fefe2c5e6657c8d6ed28d9d3ba2098.png", + "image_url": "https://objects.openforge.tools/sprites/ec5ca4/ec5ca4743dd6b2470b80c6244b7f7fdf.png", "sprite_metadata": { "angles": [ { @@ -11499,6 +11605,7 @@ "tags": [ "component|door", "connection|openlock", + "connection|openlock|unsupported", "shape|square", "shape|wall", "size|openlock|A", @@ -11509,17 +11616,17 @@ }, { "file_metadata": { - "file": "aztlan#door.BA.openlock.stl", - "file_modified_at": "2026-05-30T12:06:35.741878", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openlock/aztlan#door.BA.openlock.stl", - "md5": "a978697840ecb04164df337a81a5863c", - "size": 7847684, - "storage_address": "https://objects.openforge.tools/models/a97869/a978697840ecb04164df337a81a5863c.stl" + "file": "aztlan#door.BA.openlock+unsupported.stl", + "file_modified_at": "2026-05-30T12:06:40.854540", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openlock+unsupported/aztlan#door.BA.openlock+unsupported.stl", + "md5": "edb95ae97a23a13be8b6ebd13e5f5010", + "size": 7820084, + "storage_address": "https://objects.openforge.tools/models/edb95a/edb95ae97a23a13be8b6ebd13e5f5010.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/a97869/a978697840ecb04164df337a81a5863c.png", + "image_url": "https://objects.openforge.tools/sprites/edb95a/edb95ae97a23a13be8b6ebd13e5f5010.png", "sprite_metadata": { "angles": [ { @@ -11624,6 +11731,7 @@ "tags": [ "component|door", "connection|openlock", + "connection|openlock|unsupported", "shape|square", "shape|wall", "size|openlock|BA", @@ -11634,17 +11742,17 @@ }, { "file_metadata": { - "file": "aztlan#door.D.openlock.stl", - "file_modified_at": "2026-05-30T12:07:08.092116", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openlock/aztlan#door.D.openlock.stl", - "md5": "41f1b2e0932682fd2d2288eaf3146151", - "size": 13667284, - "storage_address": "https://objects.openforge.tools/models/41f1b2/41f1b2e0932682fd2d2288eaf3146151.stl" + "file": "aztlan#door.D.openlock+unsupported.stl", + "file_modified_at": "2026-05-30T12:07:15.377831", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openlock+unsupported/aztlan#door.D.openlock+unsupported.stl", + "md5": "2f323da53cbee51fde8b930903bd3a36", + "size": 13597884, + "storage_address": "https://objects.openforge.tools/models/2f323d/2f323da53cbee51fde8b930903bd3a36.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/41f1b2/41f1b2e0932682fd2d2288eaf3146151.png", + "image_url": "https://objects.openforge.tools/sprites/2f323d/2f323da53cbee51fde8b930903bd3a36.png", "sprite_metadata": { "angles": [ { @@ -11749,6 +11857,7 @@ "tags": [ "component|door", "connection|openlock", + "connection|openlock|unsupported", "shape|square", "shape|wall", "size|openlock|D", @@ -11759,17 +11868,17 @@ }, { "file_metadata": { - "file": "aztlan#door.IA.openlock.stl", - "file_modified_at": "2026-05-30T12:06:46.189961", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openlock/aztlan#door.IA.openlock.stl", - "md5": "61598dbb1ce073e15cf4f3d8a1886818", - "size": 6022184, - "storage_address": "https://objects.openforge.tools/models/61598d/61598dbb1ce073e15cf4f3d8a1886818.stl" + "file": "aztlan#door.IA.openlock+unsupported.stl", + "file_modified_at": "2026-05-30T12:06:49.948696", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openlock+unsupported/aztlan#door.IA.openlock+unsupported.stl", + "md5": "b3599ff2d4866374d669504b0ffaae0d", + "size": 6008184, + "storage_address": "https://objects.openforge.tools/models/b3599f/b3599ff2d4866374d669504b0ffaae0d.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/61598d/61598dbb1ce073e15cf4f3d8a1886818.png", + "image_url": "https://objects.openforge.tools/sprites/b3599f/b3599ff2d4866374d669504b0ffaae0d.png", "sprite_metadata": { "angles": [ { @@ -11874,6 +11983,7 @@ "tags": [ "component|door", "connection|openlock", + "connection|openlock|unsupported", "shape|square", "shape|wall", "size|openlock|IA", @@ -11884,17 +11994,17 @@ }, { "file_metadata": { - "file": "aztlan#door.Q.openlock.stl", - "file_modified_at": "2026-05-30T12:07:20.980523", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openlock/aztlan#door.Q.openlock.stl", - "md5": "f18c4506244813ddc51ac3437129bc14", - "size": 10869184, - "storage_address": "https://objects.openforge.tools/models/f18c45/f18c4506244813ddc51ac3437129bc14.stl" + "file": "aztlan#door.Q.openlock+unsupported.stl", + "file_modified_at": "2026-05-30T12:07:25.898557", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openlock+unsupported/aztlan#door.Q.openlock+unsupported.stl", + "md5": "f09add6ca7b0e14b633a5706a4be4c0c", + "size": 10789684, + "storage_address": "https://objects.openforge.tools/models/f09add/f09add6ca7b0e14b633a5706a4be4c0c.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/f18c45/f18c4506244813ddc51ac3437129bc14.png", + "image_url": "https://objects.openforge.tools/sprites/f09add/f09add6ca7b0e14b633a5706a4be4c0c.png", "sprite_metadata": { "angles": [ { @@ -11999,6 +12109,7 @@ "tags": [ "component|door", "connection|openlock", + "connection|openlock|unsupported", "shape|square", "shape|wall", "size|openlock|Q", @@ -12009,17 +12120,17 @@ }, { "file_metadata": { - "file": "aztlan#door.D.openlock,side.stl", - "file_modified_at": "2026-05-30T12:29:40.073950", - "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openlock/side/aztlan#door.D.openlock,side.stl", - "md5": "98bddcba5f7db4f4b79418e257829915", - "size": 13126184, - "storage_address": "https://objects.openforge.tools/models/98bddc/98bddcba5f7db4f4b79418e257829915.stl" + "file": "aztlan#door.D.openlock+unsupported,side.stl", + "file_modified_at": "2026-05-30T12:29:52.372566", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openlock+unsupported/side/aztlan#door.D.openlock+unsupported,side.stl", + "md5": "f28d9ca07ac4938265f6e38896f8cacb", + "size": 13056784, + "storage_address": "https://objects.openforge.tools/models/f28d9c/f28d9ca07ac4938265f6e38896f8cacb.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/98bddc/98bddcba5f7db4f4b79418e257829915.png", + "image_url": "https://objects.openforge.tools/sprites/f28d9c/f28d9ca07ac4938265f6e38896f8cacb.png", "sprite_metadata": { "angles": [ { @@ -12124,6 +12235,7 @@ "tags": [ "component|door", "connection|openlock", + "connection|openlock|unsupported", "connection|side", "connection|side|openlock", "shape|square", @@ -12136,17 +12248,17 @@ }, { "file_metadata": { - "file": "aztlan#snakehole.A.openforge.stl", - "file_modified_at": "2026-05-30T11:42:06.418928", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/aztlan#snakehole.A.openforge.stl", - "md5": "9666bded19d4ef21100cc65c0ded6f10", - "size": 16404984, - "storage_address": "https://objects.openforge.tools/models/9666bd/9666bded19d4ef21100cc65c0ded6f10.stl" + "file": "aztlan#door.A.openlock.stl", + "file_modified_at": "2026-05-30T12:06:54.882377", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openlock/aztlan#door.A.openlock.stl", + "md5": "64fefe2c5e6657c8d6ed28d9d3ba2098", + "size": 8630884, + "storage_address": "https://objects.openforge.tools/models/64fefe/64fefe2c5e6657c8d6ed28d9d3ba2098.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/9666bd/9666bded19d4ef21100cc65c0ded6f10.png", + "image_url": "https://objects.openforge.tools/sprites/64fefe/64fefe2c5e6657c8d6ed28d9d3ba2098.png", "sprite_metadata": { "angles": [ { @@ -12249,8 +12361,8 @@ ], "metadata": false, "tags": [ - "component|snakehole", - "connection|openforge", + "component|door", + "connection|openlock", "shape|square", "shape|wall", "size|openlock|A", @@ -12261,17 +12373,17 @@ }, { "file_metadata": { - "file": "aztlan#snakehole.BA.openforge.stl", - "file_modified_at": "2026-05-30T11:41:44.342911", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/aztlan#snakehole.BA.openforge.stl", - "md5": "242126b809fe6d7a8d344b9075ef6649", - "size": 13341884, - "storage_address": "https://objects.openforge.tools/models/242126/242126b809fe6d7a8d344b9075ef6649.stl" + "file": "aztlan#door.BA.openlock.stl", + "file_modified_at": "2026-05-30T12:06:35.741878", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openlock/aztlan#door.BA.openlock.stl", + "md5": "a978697840ecb04164df337a81a5863c", + "size": 7847684, + "storage_address": "https://objects.openforge.tools/models/a97869/a978697840ecb04164df337a81a5863c.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/242126/242126b809fe6d7a8d344b9075ef6649.png", + "image_url": "https://objects.openforge.tools/sprites/a97869/a978697840ecb04164df337a81a5863c.png", "sprite_metadata": { "angles": [ { @@ -12374,8 +12486,8 @@ ], "metadata": false, "tags": [ - "component|snakehole", - "connection|openforge", + "component|door", + "connection|openlock", "shape|square", "shape|wall", "size|openlock|BA", @@ -12386,17 +12498,17 @@ }, { "file_metadata": { - "file": "aztlan#snakehole.D.openforge.stl", - "file_modified_at": "2026-05-30T11:42:18.681072", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/aztlan#snakehole.D.openforge.stl", - "md5": "349209f95269dbfe79072669fb238235", - "size": 21092384, - "storage_address": "https://objects.openforge.tools/models/349209/349209f95269dbfe79072669fb238235.stl" + "file": "aztlan#door.D.openlock.stl", + "file_modified_at": "2026-05-30T12:07:08.092116", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openlock/aztlan#door.D.openlock.stl", + "md5": "41f1b2e0932682fd2d2288eaf3146151", + "size": 13667284, + "storage_address": "https://objects.openforge.tools/models/41f1b2/41f1b2e0932682fd2d2288eaf3146151.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/349209/349209f95269dbfe79072669fb238235.png", + "image_url": "https://objects.openforge.tools/sprites/41f1b2/41f1b2e0932682fd2d2288eaf3146151.png", "sprite_metadata": { "angles": [ { @@ -12499,8 +12611,8 @@ ], "metadata": false, "tags": [ - "component|snakehole", - "connection|openforge", + "component|door", + "connection|openlock", "shape|square", "shape|wall", "size|openlock|D", @@ -12511,17 +12623,17 @@ }, { "file_metadata": { - "file": "aztlan#snakehole.IA.openforge.stl", - "file_modified_at": "2026-05-30T11:41:56.132856", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/aztlan#snakehole.IA.openforge.stl", - "md5": "570a9c5de64c224800198629763b23ba", - "size": 12613034, - "storage_address": "https://objects.openforge.tools/models/570a9c/570a9c5de64c224800198629763b23ba.stl" + "file": "aztlan#door.IA.openlock.stl", + "file_modified_at": "2026-05-30T12:06:46.189961", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openlock/aztlan#door.IA.openlock.stl", + "md5": "61598dbb1ce073e15cf4f3d8a1886818", + "size": 6022184, + "storage_address": "https://objects.openforge.tools/models/61598d/61598dbb1ce073e15cf4f3d8a1886818.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/570a9c/570a9c5de64c224800198629763b23ba.png", + "image_url": "https://objects.openforge.tools/sprites/61598d/61598dbb1ce073e15cf4f3d8a1886818.png", "sprite_metadata": { "angles": [ { @@ -12624,8 +12736,8 @@ ], "metadata": false, "tags": [ - "component|snakehole", - "connection|openforge", + "component|door", + "connection|openlock", "shape|square", "shape|wall", "size|openlock|IA", @@ -12636,17 +12748,17 @@ }, { "file_metadata": { - "file": "aztlan#snakehole.Q.openforge.stl", - "file_modified_at": "2026-05-30T11:42:32.344287", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/aztlan#snakehole.Q.openforge.stl", - "md5": "6606e21f0f53f1557647e6cbaa80465c", - "size": 26859284, - "storage_address": "https://objects.openforge.tools/models/6606e2/6606e21f0f53f1557647e6cbaa80465c.stl" + "file": "aztlan#door.Q.openlock.stl", + "file_modified_at": "2026-05-30T12:07:20.980523", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openlock/aztlan#door.Q.openlock.stl", + "md5": "f18c4506244813ddc51ac3437129bc14", + "size": 10869184, + "storage_address": "https://objects.openforge.tools/models/f18c45/f18c4506244813ddc51ac3437129bc14.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/6606e2/6606e21f0f53f1557647e6cbaa80465c.png", + "image_url": "https://objects.openforge.tools/sprites/f18c45/f18c4506244813ddc51ac3437129bc14.png", "sprite_metadata": { "angles": [ { @@ -12749,8 +12861,8 @@ ], "metadata": false, "tags": [ - "component|snakehole", - "connection|openforge", + "component|door", + "connection|openlock", "shape|square", "shape|wall", "size|openlock|Q", @@ -12761,17 +12873,17 @@ }, { "file_metadata": { - "file": "aztlan#snakehole.A.openforge,side+dragonlock.stl", - "file_modified_at": "2026-05-30T13:01:36.963870", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/side,dragonlock/aztlan#snakehole.A.openforge,side+dragonlock.stl", - "md5": "a2b7cf94760e2ece68c2de98e0723510", - "size": 16665384, - "storage_address": "https://objects.openforge.tools/models/a2b7cf/a2b7cf94760e2ece68c2de98e0723510.stl" + "file": "aztlan#door.D.openlock,side.stl", + "file_modified_at": "2026-05-30T12:29:40.073950", + "full_name": "tiles/aztlan/separate_walls/primary_walls/door/openlock/side/aztlan#door.D.openlock,side.stl", + "md5": "98bddcba5f7db4f4b79418e257829915", + "size": 13126184, + "storage_address": "https://objects.openforge.tools/models/98bddc/98bddcba5f7db4f4b79418e257829915.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/a2b7cf/a2b7cf94760e2ece68c2de98e0723510.png", + "image_url": "https://objects.openforge.tools/sprites/98bddc/98bddcba5f7db4f4b79418e257829915.png", "sprite_metadata": { "angles": [ { @@ -12874,31 +12986,31 @@ ], "metadata": false, "tags": [ - "component|snakehole", - "connection|openforge", + "component|door", + "connection|openlock", "connection|side", - "connection|side|dragonlock", + "connection|side|openlock", "shape|square", "shape|wall", - "size|openlock|A", - "size|width|2", + "size|openlock|D", + "size|width|3", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#snakehole.BA.openforge,side+dragonlock.stl", - "file_modified_at": "2026-05-30T13:01:05.618444", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/side,dragonlock/aztlan#snakehole.BA.openforge,side+dragonlock.stl", - "md5": "bdb3f62e7b2748ad70986f2dde9d52c9", - "size": 13613384, - "storage_address": "https://objects.openforge.tools/models/bdb3f6/bdb3f62e7b2748ad70986f2dde9d52c9.stl" + "file": "aztlan#snakehole.A.openforge.stl", + "file_modified_at": "2026-05-30T11:42:06.418928", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/aztlan#snakehole.A.openforge.stl", + "md5": "9666bded19d4ef21100cc65c0ded6f10", + "size": 16404984, + "storage_address": "https://objects.openforge.tools/models/9666bd/9666bded19d4ef21100cc65c0ded6f10.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/bdb3f6/bdb3f62e7b2748ad70986f2dde9d52c9.png", + "image_url": "https://objects.openforge.tools/sprites/9666bd/9666bded19d4ef21100cc65c0ded6f10.png", "sprite_metadata": { "angles": [ { @@ -13003,29 +13115,27 @@ "tags": [ "component|snakehole", "connection|openforge", - "connection|side", - "connection|side|dragonlock", "shape|square", "shape|wall", - "size|openlock|BA", - "size|width|1.5", + "size|openlock|A", + "size|width|2", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#snakehole.D.openforge,side+dragonlock.stl", - "file_modified_at": "2026-05-30T13:02:13.749752", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/side,dragonlock/aztlan#snakehole.D.openforge,side+dragonlock.stl", - "md5": "30bda71ea787c0a356b2037d2abfabc1", - "size": 21333384, - "storage_address": "https://objects.openforge.tools/models/30bda7/30bda71ea787c0a356b2037d2abfabc1.stl" + "file": "aztlan#snakehole.BA.openforge.stl", + "file_modified_at": "2026-05-30T11:41:44.342911", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/aztlan#snakehole.BA.openforge.stl", + "md5": "242126b809fe6d7a8d344b9075ef6649", + "size": 13341884, + "storage_address": "https://objects.openforge.tools/models/242126/242126b809fe6d7a8d344b9075ef6649.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/30bda7/30bda71ea787c0a356b2037d2abfabc1.png", + "image_url": "https://objects.openforge.tools/sprites/242126/242126b809fe6d7a8d344b9075ef6649.png", "sprite_metadata": { "angles": [ { @@ -13130,29 +13240,27 @@ "tags": [ "component|snakehole", "connection|openforge", - "connection|side", - "connection|side|dragonlock", "shape|square", "shape|wall", - "size|openlock|D", - "size|width|3", + "size|openlock|BA", + "size|width|1.5", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#snakehole.Q.openforge,side+dragonlock.stl", - "file_modified_at": "2026-05-30T13:03:07.570882", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/side,dragonlock/aztlan#snakehole.Q.openforge,side+dragonlock.stl", - "md5": "a86ea91ea06f9ec1fae41817f901de65", - "size": 27115084, - "storage_address": "https://objects.openforge.tools/models/a86ea9/a86ea91ea06f9ec1fae41817f901de65.stl" + "file": "aztlan#snakehole.D.openforge.stl", + "file_modified_at": "2026-05-30T11:42:18.681072", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/aztlan#snakehole.D.openforge.stl", + "md5": "349209f95269dbfe79072669fb238235", + "size": 21092384, + "storage_address": "https://objects.openforge.tools/models/349209/349209f95269dbfe79072669fb238235.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/a86ea9/a86ea91ea06f9ec1fae41817f901de65.png", + "image_url": "https://objects.openforge.tools/sprites/349209/349209f95269dbfe79072669fb238235.png", "sprite_metadata": { "angles": [ { @@ -13257,29 +13365,27 @@ "tags": [ "component|snakehole", "connection|openforge", - "connection|side", - "connection|side|dragonlock", "shape|square", "shape|wall", - "size|openlock|Q", - "size|width|4", + "size|openlock|D", + "size|width|3", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#snakehole.A.openforge,side.stl", - "file_modified_at": "2026-05-30T13:01:19.396799", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/side/aztlan#snakehole.A.openforge,side.stl", - "md5": "528f6ce28c0844b9784348d2297b734f", - "size": 15996984, - "storage_address": "https://objects.openforge.tools/models/528f6c/528f6ce28c0844b9784348d2297b734f.stl" + "file": "aztlan#snakehole.IA.openforge.stl", + "file_modified_at": "2026-05-30T11:41:56.132856", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/aztlan#snakehole.IA.openforge.stl", + "md5": "570a9c5de64c224800198629763b23ba", + "size": 12613034, + "storage_address": "https://objects.openforge.tools/models/570a9c/570a9c5de64c224800198629763b23ba.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/528f6c/528f6ce28c0844b9784348d2297b734f.png", + "image_url": "https://objects.openforge.tools/sprites/570a9c/570a9c5de64c224800198629763b23ba.png", "sprite_metadata": { "angles": [ { @@ -13384,29 +13490,27 @@ "tags": [ "component|snakehole", "connection|openforge", - "connection|side", - "connection|side|openlock", "shape|square", "shape|wall", - "size|openlock|A", - "size|width|2", + "size|openlock|IA", + "size|width|1", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#snakehole.BA.openforge,side.stl", - "file_modified_at": "2026-05-30T13:00:52.974305", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/side/aztlan#snakehole.BA.openforge,side.stl", - "md5": "f45c094cdcb2b5deb42134fe39d78fba", - "size": 12944984, - "storage_address": "https://objects.openforge.tools/models/f45c09/f45c094cdcb2b5deb42134fe39d78fba.stl" + "file": "aztlan#snakehole.Q.openforge.stl", + "file_modified_at": "2026-05-30T11:42:32.344287", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/aztlan#snakehole.Q.openforge.stl", + "md5": "6606e21f0f53f1557647e6cbaa80465c", + "size": 26859284, + "storage_address": "https://objects.openforge.tools/models/6606e2/6606e21f0f53f1557647e6cbaa80465c.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/f45c09/f45c094cdcb2b5deb42134fe39d78fba.png", + "image_url": "https://objects.openforge.tools/sprites/6606e2/6606e21f0f53f1557647e6cbaa80465c.png", "sprite_metadata": { "angles": [ { @@ -13511,29 +13615,27 @@ "tags": [ "component|snakehole", "connection|openforge", - "connection|side", - "connection|side|openlock", "shape|square", "shape|wall", - "size|openlock|BA", - "size|width|1.5", + "size|openlock|Q", + "size|width|4", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#snakehole.D.openforge,side.stl", - "file_modified_at": "2026-05-30T13:01:53.562304", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/side/aztlan#snakehole.D.openforge,side.stl", - "md5": "473939628bace291b67259ef1e766b98", - "size": 20669584, - "storage_address": "https://objects.openforge.tools/models/473939/473939628bace291b67259ef1e766b98.stl" + "file": "aztlan#snakehole.A.openforge,side+dragonlock.stl", + "file_modified_at": "2026-05-30T13:01:36.963870", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/side,dragonlock/aztlan#snakehole.A.openforge,side+dragonlock.stl", + "md5": "a2b7cf94760e2ece68c2de98e0723510", + "size": 16665384, + "storage_address": "https://objects.openforge.tools/models/a2b7cf/a2b7cf94760e2ece68c2de98e0723510.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/473939/473939628bace291b67259ef1e766b98.png", + "image_url": "https://objects.openforge.tools/sprites/a2b7cf/a2b7cf94760e2ece68c2de98e0723510.png", "sprite_metadata": { "angles": [ { @@ -13639,28 +13741,28 @@ "component|snakehole", "connection|openforge", "connection|side", - "connection|side|openlock", + "connection|side|dragonlock", "shape|square", "shape|wall", - "size|openlock|D", - "size|width|3", + "size|openlock|A", + "size|width|2", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#snakehole.Q.openforge,side.stl", - "file_modified_at": "2026-05-30T13:02:41.696480", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/side/aztlan#snakehole.Q.openforge,side.stl", - "md5": "622546a02a08437a8fe47598881cb3f4", - "size": 26446684, - "storage_address": "https://objects.openforge.tools/models/622546/622546a02a08437a8fe47598881cb3f4.stl" + "file": "aztlan#snakehole.BA.openforge,side+dragonlock.stl", + "file_modified_at": "2026-05-30T13:01:05.618444", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/side,dragonlock/aztlan#snakehole.BA.openforge,side+dragonlock.stl", + "md5": "bdb3f62e7b2748ad70986f2dde9d52c9", + "size": 13613384, + "storage_address": "https://objects.openforge.tools/models/bdb3f6/bdb3f62e7b2748ad70986f2dde9d52c9.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/622546/622546a02a08437a8fe47598881cb3f4.png", + "image_url": "https://objects.openforge.tools/sprites/bdb3f6/bdb3f62e7b2748ad70986f2dde9d52c9.png", "sprite_metadata": { "angles": [ { @@ -13766,28 +13868,28 @@ "component|snakehole", "connection|openforge", "connection|side", - "connection|side|openlock", + "connection|side|dragonlock", "shape|square", "shape|wall", - "size|openlock|Q", - "size|width|4", + "size|openlock|BA", + "size|width|1.5", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#snakehole.A.openlock+unsupported.stl", - "file_modified_at": "2026-05-30T12:22:09.804142", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock+unsupported/aztlan#snakehole.A.openlock+unsupported.stl", - "md5": "ec750b7086fc14b0e43ea716037cb216", - "size": 11106384, - "storage_address": "https://objects.openforge.tools/models/ec750b/ec750b7086fc14b0e43ea716037cb216.stl" + "file": "aztlan#snakehole.D.openforge,side+dragonlock.stl", + "file_modified_at": "2026-05-30T13:02:13.749752", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/side,dragonlock/aztlan#snakehole.D.openforge,side+dragonlock.stl", + "md5": "30bda71ea787c0a356b2037d2abfabc1", + "size": 21333384, + "storage_address": "https://objects.openforge.tools/models/30bda7/30bda71ea787c0a356b2037d2abfabc1.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/ec750b/ec750b7086fc14b0e43ea716037cb216.png", + "image_url": "https://objects.openforge.tools/sprites/30bda7/30bda71ea787c0a356b2037d2abfabc1.png", "sprite_metadata": { "angles": [ { @@ -13891,29 +13993,30 @@ "metadata": false, "tags": [ "component|snakehole", - "connection|openlock", - "connection|openlock|unsupported", + "connection|openforge", + "connection|side", + "connection|side|dragonlock", "shape|square", "shape|wall", - "size|openlock|A", - "size|width|2", + "size|openlock|D", + "size|width|3", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#snakehole.BA.openlock+unsupported.stl", - "file_modified_at": "2026-05-30T12:08:51.894101", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock+unsupported/aztlan#snakehole.BA.openlock+unsupported.stl", - "md5": "ce2455b59ae85de5647630d734897c5e", - "size": 8787784, - "storage_address": "https://objects.openforge.tools/models/ce2455/ce2455b59ae85de5647630d734897c5e.stl" + "file": "aztlan#snakehole.Q.openforge,side+dragonlock.stl", + "file_modified_at": "2026-05-30T13:03:07.570882", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/side,dragonlock/aztlan#snakehole.Q.openforge,side+dragonlock.stl", + "md5": "a86ea91ea06f9ec1fae41817f901de65", + "size": 27115084, + "storage_address": "https://objects.openforge.tools/models/a86ea9/a86ea91ea06f9ec1fae41817f901de65.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/ce2455/ce2455b59ae85de5647630d734897c5e.png", + "image_url": "https://objects.openforge.tools/sprites/a86ea9/a86ea91ea06f9ec1fae41817f901de65.png", "sprite_metadata": { "angles": [ { @@ -14017,29 +14120,30 @@ "metadata": false, "tags": [ "component|snakehole", - "connection|openlock", - "connection|openlock|unsupported", + "connection|openforge", + "connection|side", + "connection|side|dragonlock", "shape|square", "shape|wall", - "size|openlock|BA", - "size|width|1.5", + "size|openlock|Q", + "size|width|4", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#snakehole.D.openlock+unsupported.stl", - "file_modified_at": "2026-05-30T12:09:23.112360", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock+unsupported/aztlan#snakehole.D.openlock+unsupported.stl", - "md5": "c327ab2ccbdbe47fd3077364a1ab987a", - "size": 15852884, - "storage_address": "https://objects.openforge.tools/models/c327ab/c327ab2ccbdbe47fd3077364a1ab987a.stl" + "file": "aztlan#snakehole.A.openforge,side.stl", + "file_modified_at": "2026-05-30T13:01:19.396799", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/side/aztlan#snakehole.A.openforge,side.stl", + "md5": "528f6ce28c0844b9784348d2297b734f", + "size": 15996984, + "storage_address": "https://objects.openforge.tools/models/528f6c/528f6ce28c0844b9784348d2297b734f.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/c327ab/c327ab2ccbdbe47fd3077364a1ab987a.png", + "image_url": "https://objects.openforge.tools/sprites/528f6c/528f6ce28c0844b9784348d2297b734f.png", "sprite_metadata": { "angles": [ { @@ -14143,29 +14247,30 @@ "metadata": false, "tags": [ "component|snakehole", - "connection|openlock", - "connection|openlock|unsupported", + "connection|openforge", + "connection|side", + "connection|side|openlock", "shape|square", "shape|wall", - "size|openlock|D", - "size|width|3", + "size|openlock|A", + "size|width|2", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#snakehole.IA.openlock+unsupported.stl", - "file_modified_at": "2026-05-30T12:08:58.596588", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock+unsupported/aztlan#snakehole.IA.openlock+unsupported.stl", - "md5": "1eab7f954c45411a4fbc2d2a255a1cc9", - "size": 6324334, - "storage_address": "https://objects.openforge.tools/models/1eab7f/1eab7f954c45411a4fbc2d2a255a1cc9.stl" + "file": "aztlan#snakehole.BA.openforge,side.stl", + "file_modified_at": "2026-05-30T13:00:52.974305", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/side/aztlan#snakehole.BA.openforge,side.stl", + "md5": "f45c094cdcb2b5deb42134fe39d78fba", + "size": 12944984, + "storage_address": "https://objects.openforge.tools/models/f45c09/f45c094cdcb2b5deb42134fe39d78fba.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/1eab7f/1eab7f954c45411a4fbc2d2a255a1cc9.png", + "image_url": "https://objects.openforge.tools/sprites/f45c09/f45c094cdcb2b5deb42134fe39d78fba.png", "sprite_metadata": { "angles": [ { @@ -14269,29 +14374,30 @@ "metadata": false, "tags": [ "component|snakehole", - "connection|openlock", - "connection|openlock|unsupported", + "connection|openforge", + "connection|side", + "connection|side|openlock", "shape|square", "shape|wall", - "size|openlock|IA", - "size|width|1", + "size|openlock|BA", + "size|width|1.5", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#snakehole.Q.openlock+unsupported.stl", - "file_modified_at": "2026-05-30T12:09:39.296874", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock+unsupported/aztlan#snakehole.Q.openlock+unsupported.stl", - "md5": "5d62ccc57c28c72b07663ffc4eaeea7c", - "size": 20858184, - "storage_address": "https://objects.openforge.tools/models/5d62cc/5d62ccc57c28c72b07663ffc4eaeea7c.stl" + "file": "aztlan#snakehole.D.openforge,side.stl", + "file_modified_at": "2026-05-30T13:01:53.562304", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/side/aztlan#snakehole.D.openforge,side.stl", + "md5": "473939628bace291b67259ef1e766b98", + "size": 20669584, + "storage_address": "https://objects.openforge.tools/models/473939/473939628bace291b67259ef1e766b98.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/5d62cc/5d62ccc57c28c72b07663ffc4eaeea7c.png", + "image_url": "https://objects.openforge.tools/sprites/473939/473939628bace291b67259ef1e766b98.png", "sprite_metadata": { "angles": [ { @@ -14395,29 +14501,30 @@ "metadata": false, "tags": [ "component|snakehole", - "connection|openlock", - "connection|openlock|unsupported", + "connection|openforge", + "connection|side", + "connection|side|openlock", "shape|square", "shape|wall", - "size|openlock|Q", - "size|width|4", + "size|openlock|D", + "size|width|3", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#snakehole.A.openlock+unsupported,side.stl", - "file_modified_at": "2026-05-30T12:33:07.870299", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock+unsupported/side/aztlan#snakehole.A.openlock+unsupported,side.stl", - "md5": "bc6aabf9ded39e2de6140e5bab878f06", - "size": 10698384, - "storage_address": "https://objects.openforge.tools/models/bc6aab/bc6aabf9ded39e2de6140e5bab878f06.stl" + "file": "aztlan#snakehole.Q.openforge,side.stl", + "file_modified_at": "2026-05-30T13:02:41.696480", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openforge/side/aztlan#snakehole.Q.openforge,side.stl", + "md5": "622546a02a08437a8fe47598881cb3f4", + "size": 26446684, + "storage_address": "https://objects.openforge.tools/models/622546/622546a02a08437a8fe47598881cb3f4.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/bc6aab/bc6aabf9ded39e2de6140e5bab878f06.png", + "image_url": "https://objects.openforge.tools/sprites/622546/622546a02a08437a8fe47598881cb3f4.png", "sprite_metadata": { "angles": [ { @@ -14521,31 +14628,8584 @@ "metadata": false, "tags": [ "component|snakehole", - "connection|openlock", - "connection|openlock|unsupported", + "connection|openforge", "connection|side", "connection|side|openlock", "shape|square", "shape|wall", - "size|openlock|A", - "size|width|2", + "size|openlock|Q", + "size|width|4", + "texture|aztlan" + ], + "type": "model" + }, + { + "file_metadata": { + "file": "aztlan#snakehole.A.openlock+unsupported.stl", + "file_modified_at": "2026-05-30T12:22:09.804142", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock+unsupported/aztlan#snakehole.A.openlock+unsupported.stl", + "md5": "ec750b7086fc14b0e43ea716037cb216", + "size": 11106384, + "storage_address": "https://objects.openforge.tools/models/ec750b/ec750b7086fc14b0e43ea716037cb216.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/ec750b/ec750b7086fc14b0e43ea716037cb216.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": false, + "tags": [ + "component|snakehole", + "connection|openlock", + "connection|openlock|unsupported", + "shape|square", + "shape|wall", + "size|openlock|A", + "size|width|2", + "texture|aztlan" + ], + "type": "model" + }, + { + "file_metadata": { + "file": "aztlan#snakehole.BA.openlock+unsupported.stl", + "file_modified_at": "2026-05-30T12:08:51.894101", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock+unsupported/aztlan#snakehole.BA.openlock+unsupported.stl", + "md5": "ce2455b59ae85de5647630d734897c5e", + "size": 8787784, + "storage_address": "https://objects.openforge.tools/models/ce2455/ce2455b59ae85de5647630d734897c5e.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/ce2455/ce2455b59ae85de5647630d734897c5e.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": false, + "tags": [ + "component|snakehole", + "connection|openlock", + "connection|openlock|unsupported", + "shape|square", + "shape|wall", + "size|openlock|BA", + "size|width|1.5", + "texture|aztlan" + ], + "type": "model" + }, + { + "file_metadata": { + "file": "aztlan#snakehole.D.openlock+unsupported.stl", + "file_modified_at": "2026-05-30T12:09:23.112360", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock+unsupported/aztlan#snakehole.D.openlock+unsupported.stl", + "md5": "c327ab2ccbdbe47fd3077364a1ab987a", + "size": 15852884, + "storage_address": "https://objects.openforge.tools/models/c327ab/c327ab2ccbdbe47fd3077364a1ab987a.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/c327ab/c327ab2ccbdbe47fd3077364a1ab987a.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": false, + "tags": [ + "component|snakehole", + "connection|openlock", + "connection|openlock|unsupported", + "shape|square", + "shape|wall", + "size|openlock|D", + "size|width|3", + "texture|aztlan" + ], + "type": "model" + }, + { + "file_metadata": { + "file": "aztlan#snakehole.IA.openlock+unsupported.stl", + "file_modified_at": "2026-05-30T12:08:58.596588", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock+unsupported/aztlan#snakehole.IA.openlock+unsupported.stl", + "md5": "1eab7f954c45411a4fbc2d2a255a1cc9", + "size": 6324334, + "storage_address": "https://objects.openforge.tools/models/1eab7f/1eab7f954c45411a4fbc2d2a255a1cc9.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/1eab7f/1eab7f954c45411a4fbc2d2a255a1cc9.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": false, + "tags": [ + "component|snakehole", + "connection|openlock", + "connection|openlock|unsupported", + "shape|square", + "shape|wall", + "size|openlock|IA", + "size|width|1", + "texture|aztlan" + ], + "type": "model" + }, + { + "file_metadata": { + "file": "aztlan#snakehole.Q.openlock+unsupported.stl", + "file_modified_at": "2026-05-30T12:09:39.296874", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock+unsupported/aztlan#snakehole.Q.openlock+unsupported.stl", + "md5": "5d62ccc57c28c72b07663ffc4eaeea7c", + "size": 20858184, + "storage_address": "https://objects.openforge.tools/models/5d62cc/5d62ccc57c28c72b07663ffc4eaeea7c.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/5d62cc/5d62ccc57c28c72b07663ffc4eaeea7c.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": false, + "tags": [ + "component|snakehole", + "connection|openlock", + "connection|openlock|unsupported", + "shape|square", + "shape|wall", + "size|openlock|Q", + "size|width|4", + "texture|aztlan" + ], + "type": "model" + }, + { + "file_metadata": { + "file": "aztlan#snakehole.A.openlock+unsupported,side.stl", + "file_modified_at": "2026-05-30T12:33:07.870299", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock+unsupported/side/aztlan#snakehole.A.openlock+unsupported,side.stl", + "md5": "bc6aabf9ded39e2de6140e5bab878f06", + "size": 10698384, + "storage_address": "https://objects.openforge.tools/models/bc6aab/bc6aabf9ded39e2de6140e5bab878f06.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/bc6aab/bc6aabf9ded39e2de6140e5bab878f06.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": false, + "tags": [ + "component|snakehole", + "connection|openlock", + "connection|openlock|unsupported", + "connection|side", + "connection|side|openlock", + "shape|square", + "shape|wall", + "size|openlock|A", + "size|width|2", + "texture|aztlan" + ], + "type": "model" + }, + { + "file_metadata": { + "file": "aztlan#snakehole.BA.openlock+unsupported,side.stl", + "file_modified_at": "2026-05-30T12:32:36.467541", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock+unsupported/side/aztlan#snakehole.BA.openlock+unsupported,side.stl", + "md5": "bb68a9b415a74698851a58bd686d4f0e", + "size": 8390884, + "storage_address": "https://objects.openforge.tools/models/bb68a9/bb68a9b415a74698851a58bd686d4f0e.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/bb68a9/bb68a9b415a74698851a58bd686d4f0e.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": false, + "tags": [ + "component|snakehole", + "connection|openlock", + "connection|openlock|unsupported", + "connection|side", + "connection|side|openlock", + "shape|square", + "shape|wall", + "size|openlock|BA", + "size|width|1.5", + "texture|aztlan" + ], + "type": "model" + }, + { + "file_metadata": { + "file": "aztlan#snakehole.D.openlock+unsupported,side.stl", + "file_modified_at": "2026-05-30T12:33:35.822376", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock+unsupported/side/aztlan#snakehole.D.openlock+unsupported,side.stl", + "md5": "ce0fca9c3ad4644f17fbdf818237ac58", + "size": 15430084, + "storage_address": "https://objects.openforge.tools/models/ce0fca/ce0fca9c3ad4644f17fbdf818237ac58.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/ce0fca/ce0fca9c3ad4644f17fbdf818237ac58.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": false, + "tags": [ + "component|snakehole", + "connection|openlock", + "connection|openlock|unsupported", + "connection|side", + "connection|side|openlock", + "shape|square", + "shape|wall", + "size|openlock|D", + "size|width|3", + "texture|aztlan" + ], + "type": "model" + }, + { + "file_metadata": { + "file": "aztlan#snakehole.Q.openlock+unsupported,side.stl", + "file_modified_at": "2026-05-30T12:34:17.492257", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock+unsupported/side/aztlan#snakehole.Q.openlock+unsupported,side.stl", + "md5": "33377a5dfd8df7cf17925f854aef4e6f", + "size": 20445584, + "storage_address": "https://objects.openforge.tools/models/33377a/33377a5dfd8df7cf17925f854aef4e6f.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/33377a/33377a5dfd8df7cf17925f854aef4e6f.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": false, + "tags": [ + "component|snakehole", + "connection|openlock", + "connection|openlock|unsupported", + "connection|side", + "connection|side|openlock", + "shape|square", + "shape|wall", + "size|openlock|Q", + "size|width|4", + "texture|aztlan" + ], + "type": "model" + }, + { + "file_metadata": { + "file": "aztlan#snakehole.A.openlock.stl", + "file_modified_at": "2026-05-30T12:09:03.510524", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock/aztlan#snakehole.A.openlock.stl", + "md5": "38071bf963ebb552fc5f94609208c915", + "size": 11147284, + "storage_address": "https://objects.openforge.tools/models/38071b/38071bf963ebb552fc5f94609208c915.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/38071b/38071bf963ebb552fc5f94609208c915.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": false, + "tags": [ + "component|snakehole", + "connection|openlock", + "shape|square", + "shape|wall", + "size|openlock|A", + "size|width|2", + "texture|aztlan" + ], + "type": "model" + }, + { + "file_metadata": { + "file": "aztlan#snakehole.BA.openlock.stl", + "file_modified_at": "2026-05-30T12:08:46.156484", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock/aztlan#snakehole.BA.openlock.stl", + "md5": "17f2dbd7262e98fe25c81ae8e8233e7e", + "size": 8815384, + "storage_address": "https://objects.openforge.tools/models/17f2db/17f2dbd7262e98fe25c81ae8e8233e7e.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/17f2db/17f2dbd7262e98fe25c81ae8e8233e7e.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": false, + "tags": [ + "component|snakehole", + "connection|openlock", + "shape|square", + "shape|wall", + "size|openlock|BA", + "size|width|1.5", + "texture|aztlan" + ], + "type": "model" + }, + { + "file_metadata": { + "file": "aztlan#snakehole.D.openlock.stl", + "file_modified_at": "2026-05-30T12:09:16.170224", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock/aztlan#snakehole.D.openlock.stl", + "md5": "3f8b36c9514417a17047a3378d47cc95", + "size": 15921684, + "storage_address": "https://objects.openforge.tools/models/3f8b36/3f8b36c9514417a17047a3378d47cc95.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/3f8b36/3f8b36c9514417a17047a3378d47cc95.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": false, + "tags": [ + "component|snakehole", + "connection|openlock", + "shape|square", + "shape|wall", + "size|openlock|D", + "size|width|3", + "texture|aztlan" + ], + "type": "model" + }, + { + "file_metadata": { + "file": "aztlan#snakehole.IA.openlock.stl", + "file_modified_at": "2026-05-30T12:08:55.338887", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock/aztlan#snakehole.IA.openlock.stl", + "md5": "692bf3e6465700d761db7a2a1f9225bb", + "size": 6338334, + "storage_address": "https://objects.openforge.tools/models/692bf3/692bf3e6465700d761db7a2a1f9225bb.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/692bf3/692bf3e6465700d761db7a2a1f9225bb.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": false, + "tags": [ + "component|snakehole", + "connection|openlock", + "shape|square", + "shape|wall", + "size|openlock|IA", + "size|width|1", + "texture|aztlan" + ], + "type": "model" + }, + { + "file_metadata": { + "file": "aztlan#snakehole.Q.openlock.stl", + "file_modified_at": "2026-05-30T12:09:31.710918", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock/aztlan#snakehole.Q.openlock.stl", + "md5": "1f501c22913f3c3cd91c0b452812567d", + "size": 20936884, + "storage_address": "https://objects.openforge.tools/models/1f501c/1f501c22913f3c3cd91c0b452812567d.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/1f501c/1f501c22913f3c3cd91c0b452812567d.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": false, + "tags": [ + "component|snakehole", + "connection|openlock", + "shape|square", + "shape|wall", + "size|openlock|Q", + "size|width|4", + "texture|aztlan" + ], + "type": "model" + }, + { + "file_metadata": { + "file": "aztlan#snakehole.A.openlock,side.stl", + "file_modified_at": "2026-05-30T12:32:59.321361", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock/side/aztlan#snakehole.A.openlock,side.stl", + "md5": "2becfeed438f6341f6946914a2ea116e", + "size": 10739284, + "storage_address": "https://objects.openforge.tools/models/2becfe/2becfeed438f6341f6946914a2ea116e.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/2becfe/2becfeed438f6341f6946914a2ea116e.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": false, + "tags": [ + "component|snakehole", + "connection|openlock", + "connection|side", + "connection|side|openlock", + "shape|square", + "shape|wall", + "size|openlock|A", + "size|width|2", + "texture|aztlan" + ], + "type": "model" + }, + { + "file_metadata": { + "file": "aztlan#snakehole.BA.openlock,side.stl", + "file_modified_at": "2026-05-30T12:32:29.564754", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock/side/aztlan#snakehole.BA.openlock,side.stl", + "md5": "1c6687ad9e1d29d3d9c6c63fa7258745", + "size": 8418484, + "storage_address": "https://objects.openforge.tools/models/1c6687/1c6687ad9e1d29d3d9c6c63fa7258745.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/1c6687/1c6687ad9e1d29d3d9c6c63fa7258745.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": false, + "tags": [ + "component|snakehole", + "connection|openlock", + "connection|side", + "connection|side|openlock", + "shape|square", + "shape|wall", + "size|openlock|BA", + "size|width|1.5", + "texture|aztlan" + ], + "type": "model" + }, + { + "file_metadata": { + "file": "aztlan#snakehole.D.openlock,side.stl", + "file_modified_at": "2026-05-30T12:33:22.998446", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock/side/aztlan#snakehole.D.openlock,side.stl", + "md5": "a63f592bb41e95b898406cf256d05715", + "size": 15498884, + "storage_address": "https://objects.openforge.tools/models/a63f59/a63f592bb41e95b898406cf256d05715.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/a63f59/a63f592bb41e95b898406cf256d05715.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": false, + "tags": [ + "component|snakehole", + "connection|openlock", + "connection|side", + "connection|side|openlock", + "shape|square", + "shape|wall", + "size|openlock|D", + "size|width|3", + "texture|aztlan" + ], + "type": "model" + }, + { + "file_metadata": { + "file": "aztlan#snakehole.Q.openlock,side.stl", + "file_modified_at": "2026-05-30T12:33:50.579519", + "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock/side/aztlan#snakehole.Q.openlock,side.stl", + "md5": "2baa4d18cec136d7aa2588f58f7f18b6", + "size": 20524284, + "storage_address": "https://objects.openforge.tools/models/2baa4d/2baa4d18cec136d7aa2588f58f7f18b6.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/2baa4d/2baa4d18cec136d7aa2588f58f7f18b6.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": false, + "tags": [ + "component|snakehole", + "connection|openlock", + "connection|side", + "connection|side|openlock", + "shape|square", + "shape|wall", + "size|openlock|Q", + "size|width|4", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|13mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+13mm.A.openforge.stl", + "file_modified_at": "2026-06-15T11:40:40.715853", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openforge/aztlan#treasure_hollow+13mm.A.openforge.stl", + "md5": "d154117d3f8935164b5b82c808c876b6", + "size": 16211584, + "storage_address": "https://objects.openforge.tools/models/d15411/d154117d3f8935164b5b82c808c876b6.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/d15411/d154117d3f8935164b5b82c808c876b6.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|13mm", + "connection|openforge", + "shape|square", + "shape|wall", + "size|openlock|A", + "size|width|2", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|13mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+13mm.BA.openforge.stl", + "file_modified_at": "2026-06-15T11:42:01.683230", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openforge/aztlan#treasure_hollow+13mm.BA.openforge.stl", + "md5": "7c095da36aaa975bc967b1eb52108322", + "size": 13135084, + "storage_address": "https://objects.openforge.tools/models/7c095d/7c095da36aaa975bc967b1eb52108322.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/7c095d/7c095da36aaa975bc967b1eb52108322.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|13mm", + "connection|openforge", + "shape|square", + "shape|wall", + "size|openlock|BA", + "size|width|1.5", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|13mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+13mm.IA.openforge.stl", + "file_modified_at": "2026-06-15T11:43:06.021702", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openforge/aztlan#treasure_hollow+13mm.IA.openforge.stl", + "md5": "8194af631b4a6869d1a3e412b8dc1938", + "size": 12631784, + "storage_address": "https://objects.openforge.tools/models/8194af/8194af631b4a6869d1a3e412b8dc1938.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/8194af/8194af631b4a6869d1a3e412b8dc1938.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|13mm", + "connection|openforge", + "shape|square", + "shape|wall", + "size|openlock|IA", + "size|width|1", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|30mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+30mm.A.openforge.stl", + "file_modified_at": "2026-06-15T11:44:02.053912", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openforge/aztlan#treasure_hollow+30mm.A.openforge.stl", + "md5": "c79d308c739d4aa26bbd794213115a2e", + "size": 16294284, + "storage_address": "https://objects.openforge.tools/models/c79d30/c79d308c739d4aa26bbd794213115a2e.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/c79d30/c79d308c739d4aa26bbd794213115a2e.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|30mm", + "connection|openforge", + "shape|square", + "shape|wall", + "size|openlock|A", + "size|width|2", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|9mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+9mm.A.openforge.stl", + "file_modified_at": "2026-06-15T11:45:13.861772", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openforge/aztlan#treasure_hollow+9mm.A.openforge.stl", + "md5": "ed2e34b8ec9c7b0e54b0eab58b863908", + "size": 16182284, + "storage_address": "https://objects.openforge.tools/models/ed2e34/ed2e34b8ec9c7b0e54b0eab58b863908.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/ed2e34/ed2e34b8ec9c7b0e54b0eab58b863908.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|9mm", + "connection|openforge", + "shape|square", + "shape|wall", + "size|openlock|A", + "size|width|2", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|9mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+9mm.BA.openforge.stl", + "file_modified_at": "2026-06-15T11:46:26.098791", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openforge/aztlan#treasure_hollow+9mm.BA.openforge.stl", + "md5": "c524b1417c77d96db2d83019d16b2c68", + "size": 13126284, + "storage_address": "https://objects.openforge.tools/models/c524b1/c524b1417c77d96db2d83019d16b2c68.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/c524b1/c524b1417c77d96db2d83019d16b2c68.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|9mm", + "connection|openforge", + "shape|square", + "shape|wall", + "size|openlock|BA", + "size|width|1.5", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|9mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+9mm.IA.openforge.stl", + "file_modified_at": "2026-06-15T11:47:28.714201", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openforge/aztlan#treasure_hollow+9mm.IA.openforge.stl", + "md5": "75e6bc63da0afdc72e9a883f29b16eb2", + "size": 12593184, + "storage_address": "https://objects.openforge.tools/models/75e6bc/75e6bc63da0afdc72e9a883f29b16eb2.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/75e6bc/75e6bc63da0afdc72e9a883f29b16eb2.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|9mm", + "connection|openforge", + "shape|square", + "shape|wall", + "size|openlock|IA", + "size|width|1", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|13mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+13mm.A.openforge,side+dragonlock.stl", + "file_modified_at": "2026-06-15T11:41:51.843659", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openforge/side,dragonlock/aztlan#treasure_hollow+13mm.A.openforge,side+dragonlock.stl", + "md5": "3bea18021d109ed65f997d7a30938c13", + "size": 16452084, + "storage_address": "https://objects.openforge.tools/models/3bea18/3bea18021d109ed65f997d7a30938c13.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/3bea18/3bea18021d109ed65f997d7a30938c13.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|13mm", + "connection|openforge", + "connection|side", + "connection|side|dragonlock", + "shape|square", + "shape|wall", + "size|openlock|A", + "size|width|2", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|13mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+13mm.BA.openforge,side+dragonlock.stl", + "file_modified_at": "2026-06-15T11:42:56.427963", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openforge/side,dragonlock/aztlan#treasure_hollow+13mm.BA.openforge,side+dragonlock.stl", + "md5": "8c2f37c50a9053af8d789b96bac59c9f", + "size": 13377384, + "storage_address": "https://objects.openforge.tools/models/8c2f37/8c2f37c50a9053af8d789b96bac59c9f.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/8c2f37/8c2f37c50a9053af8d789b96bac59c9f.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|13mm", + "connection|openforge", + "connection|side", + "connection|side|dragonlock", + "shape|square", + "shape|wall", + "size|openlock|BA", + "size|width|1.5", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|13mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+13mm.IA.openforge,side+dragonlock.stl", + "file_modified_at": "2026-06-15T11:43:52.041224", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openforge/side,dragonlock/aztlan#treasure_hollow+13mm.IA.openforge,side+dragonlock.stl", + "md5": "4984630a6780d4a7d1ad07266c55c00a", + "size": 12778884, + "storage_address": "https://objects.openforge.tools/models/498463/4984630a6780d4a7d1ad07266c55c00a.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/498463/4984630a6780d4a7d1ad07266c55c00a.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|13mm", + "connection|openforge", + "connection|side", + "connection|side|dragonlock", + "shape|square", + "shape|wall", + "size|openlock|IA", + "size|width|1", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|30mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+30mm.A.openforge,side+dragonlock.stl", + "file_modified_at": "2026-06-15T11:45:02.701130", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openforge/side,dragonlock/aztlan#treasure_hollow+30mm.A.openforge,side+dragonlock.stl", + "md5": "017379eb6fb771fc5e41261c02d2805a", + "size": 16544284, + "storage_address": "https://objects.openforge.tools/models/017379/017379eb6fb771fc5e41261c02d2805a.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/017379/017379eb6fb771fc5e41261c02d2805a.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|30mm", + "connection|openforge", + "connection|side", + "connection|side|dragonlock", + "shape|square", + "shape|wall", + "size|openlock|A", + "size|width|2", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|9mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+9mm.A.openforge,side+dragonlock.stl", + "file_modified_at": "2026-06-15T11:46:17.428048", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openforge/side,dragonlock/aztlan#treasure_hollow+9mm.A.openforge,side+dragonlock.stl", + "md5": "1a3d50d34308c586c0f62d0c33a302fb", + "size": 16425284, + "storage_address": "https://objects.openforge.tools/models/1a3d50/1a3d50d34308c586c0f62d0c33a302fb.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/1a3d50/1a3d50d34308c586c0f62d0c33a302fb.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|9mm", + "connection|openforge", + "connection|side", + "connection|side|dragonlock", + "shape|square", + "shape|wall", + "size|openlock|A", + "size|width|2", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|9mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+9mm.BA.openforge,side+dragonlock.stl", + "file_modified_at": "2026-06-15T11:47:19.475410", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openforge/side,dragonlock/aztlan#treasure_hollow+9mm.BA.openforge,side+dragonlock.stl", + "md5": "7066d01d458dc4faa06dab7fca2905d9", + "size": 13375584, + "storage_address": "https://objects.openforge.tools/models/7066d0/7066d01d458dc4faa06dab7fca2905d9.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/7066d0/7066d01d458dc4faa06dab7fca2905d9.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|9mm", + "connection|openforge", + "connection|side", + "connection|side|dragonlock", + "shape|square", + "shape|wall", + "size|openlock|BA", + "size|width|1.5", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|9mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+9mm.IA.openforge,side+dragonlock.stl", + "file_modified_at": "2026-06-15T11:48:15.261865", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openforge/side,dragonlock/aztlan#treasure_hollow+9mm.IA.openforge,side+dragonlock.stl", + "md5": "f0a655b37c80d85aa5db00ebdf9035a8", + "size": 12779084, + "storage_address": "https://objects.openforge.tools/models/f0a655/f0a655b37c80d85aa5db00ebdf9035a8.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/f0a655/f0a655b37c80d85aa5db00ebdf9035a8.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|9mm", + "connection|openforge", + "connection|side", + "connection|side|dragonlock", + "shape|square", + "shape|wall", + "size|openlock|IA", + "size|width|1", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|13mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+13mm.A.openforge,side.stl", + "file_modified_at": "2026-06-15T11:41:35.060630", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openforge/side/aztlan#treasure_hollow+13mm.A.openforge,side.stl", + "md5": "91c04c8483cec8f92964057b479e047a", + "size": 15783684, + "storage_address": "https://objects.openforge.tools/models/91c04c/91c04c8483cec8f92964057b479e047a.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/91c04c/91c04c8483cec8f92964057b479e047a.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|13mm", + "connection|openforge", + "connection|side", + "connection|side|openlock", + "shape|square", + "shape|wall", + "size|openlock|A", + "size|width|2", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|13mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+13mm.BA.openforge,side.stl", + "file_modified_at": "2026-06-15T11:42:41.386088", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openforge/side/aztlan#treasure_hollow+13mm.BA.openforge,side.stl", + "md5": "7b6bce22a50d48ce4bcf97ce5d2d3fed", + "size": 12708984, + "storage_address": "https://objects.openforge.tools/models/7b6bce/7b6bce22a50d48ce4bcf97ce5d2d3fed.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/7b6bce/7b6bce22a50d48ce4bcf97ce5d2d3fed.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|13mm", + "connection|openforge", + "connection|side", + "connection|side|openlock", + "shape|square", + "shape|wall", + "size|openlock|BA", + "size|width|1.5", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|13mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+13mm.IA.openforge,side.stl", + "file_modified_at": "2026-06-15T11:43:39.596676", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openforge/side/aztlan#treasure_hollow+13mm.IA.openforge,side.stl", + "md5": "853015f29aa102ea895d7d4d2b45c6b3", + "size": 12137084, + "storage_address": "https://objects.openforge.tools/models/853015/853015f29aa102ea895d7d4d2b45c6b3.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/853015/853015f29aa102ea895d7d4d2b45c6b3.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|13mm", + "connection|openforge", + "connection|side", + "connection|side|openlock", + "shape|square", + "shape|wall", + "size|openlock|IA", + "size|width|1", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|30mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+30mm.A.openforge,side.stl", + "file_modified_at": "2026-06-15T11:44:46.882854", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openforge/side/aztlan#treasure_hollow+30mm.A.openforge,side.stl", + "md5": "56860382ffdab3cfb5a4887c753761f9", + "size": 15859284, + "storage_address": "https://objects.openforge.tools/models/568603/56860382ffdab3cfb5a4887c753761f9.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/568603/56860382ffdab3cfb5a4887c753761f9.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|30mm", + "connection|openforge", + "connection|side", + "connection|side|openlock", + "shape|square", + "shape|wall", + "size|openlock|A", + "size|width|2", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|9mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+9mm.A.openforge,side.stl", + "file_modified_at": "2026-06-15T11:46:01.641487", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openforge/side/aztlan#treasure_hollow+9mm.A.openforge,side.stl", + "md5": "621b16258ab32552324e16acc4eebf6e", + "size": 15756884, + "storage_address": "https://objects.openforge.tools/models/621b16/621b16258ab32552324e16acc4eebf6e.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/621b16/621b16258ab32552324e16acc4eebf6e.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|9mm", + "connection|openforge", + "connection|side", + "connection|side|openlock", + "shape|square", + "shape|wall", + "size|openlock|A", + "size|width|2", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|9mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+9mm.BA.openforge,side.stl", + "file_modified_at": "2026-06-15T11:47:04.722561", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openforge/side/aztlan#treasure_hollow+9mm.BA.openforge,side.stl", + "md5": "4bd9bd288a74d2dbe984fe015eef90b7", + "size": 12707184, + "storage_address": "https://objects.openforge.tools/models/4bd9bd/4bd9bd288a74d2dbe984fe015eef90b7.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/4bd9bd/4bd9bd288a74d2dbe984fe015eef90b7.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|9mm", + "connection|openforge", + "connection|side", + "connection|side|openlock", + "shape|square", + "shape|wall", + "size|openlock|BA", + "size|width|1.5", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|9mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+9mm.IA.openforge,side.stl", + "file_modified_at": "2026-06-15T11:48:02.912769", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openforge/side/aztlan#treasure_hollow+9mm.IA.openforge,side.stl", + "md5": "390fd06c4a1f3653e44c98e16590154a", + "size": 12112284, + "storage_address": "https://objects.openforge.tools/models/390fd0/390fd06c4a1f3653e44c98e16590154a.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/390fd0/390fd06c4a1f3653e44c98e16590154a.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|9mm", + "connection|openforge", + "connection|side", + "connection|side|openlock", + "shape|square", + "shape|wall", + "size|openlock|IA", + "size|width|1", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|13mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+13mm.A.openlock+unsupported.stl", + "file_modified_at": "2026-06-15T11:40:56.065156", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock+unsupported/aztlan#treasure_hollow+13mm.A.openlock+unsupported.stl", + "md5": "43572670c9064f4cc5fc2674dc1190cc", + "size": 10931484, + "storage_address": "https://objects.openforge.tools/models/435726/43572670c9064f4cc5fc2674dc1190cc.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/435726/43572670c9064f4cc5fc2674dc1190cc.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|13mm", + "connection|openlock", + "connection|openlock|unsupported", + "shape|square", + "shape|wall", + "size|openlock|A", + "size|width|2", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|13mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+13mm.BA.openlock+unsupported.stl", + "file_modified_at": "2026-06-15T11:42:10.775179", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock+unsupported/aztlan#treasure_hollow+13mm.BA.openlock+unsupported.stl", + "md5": "bd6d0e9338595c432f0e4ba1bddf4fd8", + "size": 8599884, + "storage_address": "https://objects.openforge.tools/models/bd6d0e/bd6d0e9338595c432f0e4ba1bddf4fd8.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/bd6d0e/bd6d0e9338595c432f0e4ba1bddf4fd8.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|13mm", + "connection|openlock", + "connection|openlock|unsupported", + "shape|square", + "shape|wall", + "size|openlock|BA", + "size|width|1.5", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|13mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+13mm.IA.openlock+unsupported.stl", + "file_modified_at": "2026-06-15T11:43:13.413970", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock+unsupported/aztlan#treasure_hollow+13mm.IA.openlock+unsupported.stl", + "md5": "2fa38369e4306e5494d291690c8470fa", + "size": 6357484, + "storage_address": "https://objects.openforge.tools/models/2fa383/2fa38369e4306e5494d291690c8470fa.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/2fa383/2fa38369e4306e5494d291690c8470fa.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|13mm", + "connection|openlock", + "connection|openlock|unsupported", + "shape|square", + "shape|wall", + "size|openlock|IA", + "size|width|1", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|30mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+30mm.A.openlock+unsupported.stl", + "file_modified_at": "2026-06-15T11:44:12.809396", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock+unsupported/aztlan#treasure_hollow+30mm.A.openlock+unsupported.stl", + "md5": "5d73297551f124d5c7d418ccdc7a6ffa", + "size": 11018684, + "storage_address": "https://objects.openforge.tools/models/5d7329/5d73297551f124d5c7d418ccdc7a6ffa.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/5d7329/5d73297551f124d5c7d418ccdc7a6ffa.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|30mm", + "connection|openlock", + "connection|openlock|unsupported", + "shape|square", + "shape|wall", + "size|openlock|A", + "size|width|2", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|9mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+9mm.A.openlock+unsupported.stl", + "file_modified_at": "2026-06-15T11:45:25.010472", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock+unsupported/aztlan#treasure_hollow+9mm.A.openlock+unsupported.stl", + "md5": "aa6154fa32a4bf4cdddf90f7856e8ee4", + "size": 10898884, + "storage_address": "https://objects.openforge.tools/models/aa6154/aa6154fa32a4bf4cdddf90f7856e8ee4.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/aa6154/aa6154fa32a4bf4cdddf90f7856e8ee4.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|9mm", + "connection|openlock", + "connection|openlock|unsupported", + "shape|square", + "shape|wall", + "size|openlock|A", + "size|width|2", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|9mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+9mm.BA.openlock+unsupported.stl", + "file_modified_at": "2026-06-15T11:46:35.323151", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock+unsupported/aztlan#treasure_hollow+9mm.BA.openlock+unsupported.stl", + "md5": "bab76410f0ee420e37cd19d47cdb95a1", + "size": 8585784, + "storage_address": "https://objects.openforge.tools/models/bab764/bab76410f0ee420e37cd19d47cdb95a1.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/bab764/bab76410f0ee420e37cd19d47cdb95a1.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|9mm", + "connection|openlock", + "connection|openlock|unsupported", + "shape|square", + "shape|wall", + "size|openlock|BA", + "size|width|1.5", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|9mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+9mm.IA.openlock+unsupported.stl", + "file_modified_at": "2026-06-15T11:47:36.446117", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock+unsupported/aztlan#treasure_hollow+9mm.IA.openlock+unsupported.stl", + "md5": "5a730e56254faa3d45d8e02bd4e5d1c9", + "size": 6318184, + "storage_address": "https://objects.openforge.tools/models/5a730e/5a730e56254faa3d45d8e02bd4e5d1c9.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/5a730e/5a730e56254faa3d45d8e02bd4e5d1c9.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|9mm", + "connection|openlock", + "connection|openlock|unsupported", + "shape|square", + "shape|wall", + "size|openlock|IA", + "size|width|1", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|13mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+13mm.A.openlock+unsupported,side.stl", + "file_modified_at": "2026-06-15T11:41:18.459835", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock+unsupported/side/aztlan#treasure_hollow+13mm.A.openlock+unsupported,side.stl", + "md5": "e62f302ae6c8210cd22922d2df0573a4", + "size": 10503584, + "storage_address": "https://objects.openforge.tools/models/e62f30/e62f302ae6c8210cd22922d2df0573a4.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/e62f30/e62f302ae6c8210cd22922d2df0573a4.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|13mm", + "connection|openlock", + "connection|openlock|unsupported", + "connection|side", + "connection|side|openlock", + "shape|square", + "shape|wall", + "size|openlock|A", + "size|width|2", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|13mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+13mm.BA.openlock+unsupported,side.stl", + "file_modified_at": "2026-06-15T11:42:27.531358", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock+unsupported/side/aztlan#treasure_hollow+13mm.BA.openlock+unsupported,side.stl", + "md5": "4aa742f264bc07e9fbe1d29374279a60", + "size": 8173784, + "storage_address": "https://objects.openforge.tools/models/4aa742/4aa742f264bc07e9fbe1d29374279a60.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/4aa742/4aa742f264bc07e9fbe1d29374279a60.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|13mm", + "connection|openlock", + "connection|openlock|unsupported", + "connection|side", + "connection|side|openlock", + "shape|square", + "shape|wall", + "size|openlock|BA", + "size|width|1.5", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|13mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+13mm.IA.openlock+unsupported,side.stl", + "file_modified_at": "2026-06-15T11:43:26.063372", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock+unsupported/side/aztlan#treasure_hollow+13mm.IA.openlock+unsupported,side.stl", + "md5": "65318131581f0e56b3a2d54e95e144b0", + "size": 5862884, + "storage_address": "https://objects.openforge.tools/models/653181/65318131581f0e56b3a2d54e95e144b0.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/653181/65318131581f0e56b3a2d54e95e144b0.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|13mm", + "connection|openlock", + "connection|openlock|unsupported", + "connection|side", + "connection|side|openlock", + "shape|square", + "shape|wall", + "size|openlock|IA", + "size|width|1", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|30mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+30mm.A.openlock+unsupported,side.stl", + "file_modified_at": "2026-06-15T11:44:31.729388", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock+unsupported/side/aztlan#treasure_hollow+30mm.A.openlock+unsupported,side.stl", + "md5": "1a4152a2d2c23cec6681e7b3e2076d94", + "size": 10583684, + "storage_address": "https://objects.openforge.tools/models/1a4152/1a4152a2d2c23cec6681e7b3e2076d94.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/1a4152/1a4152a2d2c23cec6681e7b3e2076d94.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|30mm", + "connection|openlock", + "connection|openlock|unsupported", + "connection|side", + "connection|side|openlock", + "shape|square", + "shape|wall", + "size|openlock|A", + "size|width|2", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|9mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+9mm.A.openlock+unsupported,side.stl", + "file_modified_at": "2026-06-15T11:45:45.113467", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock+unsupported/side/aztlan#treasure_hollow+9mm.A.openlock+unsupported,side.stl", + "md5": "b009dbfdab8a75d3d695c927c5f21b13", + "size": 10473484, + "storage_address": "https://objects.openforge.tools/models/b009db/b009dbfdab8a75d3d695c927c5f21b13.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/b009db/b009dbfdab8a75d3d695c927c5f21b13.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|9mm", + "connection|openlock", + "connection|openlock|unsupported", + "connection|side", + "connection|side|openlock", + "shape|square", + "shape|wall", + "size|openlock|A", + "size|width|2", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|9mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+9mm.BA.openlock+unsupported,side.stl", + "file_modified_at": "2026-06-15T11:46:51.176511", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock+unsupported/side/aztlan#treasure_hollow+9mm.BA.openlock+unsupported,side.stl", + "md5": "cae988833e92f2acec8003c890245bfa", + "size": 8166684, + "storage_address": "https://objects.openforge.tools/models/cae988/cae988833e92f2acec8003c890245bfa.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/cae988/cae988833e92f2acec8003c890245bfa.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|9mm", + "connection|openlock", + "connection|openlock|unsupported", + "connection|side", + "connection|side|openlock", + "shape|square", + "shape|wall", + "size|openlock|BA", + "size|width|1.5", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|9mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+9mm.IA.openlock+unsupported,side.stl", + "file_modified_at": "2026-06-15T11:47:48.862017", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock+unsupported/side/aztlan#treasure_hollow+9mm.IA.openlock+unsupported,side.stl", + "md5": "c323b5c03097ee3877b3816fbabfbe5d", + "size": 5837284, + "storage_address": "https://objects.openforge.tools/models/c323b5/c323b5c03097ee3877b3816fbabfbe5d.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/c323b5/c323b5c03097ee3877b3816fbabfbe5d.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|9mm", + "connection|openlock", + "connection|openlock|unsupported", + "connection|side", + "connection|side|openlock", + "shape|square", + "shape|wall", + "size|openlock|IA", + "size|width|1", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|13mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+13mm.A.openlock.stl", + "file_modified_at": "2026-06-15T11:40:48.686827", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock/aztlan#treasure_hollow+13mm.A.openlock.stl", + "md5": "6d46ffb6b642b3c2372ccbf59a6efcff", + "size": 10972384, + "storage_address": "https://objects.openforge.tools/models/6d46ff/6d46ffb6b642b3c2372ccbf59a6efcff.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/6d46ff/6d46ffb6b642b3c2372ccbf59a6efcff.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|13mm", + "connection|openlock", + "shape|square", + "shape|wall", + "size|openlock|A", + "size|width|2", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|13mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+13mm.BA.openlock.stl", + "file_modified_at": "2026-06-15T11:42:06.306992", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock/aztlan#treasure_hollow+13mm.BA.openlock.stl", + "md5": "0b59eec95c6b35fe5d6b25ecd0f9cd3f", + "size": 8627884, + "storage_address": "https://objects.openforge.tools/models/0b59ee/0b59eec95c6b35fe5d6b25ecd0f9cd3f.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/0b59ee/0b59eec95c6b35fe5d6b25ecd0f9cd3f.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|13mm", + "connection|openlock", + "shape|square", + "shape|wall", + "size|openlock|BA", + "size|width|1.5", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|13mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+13mm.IA.openlock.stl", + "file_modified_at": "2026-06-15T11:43:09.738418", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock/aztlan#treasure_hollow+13mm.IA.openlock.stl", + "md5": "5875ac1429d6d3f8dffcfa6dd523be75", + "size": 6371484, + "storage_address": "https://objects.openforge.tools/models/5875ac/5875ac1429d6d3f8dffcfa6dd523be75.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/5875ac/5875ac1429d6d3f8dffcfa6dd523be75.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|13mm", + "connection|openlock", + "shape|square", + "shape|wall", + "size|openlock|IA", + "size|width|1", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|30mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+30mm.A.openlock.stl", + "file_modified_at": "2026-06-15T11:44:07.487618", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock/aztlan#treasure_hollow+30mm.A.openlock.stl", + "md5": "6148de9463726e06764d84525161ad10", + "size": 11059584, + "storage_address": "https://objects.openforge.tools/models/6148de/6148de9463726e06764d84525161ad10.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/6148de/6148de9463726e06764d84525161ad10.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|30mm", + "connection|openlock", + "shape|square", + "shape|wall", + "size|openlock|A", + "size|width|2", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|9mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+9mm.A.openlock.stl", + "file_modified_at": "2026-06-15T11:45:19.856005", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock/aztlan#treasure_hollow+9mm.A.openlock.stl", + "md5": "c041e11200b174a8a0763e241c3054d4", + "size": 10939984, + "storage_address": "https://objects.openforge.tools/models/c041e1/c041e11200b174a8a0763e241c3054d4.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/c041e1/c041e11200b174a8a0763e241c3054d4.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|9mm", + "connection|openlock", + "shape|square", + "shape|wall", + "size|openlock|A", + "size|width|2", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|9mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+9mm.BA.openlock.stl", + "file_modified_at": "2026-06-15T11:46:30.758183", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock/aztlan#treasure_hollow+9mm.BA.openlock.stl", + "md5": "f06aef00e5c2be3422cd9eed193324f9", + "size": 8613384, + "storage_address": "https://objects.openforge.tools/models/f06aef/f06aef00e5c2be3422cd9eed193324f9.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/f06aef/f06aef00e5c2be3422cd9eed193324f9.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|9mm", + "connection|openlock", + "shape|square", + "shape|wall", + "size|openlock|BA", + "size|width|1.5", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|9mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+9mm.IA.openlock.stl", + "file_modified_at": "2026-06-15T11:47:32.860782", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock/aztlan#treasure_hollow+9mm.IA.openlock.stl", + "md5": "806a986ba70be2db0f5a615d77ac6a68", + "size": 6332184, + "storage_address": "https://objects.openforge.tools/models/806a98/806a986ba70be2db0f5a615d77ac6a68.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/806a98/806a986ba70be2db0f5a615d77ac6a68.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|9mm", + "connection|openlock", + "shape|square", + "shape|wall", + "size|openlock|IA", + "size|width|1", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|13mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+13mm.A.openlock,side.stl", + "file_modified_at": "2026-06-15T11:41:08.134559", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock/side/aztlan#treasure_hollow+13mm.A.openlock,side.stl", + "md5": "39497ee5c8c59309e753231b39589045", + "size": 10544484, + "storage_address": "https://objects.openforge.tools/models/39497e/39497ee5c8c59309e753231b39589045.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/39497e/39497ee5c8c59309e753231b39589045.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|13mm", + "connection|openlock", + "connection|side", + "connection|side|openlock", + "shape|square", + "shape|wall", + "size|openlock|A", + "size|width|2", + "texture|aztlan" + ], + "type": "model" + }, + { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|13mm" + } + ] + } + } + ] + }, + "file_metadata": { + "file": "aztlan#treasure_hollow+13mm.BA.openlock,side.stl", + "file_modified_at": "2026-06-15T11:42:18.745066", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock/side/aztlan#treasure_hollow+13mm.BA.openlock,side.stl", + "md5": "0859bca0c9a8b83ab86f3c3ae1284b43", + "size": 8201784, + "storage_address": "https://objects.openforge.tools/models/0859bc/0859bca0c9a8b83ab86f3c3ae1284b43.stl" + }, + "images": [ + { + "image_name": "thumbnail", + "image_url": "https://objects.openforge.tools/sprites/0859bc/0859bca0c9a8b83ab86f3c3ae1284b43.png", + "sprite_metadata": { + "angles": [ + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 0, + "name": "front" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 1, + "name": "front-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 2, + "name": "right" + }, + { + "camera_pos": [ + 2, + 3, + 3 + ], + "index": 3, + "name": "back-right" + }, + { + "camera_pos": [ + 0, + 2, + 4 + ], + "index": 4, + "name": "back" + }, + { + "camera_pos": [ + -3, + 2, + 3 + ], + "index": 5, + "name": "back-left" + }, + { + "camera_pos": [ + -4, + 0, + 2 + ], + "index": 6, + "name": "left" + }, + { + "camera_pos": [ + -3, + -3, + 2 + ], + "index": 7, + "name": "front-left" + }, + { + "camera_pos": [ + -2, + 0, + 5 + ], + "index": 8, + "name": "top" + }, + { + "camera_pos": [ + -2, + -3, + 0 + ], + "index": 9, + "name": "bottom" + } + ], + "default_angle": 0, + "grid_cols": 5, + "grid_rows": 2, + "tile_size": 512 + } + } + ], + "metadata": true, + "tags": [ + "component|treasure_hollow", + "component|treasure_hollow|13mm", + "connection|openlock", + "connection|side", + "connection|side|openlock", + "shape|square", + "shape|wall", + "size|openlock|BA", + "size|width|1.5", "texture|aztlan" ], "type": "model" }, { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|13mm" + } + ] + } + } + ] + }, "file_metadata": { - "file": "aztlan#snakehole.BA.openlock+unsupported,side.stl", - "file_modified_at": "2026-05-30T12:32:36.467541", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock+unsupported/side/aztlan#snakehole.BA.openlock+unsupported,side.stl", - "md5": "bb68a9b415a74698851a58bd686d4f0e", - "size": 8390884, - "storage_address": "https://objects.openforge.tools/models/bb68a9/bb68a9b415a74698851a58bd686d4f0e.stl" + "file": "aztlan#treasure_hollow+13mm.IA.openlock,side.stl", + "file_modified_at": "2026-06-15T11:43:19.843702", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock/side/aztlan#treasure_hollow+13mm.IA.openlock,side.stl", + "md5": "eff197197c17f54fc28d78984ba0f00b", + "size": 5876884, + "storage_address": "https://objects.openforge.tools/models/eff197/eff197197c17f54fc28d78984ba0f00b.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/bb68a9/bb68a9b415a74698851a58bd686d4f0e.png", + "image_url": "https://objects.openforge.tools/sprites/eff197/eff197197c17f54fc28d78984ba0f00b.png", "sprite_metadata": { "angles": [ { @@ -14646,34 +23306,49 @@ } } ], - "metadata": false, + "metadata": true, "tags": [ - "component|snakehole", + "component|treasure_hollow", + "component|treasure_hollow|13mm", "connection|openlock", - "connection|openlock|unsupported", "connection|side", "connection|side|openlock", "shape|square", "shape|wall", - "size|openlock|BA", - "size|width|1.5", + "size|openlock|IA", + "size|width|1", "texture|aztlan" ], "type": "model" }, { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|30mm" + } + ] + } + } + ] + }, "file_metadata": { - "file": "aztlan#snakehole.D.openlock+unsupported,side.stl", - "file_modified_at": "2026-05-30T12:33:35.822376", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock+unsupported/side/aztlan#snakehole.D.openlock+unsupported,side.stl", - "md5": "ce0fca9c3ad4644f17fbdf818237ac58", - "size": 15430084, - "storage_address": "https://objects.openforge.tools/models/ce0fca/ce0fca9c3ad4644f17fbdf818237ac58.stl" + "file": "aztlan#treasure_hollow+30mm.A.openlock,side.stl", + "file_modified_at": "2026-06-15T11:44:22.469548", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock/side/aztlan#treasure_hollow+30mm.A.openlock,side.stl", + "md5": "c3186beffba6d01197dcfd98316c51d9", + "size": 10624584, + "storage_address": "https://objects.openforge.tools/models/c3186b/c3186beffba6d01197dcfd98316c51d9.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/ce0fca/ce0fca9c3ad4644f17fbdf818237ac58.png", + "image_url": "https://objects.openforge.tools/sprites/c3186b/c3186beffba6d01197dcfd98316c51d9.png", "sprite_metadata": { "angles": [ { @@ -14774,34 +23449,49 @@ } } ], - "metadata": false, + "metadata": true, "tags": [ - "component|snakehole", + "component|treasure_hollow", + "component|treasure_hollow|30mm", "connection|openlock", - "connection|openlock|unsupported", "connection|side", "connection|side|openlock", "shape|square", "shape|wall", - "size|openlock|D", - "size|width|3", + "size|openlock|A", + "size|width|2", "texture|aztlan" ], "type": "model" }, { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|9mm" + } + ] + } + } + ] + }, "file_metadata": { - "file": "aztlan#snakehole.Q.openlock+unsupported,side.stl", - "file_modified_at": "2026-05-30T12:34:17.492257", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock+unsupported/side/aztlan#snakehole.Q.openlock+unsupported,side.stl", - "md5": "33377a5dfd8df7cf17925f854aef4e6f", - "size": 20445584, - "storage_address": "https://objects.openforge.tools/models/33377a/33377a5dfd8df7cf17925f854aef4e6f.stl" + "file": "aztlan#treasure_hollow+9mm.A.openlock,side.stl", + "file_modified_at": "2026-06-15T11:45:34.432125", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock/side/aztlan#treasure_hollow+9mm.A.openlock,side.stl", + "md5": "c8907931ca64230f3cd76fe84ffdf379", + "size": 10514584, + "storage_address": "https://objects.openforge.tools/models/c89079/c8907931ca64230f3cd76fe84ffdf379.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/33377a/33377a5dfd8df7cf17925f854aef4e6f.png", + "image_url": "https://objects.openforge.tools/sprites/c89079/c8907931ca64230f3cd76fe84ffdf379.png", "sprite_metadata": { "angles": [ { @@ -14902,34 +23592,49 @@ } } ], - "metadata": false, + "metadata": true, "tags": [ - "component|snakehole", + "component|treasure_hollow", + "component|treasure_hollow|9mm", "connection|openlock", - "connection|openlock|unsupported", "connection|side", "connection|side|openlock", "shape|square", "shape|wall", - "size|openlock|Q", - "size|width|4", + "size|openlock|A", + "size|width|2", "texture|aztlan" ], "type": "model" }, { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|9mm" + } + ] + } + } + ] + }, "file_metadata": { - "file": "aztlan#snakehole.A.openlock.stl", - "file_modified_at": "2026-05-30T12:09:03.510524", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock/aztlan#snakehole.A.openlock.stl", - "md5": "38071bf963ebb552fc5f94609208c915", - "size": 11147284, - "storage_address": "https://objects.openforge.tools/models/38071b/38071bf963ebb552fc5f94609208c915.stl" + "file": "aztlan#treasure_hollow+9mm.BA.openlock,side.stl", + "file_modified_at": "2026-06-15T11:46:43.456983", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock/side/aztlan#treasure_hollow+9mm.BA.openlock,side.stl", + "md5": "798705c2a14cd90b9b98f760edd5a900", + "size": 8194284, + "storage_address": "https://objects.openforge.tools/models/798705/798705c2a14cd90b9b98f760edd5a900.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/38071b/38071bf963ebb552fc5f94609208c915.png", + "image_url": "https://objects.openforge.tools/sprites/798705/798705c2a14cd90b9b98f760edd5a900.png", "sprite_metadata": { "angles": [ { @@ -15030,31 +23735,49 @@ } } ], - "metadata": false, + "metadata": true, "tags": [ - "component|snakehole", + "component|treasure_hollow", + "component|treasure_hollow|9mm", "connection|openlock", + "connection|side", + "connection|side|openlock", "shape|square", "shape|wall", - "size|openlock|A", - "size|width|2", + "size|openlock|BA", + "size|width|1.5", "texture|aztlan" ], "type": "model" }, { + "config": { + "parts": [ + { + "name": "treasure", + "optional": true, + "tags": { + "require": [ + { + "tag": "interface|treasure_hollow|9mm" + } + ] + } + } + ] + }, "file_metadata": { - "file": "aztlan#snakehole.BA.openlock.stl", - "file_modified_at": "2026-05-30T12:08:46.156484", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock/aztlan#snakehole.BA.openlock.stl", - "md5": "17f2dbd7262e98fe25c81ae8e8233e7e", - "size": 8815384, - "storage_address": "https://objects.openforge.tools/models/17f2db/17f2dbd7262e98fe25c81ae8e8233e7e.stl" + "file": "aztlan#treasure_hollow+9mm.IA.openlock,side.stl", + "file_modified_at": "2026-06-15T11:47:42.815998", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/openlock/side/aztlan#treasure_hollow+9mm.IA.openlock,side.stl", + "md5": "135ff8018c5085a091a7e16553a6e608", + "size": 5851284, + "storage_address": "https://objects.openforge.tools/models/135ff8/135ff8018c5085a091a7e16553a6e608.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/17f2db/17f2dbd7262e98fe25c81ae8e8233e7e.png", + "image_url": "https://objects.openforge.tools/sprites/135ff8/135ff8018c5085a091a7e16553a6e608.png", "sprite_metadata": { "angles": [ { @@ -15155,31 +23878,34 @@ } } ], - "metadata": false, + "metadata": true, "tags": [ - "component|snakehole", + "component|treasure_hollow", + "component|treasure_hollow|9mm", "connection|openlock", + "connection|side", + "connection|side|openlock", "shape|square", "shape|wall", - "size|openlock|BA", - "size|width|1.5", + "size|openlock|IA", + "size|width|1", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#snakehole.D.openlock.stl", - "file_modified_at": "2026-05-30T12:09:16.170224", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock/aztlan#snakehole.D.openlock.stl", - "md5": "3f8b36c9514417a17047a3378d47cc95", - "size": 15921684, - "storage_address": "https://objects.openforge.tools/models/3f8b36/3f8b36c9514417a17047a3378d47cc95.stl" + "file": "treasure_bits#idol_1+13mm.stl", + "file_modified_at": "2026-06-15T10:03:40.252591", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/treasure_bits/treasure_bits#idol_1+13mm.stl", + "md5": "1800be2313dbf23dbc308cc307c7e5d0", + "size": 6833484, + "storage_address": "https://objects.openforge.tools/models/1800be/1800be2313dbf23dbc308cc307c7e5d0.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/3f8b36/3f8b36c9514417a17047a3378d47cc95.png", + "image_url": "https://objects.openforge.tools/sprites/1800be/1800be2313dbf23dbc308cc307c7e5d0.png", "sprite_metadata": { "angles": [ { @@ -15280,31 +24006,28 @@ } } ], - "metadata": false, + "metadata": true, "tags": [ - "component|snakehole", - "connection|openlock", - "shape|square", - "shape|wall", - "size|openlock|D", - "size|width|3", + "interface|treasure_hollow|13mm", + "scatter|treasure|idol", + "size|13mm", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#snakehole.IA.openlock.stl", - "file_modified_at": "2026-05-30T12:08:55.338887", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock/aztlan#snakehole.IA.openlock.stl", - "md5": "692bf3e6465700d761db7a2a1f9225bb", - "size": 6338334, - "storage_address": "https://objects.openforge.tools/models/692bf3/692bf3e6465700d761db7a2a1f9225bb.stl" + "file": "treasure_bits#idol_2+13mm.stl", + "file_modified_at": "2026-06-15T10:03:40.566698", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/treasure_bits/treasure_bits#idol_2+13mm.stl", + "md5": "762dc57a02cc4307d0af199fe51a65b8", + "size": 7243384, + "storage_address": "https://objects.openforge.tools/models/762dc5/762dc57a02cc4307d0af199fe51a65b8.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/692bf3/692bf3e6465700d761db7a2a1f9225bb.png", + "image_url": "https://objects.openforge.tools/sprites/762dc5/762dc57a02cc4307d0af199fe51a65b8.png", "sprite_metadata": { "angles": [ { @@ -15405,31 +24128,28 @@ } } ], - "metadata": false, + "metadata": true, "tags": [ - "component|snakehole", - "connection|openlock", - "shape|square", - "shape|wall", - "size|openlock|IA", - "size|width|1", + "interface|treasure_hollow|13mm", + "scatter|treasure|idol", + "size|13mm", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#snakehole.Q.openlock.stl", - "file_modified_at": "2026-05-30T12:09:31.710918", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock/aztlan#snakehole.Q.openlock.stl", - "md5": "1f501c22913f3c3cd91c0b452812567d", - "size": 20936884, - "storage_address": "https://objects.openforge.tools/models/1f501c/1f501c22913f3c3cd91c0b452812567d.stl" + "file": "treasure_bits#idol_3+13mm.stl", + "file_modified_at": "2026-06-15T10:03:39.477492", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/treasure_bits/treasure_bits#idol_3+13mm.stl", + "md5": "97d2d76f944f48d69e32eb8afb145062", + "size": 6999784, + "storage_address": "https://objects.openforge.tools/models/97d2d7/97d2d76f944f48d69e32eb8afb145062.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/1f501c/1f501c22913f3c3cd91c0b452812567d.png", + "image_url": "https://objects.openforge.tools/sprites/97d2d7/97d2d76f944f48d69e32eb8afb145062.png", "sprite_metadata": { "angles": [ { @@ -15530,31 +24250,28 @@ } } ], - "metadata": false, + "metadata": true, "tags": [ - "component|snakehole", - "connection|openlock", - "shape|square", - "shape|wall", - "size|openlock|Q", - "size|width|4", + "interface|treasure_hollow|13mm", + "scatter|treasure|idol", + "size|13mm", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#snakehole.A.openlock,side.stl", - "file_modified_at": "2026-05-30T12:32:59.321361", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock/side/aztlan#snakehole.A.openlock,side.stl", - "md5": "2becfeed438f6341f6946914a2ea116e", - "size": 10739284, - "storage_address": "https://objects.openforge.tools/models/2becfe/2becfeed438f6341f6946914a2ea116e.stl" + "file": "treasure_bits#tankard_1+9mm.stl", + "file_modified_at": "2026-06-15T10:03:40.107600", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/treasure_bits/treasure_bits#tankard_1+9mm.stl", + "md5": "1f2e73cadb4fea91008326c727f133fa", + "size": 7702634, + "storage_address": "https://objects.openforge.tools/models/1f2e73/1f2e73cadb4fea91008326c727f133fa.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/2becfe/2becfeed438f6341f6946914a2ea116e.png", + "image_url": "https://objects.openforge.tools/sprites/1f2e73/1f2e73cadb4fea91008326c727f133fa.png", "sprite_metadata": { "angles": [ { @@ -15655,33 +24372,28 @@ } } ], - "metadata": false, + "metadata": true, "tags": [ - "component|snakehole", - "connection|openlock", - "connection|side", - "connection|side|openlock", - "shape|square", - "shape|wall", - "size|openlock|A", - "size|width|2", + "interface|treasure_hollow|9mm", + "scatter|treasure|tankard", + "size|9mm", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#snakehole.BA.openlock,side.stl", - "file_modified_at": "2026-05-30T12:32:29.564754", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock/side/aztlan#snakehole.BA.openlock,side.stl", - "md5": "1c6687ad9e1d29d3d9c6c63fa7258745", - "size": 8418484, - "storage_address": "https://objects.openforge.tools/models/1c6687/1c6687ad9e1d29d3d9c6c63fa7258745.stl" + "file": "treasure_bits#tankard_2+9mm.stl", + "file_modified_at": "2026-06-15T10:03:40.729749", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/treasure_bits/treasure_bits#tankard_2+9mm.stl", + "md5": "1bdc69193f866e93135074dfeab4c06c", + "size": 7500634, + "storage_address": "https://objects.openforge.tools/models/1bdc69/1bdc69193f866e93135074dfeab4c06c.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/1c6687/1c6687ad9e1d29d3d9c6c63fa7258745.png", + "image_url": "https://objects.openforge.tools/sprites/1bdc69/1bdc69193f866e93135074dfeab4c06c.png", "sprite_metadata": { "angles": [ { @@ -15782,33 +24494,28 @@ } } ], - "metadata": false, + "metadata": true, "tags": [ - "component|snakehole", - "connection|openlock", - "connection|side", - "connection|side|openlock", - "shape|square", - "shape|wall", - "size|openlock|BA", - "size|width|1.5", + "interface|treasure_hollow|9mm", + "scatter|treasure|tankard", + "size|9mm", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#snakehole.D.openlock,side.stl", - "file_modified_at": "2026-05-30T12:33:22.998446", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock/side/aztlan#snakehole.D.openlock,side.stl", - "md5": "a63f592bb41e95b898406cf256d05715", - "size": 15498884, - "storage_address": "https://objects.openforge.tools/models/a63f59/a63f592bb41e95b898406cf256d05715.stl" + "file": "treasure_bits#treasure_jar+13mm.stl", + "file_modified_at": "2026-06-15T10:03:39.180357", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/treasure_bits/treasure_bits#treasure_jar+13mm.stl", + "md5": "e36d2f3bc1df977108f242dda924c4a7", + "size": 3603784, + "storage_address": "https://objects.openforge.tools/models/e36d2f/e36d2f3bc1df977108f242dda924c4a7.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/a63f59/a63f592bb41e95b898406cf256d05715.png", + "image_url": "https://objects.openforge.tools/sprites/e36d2f/e36d2f3bc1df977108f242dda924c4a7.png", "sprite_metadata": { "angles": [ { @@ -15909,33 +24616,28 @@ } } ], - "metadata": false, + "metadata": true, "tags": [ - "component|snakehole", - "connection|openlock", - "connection|side", - "connection|side|openlock", - "shape|square", - "shape|wall", - "size|openlock|D", - "size|width|3", + "interface|treasure_hollow|13mm", + "scatter|treasure|jar", + "size|13mm", "texture|aztlan" ], "type": "model" }, { "file_metadata": { - "file": "aztlan#snakehole.Q.openlock,side.stl", - "file_modified_at": "2026-05-30T12:33:50.579519", - "full_name": "tiles/aztlan/separate_walls/primary_walls/snakehole/openlock/side/aztlan#snakehole.Q.openlock,side.stl", - "md5": "2baa4d18cec136d7aa2588f58f7f18b6", - "size": 20524284, - "storage_address": "https://objects.openforge.tools/models/2baa4d/2baa4d18cec136d7aa2588f58f7f18b6.stl" + "file": "treasure_bits#treasure_snake+30mm.stl", + "file_modified_at": "2026-06-15T10:03:39.850530", + "full_name": "tiles/aztlan/separate_walls/primary_walls/treasure_hollow/treasure_bits/treasure_bits#treasure_snake+30mm.stl", + "md5": "d7951b16f70e52d13b9519ac6a5bd318", + "size": 6629084, + "storage_address": "https://objects.openforge.tools/models/d7951b/d7951b16f70e52d13b9519ac6a5bd318.stl" }, "images": [ { "image_name": "thumbnail", - "image_url": "https://objects.openforge.tools/sprites/2baa4d/2baa4d18cec136d7aa2588f58f7f18b6.png", + "image_url": "https://objects.openforge.tools/sprites/d7951b/d7951b16f70e52d13b9519ac6a5bd318.png", "sprite_metadata": { "angles": [ { @@ -16036,16 +24738,11 @@ } } ], - "metadata": false, + "metadata": true, "tags": [ - "component|snakehole", - "connection|openlock", - "connection|side", - "connection|side|openlock", - "shape|square", - "shape|wall", - "size|openlock|Q", - "size|width|4", + "interface|treasure_hollow|30mm", + "scatter|treasure|snake", + "size|30mm", "texture|aztlan" ], "type": "model"