Simulation Overview
The Simulation view replays all visible toolpaths against a GPU-rendered heightfield representation of the stock. As the simulation plays, the tool carves into the heightfield texture and the surface shading updates in real time.
Use the simulation to verify that pockets reach the correct depth, tabs are in the right positions, islands are preserved, and carving behavior matches expectations — before any material is cut on the machine.
Playback Controls
The simulation has playback controls at the bottom of the viewport:
- Play / Pause — starts or pauses the simulation playback.
- Reset — resets the simulation to the beginning (full stock, no material removed).
- Scrub — drag the progress bar to jump to any point in the toolpath sequence.
- Speed — adjust playback speed to step through slowly or fast-forward to the result.
- XYZ readout — live machine-relative coordinates (X, Y, Z) update at the cursor as the simulation plays. A colored dot next to the readout indicates the current move kind: red for cut (and lead-in / lead-out), pink for plunge, blue for rapid.
What to Check
Use the simulation to verify the following before exporting G-code:
- Pocket depth — does the pocket reach the correct Z Bottom?
- Tabs — are tabs present and at the correct height? Does the part remain connected to the stock?
- Islands — are any raised areas (add features inside subtract features) preserved correctly?
- Carving — does V-carve or engrave follow the expected paths and reach the correct depth?
- Clamp clearance — does the tool clear the clamps on rapid moves?
- Operation order — are operations executed in the correct sequence?
GPU-Accelerated Heightfield
The simulation renderer runs on the GPU. The cut state is stored as a heightfield texture and displaced in a vertex shader; per-pixel normals are computed in the fragment shader from finite differences. Profile-based stocks use a dynamic shader for the boundary walls that samples the same texture, so the walls track the cut state automatically without rebuilding geometry.
Playback updates only the dirty regions of the heightfield texture each frame instead of re-meshing the whole surface, so high-density grids stay interactive on modest hardware.
Detail Slider
The Detail slider in the playback bar controls the heightfield resolution from 240 to 1500 cells across the longest axis of the stock. Higher values resolve finer features (thin walls, narrow channels, V-carve detail) at the cost of more GPU work. A spinner overlay covers the viewport briefly while a new detail level rebuilds.
Performance Notes
Even at the highest detail setting, the heightfield resolution is finite. Very thin walls and sub-cell features may still alias. The 3D View and the G-code preview remain the authoritative references for fine detail.
Complex projects with many operations may take a moment to initialize the simulation. The simulation only includes operations that are currently visible (◉) in the CAM panel.
A modern WebGL2-capable GPU is required. The simulation falls back gracefully on devices
without floating-point texture support — see the heightfield rendering fixes that landed
for iPads and other mobile GPUs without OES_texture_float_linear.