- 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)
- 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()andminkowski()
- List indexing
v[i] - Ternary operator
condition ? a : b - User-defined functions
function f(x) = expr; -
letexpressionlet (x=10) child -
undefliteral -
concat()built-in
- Inverse trig:
asin(),acos(),atan(),atan2() - Vector math:
norm(),cross(),sign() -
rands(),lookup() - String literals +
str(),chr(),ord() -
len()on strings
-
children()/$children -
echo() -
assert() - Recursive functions (enabled by user-defined functions)
-
multmatrix() -
color() -
offset() -
projection() -
render()
-
include <>/use <> -
import() -
surface() -
text()(requires font rendering — significant work)
- 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
- 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