Skip to content

Future: Define input adapter architecture #29

Description

@madawei2699

Context

Arnis is useful as an example of a clean data-to-world pipeline. The relevant lesson for CraftDAG is not to copy OSM generation, but to make input sources modular.

Idea

Define a future adapter architecture where different inputs can eventually produce CraftDAG documents or VoxelPlans:

Prompt / template config → CraftDAG
Existing .schem → VoxelPlan
Future sketch/image input → CraftDAG or VoxelPlan
Future structure library → CraftDAG templates

Design principle

CraftDAG core should remain deterministic and small. Input adapters should live around the core and should not pollute schema/compiler responsibilities.

Suggested design

Possible package boundaries:

  • @craftdag/adapter-template
  • @craftdag/adapter-schematic
  • @craftdag/adapter-llm
  • @craftdag/adapter-sketch later

Each adapter should expose a clear output contract:

  • produce CraftDagDocument, or
  • produce VoxelPlan directly when semantic recovery is unavailable

Non-goals

  • Do not add OSM/geographic generation now.
  • Do not make adapter architecture block the current MinePilot MVP.
  • Do not let adapters bypass validation when producing CraftDAG.

Acceptance criteria for a design doc

  • A short docs/ADAPTERS.md exists.
  • It explains input adapter boundaries.
  • It explains when an adapter should output CraftDAG vs VoxelPlan.
  • It lists first candidate adapter: schematic-to-VoxelPlan.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions