You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fixed GIF frame counts, zero FPS handling, rotated frame dimensions, save error reporting, and image/heat-map crop
transforms.
Improved mask ownership and ROI behavior, layer-arithmetic bounds/masking, lithophane sizing, and PCB render reuse.
Gerber:
Audited the complete Gerber parser, apertures, macros, and drawing primitives.
Reworked command tokenization to support multiple commands per line and multiline extended commands without repeated
string concatenation.
Fixed signed and trailing-zero coordinates, modal D01/D02/D03 operations, relative positioning, duplicate
definitions, and combined G01/G02/G03 commands.
Added validated single- and multi-quadrant arc interpolation, optional I/J offsets, correctly stroked full circles,
and arc support inside regions.
Replaced the aperture regex parser with allocation-conscious validated parsing and fixed clipped rectangle flashes
near image boundaries.
Added ordered macro variable assignments, invariant-culture expression evaluation, malformed-input handling, outline
vertex validation, and rotation around the macro origin for every primitive.
Consolidated duplicated primitive expression logic and reduced temporary allocations throughout parsing and drawing.
Capture the coordinate sign so negative plots are placed correctly. by @The-Bootloader (#1133)
Auto-center the artwork, render it upright, and optionally by @The-Bootloader (#1133)
Reworked coordinate and tool parsing to handle declared formats, signed and decimal coordinates, zero suppression,
omitted axes, and malformed input without regex allocations or parser exceptions.
Added incremental coordinates, repeats, routed linear slots, G85 slots, M71/M72 units, and G90/G91 positioning.
Fixed FILE_FORMAT fractional precision, asymmetric pixel scaling, duplicate tools, stale parser state, and
invariant-culture serialization.
Added slot rendering and deterministic sizing validation.
GCode:
Audited the complete GCode builder, command, and layer-state implementations.
Reduced rebuild work by reusing movement lists, replacing quadratic remaining-time sums with a running total, and
avoiding thumbnail chunk allocations.
File formats:
Reduced GCode thumbnail and FlashForge SVGX path-building allocations with bounded stack-backed and sparse DotNext
buffer writers.
Made FlashForge SVG coordinate serialization culture-invariant.
Add GetRleBufferInitialCapacity helper to FileFormat for consistent RLE buffer sizing
Fix KlipperFile regex group count checks and float parsing with InvariantCulture
Fix ZCodexFile division-by-zero when LayerCount == 0
Layer compression:
Preserved sparse, incrementally growing compression streams for large matrices while reducing Zstandard
decompression overhead by decoding directly into the destination matrix.
Rejected truncated, oversized, and dimension-mismatched LZ4 and Zstandard decompressed data.
Mesh export:
Added shared stack-buffered, invariant UTF-8 record formatting across AMF, 3MF, OBJ, OFF, PLY, STL, and WRL exports.
Replaced repeated dictionary lookups with single-probe vertex-cache access in all indexed mesh exporters.
Combined binary PLY vertex/face records and STL triangles into one stream write per record without heap allocations.
Removed per-candidate string allocations from mesh extension lookup and made matching case-insensitive.
Fixed cropped rotation/flip exports, non-square pixel pitch after quarter-turn rotation, and layer Z placement.
Made cancellation, temporary writer, and voxel subtraction-matrix cleanup deterministic while preserving the
selected output extension.
Suggestions:
Audited every suggestion for validation, cancellation, progress ownership, malformed profile handling, and avoidable
work.
Fixed bottom-layer target caps, transition-layer zero-step handling and reporting, and exact/stable model corner
placement.
Corrected bottom/normal limits, clamping, proportional inputs, and light-off-delay handling for wait-before-cure and
wait-after-cure suggestions.
Removed repeated transition-layer scans, made random anchors allocation-free, and replaced whole-file XML regex
matching with secure streaming profile discovery.
Advanced image box:
Fixed zoom-level navigation skipping adjacent levels and failing with an empty level collection
Corrected centered zoom anchoring and tracker-image sizing when automatic tracker zoom is disabled
Made pointer panning and selection end reliably when the pointer is released outside the control
Rejected empty zoom regions and clipped selections safely to image bounds
Optimize FileStreamExtensions read/write methods using BinaryPrimitives and stack-allocated spans