A correctness patch, driven almost entirely by one very thorough community report. Thanks to Guntram on the Discord, who ran the full procedure against OrcaSlicer 2.4.2 and documented every place our instructions did not match what is actually on screen — and to RThomasHyde for the Linux AppImage report.
Starting with this release, PerfectFit moves from its old custom non-commercial license (R3D-NC v1.0) to the GNU Affero General Public License v3 — the same license as OrcaSlicer, PrusaSlicer, and Slic3r.
For most people this is a loosening, not a restriction. The old license banned commercial use entirely; AGPL-3.0 permits it. You may now use, modify, sell, or host PerfectFit freely. The one obligation: if you distribute a modified version — or run one as a network service — you must make your source available under the same license.
The reason is compatibility. PerfectFit is built around the Orca-family slicers, and upcoming releases will integrate with them far more directly. AGPL section 7 forbids adding restrictions like "non-commercial" to a work that combines AGPL code, so the old license was a dead end for that roadmap.
Releases up to and including 1.3.0 remain available under their original terms.
⚠️ Printer database was corrupted for 374 of 379 printers — now fixed. Please refresh your saved printers. A bug in the spreadsheet parser meant every blank cell stole the next cell's value, and 250 printers ended up with a max nozzle temperature of 27 °C or 69 °C. Because the app clamps the suggested temperature range to that limit and rejects anything above it, the temperature calibration step was effectively unusable for two-thirds of the printer database.
Specs are copied into your printer profile when you add it, so fixing the database alone does not repair a printer you already saved. The app now offers to do it for you: open Printers and any affected profile shows a "↻ Updated specs available" callout. Reviewing it lists every change — Max nozzle temp: 27 °C → 300 °C — before anything is written, and refreshing keeps your printer name, notes, retraction range, and the profile itself, so projects using that printer stay linked.
Don't delete and re-add the printer. Re-adding creates a new profile, and any project that referenced the old one loses its printer limits, range suggestions, and safety caps. (Your projects and calibration results live separately and are never deleted with a printer — but the link isn't restored by re-adding.) If you hand-tuned specs for modified hardware, cancel the refresh and edit the fields directly instead.
The generator now rejects physically impossible values. validate:printers only checked that the JSON matched the workbook — which it faithfully did, which is why a 27 °C maximum nozzle temperature sailed through. Numeric specs are now range-checked when the database is generated, and anything implausible is stored as "not specified" and reported with its row number. It flagged 23 genuine data problems on first run, including a printer listed at 300 mm³/s of volumetric flow — all corrected in this release.
Slicer menu paths corrected in both directions. Orca and Bambu Studio name the same tests differently, and several paths had drifted onto the wrong slicer's wording. Orca is Calibration → Flow ratio, Calibration → Retraction, and Calibration → Max flowrate at the top level; Bambu Studio is Calibration → Flow rate → Coarse/Fine, Retraction test, and More... → Max flowrate. The Bambu pressure advance path pointed at a menu entry that does not exist and now distinguishes the manual Pressure advance test from the machine's automatic Flow Dynamics wizard.
Temperature values are handed over in the slicer's own field order — first layer, then other layers — matching how both slicers lay out the Nozzle line.
The "Resonance avoidance" dialog is explained. Orca disables the setting for every calibration test by design; only one stock profile in Orca's catalog ships it enabled, so a small number of users saw an unexplained dialog. Transfer or Discard makes no difference, and the app now says why.
Multi-filament printers get a warning about slot assignment. Orca's tests always target filament slot 1 and expose no extruder or slot picker anywhere, so the test can silently run with the wrong filament. This covers both toolchangers (Snapmaker U1, Prusa XL) and AMS/MMU machines (X1 Carbon, P1S, A1, MK4S) — an AMS bay and a separate toolhead are the same thing as far as the slicer is concerned. Both workarounds are spelled out.
New prerequisite: confirm the selected printer preset matches the nozzle actually installed — the tests scale the model and layer height to the preset's nozzle diameter, so the wrong variant invalidates the result silently.
Blank window on Linux/Wayland (AppImage) fixed — the app now disables WebKitGTK's DMABUF renderer, whose EGL initialisation fails on some Wayland setups.
Saved projects, printers, and backups all keep working — the only change to existing data is the opt-in spec refresh described above, which you review before it applies.
(1.3.1 was tagged but superseded before publication; 1.3.2 contains everything from it, so upgrading from 1.3.0 gets the lot.)
.exe)..dmg)..deb) plus portable AppImage (.AppImage).Printer_Database/Printer_Database.xlsx, regenerated with npm run generate:printers, and committed as src/data/printers.json. See “Updating the Printer Database” in the README.Existing saved printers and projects continue to work unchanged; the printer profile schema change is additive, and older backups migrate on import.
.exe)..dmg)..deb) plus portable AppImage (.AppImage).A community-driven release — everything in it started as feedback from confuzled on the community Discord. Full notes: docs/RELEASE_NOTES_1.2.0.md in the repository.
filament_shrink).Existing projects gain the two new steps as "not started" — progress and scores are preserved; both steps are skippable.
.exe)..dmg)..deb) plus portable AppImage (.AppImage).Patch release for the experimental Slicer Profile Installer. 1.1.4 fixed the
wizard so it recommends stock baselines — and thereby exposed the next bug:
profiles cloned from a stock preset were installed correctly but never
appeared in a signed-in Bambu Studio. Diagnosed by structurally comparing a
PerfectFit-installed preset against presets Bambu Studio 2.7.x itself writes
into the same account folder (H2S).
Diagnosed by surveying every preset Bambu Studio 2.7.x itself had written
into a real signed-in account folder (70+) against the invisible
PerfectFit-installed ones, and matching the invariants exactly:
type,instantiation, and include — keys no Bambu-written user preset has.include is the worst: it references template files that don't resolveinherits.filament_extruder_variant added. Every visible preset declares this["Direct Drive Standard","Direct Drive High Flow"]). Variant-awareversion stamped from the vendor manifest. Every visible presetsystem/BBL.json (zero-stripped:02.07.00.08 → 2.7.0.8) — a value no preset inside the libraryinherits. Clones kept the stock leaf's own inherits@base preset). Bambu saves user presets inheriting thefilament_id, always. The 1.1.3 fix only fired when the baseuser_id in the .info sidecar, stamped at install timeIf a PerfectFit - … preset you installed earlier never showed up, reinstall
this build and re-run 🧵 Create Slicer Profile; installing under the same
name replaces the invisible file.
Bambu filament presets index per-slot arrays by (tool × hotend variant). On
single-nozzle printers with interchangeable hotends (H2S, P1S, …) the two
slots are the Standard and High Flow hotends — not two nozzles. The
"Multi-tool profile" step (now "Per-tool / per-hotend values") explains both
meanings and labels the slots, so calibrated values land in the slot matching
the hotend you actually calibrated with. Pick slot 1 for the Standard hotend,
slot 2 for High Flow.
Everything from 1.1.4 stands: the startup-hang fix (stale service worker),
recursive stock-preset scanning, inherited-metadata resolution, and the
stock-only baseline recommendations.
Patch release for the experimental Slicer Profile Installer. 1.1.3 promised
that baseline suggestions would be stock profiles compatible with the selected
printer, but on real Bambu Studio installs the fix was starved of data and the
wizard still fell back to user presets (reported with a Bambu Lab H2S). 1.1.4
fixes the three underlying defects, verified against a real Bambu Studio 2.7.x
install with an H2S.
Updating (or uninstalling and reinstalling) could leave the app stuck on the
static loading screen. Cause: the PWA service worker was also registered
inside the Tauri desktop webview and cached index.html cache-first. After
an update it kept serving the previous version's HTML, which references a
hashed JS bundle that no longer exists — so the app never started. WebView2
profile data survives uninstall, which is why reinstalling didn't help.
Fixed in three layers: the desktop app no longer registers a service worker
(and unregisters any left behind by older versions); on Windows it removes
stale service-worker and HTTP-cache directories from the WebView2 profile at
startup, before the webview loads, which repairs installs already stuck; and
the service worker used by real web/PWA deployments is now network-first for
HTML so it can never pin an old shell again. Calibration data (IndexedDB /
localStorage) is not touched by any of this.
Three related defects, all diagnosed on a live install:
system/BBL/filament/{P1P, Polymaker, SUNLU}/ — 150 presets on the devBambu ABS @BBL H2S declare compatible_printers but inheritfilament_type/filament_vendor from abstract parents, so the scanner sawcompatible_printersWizard step 2 now shows a scan summary
(Scanned N preset(s): X stock · Y user · …) with an explicit warning when
zero stock presets arrive from the scan. If stock baselines are ever missing
again, the wizard says so instead of quietly suggesting user presets.
Bambu <material> @BBL <printer> (or Generic) baselines anddocs/RELEASE_NOTES_1.1.3.md.Everything else from 1.1.0/1.1.3 stands: slicer detection, clone-and-patch
generation, validation, export, backup/restore, and verified direct install
for Orca Slicer, Bambu Studio, Snapmaker Orca, ElegooSlicer, and Flash Studio
on Windows.
Changelog
1.1.4 - Unreleased
Small discoverability release prompted by #10: the 1.1.3 notes told users to "re-run Create Slicer Profile", but the feature went by three different names in the app and had no entry point on the dashboard, so it couldn't be found by that name.
Changed
The profile feature is now called "Create Slicer Profile" everywhere. The project-page button (previously "Create slicer profile"), the wizard page title (previously "Create and Install Filament Profile"), and the re-run button on the generated-profiles card (previously "Open profile wizard", now "Re-run Create Slicer Profile") all use the same name, matching the release notes and documentation.
Create Slicer Profile is now reachable from the dashboard. Project cards show a 🧵 Create Slicer Profile button as soon as the project has at least one calibrated value — no need to open the project first.
Clarified the 1.1.3 "Notes for existing users" in the changelog and release notes: the profile is regenerated in PerfectFit (project page → 🧵 Create Slicer Profile), not via Bambu Studio's "Create New" dialog, which does not know about PerfectFit calibration data.
1.1.3 - 2026-07-20
Patch release fixing two profile-installer bugs found while using the 1.1.0 build with Bambu Studio. See docs/RELEASE_NOTES_1.1.3.md.
Fixed
Installed Bambu profiles now appear in the slicer. In 1.1.0 a profile installed for a signed-in Bambu account was written correctly but never showed up in the filament list. Cause: when signed in, Bambu Studio dedupes filament presets by filament_id, so a clone that kept its parent's filament_id was hidden behind the cloud-synced parent it was cloned from. Confirmed directly in Bambu Studio 2.7.x — a copy with a fresh filament_id appears immediately; the colliding one never does. Fix: generated presets now get a fresh unique filament_id, and the .info base_id chains to the stock/system ancestor instead of a parent user preset's cloud id.
Baseline suggestions are now stock profiles compatible with the selected printer. In 1.1.0 the "select a base profile" step suggested the user's own custom presets (some flagged as incompatible with the printer). It now recommends only stock (system) profiles — brand-name or generic — for the calibrated material that are compatible with the selected printer. User and incompatible-printer presets remain available under Advanced selection.
Notes for existing users
Reinstall this build for the fixes to take effect (the fix applies to newly generated profiles).
A profile installed by 1.1.0 into a signed-in Bambu account is stuck in Bambu's cloud with the colliding id; editing local files won't unhide it. Remove it in Bambu Studio: select the preset, open it for editing (the edit/pencil icon opens the Filament settings dialog), and click the small 'X' (delete) icon in the upper-right of that edit dialog — this removes it from your cloud sync. Then regenerate the profile in PerfectFit (not Bambu Studio): open your calibration project from the PerfectFit dashboard and click 🧵 Create Slicer Profile on the project page, then follow the wizard through to install/export. Your calibration data is preserved in PerfectFit, so no re-calibration is needed.
1.1.0 - 2026-07-19
See docs/RELEASE_NOTES_1.1.0.md for the full release notes.
Added
Linux desktop release packaging via .deb and AppImage artifacts.
Experimental slicer profile generation and direct install workflows for supported Orca-family slicers.
Bambu Studio Developer mode guidance for manual calibration tests with Bambu printers selected.
Regression tests covering Bambu Developer mode instructions, coarse/fine Flow Rate wording, and VFA mention.
Changed
Release workflow now builds Windows, macOS, and Linux artifacts into draft GitHub releases.
README and research notes now document Bambu Developer mode availability for Retraction, Max Flow Rate, and VFA.
Known limitations
Linux packages are generated, but Linux native slicer detection/install behavior is not yet verified.
macOS native slicer detection/install behavior remains export-oriented pending real-machine verification.
PerfectFit 1.1.0 adds Linux desktop packages alongside the existing Windows and macOS release assets, and rolls up the slicer profile installer work, Bambu Studio Developer mode calibration guidance, documentation improvements, and project-health updates completed since 1.0.0.
.exe)..dmg)..deb) plus portable AppImage (.AppImage) for broad distro coverage..deb and AppImage artifacts.Pre-release
Welcome to the first public beta!
PerfectFit Filament Calibration Wizard is a guided calibration assistant designed to help you dial in new 3D printing filaments for Orca Slicer and Bambu Studio. Rather than searching through documentation or guessing the next step, the wizard walks you through each calibration in the recommended order, explains what to look for, and helps you achieve reliable print quality.
✅ Guided calibration workflow
✅ Supports Orca Slicer (default)
✅ Supports Bambu Studio
✅ Pressure Advance
✅ Flow Rate
✅ Retraction
✅ Maximum Volumetric Speed
✅ Coach Mode explanations
This is an early public beta release.
While the application has been tested, there may still be bugs or areas that can be improved. Your feedback will help make future releases better.
I'm particularly interested in hearing about:
Because this installer is not digitally code signed, Windows may display a SmartScreen warning stating that the publisher is unknown.
This is expected for independent software that has not been code signed. If you downloaded the installer directly from this GitHub release and trust the source, click:
More info → Run anyway
Future releases may be digitally signed if the project grows.
If you encounter a problem or have an idea for improvement, please open a GitHub Issue and include:
Thank you for helping test the project, and happy printing!
Full Changelog: https://github.com/tayloraaron078-tech/Filament_Calibration_Wizard/commits/v1.0.0
Full Changelog: https://github.com/tayloraaron078-tech/Filament_Calibration_Wizard/commits/v0.1.0
Looking for Linux or macOS testers!
If you're interested in helping test future Linux or macOS releases, please open an issue or get in touch.