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

@@ -2,6 +2,7 @@
"type": "filament",
"name": "Artillery ABS @Artillery M1 Pro 0.2 nozzle",
"from": "system",
"setting_id": "m023Z8IkkHMHxuag",
"filament_id": "P39db358",
"instantiation": "true",
"activate_air_filtration": [

View File

@@ -3,6 +3,7 @@
"name": "Artillery ABS @Artillery M1 Pro 0.4 nozzle",
"inherits": "Artillery Generic PLA",
"from": "system",
"setting_id": "QGbNWGw8rqvq025W",
"instantiation": "true",
"chamber_temperature": [
"50"

View File

@@ -2,6 +2,7 @@
"type": "filament",
"name": "Artillery ABS @Artillery M1 Pro 0.6 nozzle",
"from": "system",
"setting_id": "PxGFsoMcfFrTDqzL",
"filament_id": "P39db358",
"instantiation": "true",
"activate_air_filtration": [

View File

@@ -2,6 +2,7 @@
"type": "filament",
"name": "Artillery ABS @Artillery M1 Pro 0.8 nozzle",
"from": "system",
"setting_id": "o4JZKQmCdnO0hCXZ",
"filament_id": "P39db358",
"instantiation": "true",
"activate_air_filtration": [

View File

@@ -3,6 +3,7 @@
"name": "Artillery ABS",
"inherits": "Artillery Generic PLA",
"from": "system",
"setting_id": "fsbfMiamVemzRxkG",
"instantiation": "true",
"compatible_printers": [
"Artillery Sidewinder X3 Pro 0.4 nozzle",

View File

@@ -2,6 +2,7 @@
"type": "filament",
"name": "Artillery ASA @Artillery M1 Pro 0.2 nozzle",
"from": "system",
"setting_id": "AE7wKVIZXHXSXzL5",
"filament_id": "P87436f6",
"instantiation": "true",
"activate_air_filtration": [

View File

@@ -3,6 +3,7 @@
"name": "Artillery ASA @Artillery M1 Pro 0.4 nozzle",
"inherits": "Artillery Generic PLA",
"from": "system",
"setting_id": "eSwM3ZfSBWqR8Gcf",
"instantiation": "true",
"chamber_temperature": [
"55"

View File

@@ -2,6 +2,7 @@
"type": "filament",
"name": "Artillery ASA @Artillery M1 Pro 0.6 nozzle",
"from": "User",
"setting_id": "znMfTFfxvJC7a732",
"filament_id": "P87436f6",
"instantiation": "true",
"activate_air_filtration": [

View File

@@ -2,6 +2,7 @@
"type": "filament",
"name": "Artillery ASA @Artillery M1 Pro 0.8 nozzle",
"from": "system",
"setting_id": "y2DU36j0slaHzg04",
"filament_id": "P87436f6",
"instantiation": "true",
"activate_air_filtration": [

View File

@@ -1,7 +1,7 @@
{
"type": "filament",
"filament_id": "GFB99",
"setting_id": "GFSA04",
"setting_id": "C4oiu2SBLwfTEcXu",
"name": "Artillery Generic ABS",
"from": "system",
"instantiation": "true",

View File

@@ -1,7 +1,7 @@
{
"type": "filament",
"filament_id": "GFB98",
"setting_id": "GFSA04",
"setting_id": "1gls4zCclgN68Hlc",
"name": "Artillery Generic ASA",
"from": "system",
"instantiation": "true",

View File

@@ -1,7 +1,7 @@
{
"type": "filament",
"filament_id": "GFG99",
"setting_id": "GFSA04",
"setting_id": "Ou4NR5DVvalg5kCe",
"name": "Artillery Generic PETG",
"from": "system",
"instantiation": "true",

View File

@@ -1,7 +1,7 @@
{
"type": "filament",
"filament_id": "GFL98",
"setting_id": "GFSA04",
"setting_id": "h23GL00BFCliLh9N",
"name": "Artillery Generic PLA-CF",
"from": "system",
"instantiation": "true",

View File

@@ -1,7 +1,7 @@
{
"type": "filament",
"filament_id": "GFL99",
"setting_id": "GFSA04",
"setting_id": "Bpy4tAvspysDWosL",
"name": "Artillery Generic PLA",
"from": "system",
"instantiation": "true",

View File

@@ -1,7 +1,7 @@
{
"type": "filament",
"filament_id": "GFU99",
"setting_id": "GFSA04",
"setting_id": "u8YE6r4sGJ0jvqBn",
"name": "Artillery Generic TPU",
"from": "system",
"instantiation": "true",

View File

@@ -3,6 +3,7 @@
"name": "Artillery PA @Artillery M1 Pro 0.4 nozzle",
"inherits": "Artillery Generic PLA",
"from": "system",
"setting_id": "lOsH1teHe8Pgzx2g",
"instantiation": "true",
"complete_print_exhaust_fan_speed": [
"0"

View File

@@ -3,6 +3,7 @@
"name": "Artillery PA-CF @Artillery M1 Pro 0.4 nozzle",
"inherits": "Artillery Generic PLA",
"from": "system",
"setting_id": "b4BKJMUxArvLuEOh",
"instantiation": "true",
"complete_print_exhaust_fan_speed": [
"0"

View File

@@ -3,6 +3,7 @@
"name": "Artillery PC @Artillery M1 Pro 0.4 nozzle",
"inherits": "Artillery Generic PLA",
"from": "system",
"setting_id": "WawbnfhWn4MT6Hz7",
"instantiation": "true",
"complete_print_exhaust_fan_speed": [
"0"

View File

@@ -2,6 +2,7 @@
"type": "filament",
"name": "Artillery PET @Artillery M1 Pro 0.2 nozzle",
"from": "system",
"setting_id": "a5jwQ6nyffW1Vqv1",
"filament_id": "P11851ba",
"instantiation": "true",
"activate_air_filtration": [

View File

@@ -3,6 +3,7 @@
"name": "Artillery PET @Artillery M1 Pro 0.4 nozzle",
"inherits": "Artillery Generic PLA",
"from": "system",
"setting_id": "QeiSAakfMW7HyhJ7",
"instantiation": "true",
"chamber_temperature": [
"0"

View File

@@ -2,6 +2,7 @@
"type": "filament",
"name": "Artillery PET @Artillery M1 Pro 0.6 nozzle",
"from": "system",
"setting_id": "VGu7C3uk8d6ibIg4",
"filament_id": "P11851ba",
"instantiation": "true",
"activate_air_filtration": [

View File

@@ -2,6 +2,7 @@
"type": "filament",
"name": "Artillery PET @Artillery M1 Pro 0.8 nozzle",
"from": "system",
"setting_id": "Oj11BhU0QajmDrh3",
"filament_id": "P11851ba",
"instantiation": "true",
"activate_air_filtration": [

View File

@@ -2,6 +2,7 @@
"type": "filament",
"name": "Artillery PETG @Artillery M1 Pro 0.2 nozzle",
"from": "system",
"setting_id": "kAlZ7nCYo53UVVx3",
"filament_id": "P284941e",
"instantiation": "true",
"activate_air_filtration": [

View File

@@ -3,6 +3,7 @@
"name": "Artillery PETG @Artillery M1 Pro 0.4 nozzle",
"inherits": "Artillery Generic PLA",
"from": "system",
"setting_id": "g7UIfJTOPzMQzfrH",
"instantiation": "true",
"close_fan_the_first_x_layers": [
"3"

View File

@@ -2,6 +2,7 @@
"type": "filament",
"name": "Artillery PETG @Artillery M1 Pro 0.6 nozzle",
"from": "system",
"setting_id": "uuPf0MfNTZ2lihtG",
"filament_id": "P284941e",
"instantiation": "true",
"activate_air_filtration": [

View File

@@ -2,6 +2,7 @@
"type": "filament",
"name": "Artillery PETG @Artillery M1 Pro 0.8 nozzle",
"from": "User",
"setting_id": "dQBp2T4ap90uAOYs",
"filament_id": "P284941e",
"instantiation": "true",
"activate_air_filtration": [

View File

@@ -2,6 +2,7 @@
"type": "filament",
"name": "Artillery PETG Basic @Artillery M1 Pro 0.2 nozzle",
"from": "system",
"setting_id": "GrdWgUGdXt23jnBu",
"filament_id": "P284941e",
"instantiation": "true",
"activate_air_filtration": [

View File

@@ -3,6 +3,7 @@
"name": "Artillery PETG Basic @Artillery M1 Pro 0.4 nozzle",
"inherits": "Artillery Generic PLA",
"from": "system",
"setting_id": "RTQvSwJBWnut5aBo",
"instantiation": "true",
"close_fan_the_first_x_layers": [
"3"

View File

@@ -2,6 +2,7 @@
"type": "filament",
"name": "Artillery PETG Basic @Artillery M1 Pro 0.6 nozzle",
"from": "system",
"setting_id": "Wkt1IClO4nwH3Xa7",
"filament_id": "P284941e",
"instantiation": "true",
"activate_air_filtration": [

View File

@@ -2,6 +2,7 @@
"type": "filament",
"name": "Artillery PETG Basic @Artillery M1 Pro 0.8 nozzle",
"from": "User",
"setting_id": "Zlvodz3cris0hmof",
"filament_id": "P284941e",
"instantiation": "true",
"activate_air_filtration": [

View File

@@ -3,6 +3,7 @@
"name": "Artillery PETG-CF @Artillery M1 Pro 0.4 nozzle",
"inherits": "Artillery Generic PLA",
"from": "system",
"setting_id": "JvmeW29kHCp7HiA6",
"instantiation": "true",
"close_fan_the_first_x_layers": [
"3"

View File

@@ -3,6 +3,7 @@
"name": "Artillery PETG",
"inherits": "Artillery Generic PLA",
"from": "system",
"setting_id": "1MyhYGMxJCmZnJRP",
"instantiation": "true",
"compatible_printers": [
"Artillery Sidewinder X3 Pro 0.4 nozzle",

View File

@@ -2,6 +2,7 @@
"type": "filament",
"name": "Artillery PLA @Artillery M1 Pro 0.2 nozzle",
"from": "system",
"setting_id": "sqlU8YRYqavJBap3",
"filament_id": "Pfcf9c4c",
"instantiation": "true",
"activate_air_filtration": [

View File

@@ -2,6 +2,7 @@
"type": "filament",
"name": "Artillery PLA @Artillery M1 Pro 0.6 nozzle",
"from": "system",
"setting_id": "7V8Vj5ykHmTYtxcC",
"filament_id": "Pfcf9c4c",
"instantiation": "true",
"activate_air_filtration": [

View File

@@ -2,6 +2,7 @@
"type": "filament",
"name": "Artillery PLA @Artillery M1 Pro 0.8 nozzle",
"from": "system",
"setting_id": "J8rOxOcsB6HN00HI",
"filament_id": "Pfcf9c4c",
"instantiation": "true",
"activate_air_filtration": [

View File

@@ -3,6 +3,7 @@
"name": "Artillery PLA Basic @Artillery M1 Pro 0.2 nozzle",
"inherits": "Artillery PLA @Artillery M1 Pro 0.2 nozzle",
"from": "system",
"setting_id": "N3iYnDshA5ruihVE",
"instantiation": "true",
"filament_settings_id": [
"Artillery PLA Basic @Artillery M1 Pro 0.2 nozzle"

View File

@@ -3,6 +3,7 @@
"name": "Artillery PLA Basic @Artillery M1 Pro 0.4 nozzle",
"inherits": "Artillery Generic PLA",
"from": "system",
"setting_id": "zBUD1JyuZF9MOncA",
"instantiation": "true",
"complete_print_exhaust_fan_speed": [
"0"

View File

@@ -3,6 +3,7 @@
"name": "Artillery PLA Basic @Artillery M1 Pro 0.6 nozzle",
"inherits": "Artillery PLA @Artillery M1 Pro 0.6 nozzle",
"from": "system",
"setting_id": "NKkZjEtDjxOMLjoo",
"instantiation": "true",
"filament_settings_id": [
"Artillery PLA Basic @Artillery M1 Pro 0.6 nozzle"

View File

@@ -3,6 +3,7 @@
"name": "Artillery PLA Basic @Artillery M1 Pro 0.8 nozzle",
"inherits": "Artillery PLA @Artillery M1 Pro 0.8 nozzle",
"from": "system",
"setting_id": "c9BAMzt2w30nB2rC",
"instantiation": "true",
"filament_settings_id": [
"Artillery PLA Basic @Artillery M1 Pro 0.8 nozzle"

View File

@@ -3,6 +3,7 @@
"name": "Artillery PLA Basic+ @Artillery M1 Pro 0.4 nozzle",
"inherits": "Artillery Generic PLA",
"from": "system",
"setting_id": "2VIrSoq3kufjHMXj",
"instantiation": "true",
"complete_print_exhaust_fan_speed": [
"100"

View File

@@ -3,6 +3,7 @@
"name": "Artillery PLA Basic",
"inherits": "Artillery Generic PLA",
"from": "system",
"setting_id": "DcGBMRjdcgLx6pWG",
"instantiation": "true",
"compatible_printers": [
"Artillery Sidewinder X3 Pro 0.4 nozzle",

View File

@@ -3,6 +3,7 @@
"name": "Artillery PLA Matte @Artillery M1 Pro 0.2 nozzle",
"inherits": "Artillery PLA @Artillery M1 Pro 0.2 nozzle",
"from": "system",
"setting_id": "tgmFMdyhSX05kuxw",
"instantiation": "true",
"filament_settings_id": [
"Artillery PLA Matte @Artillery M1 Pro 0.2 nozzle"

View File

@@ -3,6 +3,7 @@
"name": "Artillery PLA Matte @Artillery M1 Pro 0.4 nozzle",
"inherits": "Artillery Generic PLA",
"from": "system",
"setting_id": "9zqAIfywiv9zm77X",
"instantiation": "true",
"complete_print_exhaust_fan_speed": [
"0"

View File

@@ -3,6 +3,7 @@
"name": "Artillery PLA Matte @Artillery M1 Pro 0.6 nozzle",
"inherits": "Artillery PLA @Artillery M1 Pro 0.6 nozzle",
"from": "system",
"setting_id": "W6ipHAoCgHIUIT3g",
"instantiation": "true",
"filament_settings_id": [
"Artillery PLA Matte @Artillery M1 Pro 0.6 nozzle"

View File

@@ -3,6 +3,7 @@
"name": "Artillery PLA Matte @Artillery M1 Pro 0.8 nozzle",
"inherits": "Artillery PLA @Artillery M1 Pro 0.8 nozzle",
"from": "system",
"setting_id": "HggSuUWe1zWOlQIK",
"instantiation": "true",
"filament_max_volumetric_speed": [
"12"

View File

@@ -3,6 +3,7 @@
"name": "Artillery PLA Matte",
"inherits": "Artillery Generic PLA",
"from": "system",
"setting_id": "kt8uKXpMqxrFrHaG",
"instantiation": "true",
"compatible_printers": [
"Artillery Sidewinder X3 Pro 0.4 nozzle",

View File

@@ -3,6 +3,7 @@
"name": "Artillery PLA Silk @Artillery M1 Pro 0.2 nozzle",
"inherits": "Artillery PLA @Artillery M1 Pro 0.2 nozzle",
"from": "system",
"setting_id": "TDwRIGXkpJIW38jG",
"instantiation": "true",
"filament_settings_id": [
"Artillery PLA Silk @Artillery M1 Pro 0.2 nozzle"

View File

@@ -3,6 +3,7 @@
"name": "Artillery PLA Silk @Artillery M1 Pro 0.4 nozzle",
"inherits": "Artillery Generic PLA",
"from": "system",
"setting_id": "BWMjPUWXwumQoY5H",
"instantiation": "true",
"complete_print_exhaust_fan_speed": [
"0"

View File

@@ -3,6 +3,7 @@
"name": "Artillery PLA Silk @Artillery M1 Pro 0.6 nozzle",
"inherits": "Artillery PLA @Artillery M1 Pro 0.6 nozzle",
"from": "system",
"setting_id": "PpuiGWbDlVZwBIxb",
"instantiation": "true",
"filament_settings_id": [
"Artillery PLA Silk @Artillery M1 Pro 0.6 nozzle"

View File

@@ -3,6 +3,7 @@
"name": "Artillery PLA Silk @Artillery M1 Pro 0.8 nozzle",
"inherits": "Artillery PLA @Artillery M1 Pro 0.8 nozzle",
"from": "User",
"setting_id": "dr2wlzDc1AC3tciI",
"instantiation": "true",
"filament_max_volumetric_speed": [
"12"

View File

@@ -3,6 +3,7 @@
"name": "Artillery PLA Silk",
"inherits": "Artillery Generic PLA",
"from": "system",
"setting_id": "rd0U4uP6mM8S8lDg",
"instantiation": "true",
"compatible_printers": [
"Artillery Sidewinder X3 Pro 0.4 nozzle",

View File

@@ -3,6 +3,7 @@
"name": "Artillery PLA Tough",
"inherits": "Artillery Generic PLA",
"from": "system",
"setting_id": "hLFvQXsyyUrguGEp",
"instantiation": "true",
"compatible_printers": [
"Artillery Sidewinder X3 Pro 0.4 nozzle",

View File

@@ -3,6 +3,7 @@
"name": "Artillery PLA-CF @Artillery M1 Pro 0.4 nozzle",
"inherits": "Artillery Generic PLA",
"from": "system",
"setting_id": "oT12s9CEV1CTD6eB",
"instantiation": "true",
"complete_print_exhaust_fan_speed": [
"0"

View File

@@ -2,6 +2,7 @@
"type": "filament",
"name": "Artillery PVA @Artillery M1 Pro 0.2 nozzle",
"from": "system",
"setting_id": "FIcb3cOIanxmvHe2",
"filament_id": "P8163162",
"instantiation": "true",
"activate_air_filtration": [

View File

@@ -3,6 +3,7 @@
"name": "Artillery PVA @Artillery M1 Pro 0.4 nozzle",
"inherits": "Artillery Generic PLA",
"from": "system",
"setting_id": "r2q4QIlfTUCIz43f",
"instantiation": "true",
"chamber_temperature": [
"50"

View File

@@ -2,6 +2,7 @@
"type": "filament",
"name": "Artillery PVA @Artillery M1 Pro 0.6 nozzle",
"from": "system",
"setting_id": "h5xquKMT9l0rwcTU",
"filament_id": "P8163162",
"instantiation": "true",
"activate_air_filtration": [

View File

@@ -2,6 +2,7 @@
"type": "filament",
"name": "Artillery PVA @Artillery M1 Pro 0.8 nozzle",
"from": "system",
"setting_id": "cElJlbCAgAqSQiPZ",
"filament_id": "P8163162",
"instantiation": "true",
"activate_air_filtration": [

View File

@@ -3,6 +3,7 @@
"name": "Artillery TPU @Artillery M1 Pro 0.4 nozzle",
"inherits": "Artillery Generic PLA",
"from": "system",
"setting_id": "p6vnCneuwtM0PzL7",
"instantiation": "true",
"close_fan_the_first_x_layers": [
"1"

View File

@@ -2,6 +2,7 @@
"type": "filament",
"name": "Artillery TPU @Artillery M1 Pro 0.6 nozzle",
"from": "system",
"setting_id": "QIgpIamYbSdI4DPW",
"filament_id": "P2fbf0c0",
"instantiation": "true",
"activate_air_filtration": [

View File

@@ -2,6 +2,7 @@
"type": "filament",
"name": "Artillery TPU @Artillery M1 Pro 0.8 nozzle",
"from": "system",
"setting_id": "W22GbPPOgtH4NAAH",
"filament_id": "P2fbf0c0",
"instantiation": "true",
"activate_air_filtration": [

View File

@@ -3,6 +3,7 @@
"name": "Artillery TPU",
"inherits": "Artillery Generic PLA",
"from": "system",
"setting_id": "IcV1jLJaS5rmdNOY",
"instantiation": "true",
"compatible_printers": [
"Artillery Sidewinder X3 Pro 0.4 nozzle",