Skip to content

Future: Define input adapter architecture #29

@madawei2699

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions