Commit Graph

23 Commits

Author SHA1 Message Date
SoftFever
feeea3e651 fix: treat renamed printer presets as compatible aliases (#14504)
# Description

Fixes user filament presets that reference an old printer preset name in
`compatible_printers`, even when the current system printer preset
correctly declares that old name in `renamed_from`.

## Core Issue

`PresetCollection::find_preset()` was updated to resolve `renamed_from`,
but this specific failure does not go through `find_preset()`.

For root user filament presets with empty `inherits`, Orca infers
`compatible_printers` from the filament name suffix after `@`. For
example:

```json
"ELEGOO PLA Base @Elegoo Neptune 4 Pro (0.4 nozzle)"
```

loads with:

```json
"compatible_printers": ["Elegoo Neptune 4 Pro (0.4 nozzle)"]
```

The current system printer preset is named:

```text
Elegoo Neptune 4 Pro 0.4 nozzle
```

and has:

```json
"renamed_from": "Elegoo Neptune 4 Pro (0.4 nozzle)"
```

However, filament compatibility was doing a direct string comparison
against the active printer name. Since that compatibility path does not
call `find_preset()`, the `renamed_from` mapping was never considered.

## Fix

Teach printer compatibility checks to treat
`active_printer.preset.renamed_from` entries as aliases of the active
printer name.

This preserves existing user preset JSON and avoids rewriting
`compatible_printers`, while allowing old printer suffixes to remain
compatible with renamed system printer presets.

## Tests

<!--
> A guide for users on how to download the artifacts from this PR.
-->

[How to Download Pull Requests Artifacts for
Testing](https://www.orcaslicer.com/wiki/how_to_download_pr_artifacts)
2026-07-06 12:27:46 +08:00
SoftFever
6d7eeb89dc profiles: deterministic setting_id from vendor/type/name (#14432)
* profiles: enforce globally-unique, per-vendor-namespaced setting_id

Many non-Bambu vendors copied Bambu's generic setting_ids (GFSA04 alone
appeared in 1557 files), so setting_id was not globally unique. This
namespaces every vendor's ids and reserves Bambu/OrcaFilamentLibrary space.

- Reserve "G*" (Bambu) and "O*" (OrcaFilamentLibrary) id spaces.
- Assign each other vendor a 2-char prefix (first+last letter, collision
  resolved) and renumber every instantiated preset to <PREFIX><NNNN>.
- Strip setting_id from base profiles (instantiation:false) per Bambu's
  convention; assign one to instantiated presets that lacked it.
- Remove the pre-existing misspelled "settings_id" key (91 files).
- filament_id is left untouched (it is a per-material id).
- Add one-time migration script scripts/assign_vendor_setting_ids.py with a
  persisted registry resources/profiles/vendor_prefixes.json. Re-runs freeze
  existing ids; only new vendors/profiles get new ids.
- Bump version in each changed vendor index file.
- Extend scripts/orca_extra_profile_check.py with a CI guard: global
  uniqueness, in-namespace, no base setting_id, no gaps, no settings_id typo.

7425 profile files changed across 61 vendors; 0 cross-vendor collisions;
validator clean; migration idempotent. BBL and OrcaFilamentLibrary id spaces
untouched.

* profiles: add setting_id authoring guide for new vendors / profiles

* profiles: drop in-repo README; setting_id guide now lives in the wiki

* profiles: derive setting_id deterministically from vendor/type/name

* bump profile version
2026-06-28 01:42:16 +08:00
Ian Bassi
16727644bb Reduce size by Json Fromatting (#13163)
Reduce the size of current and new JSONs by standardising them with 1 tab indentation instead of 4 spaces.
This effectively reduces the size by almost 20 MB.

| Current | New |
|---|---|
| 85.2 Mib | 67 Mib |

Used [JQ](https://jqlang.org/) `--tab` to automatically format every current JSON.

> [!NOTE]
> Some profiles had the arrays on the same line, but those created by Orca were in the standard format (each object below the previous one). In some cases, this increases the number of tabs due to the new lines, but the increase is negligible, and this way both the base profiles and those created by Orca maintain the same style.
2026-04-15 22:58:12 +08:00
SoftFever
4f50fdc94e Fixed many profile issues and cleaned up some messes. (#10686) 2025-09-11 17:50:53 +08:00
HYzd766
510f0c3242 [Profile] Add Qidi Q2 (#10539)
* New Machine

This update introduces new consumables and a new model, Q2

* Delete HATCHBOX PLA @Qidi - 副本.json
2025-08-30 12:54:49 +08:00
HYzd766
c217b53285 Qidi profile udpates: new filaments etc... (#8121) 2025-01-31 16:41:33 +08:00
HYzd766
a7924a662e Qidi.json (#6841)
* Qidi.json

* Merge branch 'main' into p1
2024-09-20 21:55:57 +08:00
HYzd766
63dcf82f15 Bug Repaired (#5801)
* Qidi.Json

* Qidi.json

* Qidi.json

* Qidi.json

* Qidi.json

* Qidi.json
2024-06-25 00:58:46 +08:00
HYzd766
8ae358e9bc Update QIDI profiles (#5017)
* Qidi.Json

* Qidi.json

* Qidi.json
2024-04-15 22:20:11 +08:00
Hukete
6d0369f5d7 Update QIDI profiles (#4549)
1)add Q1 Pro profiles
2024-03-18 23:07:40 +08:00
SoftFever
22d3c713fb Fixed an issue that Qidi ABS-GF10 is visible for all vendors 2023-12-21 17:46:25 +08:00
Hukete
bea9b54689 Update profiles for Qidi printers (#2629)
* 10-25

Add TPU-95A HF

* 1030

Adding Introduction of Chamber Temperature Control Macros(M191) to Notes

* 1102

Add ABS-GF10 profile,
Remove a extra "s" from the "0.36mm Standard @Qidi XPlus3 0.6 nozzle.json" file

* 1106

Add the PA value to some genetic filament profiles

* Update fdm_process_qidi_x3_common.json

The macro code cant add to the bottom of the printer.cfg
2023-11-06 21:57:24 +08:00
Hukete
95dc4b7c6d Update Chamber Temperature Control (#2542)
* 10-25

Add TPU-95A HF

* 1030

Adding Introduction of Chamber Temperature Control Macros(M191) to Notes
2023-10-30 19:56:56 +08:00
Hukete
fdb73b2e2a Qidi: profiles updates (#2506)
Add TPU-95A HF
2023-10-25 17:11:24 +08:00
Hukete
f2fdd03ba0 QIDI Profiles Change (#2054)
* QIDI Profiles Change

* fix syntax errors

---------

Co-authored-by: SoftFever <103989404+SoftFever@users.noreply.github.com>
2023-09-10 14:11:28 +08:00
SoftFever
e6fcbfae07 fix 2023-08-26 20:55:44 +08:00
SoftFever
6e1bdaf9d4 some misc changes (#1848)
* some misc changes
* stealth_mode: disable hms
* fix bbl camera  #1091 #1830
* fix anker
2023-08-20 20:02:54 +08:00
fr3ak2402
774c0bc1ad Adds printer profile for Qidi X-Plus printer (#915)
* Adding the Qidi X-Plus

Qidi X-Plus profile
Qidi X-Plus image

* Revision of the pressure plate model

Qidi X-Plus
2023-05-02 22:18:38 +08:00
fr3ak2402
e266b32b05 Add and revise Qidi printer
Add Qidi X-Max
Add Qidi X-CF Pro

Revise Start & End Code from X-Smart3, X-Plus3, X-Max3
2023-04-30 09:27:35 +02:00
fr3ak2402
7bcb6c8f76 Revised Qidi Filaments
Removal of standard filament color from all Qidi filaments
2023-04-28 12:08:02 +02:00
fr3ak2402
41569db0ac Adding the Qidi Printer Profiles
Revised Qidi Filament Profile
Adding a printing plate model
Revision of the printing plates texture
Revision of the Qidi printer family
2023-04-28 01:08:15 +02:00
SoftFever
e87a447479 Revert "Merge pull request #868 from fr3ak2402/main"
This reverts commit 3ee801be50, reversing
changes made to bbbed5e8c3.
2023-04-27 23:11:47 +08:00
fr3ak2402
11e7498b82 Change Qidi printer profiles
Recording the profile from the X-Plus3.
Adjusting the names so that all names begin with Qidi.
Adding the Build Plates .
2023-04-25 19:41:51 +02:00