Merge branch 'main' into feature/filament_id

Brings in 560 commits (merge base 2026-07-04 .. origin/main af9fd10d7a).
19 conflicts resolved; the other 138 touched files auto-merged.

Conflict resolutions
- Snapmaker/Polymaker (7): main normalised JSON key order in #15039 while this
  branch inserted filament_id/filament_vendor. Took main's key order and kept
  this branch's values, inserting a single filament_id key rather than letting
  git's line merge leave duplicate "from"/"instantiation" keys.
- re3D rPETG @0.8/@1.75 nozzle (2): main renamed these from "re3D Greengate
  rPETG @*" and re-vendored GreenGate3D -> re3D (#15169). Git's rename-aware
  merge produced a file with two filament_vendor keys; took main's version
  wholesale instead. The id is reconciled by the tooling, not by hand.
- re3D rPP (1): kept main's inherits change (fdm_filament_pet -> fdm_filament_pp,
  local filament_type override dropped) and its widened compatible_printers.
  The flattened type is still PP, so the product triple and id OFfHGM1D are
  unchanged.
- re3D Greengate rPETG.json, Afinia {ABS+,ABS,PLA,TPU,Value ABS,Value PLA}.json
  (7 modify/delete): accepted main's deletions. The Afinia ids are not orphaned
  - the surviving @HS presets resolve the same triple and already carry the
  same ids, so nothing is retired.
- .github/workflows/check_profiles.yml: kept both main's new "validate slice"
  step and this branch's tree-wide filament-subtype check.
- tests/libslic3r/CMakeLists.txt: kept both test_filament_id_succession.cpp and
  main's test_preset_diff.cpp.

Verified
- No conflict markers; all 12795 profile JSONs parse with no duplicate keys.
- All branch artifacts (tooling, snapshot, ledger, doc, tests) intact and
  unmodified by the merge.
- The succession-ledger C++ call sites survived main's refactors; audited
  Preset.{cpp,hpp}, PresetBundle.cpp, DeviceManager.cpp, PresetComboBoxes.cpp,
  CaliHistoryDialog.cpp, MoonrakerPrinterAgent.cpp against base/ours/theirs.
- scripts/tests: 115/116 pass.

Known follow-up: assign_filament_ids.py --check reports 243 errors, all from
filament data main added in the last month (BBL/addnorth, Qidi X5/Plus 5,
Snapmaker U1, re3D). The single failing unit test is the live-tree conformance
test asserting that count is zero. Reconciliation lands separately.
This commit is contained in:
SoftFever
2026-08-08 02:05:37 +08:00
2224 changed files with 2621813 additions and 1287333 deletions

View File

@@ -0,0 +1,10 @@
{
"type": "filament",
"name": "fdm_filament_pp",
"from": "system",
"instantiation": "false",
"inherits": "fdm_filament_common",
"filament_type": [
"PP"
]
}

View File

@@ -1,20 +0,0 @@
{
"type": "filament",
"name": "re3D Greengate rPETG",
"from": "system",
"instantiation": "true",
"inherits": "fdm_filament_pet",
"filament_id": "OFSTCno1",
"setting_id": "SdugLw5oy9GB7NID",
"filament_settings_id": [
"re3D Greengate rPETG"
],
"compatible_printers": [
"re3D GigabotX 2",
"re3D GigabotX 2 XLT",
"re3D TerabotX 2"
],
"filament_vendor": [
"GreenGate3D"
]
}

View File

@@ -9,6 +9,9 @@
"filament_settings_id": [
"re3D PC @0.4 nozzle"
],
"filament_type": [
"PC"
],
"compatible_printers": [
"re3D Gigabot 4 0.4 nozzle",
"re3D Gigabot 4 XLT 0.4 nozzle",

View File

@@ -9,6 +9,9 @@
"filament_settings_id": [
"re3D PC @0.8 nozzle"
],
"filament_type": [
"PC"
],
"compatible_printers": [
"re3D Gigabot 4 0.8 nozzle",
"re3D Gigabot 4 XLT 0.8 nozzle",

View File

@@ -10,9 +10,12 @@
"re3D PC"
],
"compatible_printers": [
"re3D Gigabot 4",
"re3D Gigabot 4 XLT",
"re3D Terabot 4"
"re3D Gigabot 4 0.4 nozzle",
"re3D Gigabot 4 XLT 0.4 nozzle",
"re3D Terabot 4 0.4 nozzle",
"re3D Gigabot 4 0.8 nozzle",
"re3D Gigabot 4 XLT 0.8 nozzle",
"re3D Terabot 4 0.8 nozzle"
],
"filament_vendor": [
"re3D"

View File

@@ -17,6 +17,9 @@
"filament_vendor": [
"re3D"
],
"filament_type": [
"PETG"
],
"close_fan_the_first_x_layers": [
"2"
],

View File

@@ -14,6 +14,9 @@
"re3D Gigabot 4 XLT 0.8 nozzle",
"re3D Terabot 4 0.8 nozzle"
],
"filament_type": [
"PETG"
],
"filament_vendor": [
"re3D"
],

View File

@@ -10,9 +10,12 @@
"re3D PETG"
],
"compatible_printers": [
"re3D Gigabot 4",
"re3D Gigabot 4 XLT",
"re3D Terabot 4"
"re3D Gigabot 4 0.4 nozzle",
"re3D Gigabot 4 XLT 0.4 nozzle",
"re3D Terabot 4 0.4 nozzle",
"re3D Gigabot 4 0.8 nozzle",
"re3D Gigabot 4 XLT 0.8 nozzle",
"re3D Terabot 4 0.8 nozzle"
],
"filament_vendor": [
"re3D"

View File

@@ -9,6 +9,9 @@
"filament_settings_id": [
"re3D PLA @0.4 nozzle"
],
"filament_type": [
"PLA"
],
"compatible_printers": [
"re3D Gigabot 4 0.4 nozzle",
"re3D Gigabot 4 XLT 0.4 nozzle",

View File

@@ -9,6 +9,9 @@
"filament_settings_id": [
"re3D PLA @0.8 nozzle"
],
"filament_type": [
"PLA"
],
"compatible_printers": [
"re3D Gigabot 4 0.8 nozzle",
"re3D Gigabot 4 XLT 0.8 nozzle",

View File

@@ -10,9 +10,12 @@
"re3D PLA"
],
"compatible_printers": [
"re3D Gigabot 4",
"re3D Gigabot 4 XLT",
"re3D Terabot 4"
"re3D Gigabot 4 0.4 nozzle",
"re3D Gigabot 4 XLT 0.4 nozzle",
"re3D Terabot 4 0.4 nozzle",
"re3D Gigabot 4 0.8 nozzle",
"re3D Gigabot 4 XLT 0.8 nozzle",
"re3D Terabot 4 0.8 nozzle"
],
"filament_vendor": [
"re3D"

View File

@@ -1,17 +1,21 @@
{
"type": "filament",
"filament_id": "OFSTCno1",
"setting_id": "fRX555Prkdu5ESIp",
"name": "re3D Greengate rPETG @0.8 nozzle",
"filament_id": "GFG01",
"setting_id": "WlELqPVnuL7DaTxs",
"name": "re3D rPETG @0.8 nozzle",
"from": "system",
"renamed_from": "re3D Greengate rPETG @0.8 nozzle",
"instantiation": "true",
"inherits": "fdm_filament_pet",
"filament_vendor": [
"GreenGate3D"
],
"nozzle_temperature_initial_layer": [
"0"
],
"filament_type": [
"PETG"
],
"filament_vendor": [
"re3D"
],
"nozzle_temperature": [
"0"
],

View File

@@ -1,17 +1,21 @@
{
"type": "filament",
"filament_id": "OFSTCno1",
"setting_id": "6aPU6CYS2cmODkok",
"name": "re3D Greengate rPETG @1.75 nozzle",
"filament_id": "GFG01",
"setting_id": "sHzO2S3mmE6Iqs2O",
"name": "re3D rPETG @1.75 nozzle",
"from": "system",
"renamed_from": "re3D Greengate rPETG @1.75 nozzle",
"instantiation": "true",
"inherits": "fdm_filament_pet",
"filament_vendor": [
"GreenGate3D"
],
"nozzle_temperature_initial_layer": [
"0"
],
"filament_type": [
"PETG"
],
"filament_vendor": [
"re3D"
],
"nozzle_temperature": [
"0"
],

View File

@@ -0,0 +1,24 @@
{
"type": "filament",
"name": "re3D rPETG",
"from": "system",
"renamed_from": "re3D Greengate rPETG",
"instantiation": "true",
"inherits": "fdm_filament_pet",
"filament_id": "GFG01",
"setting_id": "6aESuJ2S2Kogd4Lq",
"filament_settings_id": [
"re3D rPETG"
],
"compatible_printers": [
"re3D GigabotX 2 0.8 nozzle",
"re3D GigabotX 2 XLT 0.8 nozzle",
"re3D TerabotX 2 0.8 nozzle",
"re3D GigabotX 2 1.75 nozzle",
"re3D GigabotX 2 XLT 1.75 nozzle",
"re3D TerabotX 2 1.75 nozzle"
],
"filament_vendor": [
"re3D"
]
}

View File

@@ -5,7 +5,7 @@
"name": "re3D rPP @0.8 nozzle",
"from": "system",
"instantiation": "true",
"inherits": "fdm_filament_pet",
"inherits": "fdm_filament_pp",
"filament_type": [
"PP"
],

View File

@@ -5,7 +5,7 @@
"name": "re3D rPP @1.75 nozzle",
"from": "system",
"instantiation": "true",
"inherits": "fdm_filament_pet",
"inherits": "fdm_filament_pp",
"filament_type": [
"PP"
],

View File

@@ -3,19 +3,19 @@
"name": "re3D rPP",
"from": "system",
"instantiation": "true",
"inherits": "fdm_filament_pet",
"filament_type": [
"PP"
],
"inherits": "fdm_filament_pp",
"filament_id": "OFfHGM1D",
"setting_id": "8PB62qm5Cd3SHLf4",
"filament_settings_id": [
"re3D rPP"
],
"compatible_printers": [
"re3D GigabotX 2",
"re3D GigabotX 2 XLT",
"re3D TerabotX 2"
"re3D GigabotX 2 0.8 nozzle",
"re3D GigabotX 2 XLT 0.8 nozzle",
"re3D TerabotX 2 0.8 nozzle",
"re3D GigabotX 2 1.75 nozzle",
"re3D GigabotX 2 XLT 1.75 nozzle",
"re3D TerabotX 2 1.75 nozzle"
],
"filament_vendor": [
"re3D"