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
parent 8ccae50e1b
commit 6d7eeb89dc
7876 changed files with 8152 additions and 6541 deletions

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic ABS 0.2 nozzle",
"inherits": "Anker Generic ABS @base",
"from": "system",
"setting_id": "GFSB99_20",
"setting_id": "BD5ODYVM90Ig44C5",
"instantiation": "true",
"filament_max_volumetric_speed": [
"2"

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic ABS 0.25 nozzle",
"inherits": "Anker Generic ABS @base",
"from": "system",
"setting_id": "GFSB99_25",
"setting_id": "WS5wXckNuiQqSVwO",
"instantiation": "true",
"filament_max_volumetric_speed": [
"3"

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic ABS",
"inherits": "Anker Generic ABS @base",
"from": "system",
"setting_id": "GFSB99",
"setting_id": "axEspGzFJnrnidm4",
"instantiation": "true",
"compatible_printers": [
"Anker M5 0.4 nozzle",

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic ASA 0.2 nozzle",
"inherits": "Anker Generic ASA @base",
"from": "system",
"setting_id": "GFSB98_20",
"setting_id": "G7pzEyyhPFDnae3R",
"instantiation": "true",
"filament_max_volumetric_speed": [
"2"

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic ASA 0.25 nozzle",
"inherits": "Anker Generic ASA @base",
"from": "system",
"setting_id": "GFSB98_25",
"setting_id": "ErUUDTQ7h1wNHAKT",
"instantiation": "true",
"filament_max_volumetric_speed": [
"3"

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic ASA",
"inherits": "Anker Generic ASA @base",
"from": "system",
"setting_id": "GFSB98",
"setting_id": "QiFoBW5WuDUJGmFZ",
"instantiation": "true",
"compatible_printers": [
"Anker M5 0.4 nozzle",

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic PA 0.2 nozzle",
"inherits": "Anker Generic PA @base",
"from": "system",
"setting_id": "GFSN99_20",
"setting_id": "NZB26MSD9WbOeY2S",
"instantiation": "true",
"filament_max_volumetric_speed": [
"2"

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic PA 0.25 nozzle",
"inherits": "Anker Generic PA @base",
"from": "system",
"setting_id": "GFSN99_25",
"setting_id": "Wj7oXTGUxo8lie1B",
"instantiation": "true",
"filament_max_volumetric_speed": [
"3"

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic PA-CF",
"inherits": "Anker Generic PA-CF @base",
"from": "system",
"setting_id": "GFSN98",
"setting_id": "qdsEps11ugFHJkn7",
"instantiation": "true",
"compatible_printers": [
"Anker M5 All-Metal 0.4 nozzle",

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic PA",
"inherits": "Anker Generic PA @base",
"from": "system",
"setting_id": "GFSN99",
"setting_id": "QbIiX554Yee6vb32",
"instantiation": "true",
"compatible_printers": [
"Anker M5 All-Metal 0.4 nozzle",

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic PC 0.2 nozzle",
"inherits": "Anker Generic PC @base",
"from": "system",
"setting_id": "GFSC99_20",
"setting_id": "GhIOAidtgDkzh9Aj",
"instantiation": "true",
"filament_max_volumetric_speed": [
"2"

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic PC 0.25 nozzle",
"inherits": "Anker Generic PC @base",
"from": "system",
"setting_id": "GFSC99_25",
"setting_id": "TQm9EPdenyGJMvgP",
"instantiation": "true",
"filament_max_volumetric_speed": [
"3"

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic PC",
"inherits": "Anker Generic PC @base",
"from": "system",
"setting_id": "GFSC99",
"setting_id": "xY25QcIsR9pWai3n",
"instantiation": "true",
"compatible_printers": [
"Anker M5 All-Metal 0.4 nozzle",

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic PETG 0.2 nozzle",
"inherits": "Anker Generic PETG @base",
"from": "system",
"setting_id": "GFSG99_20",
"setting_id": "VItvDP6zmenWXwPO",
"instantiation": "true",
"filament_max_volumetric_speed": [
"2"

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic PETG 0.25 nozzle",
"inherits": "Anker Generic PETG @base",
"from": "system",
"setting_id": "GFSG99_25",
"setting_id": "UgKfPuleh1xnoJLT",
"instantiation": "true",
"filament_max_volumetric_speed": [
"3"

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic PETG-CF",
"inherits": "Anker Generic PETG-CF @base",
"from": "system",
"setting_id": "GFSG98",
"setting_id": "j8PLF6AZD0R0oVs8",
"instantiation": "true",
"compatible_printers": [
"Anker M5 0.4 nozzle",

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic PETG",
"inherits": "Anker Generic PETG @base",
"from": "system",
"setting_id": "GFSG99",
"setting_id": "FMnK9qOMiqDcGqhd",
"instantiation": "true",
"compatible_printers": [
"Anker M5 0.4 nozzle",

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic PLA 0.2 nozzle",
"inherits": "Anker Generic PLA @base",
"from": "system",
"setting_id": "GFSL99_20",
"setting_id": "j6QmCITPJoP7bWHq",
"instantiation": "true",
"filament_max_volumetric_speed": [
"2"

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic PLA 0.25 nozzle",
"inherits": "Anker Generic PLA @base",
"from": "system",
"setting_id": "GFSL99_25",
"setting_id": "uKfcnPWdXxAGB5Ls",
"instantiation": "true",
"filament_max_volumetric_speed": [
"3"

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic PLA Silk 0.2 nozzle",
"inherits": "Anker Generic PLA Silk @base",
"from": "system",
"setting_id": "GFSL96_20",
"setting_id": "A1l6NiwRrasdV556",
"instantiation": "true",
"filament_max_volumetric_speed": [
"2"

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic PLA Silk 0.25 nozzle",
"inherits": "Anker Generic PLA Silk @base",
"from": "system",
"setting_id": "GFSL96_25",
"setting_id": "yzHmKTOtA9JamlNf",
"instantiation": "true",
"filament_max_volumetric_speed": [
"3"

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic PLA Silk",
"inherits": "Anker Generic PLA Silk @base",
"from": "system",
"setting_id": "GFSL96",
"setting_id": "BGttYO9m2rGcnrEG",
"instantiation": "true",
"compatible_printers": [
"Anker M5 0.4 nozzle",

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic PLA+ 0.2 nozzle",
"inherits": "Anker Generic PLA+ @base",
"from": "system",
"setting_id": "GFSL95_20",
"setting_id": "6IcMSjyxt0szdUuY",
"instantiation": "true",
"filament_max_volumetric_speed": [
"2"

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic PLA+ 0.25 nozzle",
"inherits": "Anker Generic PLA+ @base",
"from": "system",
"setting_id": "GFSL95_25",
"setting_id": "a2Rf07ZUhpTPONN1",
"instantiation": "true",
"filament_max_volumetric_speed": [
"3"

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic PLA+",
"inherits": "Anker Generic PLA+ @base",
"from": "system",
"setting_id": "GFSL95",
"setting_id": "0yQN44WNvLVjQu2b",
"instantiation": "true",
"compatible_printers": [
"Anker M5 0.4 nozzle",

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic PLA-CF",
"inherits": "Anker Generic PLA-CF @base",
"from": "system",
"setting_id": "GFSL98",
"setting_id": "diNUVM7UcHLnOr9J",
"instantiation": "true",
"compatible_printers": [
"Anker M5 0.4 nozzle",

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic PLA",
"inherits": "Anker Generic PLA @base",
"from": "system",
"setting_id": "GFSL99",
"setting_id": "qfKC91VAAFZSExhm",
"instantiation": "true",
"compatible_printers": [
"Anker M5 0.4 nozzle",

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic PVA",
"inherits": "Anker Generic PVA @base",
"from": "system",
"setting_id": "GFSS99",
"setting_id": "GRtdOKUkQfZ5eDH4",
"instantiation": "true",
"compatible_printers": [
"Anker M5 0.4 nozzle",

View File

@@ -3,7 +3,7 @@
"name": "Anker Generic TPU",
"inherits": "Anker Generic TPU @base",
"from": "system",
"setting_id": "GFSR99",
"setting_id": "YyTaPGGiEyAzmh9A",
"instantiation": "true",
"compatible_printers": [
"Anker M5 0.4 nozzle",