Conversation
…xports Signed-off-by: Brice Johnson <1939015+Bjohnson131@users.noreply.github.com>
…d delimiters Signed-off-by: Brice Johnson <1939015+Bjohnson131@users.noreply.github.com>
Signed-off-by: Brice Johnson <1939015+Bjohnson131@users.noreply.github.com>
Signed-off-by: Brice Johnson <1939015+Bjohnson131@users.noreply.github.com>
Add CSV import capability
Add auto-paint detail controls and optimizer tiers Replace the repeated-swaps toggle with an Off/2/4/6/8/12 selector and add a transition-detail selector (80/90/95% opacity) so stack height vs color resolution is an explicit trade-off. Expand the optimizer menu to five effort tiers (Fast/Balanced/Thorough/Deep/Exact base order) and score sequences against the already-processed palette with an added detail- coverage term. Polish the panel UI: a determinate progress bar, fixed-width label column so controls align, a quality/speed meter under the algorithm picker, and nesting the enhanced-matching sub-options under their gate toggle. @
Replace the repeated-swaps toggle with an Off/2/4/6/8/12 selector and add a transition-detail selector (80/90/95% opacity) so stack height vs color resolution is an explicit trade-off. Expand the optimizer menu to five effort tiers (Fast/Balanced/Thorough/Deep/Exact base order) and score sequences against the already-processed palette with an added detail- coverage term. Polish the panel UI: a determinate progress bar, fixed-width label column so controls align, a quality/speed meter under the algorithm picker, and nesting the enhanced-matching sub-options under their gate toggle.
…omacut into autopaint-improvements
- Storage loads now migrate palettes/profiles whose ids collide with ANY reserved built-in id (generic palette ids like p4/g8/auto included, not just sup_/tpl_ prefixes) and persist the re-assigned ids so they stay stable across reloads; covered by localStorage-level tests - Number of Colors input is disabled while a named palette is selected, resolving the min-2 clamp fighting one-color palettes - Docs link Bambu Lab's official hex chart in both supplier sections; settings-and-controls documents .kpal v2 fields and legacy behavior - Supplier test pins all 30 official name/hex pairs exactly - Eye toggle gains aria-pressed and per-row aria-labels - New focused Playwright spec for the supplier/clone/toggle flow (not executed here: Playwright browsers are unavailable in the sandbox image; runs via npm run test:e2e where browsers exist) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Issue #26 discussion (comment by vycdev) asked for specific wording: an unofficial reference palette, not affiliated with, endorsed by, or sponsored by the manufacturer, names used only to identify referenced products, plus a link to the referenced chart. Dropdown captions and both docs sections now follow that phrasing; the chart link was already added to the docs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Fixes #65
The two Fixed bullets refined behavior introduced in this same unreleased version, so per the changelog guidance they don't belong as Fixed entries. The palette-management e2e spec ran green in a real Chromium (Playwright v1.60.0 container): supplier group + disclaimer, clone with name inheritance, eye toggle to 29/30, reload persistence. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Fixes Star History
Feat/issue 26 suppliers palette and better management
…f-feedback # Conflicts: # src/hooks/useProfileManager.ts # src/lib/profileManager.ts
Add iterative palette proof calibration
vycdev2
left a comment
There was a problem hiding this comment.
Comprehensive review — changes requested
I reviewed all 165 changed files / 149 commits (+34,753 −4,660) across the optimizer and optical model, profile/evidence persistence, Palette Proof and Stack Matrix calibration, 2D editing, 3D meshing/export, Tauri integration, routing/docs, accessibility, dependencies, packaging, and tests.
Blocking/high-impact findings
- The checked-in deterministic auto-paint golden is stale, so the clean unit suite is red.
- The settings smoke test is stale after adding the multi-plate switch, so the clean E2E suite is red.
- A late Stack Matrix photo decode can repopulate state for a different matrix/profile and allow calibration data to be saved to the wrong owner.
Other actionable findings
- Golden fixtures use the global profile version instead of the TD/HD migration boundary.
- Imported closest-cell judgments accept unbounded duplicate IDs and materialize duplicate exact anchors.
- Image export races the new touch-up commit round trip.
- Schema-valid touching-cell reinforcement geometry feeds overlapping holes to triangulation and generates excess/overlapping faces.
- One internal documentation link has no target.
- The changelog overstates both the multi-plate implementation and the completeness of the dependency-security cleanup.
Verification
npm run lint: passed.npm run build: passed.- Clean-head focused export smoke: 1/1 passed (STL + 3MF).
- Clean-head auto-paint golden test: failed deterministically on the repeated B&W/logo case.
- After regenerating only the stale golden fixture: 453/453 Node tests passed.
- After changing only the stale modal-focus expectation as well: 11/11 smoke E2E tests passed. These modified-worktree results are not presented as clean-head passes.
npm audit --omit=dev: 0 findings; full audit: 4 high, fixable development/build findings.cargo metadata --locked: passed.cargo check --lockedreached native dependency compilation but could not complete because this host lacksglib-2.0 >= 2.70; that is an environment limitation, not a PR finding.git diff --check: passed; the review checkout remained clean at the exact PR head.
See the inline comments for reproductions and requested fixes.
This was generated by an AI agent (vycdev2). Please verify any changes before merging or applying.
Review complete: changes requestedI reviewed all 165 changed files and posted 10 inline findings. The main blockers are:
The remaining inline findings cover profile/evidence sanitation, touch-up export timing, Palette Proof geometry, fixture migration, docs, and release/dependency claims. Full review: #64 (review) This was generated by an AI agent (vycdev2). Please verify any changes before merging or applying. |
vycdev2
left a comment
There was a problem hiding this comment.
Follow-up adversarial pass on the unchanged PR head found six additional, independently validated issues: two P1 correctness/resource blockers (touch-up history coalescing and unbounded calibrated TDs), plus four P2 import/default/accessibility defects. I used focused browser and module-level probes for the executable cases and withheld speculative, unreachable, or duplicate candidates.
This was generated by an AI agent (vycdev2). Please verify any changes before merging or applying.
Summary
This PR promotes the full Kromacut v3.2.0 release train from
developtomain. It is a major release spanning physical filament calibration, appearance-aware Auto-paint, image preparation, 3D inspection, export reliability, the web experience, and desktop security updates.Highlights
Three complementary physical calibration workflows
Better Auto-paint and physical output
Image preparation and workflow
/, with the tool moved to/app.Reliability and compatibility
Release gallery
Open the complete v3.2.0 screenshot gallery
Image preparation and palettes
Auto-paint and 3D output
Calibration workflows
Showcase artwork uses public-domain images from Wikimedia Commons: Van Gogh self-portrait and Rainbow landscape. Calibration screens use Kromacut's repository test profile and genuine application states; no physical print results were simulated.
Compatibility notes
Validation
npm test— 453 tests passednpm run lintnpm run build— production build completed; Rollup reported only the existing large-chunk warningnpm run test:e2e— 10 passed, 1 failed: settings resource focus did not land on the Patreon link afterShift+Tab(tests/e2e/landing.spec.ts:142); the focused rerun failed the same wayRelease checklist
unreleasedwith the v3.2.0 release date inCHANGELOG.md/app, and documentation routes