Skip to content

4.5.0

Choose a tag to compare

@stewartoallen stewartoallen released this 20 Dec 02:22
· 181 commits to master since this release

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