Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
b0eeefd
Fix height dithering for finalized Auto-paint stacks
vycdev Sep 27, 2026
496b0bc
chore: ignore local temporary files
vycdev Sep 28, 2026
1d43f96
Merge pull request #80 from vycdev/codex/fix-height-dithering
vycdev Sep 28, 2026
2dc843a
feat: associate Kromacut files with desktop app
vycdev Sep 30, 2026
ded112d
docs: add video guides and reorganize README
vycdev Sep 30, 2026
5105ab0
Merge pull request #84 from vycdev/codex/issue-81-readme
vycdev Sep 30, 2026
7b27a1a
fix: defer desktop imports during profile editing
vycdev Sep 30, 2026
0244e5a
fix: preserve overlapping manual and desktop imports
vycdev Sep 30, 2026
5ba24fb
docs: remove obsolete TD test-image README example
vycdev Sep 30, 2026
8783b4e
docs: add clickable YouTube previews to README
vycdev Sep 30, 2026
d652a7b
docs: reuse landing-page showcase images in README
vycdev Sep 30, 2026
4101150
docs: replace README app walkthroughs with feature overview
vycdev Sep 30, 2026
9942cd9
fix: preserve calibration and pending filament edits
vycdev Sep 30, 2026
e74df43
docs: keep community and support badges near README header
vycdev Sep 30, 2026
b6d694b
docs: use ASCII punctuation and separators in README
vycdev Sep 30, 2026
ee78fa0
docs: keep the README logo on the left
vycdev Sep 30, 2026
3c0af47
docs: use the supplied tutorial video thumbnail
vycdev Sep 30, 2026
afeb01a
docs: remove full-size image instruction
vycdev Sep 30, 2026
7026a31
docs: show finished prints in one showcase grid
vycdev Sep 30, 2026
910b334
Merge develop into desktop file associations
vycdev Sep 30, 2026
b222f0a
Merge pull request #83 from vycdev/codex/desktop-file-associations
vycdev Sep 30, 2026
b215afb
docs: arrange showcase in two columns and three rows
vycdev Sep 30, 2026
855424c
docs: remove experimental label from Flat Paint
vycdev Sep 30, 2026
730365b
docs: give the README a concise product-first layout
vycdev Sep 30, 2026
ecb62ba
docs: expand star history by default
vycdev Oct 1, 2026
ac77b2c
Merge develop into README follow-ups
vycdev Oct 1, 2026
cc577a7
Merge pull request #85 from vycdev/codex/readme-followups
vycdev Oct 1, 2026
a1de373
feat: add printable smooth meshing strength presets
vycdev Oct 1, 2026
cff7223
fix: stabilize aggressive smoothing on diagonal boundaries
vycdev Oct 1, 2026
406b19d
Merge pull request #86 from vycdev/codex/smooth-meshing-strength
vycdev Oct 1, 2026
ed2429e
feat: support smooth meshing with flat paint
vycdev Oct 1, 2026
d8c66db
Merge pull request #88 from vycdev/codex/smooth-flat-paint
vycdev Oct 1, 2026
8fd0e73
feat: add Settings legal links and fix desktop startup
vycdev Oct 1, 2026
c580460
fix: restore Flat Paint meshing and layer preview
vycdev Oct 1, 2026
0dd4783
chore: prepare v4.2.0 release
claude Oct 18, 2026
ff508c9
Merge pull request #90 from vycdev/claude/gracious-maxwell-co6wqh
vycdev Oct 18, 2026
e9c7a9d
fix: restore corrupted Flat Paint translations
claude Oct 18, 2026
ed6da31
Merge pull request #92 from vycdev/claude/gracious-maxwell-co6wqh
vycdev Oct 18, 2026
074a0d9
fix: restore landing artwork credit links
claude Oct 18, 2026
a65af39
test: expect the localized Naruto artwork credit
claude Oct 18, 2026
f875e11
Merge pull request #93 from vycdev/claude/gracious-maxwell-co6wqh
vycdev Oct 19, 2026
8c182e8
chore: date v4.2.0 release for 2026-10-19
claude Oct 19, 2026
1b15f32
Merge pull request #94 from vycdev/claude/gracious-maxwell-co6wqh
vycdev Oct 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
tests/assets/performance/**/*.3mf filter=lfs diff=lfs merge=lfs -text
src-tauri/linux/*.sh text eol=lf
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ dist
dist-ssr
playwright-report/
test-results/
tmp/
*.local

# Editor directories and files
Expand Down
27 changes: 27 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,33 @@ All notable changes to Kromacut are documented in this file.

## Unreleased

## v4.2.0 - 2026-10-19

### Upgrade notes

- **Saved smoothing settings carry over.** Smooth Meshing that was on becomes **Medium**, which builds the same geometry as before; Smooth Meshing that was off becomes **None**. Choose another strength and rebuild to change the result.
- **Rebuild Height dithering and Flat Paint models before printing.** Height dithering now produces neighboring-layer patterns when enabled, and Flat Paint resolves diagonal color contacts differently, so rebuilt previews and exports can differ from 4.1.0 results. Check the new model in your slicer.
- **Opening files from the desktop needs an installed app.** Desktop packages register `.kfil`, legacy `.kapp`, and `.kpal` files with Kromacut; portable Linux AppImages open them only after desktop integration. Existing profiles and palettes remain compatible.

### Added

- **Legal pages in Settings** - Privacy & local data and Terms & conditions are accessible from Settings in both the web and desktop apps. Links follow the selected language and open in a new browser tab or the desktop system browser, keeping the workspace open.
- **Smooth Meshing with Flat Paint** - All smoothing strengths now work with face-down and face-up Flat Paint. Shared color boundaries, carrier, and backing stay joined while the slab remains flat. Small shared joins resolve diagonal corner contacts without overlapping color regions. Boundary preparation and cap generation yield to keep dense images and long slabs responsive. Ordinary smooth meshing retains its previous geometry. Updated localized usage and export guides. Print instructions and 3MF metadata record the built strength; added topology, responsiveness, export, and workflow regressions.
- **Smooth Meshing strengths** - Choose None, Minimal, Medium, or Aggressive for preview and exported geometry. Medium preserves the previous enabled result; saved on/off settings migrate to Medium/None. Aggressive smooths remaining diagonal stair steps with a stable finishing pass inside the existing movement limit, while avoiding redundant boundary-map copies between passes. Print instructions and 3MF metadata record the built strength. Added topology and export regression coverage for every preset, strength-ordering checks across diagonal orientations, and a repeatable comparison benchmark.
- **Desktop file associations** - Desktop packages register `.kfil` and legacy `.kapp` filament profiles and `.kpal` palettes with Kromacut file icons. Opening a file launches Kromacut or delivers it to the existing window, imports through the normal validation/migration and calibration-preservation rules, and selects the resulting saved item, including existing content duplicates. External imports wait until an open palette editor, calibration dialog, profile Rename/Save New form, or filament-row edit is finished or cancelled, preserving drafts and the profile being edited. Name/HD inputs, color and TD-conversion popovers, and pending debounced color updates hold both profile and palette imports; committed changes then use the normal unsaved-edit confirmation. Overlapping manual and desktop imports merge with the latest saved list, preserving files imported while a manual read is pending. Late Palette Proof saves merge into the original profile's latest data without removing newer imports, and cannot recreate a deleted profile or attach old evidence after its filaments change. Multi-profile batches load the final saved version after duplicate handling and later updates. Profile opening protects unsaved filament edits, including newly applied calibration measurements, with a confirmation dialog; unreadable, invalid, oversized, or unpersistable imports report an error. Linux packages include MIME definitions, file-forwarding launchers, document icons, and cache refresh scripts; portable AppImages require desktop integration. Added native queue, import, packaging, and browser regression coverage, including overlapping manual/desktop imports, late proof saves after closing or changing their owner, batch selection, imports queued during editing, saving/cancelling profile forms, and retrying after a profile save failure.
- **README video guides** - Linked the Kromacut tutorial and project introduction in side-by-side video cards with thumbnail previews.

### Changed

- **README organization** - Reworked the README into a concise product overview with a two-column grid of six finished prints, shorter feature descriptions, and direct documentation and download links. Kept community badges in the header, removed the obsolete TD test-image example, and separated desktop downloads from development setup.

### Fixed

- **Flat Paint preview and layer inspection** - Unsmoothed color regions now share diagonal-contact repairs instead of expanding independently and overlapping on the flat artwork face. Precision-sensitive corner repairs now triangulate as smaller pieces with the same footprint, fixing aborted face-up builds that left only dark backing and no layer slider. Failed builds clear incomplete geometry and show an error. Layer Preview cuts through merged backing and color parts one physical layer at a time, including keyboard stepping and wireframe inspection, while exports retain the complete model. Explicit builds regenerate unchanged inputs and restore the full preview and camera instead of leaving a cached mesh or cut on screen. Build progress explicitly counts mesh parts; the Model badge shows physical print layers, including the clear carrier when present. Added shared-boundary, precision, layer-cut, export-preservation, and browser recovery regressions.
- **Desktop development startup on Windows** - Vite no longer watches native sources or Cargo build output, preventing intermittent `EBUSY` crashes when F5 starts the frontend while Rust executables are being linked. Dependency scanning starts from the app entry page instead of generated HTML. Tauri continues to watch native source changes.
- **Height dithering in 3D Auto-paint** - Restored fractional height targets before error diffusion, so enabling Height Dithering can produce neighboring-layer patterns in both preview and exports. Dithering stays local to the selected printable layer, preserves exact calibrated matches and protected boundaries, and leaves ordinary matching unchanged when disabled. Added regression coverage for fractional targets, calibration safeguards, effective line width, and rebuilt STL/3MF geometry.
- **Landing showcase artwork credits** - Original artwork credits such as NASA/JPL link to their sources again in every language; the translated credit used a tag name that rendered an empty link beside plain text. A translation check now rejects tags that cannot hold linked text; landing browser tests now cover every linked credit and the footer language selector before the sticky mobile launch button.

## v4.1.0 - 2026-09-26

### Upgrade notes
Expand Down
Loading
Loading