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": "Geeetech A10 M 0.4 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_025",
"setting_id": "aopa7gY8D0nHvg4f",
"instantiation": "true",
"printer_model": "Geeetech A10 M",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech A10 Pro 0.2 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_021",
"setting_id": "KAcVvCaNu9EE30pd",
"instantiation": "true",
"printer_model": "Geeetech A10 Pro",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech A10 Pro 0.4 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_022",
"setting_id": "OJpmV0kGTagK2i5S",
"instantiation": "true",
"printer_model": "Geeetech A10 Pro",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech A10 Pro 0.6 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_023",
"setting_id": "Q8A2JYBIymZoJWtl",
"instantiation": "true",
"printer_model": "Geeetech A10 Pro",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech A10 Pro 0.8 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_024",
"setting_id": "JKfflzox9NHHB7VB",
"instantiation": "true",
"printer_model": "Geeetech A10 Pro",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech A10 T 0.4 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_026",
"setting_id": "C7Y10mVPt2IFO7t1",
"instantiation": "true",
"printer_model": "Geeetech A10 T",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech A20 0.2 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_027",
"setting_id": "XxAQSo972Y0l1iUg",
"instantiation": "true",
"printer_model": "Geeetech A20",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech A20 0.4 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_028",
"setting_id": "hd9whGPNVBk7NYWX",
"instantiation": "true",
"printer_model": "Geeetech A20",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech A20 0.6 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_029",
"setting_id": "sATayUQZW3PjFWZR",
"instantiation": "true",
"printer_model": "Geeetech A20",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech A20 0.8 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_030",
"setting_id": "8jPP9GGGoyRq5XWv",
"instantiation": "true",
"printer_model": "Geeetech A20",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech A20 M 0.4 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_031",
"setting_id": "bMMEwH5HswPZ38d1",
"instantiation": "true",
"printer_model": "Geeetech A20 M",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech A20 T 0.4 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_032",
"setting_id": "1iUHXnnCVClqr16y",
"instantiation": "true",
"printer_model": "Geeetech A20 T",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech A30 M 0.4 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_037",
"setting_id": "14hZSmKYFjsnzB4h",
"instantiation": "true",
"printer_model": "Geeetech A30 M",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech A30 Pro 0.2 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_033",
"setting_id": "xgv0XAgNsGRNgoF1",
"instantiation": "true",
"printer_model": "Geeetech A30 Pro",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech A30 Pro 0.4 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_034",
"setting_id": "dlV49278pWNWopID",
"instantiation": "true",
"printer_model": "Geeetech A30 Pro",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech A30 Pro 0.6 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_035",
"setting_id": "Vgv7HnLw7FvoYvWM",
"instantiation": "true",
"printer_model": "Geeetech A30 Pro",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech A30 Pro 0.8 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_036",
"setting_id": "WPoGX3b9AuqqtNYU",
"instantiation": "true",
"printer_model": "Geeetech A30 Pro",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech A30 T 0.4 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_038",
"setting_id": "wZylOEjg5oFnqdRk",
"instantiation": "true",
"printer_model": "Geeetech A30 T",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech M1 0.2 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_039",
"setting_id": "OV91mFVhJUjbtAnA",
"instantiation": "true",
"printer_model": "Geeetech M1",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech M1 0.4 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_040",
"setting_id": "DUmpynR40xf0g480",
"instantiation": "true",
"printer_model": "Geeetech M1",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech M1 0.6 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_041",
"setting_id": "IBQJHDOZJemko6a0",
"instantiation": "true",
"printer_model": "Geeetech M1",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech M1 0.8 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_042",
"setting_id": "X32Nb2ZYiOOXsSXM",
"instantiation": "true",
"printer_model": "Geeetech M1",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech Mizar 0.2 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_005",
"setting_id": "OjTjIa678KTvfAmw",
"instantiation": "true",
"printer_model": "Geeetech Mizar",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech Mizar 0.4 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_006",
"setting_id": "KgTtTFCWYRNgxr4s",
"instantiation": "true",
"printer_model": "Geeetech Mizar",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech Mizar 0.6 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_007",
"setting_id": "Boy40sguZELCcSYU",
"instantiation": "true",
"printer_model": "Geeetech Mizar",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech Mizar 0.8 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_008",
"setting_id": "kpqCTvVvrWSszRor",
"instantiation": "true",
"printer_model": "Geeetech Mizar",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech Mizar M 0.4 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_021",
"setting_id": "PqM7ZlroG6etKd2R",
"instantiation": "true",
"printer_model": "Geeetech Mizar M",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech Mizar Max 0.2 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_017",
"setting_id": "1h9CYaulDN5YSWpN",
"instantiation": "true",
"printer_model": "Geeetech Mizar Max",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech Mizar Max 0.4 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_018",
"setting_id": "rs2JjIm6FIeGOpSH",
"instantiation": "true",
"printer_model": "Geeetech Mizar Max",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech Mizar Max 0.6 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_019",
"setting_id": "iVRcrHHKbV7k8UHq",
"instantiation": "true",
"printer_model": "Geeetech Mizar Max",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech Mizar Max 0.8 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_020",
"setting_id": "cGWLPgJ0HuM2Y2Ci",
"instantiation": "true",
"printer_model": "Geeetech Mizar Max",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech Mizar Pro 0.2 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_013",
"setting_id": "QTZasD2D7lzljVZo",
"instantiation": "true",
"printer_model": "Geeetech Mizar Pro",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech Mizar Pro 0.4 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_014",
"setting_id": "9ZUwovRc1geEqeN3",
"instantiation": "true",
"printer_model": "Geeetech Mizar Pro",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech Mizar Pro 0.6 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_015",
"setting_id": "mK8o5qrnAzMJ0SDZ",
"instantiation": "true",
"printer_model": "Geeetech Mizar Pro",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech Mizar Pro 0.8 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_016",
"setting_id": "i2clRQbN6FcPUuEd",
"instantiation": "true",
"printer_model": "Geeetech Mizar Pro",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech Mizar S 0.2 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_009",
"setting_id": "JWBcfgeMBVzXHm5I",
"instantiation": "true",
"printer_model": "Geeetech Mizar S",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech Mizar S 0.4 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_010",
"setting_id": "Xf47NtjAuBqgXCxI",
"instantiation": "true",
"printer_model": "Geeetech Mizar S",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech Mizar S 0.6 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_011",
"setting_id": "8Nv5A5sELADxSoH5",
"instantiation": "true",
"printer_model": "Geeetech Mizar S",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech Mizar S 0.8 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_012",
"setting_id": "zGPSdq8x3D5DQqhB",
"instantiation": "true",
"printer_model": "Geeetech Mizar S",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech Thunder 0.2 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_002",
"setting_id": "x7MXIqTu4NRlelRb",
"instantiation": "true",
"printer_model": "Geeetech Thunder",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech Thunder 0.4 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_001",
"setting_id": "hOK6V2JjHn2UVFtd",
"instantiation": "true",
"printer_model": "Geeetech Thunder",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech Thunder 0.6 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_003",
"setting_id": "0uHAQNJW9kimsunJ",
"instantiation": "true",
"printer_model": "Geeetech Thunder",
"default_filament_profile": [

View File

@@ -3,7 +3,7 @@
"name": "Geeetech Thunder 0.8 nozzle",
"inherits": "fdm_geeetech_common",
"from": "system",
"setting_id": "GM_GEEETECH_004",
"setting_id": "byTGr8PXRrz0Yl22",
"instantiation": "true",
"printer_model": "Geeetech Thunder",
"default_filament_profile": [