Commit Graph

12 Commits

Author SHA1 Message Date
SoftFever
8cb2e4e01e 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-27 20:11:25 +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
SoftFever
af893267e6 fix wrong retraction value in some printer profiles 2025-02-07 20:20:30 +08:00
SoftFever
e624632969 semm 2023-09-09 13:19:59 +08:00
SoftFever
33ac24d35a Support Marlin 2 2023-08-30 23:39:00 +08:00
SoftFever
43087cc6a6 update locale and tweak some profiles 2023-08-14 20:15:57 +08:00
SoftFever
afdd753db7 tweak profiles 2023-08-03 00:47:48 +08:00
SoftFever
ef83e47612 Fix a regression: Generic filament profiles conflicts #981 2023-05-07 23:52:11 +08:00
SoftFever
8df5b79a6e update po files and bump version to 1.6.2 2023-04-26 22:34:36 +08:00
SoftFever
162f7d2ac3 optimized hot end model 2023-04-24 18:04:47 +08:00
SoftFever
e0ac508f6a OrcaArena printers 2023-04-24 18:04:46 +08:00