Skip to content

docs: item-authoring guide for paintable item GLBs#431

Merged
wass08 merged 1 commit into
mainfrom
docs/item-authoring-guide
Jun 19, 2026
Merged

docs: item-authoring guide for paintable item GLBs#431
wass08 merged 1 commit into
mainfrom
docs/item-authoring-guide

Conversation

@wass08

@wass08 wass08 commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator

What does this PR do?

Adds the previously-missing item authoring guide for catalog item GLBs — wiki/architecture/item-authoring.md. It documents the content-author contract that makes a GLB's parts paintable while keeping authored materials as the default look:

  • slot_<part> material naming and the deriveSlotId rules (prefix strip, .001 dedupe, merge-by-id), sourced from packages/core/src/lib/slots.ts
  • authored materials as the default appearance, with optional curated pascal_material glTF extras (read at runtime from material.userData)
  • the cutout reserved mesh name (hidden boolean-cut helper, never a slot)
  • the ~1 UV unit/m world-scale promise (shared with procedural surfaces) and vertex colours for fixed multi-colour detail
  • the validated Blender recipe (apply scale → rename slot_* → Cube Projection size 1.0 / Texel Density 10.24 px/cm) and the critical export gotchas: enable Include → Custom Properties or extras are lost, and optimise with gltfpack -ke to preserve them

Also indexes the page in wiki/architecture/README.md and turns the dangling "phase-6 Blender recipe" reference in materials-and-themes.md into a real link.

Fills Remaining work #2 in the editor-paint-slots plan (private-editor). Docs-only — no code changes.

How to test

  1. Read wiki/architecture/item-authoring.md for accuracy against packages/core/src/lib/slots.ts (SLOT_MATERIAL_PREFIX, deriveSlotId) and packages/nodes/src/item/renderer.tsx (the cutout mesh handling and userData.pascal_material read).
  2. Confirm the new row renders in the wiki/architecture/README.md Pages table.
  3. Confirm the item-authoring link in materials-and-themes.mdTexture world scale resolves.

Screenshots / screen recording

N/A — documentation-only change.

Checklist

  • I've tested this locally with bun dev — N/A, docs-only
  • My code follows the existing code style (run bun check to verify) — N/A, no code
  • I've updated relevant documentation (if applicable)
  • This PR targets the main branch

Documents the content-author contract for catalog item GLBs: slot_
material naming + deriveSlotId rules, authored defaults and
pascal_material extras, the cutout reserved mesh, the ~1 UV unit/m world
scale, vertex colours for fixed detail, and the validated Blender + glTF
export recipe (Custom Properties export gotcha, gltfpack -ke extras
preservation). Indexes the page in the architecture README and links it
from materials-and-themes.md (previously a dangling "phase-6 Blender
recipe" reference).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mintlify

mintlify Bot commented Jun 19, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
pascal 🔴 Failed Jun 19, 2026, 1:06 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@wass08 wass08 merged commit ee4d6de into main Jun 19, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant