4.5.0
Release 4.5.0
Major Features
CAM Path Planning Refactor
- complete rewrite of CNC path routing engine for improved collision detection
- new "Area" operation combining roughing, outlining, and tracing capabilities
- enhanced ease-down functionality with better collision avoidance
- improved travel boundary calculations with hangover support between operations
- optimized path ordering using enhanced shadow calculations
- added depth-first pocket routing option
Taper Ball Tool Support
- full taper ball tool implementation for CNC operations
- accurate tool geometry rendering in indexed mode
- proper step-over calculations for tapered tools
- visualization improvements for taper ball tool paths
Camera System Enhancements
- on-the-fly switching between orthographic and perspective camera modes
- improved orthographic aspect ratio and zoom behavior
- preserve camera settings (zoom inversion, speed) when switching projections
- restore camera projection mode on workspace import
- fixed zoom-to-fit behavior in orthographic mode
- "Shift+F" hotkey for immediate zoom to workspace contents
- "F" hotkey for zoom to fit space
CAM Improvements
Area Operation
- new unified "Area" operation mode combining multiple operation types
- area clear with intelligent pocket detection
- area trace with inside/outside options
- area outline with wide cutout support
- surface operation with linear constraints and angle control
- track and re-apply minimum Z for area operations
- support for tabs in area operations
Roughing Enhancements
- new roughing flat passes option for better finishing
- omit outer pass when using clear stock option
- improved leave stock handling (XY and Z)
- fixed leave stock application to tool shadow travel boundaries
- optimize roughing by skipping when clear stock is set
Trace Improvements
- enable inside/outside trace for open polylines
- add trace through option for better outline/rough behavior
- fixed trace operation with offset none
- improved dogbone generation
- added wide cutout functionality for outlines
Contouring & Surfaces
- add grace factor for contouring tool step
- restore stock clip-to for contouring operations
- fixed CPU contour Z bottom enforcement
- expand outside contour by resolution pixel
- surface operation with linear output mode
- fixed surface slice visualization
Tabs
- merge overlapping tabs automatically
- tabs now respect travel boundaries
- ensure ease-down does not cut through tabs
- improved tab cutting with indexed rotations
- fixed tab re-creation after rotation
- fixed tab cuts with stock clip-to in roughing
- better tab offset calculations
Tool Shadow & Travel
- significant shadow computation speedup using grid-bucketed recursive union
- add leave stock to tool shadow travel boundaries
- improved travel boundary handling with no args
- add outside travel safeties to tool shadow
- fixed shadow for indexed parts
- fixed shadow coplanar with bottom Z
- handle deep travel between small polygons
Indexed/Rotary Operations
- add index angle to slices and pass to client
- add rotational interpolation for G-code parsing
- improved lathe preview with lerp and GPU rendering
- add lathe axis reset macro
- fixed stock bounds in indexed mode with fixed vs offset stock
- enable manifold indexed animation option
Drilling
- convert holes to instanced mesh for better performance
- improved hole selection and toggle functionality
- better circularity detection with dedup for high-density faces
G-code & Export
- tighter arc tolerances for more accurate output
- fixed arc output with rounded corners expert option
- add milling direction per operation
- improved arc parsing with rotational interpolation support
FDM Improvements
- add "solidify" feature to remove inner voids from models at slice time
- fixed support on-demand detection
- improved bridge detection and handling
Laser Improvements
- add stacking STL reconstruction option for multi-layer engraving
User Interface
Rendering & Visualization
- improved CAM render colors
- soften edge traces in light mode
- mute dark part outlines for better visibility
- improved path visualization for indexed operations
- fixed colors and layer-first shadow rendering
Settings & Configuration
- hide omit-through option for outline outside-only mode
- add input select post to allow device name updates
- improved mutex handling to prevent hiding options during legacy op import
- better handling of element configuration parameters
Workspace Management
- fixed safe moves between operations accounting for widget platform offset
- fixed multi-widget safe move between ops
- improved stock clipping for multiple models with offset centers
- fixed origin select with offset origin
- fixed first save behavior when moving between widgets
Performance Optimizations
- speed up shadow computation with grid-bucketed recursive union
- disable WASM for area offsets (use round joins for better CNC tool paths)
- improved polygon union operations
- optimized contour calculations
- better handling of empty slices to reduce processing
Bug Fixes
CAM Fixes
- fix Z bottom validation and error messages
- fix erroneous "Z bottom > Z top" error
- warn when Z bottom is below Z through
- fix trace tool shadow clone
- fix clamp min/max swap
- fix stock clear all functionality
- fixed pocket bottom for slab slicing
- fix recursive use of nested travel boundaries
- clamp single trace to Z top/bottom
- fix area trace early termination conflict with drape
- disable depth-first pocket with drape (incompatible)
- filter empty slices from drape artifacts
- fix offsetting open polys with array offsets
- skip raster when no paths produced
Rendering Fixes
- fix orthographic aspect ratio
- fix zoom behavior and minimum zoom distance
- fixed ball taper render in indexed mode
- improved tool geometry visualization
General Fixes
- fix new tool units bug
- prevent double registration of frame listener
- fix await/async in CAM prepare
- fix DEG2RAD typo in calculations
- fix slice bounds errors (convert to alerts)
- fixed bad reference to worker
- various NullPointerException fixes
Code Quality
- add comprehensive JSDoc documentation for geometry library (base, point, line, slope, bounds, paths)
- move healPolys into polygons util class and rename as "reconnect"
- add todo notes for future improvements
- code formatting and cleanup
Documentation
- add interface documentation for main Kiri:Moto UI
- add interface images and option descriptions
- add docs redirects
- update broken links
- grammar and formatting improvements
- update Docusaurus to 3.9
Build & Development
- use cross-env for reliable cross-platform environment variables
- change environment variable location for Windows build
- improve build workflow to skip when only docs changed
- fix formatting checks
- update raster-path package dependency
- bump version to 4.5.0
Onshape Integration
- hide install menu in Onshape context
- improved Onshape authentication handling
Bambu Lab Integration
- move Bambu initialization to load-done for better stability
Electron
- improved electron build process
Known Issues
- Some polygon union operations may require further optimization for very large models
- GPU contouring disabled for pocket operations pending further testing