Skip to content

Latest commit

 

History

History
82 lines (68 loc) · 2.71 KB

File metadata and controls

82 lines (68 loc) · 2.71 KB

ChiselCAD — Roadmap

v1 — Core CSG ✓

  • CMake + vcpkg build scaffold
  • Vulkan context, swapchain, ImGui integration
  • Lexer + recursive descent parser (core subset)
  • CSG tree evaluator (AST → CsgNode tree)
  • Primitive tessellator (cube, sphere, cylinder)
  • Manifold boolean evaluation (union, difference, intersection)
  • Async eval pipeline with std::stop_token cancellation
  • Preview render mode (color-coded primitives)
  • Result render mode (evaluated mesh, Blinn-Phong shading)
  • GPU mesh double-buffer swap
  • Arcball orbit camera
  • File watcher + VS Code external editor integration
  • Diagnostics panel with clickable jump-to-line
  • Binary STL export
  • Embedded ImGuiColorTextEdit editor
  • Mesh cache (LRU, hash-keyed by CSG subtree)

v2 — Language Expansion ✓

  • Full OpenSCAD language: for, if, let, variables, math functions
  • User-defined modules and function literals
  • 2D primitives: square, circle, polygon
  • Extrusion: linear_extrude, rotate_extrude
  • hull() and minkowski()

v2.5 — OpenSCAD Language Completeness

Tier A — High Impact (used constantly) ✓

  • List indexing v[i]
  • Ternary operator condition ? a : b
  • User-defined functions function f(x) = expr;
  • let expression let (x=10) child
  • undef literal
  • concat() built-in

Tier B — Math & String Completeness ✓

  • Inverse trig: asin(), acos(), atan(), atan2()
  • Vector math: norm(), cross(), sign()
  • rands(), lookup()
  • String literals + str(), chr(), ord()
  • len() on strings

Tier C — Module System Completeness ✓

  • children() / $children
  • echo()
  • assert()
  • Recursive functions (enabled by user-defined functions)

Tier D — Geometry Operations

  • multmatrix()
  • color()
  • offset()
  • projection()
  • render()

Tier E — File I/O (complex)

  • include <> / use <>
  • import()
  • surface()
  • text() (requires font rendering — significant work)

v3 — Tooling & Visual Quality

  • VS Code LSP extension (syntax highlighting, error squiggles, completions)
  • AI code assistant panel (Claude API integration)
  • SSAO in result render mode
  • Deferred shading pipeline
  • Additional export formats: OBJ, 3MF
  • UNDO/REDO via CSG tree snapshots

Future / Research

  • SDF raymarching preview mode (Vulkan compute)
  • Custom boolean backend using Embree + Shewchuk robust predicates
  • OpenVDB preview for ultra-complex models
  • GPU-accelerated tessellation (compute shaders)
  • macOS support (MoltenVK)
  • Animation / parametric scrubbing