naturalcad / archive /README.md
noahlee1234
Initial NaturalCAD MVP
010bc6c

Live Visualizer

A custom live modeling environment for LLM-assisted geometry workflows.

Core idea

This project is for a modeling tool that combines:

  • live model viewing
  • editable variables and code
  • terminal/log feedback
  • LLM-assisted model generation and editing
  • multiple visual modes from the same scene state

Position on build123d

build123d should be treated as an important geometry backend, but not baked so deeply into the app that the entire product becomes impossible to evolve.

So the architecture should be:

  • custom app shell
  • custom scene/state/visualization pipeline
  • pluggable geometry adapters
  • build123d as the first and best-supported adapter

That keeps the project flexible while still embracing the current best geometry engine for this workflow.

Initial product shape

Three-pane interface:

  • editor / prompt / parameter control
  • live viewport
  • terminal / logs / agent output

Near-term goals

  1. Create a custom app shell
  2. Support build123d as the first geometry adapter
  3. Enable live regeneration from script or parameter changes
  4. Separate display modes:
    • viewport shaded
    • graphic mass
    • technical/vector
  5. Define LLM integration layer:
    • OpenClaw-driven
    • provider-agnostic fallback

Proposed repo layout

  • apps/viewer - main app shell
  • packages/core - scene graph, document model, orchestration types
  • packages/renderer - viewport and render mode logic
  • packages/llm - LLM session/provider integration
  • packages/session - terminal/process/runtime session management
  • packages/ui - reusable interface components
  • examples/build123d - test scripts and adapter examples

Principles

  • model first, render second
  • one source of geometric truth
  • multiple display modes from the same scene
  • user can steer with language, numbers, and code
  • terminal remains a first-class part of the workflow