(guide-compilers)= # Compilers OpenVCAD **compilers** translate prepared implicit **`Node`** trees into concrete outputs: voxel image stacks, slicer projects, and other machine-facing artifacts. They are exposed as **`pyvcad_compilers`**. This section compares the compilers shipped today and links to dedicated guides. Each compiler assumes you have already built a design with the attributes it consumes (see {ref}`guide-getting-started` and the [Functional Grading Guide](../gradients.md)). ## Compiler comparison | Compiler | Required attributes (root) | Primary output | Typical use | | -------- | --------------------------- | -------------- | ----------- | | [Material Inkjet](material-inkjet.md) | **`VOLUME_FRACTIONS`** | Stack of RGBA PNG slices (one per Z layer) | Multi-material **material jetting** workflows that consume per-layer voxel images (e.g. PolyJet-class systems and similar slice-based pipelines) | | [Color Inkjet](color-inkjet.md) | **`COLOR_RGBA`** | Stack of RGBA PNG slices (ICC / color pipeline → discrete CMYK + white + clear) | Full-color **PolyJet-class** inkjet builds from **sRGBA** designs | | [VAT Photo](vat-photo.md) | **`INTENSITY`** | Stack of 8-bit grayscale BMP slices (one per Z layer) | **Vat photopolymer** workflows that consume grayscale exposure masks (for example LCD / DLP / masked SLA image stacks) | | [Slicer Project](slicer-project.md) | (validated internally; see guide) | **`.3mf`** project for **PrusaSlicer** | **FFF / filament** slicing with spatially varying scalar fields → per-volume settings or G-code extrusion | | [Simulation Compiler](simulation-compiler.md) | **`VOLUME_FRACTIONS`** or selected direct scalar fields such as **`MODULUS`**, **`POISSONS_RATIO`**, and **`DENSITY`** | **`.xdmf` + `.h5`** or **`.inp`** | Finite-element mesh export for simulation workflows that need geometry plus cell-wise material/property data | ```{toctree} :maxdepth: 2 :caption: Compiler guides material-inkjet color-inkjet vat-photo slicer-project simulation-compiler ```