{
    "schema": "moo-assets/1",
    "summary": {
        "faked": 1,
        "requested": 0,
        "building": 0,
        "delivered": 21,
        "consumed": 17
    },
    "total": 39,
    "slots": [
        {
            "slot_key": "builds.plank_house",
            "label": "Wood-plank house tier",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/builds.js"
            },
            "prop": null,
            "state": "frame",
            "category": null,
            "target": {
                "x": 3,
                "y": 2.6,
                "z": 3
            },
            "pivot_required": "base-center",
            "wishlist_ref": "ASSETS.md",
            "priority": 0,
            "status": "faked",
            "prop_registered": false,
            "ready_assets": 0,
            "notes": "P0 in ASSETS.md: the FIRST home is planks, not bricks. Modular plank walls / roof / door, reusing the brick-set pattern. Best fit for the PROCEDURAL channel - parametric family, infinite consistent variants."
        },
        {
            "slot_key": "heldTool.axe",
            "label": "Axe",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/heldTool.js"
            },
            "prop": "axe",
            "state": "default",
            "category": "tool",
            "target": {
                "x": 0.1,
                "y": 0.8,
                "z": 0.3
            },
            "pivot_required": "grip",
            "wishlist_ref": "ASSETS.md",
            "priority": 0,
            "status": "delivered",
            "prop_registered": true,
            "ready_assets": 3,
            "notes": "P0. Exists as makeAxe() primitives, both first-person and in-world. GRIP pivot - the sixth pivot mode."
        },
        {
            "slot_key": "heldTool.shovel",
            "label": "Shovel",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/heldTool.js"
            },
            "prop": "shovel",
            "state": "default",
            "category": "tool",
            "target": {
                "x": 0.15,
                "y": 1.1,
                "z": 0.2
            },
            "pivot_required": "grip",
            "wishlist_ref": "ASSETS.md",
            "priority": 0,
            "status": "delivered",
            "prop_registered": true,
            "ready_assets": 3,
            "notes": "Already has world + first-person primitives. The dig verb depends on it."
        },
        {
            "slot_key": "material.wood_plank",
            "label": "Wood plank (material item)",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/recipes.js"
            },
            "prop": "wood-plank",
            "state": "default",
            "category": "material",
            "target": {
                "x": 1.2,
                "y": 0.04,
                "z": 0.2
            },
            "pivot_required": "base-center",
            "wishlist_ref": "ASSETS.md",
            "priority": 0,
            "status": "delivered",
            "prop_registered": true,
            "ready_assets": 2,
            "notes": "P0 material. Feeds the plank-house tier and the COMPOUND-MATERIALS-PLAN recipe registry."
        },
        {
            "slot_key": "props.hammer",
            "label": "Hammer / mallet",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/props.js"
            },
            "prop": "hammer",
            "state": "default",
            "category": "tool",
            "target": {
                "x": 0.1,
                "y": 0.4,
                "z": 0.15
            },
            "pivot_required": "grip",
            "wishlist_ref": "ASSETS.md",
            "priority": 1,
            "status": "delivered",
            "prop_registered": true,
            "ready_assets": 3,
            "notes": null
        },
        {
            "slot_key": "props.pickaxe",
            "label": "Pickaxe",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/props.js"
            },
            "prop": "pickaxe",
            "state": "default",
            "category": "tool",
            "target": {
                "x": 0.1,
                "y": 0.7,
                "z": 0.4
            },
            "pivot_required": "grip",
            "wishlist_ref": "ASSETS.md",
            "priority": 1,
            "status": "delivered",
            "prop_registered": true,
            "ready_assets": 3,
            "notes": null
        },
        {
            "slot_key": "market.stall",
            "label": "Real market stall",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/market.js"
            },
            "prop": "market-stall",
            "state": "default",
            "category": "structure",
            "target": {
                "x": 2.5,
                "y": 2.4,
                "z": 2
            },
            "pivot_required": "base-center",
            "wishlist_ref": "b3",
            "priority": 1,
            "status": "delivered",
            "prop_registered": true,
            "ready_assets": 2,
            "notes": "Today the market is a procedural tent. VILLAGERS-PLAN wants three roles: game keeper, shop keeper, builder. Good candidate for the AUTHORED channel - a hero piece, not a parametric family."
        },
        {
            "slot_key": "ring2.oven",
            "label": "Communal bread oven",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/market.js"
            },
            "prop": "oven",
            "state": "default",
            "category": "structure",
            "target": {
                "x": 1.6,
                "y": 1.5,
                "z": 1.6
            },
            "pivot_required": "base-center",
            "wishlist_ref": "b3",
            "priority": 1,
            "status": "delivered",
            "prop_registered": true,
            "ready_assets": 2,
            "notes": "Procedural brick dome today. Grounded in LORE: the oven letter (Feed it a fire sometime) and Marlas bread."
        },
        {
            "slot_key": "ring2.well",
            "label": "Village well",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/market.js"
            },
            "prop": "well",
            "state": "default",
            "category": "structure",
            "target": {
                "x": 1.8,
                "y": 2.2,
                "z": 1.8
            },
            "pivot_required": "base-center",
            "wishlist_ref": "b3",
            "priority": 1,
            "status": "delivered",
            "prop_registered": true,
            "ready_assets": 2,
            "notes": "RING2-PLAN authored set piece: ring + posts + beam, village V0 at (0, 860)."
        },
        {
            "slot_key": "bricks.BRICK_GEO.full",
            "label": "Brick - full",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/bricks.js"
            },
            "prop": null,
            "state": "default",
            "category": null,
            "target": {
                "x": 0.8,
                "y": 0.4,
                "z": 0.4
            },
            "pivot_required": "box-center",
            "wishlist_ref": "b1",
            "priority": 2,
            "status": "consumed",
            "prop_registered": false,
            "ready_assets": 0,
            "notes": "Wall workhorse. White albedo mandatory: instancePool.setColor carries the whole material-tier palette. v1 ships tiers as per-instance TINT, so real geometry is a fidelity upgrade."
        },
        {
            "slot_key": "scatterField.plinth",
            "label": "Plaza plinth + assembled statue",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/scatterField.js"
            },
            "prop": "plinth",
            "state": "default",
            "category": "artifact",
            "target": {
                "x": 1.1,
                "y": 0.5,
                "z": 1.1
            },
            "pivot_required": "base-center",
            "wishlist_ref": "b2",
            "priority": 2,
            "status": "consumed",
            "prop_registered": true,
            "ready_assets": 1,
            "notes": "Currently 4 stacked primitives at ys [0.61, 1.03, 1.28, 1.48] on a 1.1 x 0.5 x 1.1 base at PLINTH = (-30, 380). A real assembled statue replaces all four with visibility-staged parts. The one artifact players will stare at."
        },
        {
            "slot_key": "scatterField.shapeDefs.bottle",
            "label": "Letter bottle",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/scatterField.js"
            },
            "prop": "letter-bottle",
            "state": "default",
            "category": "artifact",
            "target": {
                "x": 0.176,
                "y": 0.4,
                "z": 0.176
            },
            "pivot_required": "contact-point",
            "wishlist_ref": "b2",
            "priority": 2,
            "status": "consumed",
            "prop_registered": true,
            "ready_assets": 2,
            "notes": "Placeholder is a lathe-profile corked bottle STANDING (0.176 dia x 0.40 tall). The ported phyto builder makes it LYING ON ITS SIDE (0.30 long x 0.10 high). Resolve in milestone 1: either re-pose the builder or accept the lying pose and update the slot. Reading practice is the reward - highest-fiction item in b2."
        },
        {
            "slot_key": "scatterField.shapeDefs.statue",
            "label": "Statue piece",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/scatterField.js"
            },
            "prop": "statue",
            "state": "piece-1",
            "category": "artifact",
            "target": {
                "x": 0.4,
                "y": 0.4,
                "z": 0.4
            },
            "pivot_required": "base-center",
            "wishlist_ref": "b2",
            "priority": 2,
            "status": "consumed",
            "prop_registered": true,
            "ready_assets": 5,
            "notes": "THE collection meta-goal. Fixed set of 4 at far-flung deterministic spots; reassembles piece-by-piece at the market plaza plinth. statue_common.py (17.8 KB) exists in phytoengine but has NO grow_statue.py entry point - that still needs writing."
        },
        {
            "slot_key": "scatterField.shapeDefs.stone",
            "label": "Ruin stone",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/scatterField.js"
            },
            "prop": "ruin-stone",
            "state": "default",
            "category": "artifact",
            "target": {
                "x": 0.3,
                "y": 0.19,
                "z": 0.24
            },
            "pivot_required": "base-center",
            "wishlist_ref": "b2",
            "priority": 2,
            "status": "consumed",
            "prop_registered": true,
            "ready_assets": 6,
            "notes": "Masonry chunk plus a 0.17 m mate. Ties to the brick/restoration fiction - natural sibling of the b1 material tiers."
        },
        {
            "slot_key": "market.kiln",
            "label": "Kiln (restorable)",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/market.js"
            },
            "prop": "kiln",
            "state": "default",
            "category": "structure",
            "target": {
                "x": 1.6,
                "y": 1.8,
                "z": 1.6
            },
            "pivot_required": "base-center",
            "wishlist_ref": "b3",
            "priority": 2,
            "status": "delivered",
            "prop_registered": true,
            "ready_assets": 4,
            "notes": "Restoring it unlocks the fired-brick tier - see BRICK-PLACEMENT-PLAN section 7. Needs a broken and a restored state on the state axis."
        },
        {
            "slot_key": "water.buildFish.pool-koi",
            "label": "Pool koi",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/water.js"
            },
            "prop": "pool-koi",
            "state": "default",
            "category": "fauna",
            "target": {
                "x": 0.5,
                "y": 0.15,
                "z": 0.12
            },
            "pivot_required": "head-forward-x",
            "wishlist_ref": "b5",
            "priority": 2,
            "status": "consumed",
            "prop_registered": true,
            "ready_assets": 3,
            "notes": "Warm orange with white patches. Jungle-falls plunge pool, 4 fish, non-schooling. Head +X: the shader does tw = clamp(0.4 - p.x/scale, 0, 1.3), so -X MUST be the tail. Normative axis is x (length)."
        },
        {
            "slot_key": "water.buildFish.river-minnow",
            "label": "River minnow",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/water.js"
            },
            "prop": "river-minnow",
            "state": "default",
            "category": "fauna",
            "target": {
                "x": 0.25,
                "y": 0.08,
                "z": 0.06
            },
            "pivot_required": "head-forward-x",
            "wishlist_ref": "b5",
            "priority": 2,
            "status": "delivered",
            "prop_registered": true,
            "ready_assets": 3,
            "notes": "Silver-olive, for the stream. Head +X."
        },
        {
            "slot_key": "water.buildFish.sea-fish",
            "label": "Sea fish",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/water.js"
            },
            "prop": "sea-fish",
            "state": "default",
            "category": "fauna",
            "target": {
                "x": 0.7,
                "y": 0.2,
                "z": 0.15
            },
            "pivot_required": "head-forward-x",
            "wishlist_ref": "b5",
            "priority": 2,
            "status": "consumed",
            "prop_registered": true,
            "ready_assets": 4,
            "notes": "Teal, schooling - 7 fish off THE beach at (0, 2100). CLIENT WORK REQUIRED alongside: buildFish bakes per-fish vertices into ONE merged buffer with aOrbit/aMisc attributes rather than instancing, so a real mesh needs a per-vertex bake pass. Trivial for under 20 fish but must be scheduled with the asset."
        },
        {
            "slot_key": "bricks.BRICK_GEO.cap",
            "label": "Brick - cap",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/bricks.js"
            },
            "prop": null,
            "state": "default",
            "category": null,
            "target": {
                "x": 0.4,
                "y": 0.2,
                "z": 0.4
            },
            "pivot_required": "box-center",
            "wishlist_ref": "b1",
            "priority": 3,
            "status": "consumed",
            "prop_registered": false,
            "ready_assets": 0,
            "notes": null
        },
        {
            "slot_key": "bricks.BRICK_GEO.half",
            "label": "Brick - half",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/bricks.js"
            },
            "prop": null,
            "state": "default",
            "category": null,
            "target": {
                "x": 0.4,
                "y": 0.4,
                "z": 0.4
            },
            "pivot_required": "box-center",
            "wishlist_ref": "b1",
            "priority": 3,
            "status": "consumed",
            "prop_registered": false,
            "ready_assets": 0,
            "notes": null
        },
        {
            "slot_key": "bricks.BRICK_GEO.lintel",
            "label": "Brick - lintel",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/bricks.js"
            },
            "prop": null,
            "state": "default",
            "category": null,
            "target": {
                "x": 1.2,
                "y": 0.25,
                "z": 0.4
            },
            "pivot_required": "box-center",
            "wishlist_ref": "b1",
            "priority": 3,
            "status": "consumed",
            "prop_registered": false,
            "ready_assets": 0,
            "notes": null
        },
        {
            "slot_key": "bricks.BRICK_GEO.slab",
            "label": "Brick - slab",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/bricks.js"
            },
            "prop": null,
            "state": "default",
            "category": null,
            "target": {
                "x": 0.8,
                "y": 0.2,
                "z": 0.4
            },
            "pivot_required": "box-center",
            "wishlist_ref": "b1",
            "priority": 3,
            "status": "consumed",
            "prop_registered": false,
            "ready_assets": 0,
            "notes": null
        },
        {
            "slot_key": "scatter.BURIED.button",
            "label": "Buried - button",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/scatter.js"
            },
            "prop": "buried-button",
            "state": "buried",
            "category": "artifact",
            "target": {
                "x": 0.03,
                "y": 0.006,
                "z": 0.03
            },
            "pivot_required": "contact-point",
            "wishlist_ref": "b2",
            "priority": 3,
            "status": "delivered",
            "prop_registered": true,
            "ready_assets": 3,
            "notes": "No mesh today - toast only."
        },
        {
            "slot_key": "scatter.BURIED.horseshoe",
            "label": "Buried - horseshoe",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/scatter.js"
            },
            "prop": "buried-horseshoe",
            "state": "buried",
            "category": "artifact",
            "target": {
                "x": 0.14,
                "y": 0.02,
                "z": 0.12
            },
            "pivot_required": "contact-point",
            "wishlist_ref": "b2",
            "priority": 3,
            "status": "delivered",
            "prop_registered": true,
            "ready_assets": 3,
            "notes": "No mesh today - toast only."
        },
        {
            "slot_key": "scatter.BURIED.key",
            "label": "Buried - key",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/scatter.js"
            },
            "prop": "buried-key",
            "state": "buried",
            "category": "artifact",
            "target": {
                "x": 0.09,
                "y": 0.01,
                "z": 0.03
            },
            "pivot_required": "contact-point",
            "wishlist_ref": "b2",
            "priority": 3,
            "status": "delivered",
            "prop_registered": true,
            "ready_assets": 3,
            "notes": "No mesh today - toast only."
        },
        {
            "slot_key": "scatter.BURIED.marble",
            "label": "Buried - marble",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/scatter.js"
            },
            "prop": "buried-marble",
            "state": "buried",
            "category": "artifact",
            "target": {
                "x": 0.02,
                "y": 0.02,
                "z": 0.02
            },
            "pivot_required": "contact-point",
            "wishlist_ref": "b2",
            "priority": 3,
            "status": "delivered",
            "prop_registered": true,
            "ready_assets": 1,
            "notes": "No mesh today - toast only."
        },
        {
            "slot_key": "scatter.BURIED.spoon",
            "label": "Buried - spoon",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/scatter.js"
            },
            "prop": "buried-spoon",
            "state": "buried",
            "category": "artifact",
            "target": {
                "x": 0.16,
                "y": 0.02,
                "z": 0.04
            },
            "pivot_required": "contact-point",
            "wishlist_ref": "b2",
            "priority": 3,
            "status": "delivered",
            "prop_registered": true,
            "ready_assets": 3,
            "notes": "No mesh today - toast only."
        },
        {
            "slot_key": "scatterField.shapeDefs.figurine",
            "label": "Carved figurine",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/scatterField.js"
            },
            "prop": "carved-figurine",
            "state": "default",
            "category": "artifact",
            "target": {
                "x": 0.12,
                "y": 0.24,
                "z": 0.12
            },
            "pivot_required": "base-center",
            "wishlist_ref": "b2",
            "priority": 3,
            "status": "consumed",
            "prop_registered": true,
            "ready_assets": 3,
            "notes": "Sitting carved fox. Uncommon, mid trade value."
        },
        {
            "slot_key": "scatterField.shapeDefs.fstone",
            "label": "Carved standing stone",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/scatterField.js"
            },
            "prop": null,
            "state": "default",
            "category": null,
            "target": {
                "x": 0.5,
                "y": 0.9,
                "z": 0.3
            },
            "pivot_required": "base-center",
            "wishlist_ref": "b2",
            "priority": 3,
            "status": "consumed",
            "prop_registered": false,
            "ready_assets": 0,
            "notes": "Folklore fragment as a carved stone. Rests at y 0.45."
        },
        {
            "slot_key": "scatterField.shapeDefs.mound",
            "label": "Dirt mound (covered find)",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/scatterField.js"
            },
            "prop": "dirt-mound",
            "state": "default",
            "category": "artifact",
            "target": {
                "x": 0.6,
                "y": 0.27,
                "z": 0.6
            },
            "pivot_required": "base-center",
            "wishlist_ref": "b2",
            "priority": 3,
            "status": "delivered",
            "prop_registered": true,
            "ready_assets": 3,
            "notes": "Marks a buried find before digging. Sphere r 0.3 scaled (1, 0.45, 1)."
        },
        {
            "slot_key": "scatterField.shapeDefs.note",
            "label": "Nailed notice board",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/scatterField.js"
            },
            "prop": null,
            "state": "default",
            "category": null,
            "target": {
                "x": 0.36,
                "y": 0.46,
                "z": 0.05
            },
            "pivot_required": "base-center",
            "wishlist_ref": "b2",
            "priority": 3,
            "status": "consumed",
            "prop_registered": false,
            "ready_assets": 0,
            "notes": "Folklore fragment / Queens notice. Rests at y 0.75 (nailed to a post), so it needs a post or a wall-mount pivot."
        },
        {
            "slot_key": "scatterField.shapeDefs.page",
            "label": "Torn storybook page",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/scatterField.js"
            },
            "prop": null,
            "state": "default",
            "category": null,
            "target": {
                "x": 0.3,
                "y": 0.02,
                "z": 0.4
            },
            "pivot_required": "contact-point",
            "wishlist_ref": "b2",
            "priority": 3,
            "status": "consumed",
            "prop_registered": false,
            "ready_assets": 0,
            "notes": "Lies on the ground at y 0.03. Thin - a candidate for a two-tri card rather than a mesh."
        },
        {
            "slot_key": "scatterField.shapeDefs.shard",
            "label": "Pot shard",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/scatterField.js"
            },
            "prop": "pot-shard",
            "state": "default",
            "category": "artifact",
            "target": {
                "x": 0.32,
                "y": 0.15,
                "z": 0.32
            },
            "pivot_required": "contact-point",
            "wishlist_ref": "b2",
            "priority": 3,
            "status": "consumed",
            "prop_registered": true,
            "ready_assets": 6,
            "notes": "Broken pot-wall arc, rests tilted on its rim. Some spawn COVERED (shovel-gated)."
        },
        {
            "slot_key": "scatterField.shapeDefs.token",
            "label": "Old token",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/scatterField.js"
            },
            "prop": "old-token",
            "state": "default",
            "category": "artifact",
            "target": {
                "x": 0.17,
                "y": 0.022,
                "z": 0.17
            },
            "pivot_required": "contact-point",
            "wishlist_ref": "b2",
            "priority": 3,
            "status": "consumed",
            "prop_registered": true,
            "ready_assets": 3,
            "notes": "Coin-like but NOT currency (coins-never-found canon). Lies FLAT: normative axis is diameter (x), not height. This is the row that proves DECIMAL(7,4) was necessary - DECIMAL(5,2) would store the built 0.0100 m height as 0.01."
        },
        {
            "slot_key": "builds.background_house",
            "label": "Background house (village fill)",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/builds.js"
            },
            "prop": null,
            "state": "default",
            "category": null,
            "target": {
                "x": 4,
                "y": 3.5,
                "z": 4
            },
            "pivot_required": "base-center",
            "wishlist_ref": "b3",
            "priority": 3,
            "status": "delivered",
            "prop_registered": false,
            "ready_assets": 0,
            "notes": "Non-interactive village fill for adaptive villages 1-5. SEVEN Villiagers building GLBs are staged and cover this category wholesale."
        },
        {
            "slot_key": "market.barrel",
            "label": "Market barrel",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/market.js"
            },
            "prop": "barrel",
            "state": "default",
            "category": "furniture",
            "target": {
                "x": 0.6,
                "y": 0.9,
                "z": 0.6
            },
            "pivot_required": "base-center",
            "wishlist_ref": "b3",
            "priority": 3,
            "status": "delivered",
            "prop_registered": true,
            "ready_assets": 1,
            "notes": "Villiagers GLB staged."
        },
        {
            "slot_key": "market.crate",
            "label": "Market crate",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/market.js"
            },
            "prop": "crate",
            "state": "default",
            "category": "furniture",
            "target": {
                "x": 0.6,
                "y": 0.55,
                "z": 0.6
            },
            "pivot_required": "base-center",
            "wishlist_ref": "b3",
            "priority": 3,
            "status": "delivered",
            "prop_registered": true,
            "ready_assets": 1,
            "notes": "Lambert primitive today. Villiagers GLB staged in pipeline/raw/manual/ - external channel, needs weld+decimate+rescale+repivot."
        },
        {
            "slot_key": "market.log_pile",
            "label": "Log pile",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/market.js"
            },
            "prop": "log-pile",
            "state": "default",
            "category": "furniture",
            "target": {
                "x": 1.6,
                "y": 0.7,
                "z": 1.1
            },
            "pivot_required": "base-center",
            "wishlist_ref": "b3",
            "priority": 3,
            "status": "delivered",
            "prop_registered": true,
            "ready_assets": 1,
            "notes": "Villiagers GLB staged."
        },
        {
            "slot_key": "market.sack",
            "label": "Grain sack",
            "consumer": {
                "repo": "vocabi_new",
                "file": "src/world/engine/market.js"
            },
            "prop": "sack",
            "state": "default",
            "category": "furniture",
            "target": {
                "x": 0.5,
                "y": 0.6,
                "z": 0.4
            },
            "pivot_required": "base-center",
            "wishlist_ref": "b3",
            "priority": 3,
            "status": "delivered",
            "prop_registered": true,
            "ready_assets": 1,
            "notes": "Villiagers GLB staged."
        }
    ]
}