Skip to content

Commit e43e16b

Browse files
authored
Merge pull request #16 from vycdev/develop
Docs cleanup, changelog, and README fixes
2 parents 5d1244c + ddb9351 commit e43e16b

4 files changed

Lines changed: 105 additions & 20 deletions

File tree

CHANGELOG.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# Changelog
2+
3+
All notable changes to Kromacut are documented in this file.
4+
5+
## [2.3.2] - 2026-03-13
6+
7+
### Added
8+
- **Native desktop app** — Tauri-based builds for macOS (Apple Silicon + Intel), Windows, and Linux
9+
- **Filament calibration wizard** — Measure accurate TD values from physical test prints with confidence scoring
10+
- **Advanced optimizer** — Simulated annealing and genetic algorithms for finding optimal filament ordering
11+
- **Region weighting** — Prioritize accuracy in center or edge regions during auto-paint optimization
12+
- **Auto-paint Web Worker** — Optimizer runs off the main thread with debounced dispatch and cancellation
13+
- **Update checker** — Desktop app checks `kromacut.com/version.json` for new versions
14+
- **Theme persistence** — Dark/light mode choice saved to localStorage
15+
- **Sticky Build 3D Model button** — Stays visible when scrolling through settings
16+
- GitHub Actions release workflow for automated multi-platform builds
17+
- GitHub Actions deploy workflow triggers on version tags
18+
19+
### Changed
20+
- `filamentCoverage` confidence metric now uses deltaE-based color matching instead of filament-count heuristic
21+
- Calibration quality metric uses actual filament calibration data instead of hardcoded value
22+
- Region weights integrated into optimizer scoring via `applyRegionWeightHeuristic`
23+
- CSP properly configured for Tauri (whitelists `kromacut.com` and Google Fonts)
24+
- Vite base path set to `/` for custom domain deployment
25+
- Docs (`TAURI.md`, `UPDATE_CHECKER.md`) moved to `docs/` folder
26+
- README updated for multi-platform support with correct release links
27+
28+
### Fixed
29+
- `package-lock.json` version synced to match `package.json`
30+
- Google Fonts blocked in Tauri production builds due to missing CSP directives
31+
- `useAutoPaintWorker` firing excessively due to unstable object references
32+
- Build 3D Model button had transparent gap at top of scroll container
33+
34+
## [2.2.0] - 2026-02-15
35+
36+
### Added
37+
- **Auto-paint mode** — Define filaments with color and Transmission Distance, automatic Beer-Lambert optical blending computes optimal layer stacks
38+
- **Enhanced color matching** — Optimizer evaluates filament orderings for best color reproduction
39+
- **Repeated filament swaps** — Allow filaments to appear multiple times in the stack for intermediate blended colors
40+
- **Height dithering** — Floyd-Steinberg error diffusion for smoother tonal transitions
41+
- **Filament profiles** — Save, load, import/export (`.kapp` files) auto-paint configurations
42+
- **Transition zones** — Automatic calculation of vertical zones where filament colors blend
43+
- **Processing overlay** — Unified progress indicator for quantization and dedithering
44+
- **Build warning dialog** — Warns before building 3D geometry when layer count or pixel count is high
45+
- **Resizable splitter** — Draggable two-pane layout with percentage-based sizing
46+
- Print settings persistence to localStorage
47+
- Auto-paint state persistence to localStorage
48+
49+
### Changed
50+
- Refactored hooks architecture — business logic extracted into custom hooks (`useSwatches`, `useQuantize`, `useThreeScene`, `useAppHandlers`, `useImageHistory`, `useFilaments`, `useProfileManager`, `useColorSlicing`, `useSwapPlan`, `useProcessingState`, `useBuildWarning`)
51+
- Greedy meshing algorithm made async with periodic yielding for UI responsiveness
52+
- 3MF export enriched with layer height, first layer height, and filament colors
53+
54+
## [2.0.0] - 2025-12-01
55+
56+
### Added
57+
- **3MF export** — Multi-material export with per-color objects and slicer metadata
58+
- **Layer-by-layer preview slider** — Interactive height slider to visualize print buildup
59+
- Greedy meshing with separate wall generation to prevent T-junctions
60+
- Slicer first layer height setting
61+
- Model dimension display in 3D view
62+
63+
### Changed
64+
- Complete 3D engine rewrite with BufferGeometry per-face triangles
65+
- Wall generation based on pixel occupancy to reduce banding
66+
- Texture uses `NearestFilter` with disabled mipmaps for crisp pixel mapping
67+
68+
### Fixed
69+
- Non-manifold edge prevention
70+
- Color swap instruction accuracy
71+
- Inverted normals in mesh generation
72+
73+
## [1.0.0] - 2025-10-01
74+
75+
### Added
76+
- Image upload with drag-and-drop support
77+
- Color quantization (posterize, median-cut, K-means, octree, Wu algorithms)
78+
- Dedithering (median-filter smoothing pass)
79+
- Inline color pickers for palette tweaking
80+
- Per-color slice heights with drag-and-drop reordering
81+
- Live 2D canvas preview and 3D stacked preview (Three.js)
82+
- Binary STL export
83+
- Plain-text print instructions with copy-to-clipboard
84+
- Image adjustments (exposure, contrast, saturation, etc.)
85+
- Undo/redo history for image operations
86+
- Dark/light theme toggle
87+
- Predefined color palettes

README.md

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -266,17 +266,16 @@ Preview of the included TD test image:
266266

267267
<img src="src/assets/tdTest.png" alt="TD Test Image" width="600" />
268268

269-
## Native Mac App (Tauri)
269+
## Native Desktop App (Tauri)
270270

271-
Kromacut can be built as a **native macOS application** using [Tauri](https://tauri.app/), offering better performance than the web version:
271+
Kromacut can be built as a **native desktop application** for macOS, Windows, and Linux using [Tauri](https://tauri.app/), offering better performance than the web version:
272272

273-
- **Better performance:** Uses native macOS WebKit for faster rendering
273+
- **Better performance:** Native webview for faster rendering
274274
- **Smaller size:** compact native bundle with low runtime overhead
275275
- **Lower memory usage:** More efficient resource utilization
276-
- **Native integration:** Better macOS feel and GPU acceleration for Three.js
277276
- **Automatic updates:** Built-in update checker notifies you of new versions
278277

279-
The desktop app includes an automatic update checker. See [UPDATE_CHECKER.md](UPDATE_CHECKER.md) for details.
278+
The desktop app includes an automatic update checker. See [UPDATE_CHECKER.md](docs/UPDATE_CHECKER.md) for details.
280279

281280
### Building
282281

@@ -301,26 +300,25 @@ The production build creates:
301300

302301
### Releases
303302

304-
Pre-built native Mac apps are automatically released on GitHub:
303+
Pre-built native apps are automatically released on GitHub:
305304

306-
1. Download the latest release from the [Releases page](https://github.com/zeroCoder1/Kromacut/releases)
307-
2. Choose the DMG for your Mac:
308-
- **Apple Silicon (M1/M2/M3)**: `*_aarch64.dmg`
309-
- **Intel**: `*_x86_64.dmg`
310-
3. Open the DMG and drag Kromacut to Applications
311-
4. Remove quarantine attribute:
312-
```bash
313-
sudo xattr -d com.apple.quarantine /Applications/Kromacut.app
314-
```
315-
5. Launch the app
305+
1. Download the latest release from the [Releases page](https://github.com/vycdev/Kromacut/releases)
306+
2. Choose the right file for your platform:
307+
- **macOS Apple Silicon (M1/M2/M3)**: `*_aarch64.dmg`
308+
- **macOS Intel**: `*_x86_64.dmg`
309+
- **Windows**: `*.msi`
310+
- **Linux**: `*.AppImage` or `*.deb`
311+
3. Install and launch
316312

317-
**"Kromacut is damaged" error?** The app isn't code-signed. Run `sudo xattr -d com.apple.quarantine /Applications/Kromacut.app` in Terminal to fix it.
313+
**macOS "Kromacut is damaged" error?** The app isn't code-signed. Run `sudo xattr -d com.apple.quarantine /Applications/Kromacut.app` in Terminal to fix it.
318314

319-
> **Note:** To eliminate the quarantine requirement entirely, the app would need to be signed with an Apple Developer ID certificate and notarized through Apple's notarization service. This requires an [Apple Developer Program membership](https://developer.apple.com/programs/) ($99/year). The current ad-hoc signing is suitable for personal use and small-scale distribution. See [TAURI.md](TAURI.md#code-signing--notarization-future-enhancement) for details.
315+
**Windows SmartScreen warning?** The app isn't signed. Click "More info" → "Run anyway".
320316

321-
To create a new release, see [TAURI.md](TAURI.md#automated-releases-github).
317+
> **Note:** To eliminate the macOS quarantine requirement entirely, the app would need to be signed with an Apple Developer ID certificate and notarized through Apple's notarization service. This requires an [Apple Developer Program membership](https://developer.apple.com/programs/) ($99/year). See [TAURI.md](docs/TAURI.md#code-signing--notarization-future-enhancement) for details.
322318
323-
See [TAURI.md](TAURI.md) for complete documentation on development, building, and distribution.
319+
To create a new release, see [TAURI.md](docs/TAURI.md#automated-releases-github).
320+
321+
See [TAURI.md](docs/TAURI.md) for complete documentation on development, building, and distribution.
324322

325323
## Star History
326324

File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)