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
This commit is contained in:
SoftFever
2026-06-27 20:11:25 +08:00
committed by GitHub
parent 3b58217b47
commit 8cb2e4e01e
7876 changed files with 8152 additions and 6541 deletions

View File

@@ -3,7 +3,7 @@
"name": "Elegoo ABS @System",
"inherits": "Elegoo ABS @base",
"from": "system",
"setting_id": "OEABSS00",
"setting_id": "UKRDINWkDngjN16F",
"instantiation": "true",
"renamed_from": "Elegoo ABS",
"fan_max_speed": [

View File

@@ -3,7 +3,7 @@
"name": "Elegoo ASA @System",
"inherits": "Elegoo ASA @base",
"from": "system",
"setting_id": "OEASAS00",
"setting_id": "mpSVVs77BAdKmtP6",
"instantiation": "true",
"pressure_advance": [
"0.04"

View File

@@ -3,7 +3,7 @@
"name": "Elegoo ASA-CF @System",
"inherits": "Elegoo ASA @base",
"from": "system",
"setting_id": "OEASACFS00",
"setting_id": "XT1aUl4pe9t0Ijwg",
"instantiation": "true",
"renamed_from": "Elegoo ASA-CF",
"pressure_advance": [

View File

@@ -3,7 +3,7 @@
"name": "Elegoo PAHT-CF @System",
"inherits": "Elegoo PAHT @base",
"from": "system",
"setting_id": "OEPAHTCFS00",
"setting_id": "S073oXCeOlTEqh6L",
"instantiation": "true",
"renamed_from": "Elegoo PAHT-CF",
"close_fan_the_first_x_layers": [

View File

@@ -3,7 +3,7 @@
"name": "Elegoo PC @System",
"inherits": "Elegoo PC @base",
"from": "system",
"setting_id": "OEPCS00",
"setting_id": "NlNHcKHlkiq8khIf",
"instantiation": "true",
"renamed_from": "Elegoo PC",
"pressure_advance": [

View File

@@ -3,7 +3,7 @@
"name": "Elegoo PC-FR @System",
"inherits": "Elegoo PC @base",
"from": "system",
"setting_id": "OEPCFRS00",
"setting_id": "JcopkaXZ7YyLjIcw",
"instantiation": "true",
"renamed_from": "Elegoo PC-FR",
"pressure_advance": [

View File

@@ -3,7 +3,7 @@
"name": "Elegoo PET-CF @System",
"inherits": "Elegoo PETG @base",
"from": "system",
"setting_id": "OEPETCFS00",
"setting_id": "oloKoC4Bs8dXatMU",
"instantiation": "true",
"renamed_from": "Elegoo PET-CF",
"pressure_advance": [

View File

@@ -3,7 +3,7 @@
"name": "Elegoo PETG @System",
"inherits": "Elegoo PETG @base",
"from": "system",
"setting_id": "OEPETGS00",
"setting_id": "4PLHMrDEDw4HLTve",
"instantiation": "true",
"renamed_from": "Elegoo PETG",
"pressure_advance": [

View File

@@ -3,7 +3,7 @@
"name": "Elegoo PETG HF @System",
"inherits": "Elegoo PETG @base",
"from": "system",
"setting_id": "OERPETGHFS00",
"setting_id": "d6gNuzrG00SXvMth",
"instantiation": "true",
"renamed_from": "Elegoo PETG HF",
"pressure_advance": [

View File

@@ -3,7 +3,7 @@
"name": "Elegoo PETG PRO @System",
"inherits": "Elegoo PETG @base",
"from": "system",
"setting_id": "OEPETGPROS00",
"setting_id": "fdfCAYQEoYa9DN6I",
"instantiation": "true",
"pressure_advance": [
"0.1"

View File

@@ -3,7 +3,7 @@
"name": "Elegoo PETG Translucent @System",
"inherits": "Elegoo PETG @base",
"from": "system",
"setting_id": "OEPETGTRANSS00",
"setting_id": "80Auuv3K7l8IptF3",
"instantiation": "true",
"renamed_from": "Elegoo PETG Translucent",
"pressure_advance": [

View File

@@ -3,7 +3,7 @@
"name": "Elegoo PETG-CF @System",
"inherits": "Elegoo PETG @base",
"from": "system",
"setting_id": "OEPETGCFS00",
"setting_id": "bXRJMaXxB3V49x7R",
"instantiation": "true",
"renamed_from": "Elegoo PETG-CF",
"pressure_advance": [

View File

@@ -3,7 +3,7 @@
"name": "Elegoo PETG-GF @System",
"inherits": "Elegoo PETG @base",
"from": "system",
"setting_id": "OEPETGFS00",
"setting_id": "9NXaejLGh1VFX8bg",
"instantiation": "true",
"renamed_from": "Elegoo PETG-GF",
"pressure_advance": [

View File

@@ -3,7 +3,7 @@
"name": "Elegoo PLA @System",
"inherits": "Elegoo PLA @base",
"from": "system",
"setting_id": "OEPLAS00",
"setting_id": "jiwZ5eoW1vHoJv9K",
"instantiation": "true",
"filament_max_volumetric_speed": [
"21"

View File

@@ -3,7 +3,7 @@
"name": "Elegoo PLA Basic @System",
"inherits": "Elegoo PLA @base",
"from": "system",
"setting_id": "OEPLABASICS00",
"setting_id": "qHDFHECwAInvpuk2",
"instantiation": "true",
"renamed_from": "Elegoo PLA Basic",
"nozzle_temperature": [

View File

@@ -3,7 +3,7 @@
"name": "Elegoo PLA Galaxy @System",
"inherits": "Elegoo PLA @base",
"from": "system",
"setting_id": "OEPLAGALAXYS00",
"setting_id": "WXEEksjWsTbRyCPh",
"instantiation": "true",
"renamed_from": "Elegoo PLA Galaxy",
"fan_min_speed": [

View File

@@ -3,7 +3,7 @@
"name": "Elegoo PLA Glow @System",
"inherits": "Elegoo PLA @base",
"from": "system",
"setting_id": "OEPLAGLOWS00",
"setting_id": "yFdF2YmEMeCHiPxl",
"instantiation": "true",
"renamed_from": "Elegoo PLA Glow",
"pressure_advance": [

View File

@@ -3,7 +3,7 @@
"name": "Elegoo PLA Marble @System",
"inherits": "Elegoo PLA @base",
"from": "system",
"setting_id": "OEPLAMARBLES00",
"setting_id": "kq7NS8IhIV4cBI1C",
"instantiation": "true",
"renamed_from": "Elegoo PLA Marble",
"fan_min_speed": [

View File

@@ -3,7 +3,7 @@
"name": "Elegoo PLA Matte @System",
"inherits": "Elegoo PLA @base",
"from": "system",
"setting_id": "OEPLAMS00",
"setting_id": "UykE255l5V0oS0Ca",
"instantiation": "true",
"fan_cooling_layer_time": [
"80"

View File

@@ -3,7 +3,7 @@
"name": "Elegoo PLA PRO @System",
"inherits": "Elegoo PLA @base",
"from": "system",
"setting_id": "OEPLAPROS00",
"setting_id": "62GiUVVZd8kx21vw",
"instantiation": "true",
"filament_max_volumetric_speed": [
"20"

View File

@@ -3,7 +3,7 @@
"name": "Elegoo PLA Silk @System",
"inherits": "Elegoo PLA @base",
"from": "system",
"setting_id": "OEPLASS00",
"setting_id": "VkXguNj79KADxuYn",
"instantiation": "true",
"fan_cooling_layer_time": [
"80"

View File

@@ -3,7 +3,7 @@
"name": "Elegoo PLA Sparkle @System",
"inherits": "Elegoo PLA @base",
"from": "system",
"setting_id": "OEPLASPARKLES00",
"setting_id": "VwZIFCojZLQLPrI1",
"instantiation": "true",
"renamed_from": "Elegoo PLA Sparkle",
"fan_min_speed": [

View File

@@ -3,7 +3,7 @@
"name": "Elegoo PLA Translucent2 @System",
"inherits": "Elegoo PLA @base",
"from": "system",
"setting_id": "OEPLATRA2S00",
"setting_id": "q0koYRlO9X8xLXPM",
"instantiation": "true",
"renamed_from": "Elegoo PLA Translucent2",
"pressure_advance": [

View File

@@ -3,7 +3,7 @@
"name": "Elegoo PLA Wood @System",
"inherits": "Elegoo PLA @base",
"from": "system",
"setting_id": "OEPLAWOODS00",
"setting_id": "pMgazYJG8tyTpAVE",
"instantiation": "true",
"renamed_from": "Elegoo PLA Wood",
"fan_min_speed": [

View File

@@ -3,7 +3,7 @@
"name": "Elegoo PLA+ @System",
"inherits": "Elegoo PLA @base",
"from": "system",
"setting_id": "OEPLAPLUSS00",
"setting_id": "q7NpDtaD9dTq1HIZ",
"instantiation": "true",
"filament_max_volumetric_speed": [
"20"

View File

@@ -3,7 +3,7 @@
"name": "Elegoo PLA-CF @System",
"inherits": "Elegoo PLA @base",
"from": "system",
"setting_id": "OEPLACFS00",
"setting_id": "cYxM93L2KZBnAuWu",
"instantiation": "true",
"fan_cooling_layer_time": [
"80"

View File

@@ -3,7 +3,7 @@
"name": "Elegoo Rapid PETG @System",
"inherits": "Elegoo PETG @base",
"from": "system",
"setting_id": "OERPETGS00",
"setting_id": "uUQSVOvP8tAaDqvB",
"instantiation": "true",
"pressure_advance": [
"0.052"

View File

@@ -3,7 +3,7 @@
"name": "Elegoo Rapid PLA+ @System",
"inherits": "Elegoo PLA @base",
"from": "system",
"setting_id": "OERPLAPLUSS00",
"setting_id": "HZ4nP67iAG7a243e",
"instantiation": "true",
"fan_cooling_layer_time": [
"80"

View File

@@ -3,7 +3,7 @@
"name": "Elegoo Rapid TPU 95A @System",
"inherits": "Elegoo TPU @base",
"from": "system",
"setting_id": "OERTPU95AS00",
"setting_id": "WXLuO112bsdM37MI",
"instantiation": "true",
"renamed_from": "Elegoo Rapid TPU 95A",
"pressure_advance": [

View File

@@ -3,7 +3,7 @@
"name": "Elegoo TPU 95A @System",
"inherits": "Elegoo TPU @base",
"from": "system",
"setting_id": "OETPU95AS00",
"setting_id": "SLcn59fIZPDl2brJ",
"instantiation": "true",
"renamed_from": "Elegoo TPU 95A",
"filament_max_volumetric_speed": [