# AfterBlock Texture Pack Strategy ## Current Asset Set - 3,200 generated relic textures - 3,200 generated 3D item model JSON files - 3,200 `minecraft:paper` custom model data overrides - 70 everyday object archetypes - 10 material finishes: paper fiber, brushed metal, soft plastic, painted wood, canvas cloth, glass glow, rubber grip, enamel badge, aged brass, and screen phosphor - 6 variant display profiles: pedestal, wall-left, wall-right, tabletop, showcase, and handheld - 32 contact-sheet screenshots - browser gallery for all 3,200 materialized isometric previews - searchable/filterable full-library HTML with copyable `/give` commands - Gradio Object Atlas for paging through the pack inside the live Space Open locally: ```text assets/afterblock_textures/gallery/index.html ``` Screenshots: ```text assets/afterblock_textures/gallery/contact_sheet_01.png assets/afterblock_textures/gallery/contact_sheet_02.png ... assets/afterblock_textures/gallery/contact_sheet_32.png assets/afterblock_textures/gallery/library_report.json ``` Resource pack skeleton: ```text resource-pack/AfterBlockMuseum/ ``` ## Minecraft Rendering Strategy Each museum relic maps to: - a 64x64 item texture with deterministic material marks - a 3D model JSON with blocky `elements` - material and finish metadata exposed in the manifest and Gradio inspection wall - GUI/ground/fixed/first-person/third-person display transforms - per-variant display profile and orientation metadata - a `custom_model_data` ID on `minecraft:paper` - a museum packet field under `minecraft.resource_pack_item` This lets the server use one base item, `minecraft:paper`, while rendering thousands of different relics. ## Why 3D Models Matter PNG-only items feel like flat stickers. AfterBlock uses model JSON shapes so different relic categories read differently: - books and notebooks: thin rectangular slabs - monitors: screen + stand geometry - bags: box body + handle - bottles: tall body + cap - lamps: shade + stem + base - controllers: wide body + grips - keys: ring + shaft - mugs: cup + handle The textures carry color, material, and symbolic detail; the model geometry carries silhouette and orientation. ## Scale Strategy To reach thousands of objects without hand-drawing every file: 1. Classify object into an archetype. 2. Pick base geometry for the archetype. 3. Generate color palette from object/memory/image fingerprint. 4. Add deterministic variant marks. 5. Emit PNG + model JSON + manifest row. 6. Map `custom_model_data` into the Minecraft bridge packet. 7. Render a browser/Gradio preview that shows material, shape, pose profile, and `/give` command together. The current generator does this deterministically, so an object can be recreated from prompt, owner, and artifact metadata. ## Inspection Strategy The repo now exposes the pack in three ways: 1. `assets/afterblock_textures/gallery/index.html` shows every item with search, kind filters, model path, and copyable `/give` commands. 2. `assets/afterblock_textures/gallery/contact_sheet_01.png` through `contact_sheet_32.png` provide screenshot-friendly proof pages. 3. The Gradio app includes an Object Atlas and collapsed inspection appendix so judges can inspect PNG previews, materials, model paths, shapes, pose profiles, and `CustomModelData` values without leaving the Space. ## Next Upgrade Use a real vision model for uploaded images: ```text photo -> object class -> palette -> archetype geometry -> resource-pack item -> Minecraft pedestal ``` The app already accepts an optional relic image and stores an image fingerprint. The next step is replacing the local color fingerprint with a VLM classifier.