REFERENCE / 03
Forms and Structure
This is top-level authoring grammar. If source feels mysterious, start here.
model
(model
...)- root form for one design
- source must start with
(model ...) - accepts the direct clauses listed in
Complete Compiler Surface:params,
verify, part, feature, topology tags, view, and analysis
- reusable helper
defines anddefine-componentdeclarations belong before
(model ...); derived values depending on model params belong in let*
part
(part body expr)
(part body "Human Label" expr)- positional 1: part id symbol
- positional 2: optional display label text
- final positional: expression producing geometry
feature
Two forms exist:
(feature body :role shell expr)
(feature body :role shell :params (width height) expr)- positional 1: feature id symbol
- required keyword:
:role - optional keyword:
:params - final positional: expression producing geometry
Use feature when geometry needs explicit semantic identity, role, and parameter-key tracking.
build
(build
(shape outer expr)
(shape cavity expr)
(result expr))- local binding block
- accepts
shapebindings plus oneresult resultmust come once- do not place new
shapebindings afterresult
shape
(shape ribs expr)shape is not geometry op. It is bind statement inside build.
- positional 1: local binding name
- positional 2: expression producing value
Read it as:
- bind intermediate value
- give later code a name
- keep boolean stacks readable
result
(result expr)- final value returned by
build
assembly (planned)
Reserved shape sketch:
(model
(assembly exploded_preview
...))- planned top-level clause for explicit multi-part assembly recipes
- spelling reserved in book now; runtime/compiler support deferred
- spec'd grammar reserved now; implementation deferred until views prove the display/manufacturing split
- intended to formalize what component packages already do at the package layer
- assemblies stay placement-based as today; no mate/joint solver implied
- examples here mark intent only, not accepted source today
- until implementation lands, keep physical bodies as
parts, useviewfor preview-only offsets, and use component packages for solved assembly workflows
export (planned)
Reserved shape sketch:
(model
(export manufacturing
...))- planned top-level clause for authored export/manufacturing policy
- spelling reserved in book now; runtime/compiler support deferred
- reserved until views prove the display/manufacturing split
- preview transforms never affect STL or STEP artifacts
- examples here mark intent only, not accepted source today
- until implementation lands, use current export commands, artifact manifests, and package output modes outside
.eckysource