dreamwall-mc / docs /TEXTURE_PACK_STRATEGY.md
Wildstash's picture
Upload docs/TEXTURE_PACK_STRATEGY.md with huggingface_hub
b47847c verified
|
Raw
History Blame Contribute Delete
3.69 kB
# 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.