Commit Graph
11 Commits
Author SHA1 Message Date
SoftFever f520e9221f Repair shipped default materials and obsolete settings, and validate them (#15741)
* add orca profile skill

* add default material check

Improve validation for default materials and filament profiles

* Fix default materials and obsolete keys

* clarifying orca-profiles skill
2026-09-18 00:39:46 +08:00
SoftFever ade9e77b6b Run every profile maintenance job from one tool (#15726)
* Run every profile maintenance job from one tool

orca_id_tool.py becomes orca_profile_tool.py, and orca_extra_profile_check.py
and orca_filament_lib.py fold into it as subcommands: check, generate-id, fix,
trim, update-index and update-snapshot. The three scripts already overlapped --
the checker imported half of its rules from the id tool, which in turn kept a
copy-pasted set of output helpers to avoid the resulting import cycle -- while
disagreeing on how a vendor is enumerated, how a JSON file is read and what the
exit code means. One file settles all three.

check, normalize, trim and update-index reproduce their predecessors exactly; normalize and
update-index were diffed byte-for-byte against the old scripts over a copy of
the whole tree. Deliberate changes: the compatible-printers check no longer
switches itself off when --check-materials is passed, an error exits 1 rather
than -1, update-index honours --profile-type and reports a profile it cannot
place instead of dropping it from the index, fix and update-index gained
--dry-run, trim keeps an unindexed file some surviving profile still inherits
from, and vendors are enumerated as directories with an index -- which is why
blacklist.json, a data file that an unscoped index rebuild once wrote four empty
list sections into, loses them here and will not collect them again. The dead
rename_filament_system() helper is gone.

The suite under scripts/tests now covers the maintenance commands too, and CI
runs it; nothing there ran in CI before. No shipped profile data changes apart
from those four keys.

* update vendor index files with "python3 ./scripts/orca_profile_tool.py update-index" and "python3 ./scripts/orca_profile_tool.py normalize"
2026-09-16 19:53:23 +08:00
SoftFever 6ec904074b Give generic filaments one name and one identity across every vendor 2026-09-01 17:26:57 +08:00
SoftFever 8cb2e4e01e 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
2026-06-27 20:11:25 +08:00
yw4zandSoftFever 95cf1745a8 Profile folder optimizations (Anycubic, Creality, Elegoo, Flashforge, Qidi, Prusa, Re3d, Rh3d, Snapmaker, Sovol and more) (#13149)
* anker

* blocks

* prusa

* zbolt

* snapmaker

* iQ

* eryone

* OpenEYE

* RH3D

* anycubic kobra neo

* kobra neo cover

* prusa one L cover

* longer lk10 & plus

* anycubic predettor

* creality covers

* k2 - k2 pro bed models

* m3d enabler d8500

* artillery m1 pro

* wemake3d

* Update Anet A8 Plus(A8+)_cover.png

* cubicon

* qidi

* Update Qidi X-Max 4_cover.png

* re3D

* Update Flashforge Artemis_cover.png

* flashforge

* tronxy

* Update flashforge_g2s_buildplate_model.stl

* Update FlyingBear Ghost7-bed.stl

* lulzbot

* Rolohaun3D

* Raise3D

* Update ThePositron_bed_texture.svg

* Mellow M1

* flsun

* CoPrint

* chuanying

* artillery

* anycubic

* sovol

* comgrow

* elegoo

* fix conflict

* update

* Update M5-CE-texture.svg

* prusa

* anker

* creality texture and model

* creality covers

* magicmaker

* Update wm_buildplate_model.stl

* comgrow

* infimech

* voxelab

* flashforge

* peopoly

* biqu

* ginger additive

* e3ng

* flashforge

* wanhao

* compress covers

* re3D

* wemake3d

* update

* flsun

* flashforge

* elegoo

* creality

* blocks

* update

* anycubic

* artillery

* Update Co_Print_ChromaSet_buildplate_texture.svg

* comgrow

* Update Taz_Pro_Dual_printbed.svg

* Update elegoo_orangestorm_giga_buildplate_texture.svg

* snapmaker

* flashforge

* anycubic 3 and S1

* artillery

* artillery

* update

* update

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-04-26 20:17:08 +08:00
Ian Bassi 16727644bb Reduce size by Json Fromatting (#13163)
Reduce the size of current and new JSONs by standardising them with 1 tab indentation instead of 4 spaces.
This effectively reduces the size by almost 20 MB.

| Current | New |
|---|---|
| 85.2 Mib | 67 Mib |

Used [JQ](https://jqlang.org/) `--tab` to automatically format every current JSON.

> [!NOTE]
> Some profiles had the arrays on the same line, but those created by Orca were in the standard format (each object below the previous one). In some cases, this increases the number of tabs due to the new lines, but the increase is negligible, and this way both the base profiles and those created by Orca maintain the same style.
2026-04-15 22:58:12 +08:00
SoftFever 4f50fdc94e Fixed many profile issues and cleaned up some messes. (#10686) 2025-09-11 17:50:53 +08:00
SoftFever 5e5542d02f Update default filaments for printers (#8655)
* update M1

* update Voron

* update Positron

* update Biqu

* update Eryone

* update Folgetech

* update Geeetech

* update Kingroon

* update MagicMaker

* update Raise3D

* update Rolohaun

* update Tronxy

* update Kingroon and Tronxy

* update Voxelab

* update Wanhao

* more fix
2025-03-03 20:32:47 +08:00
InfimechOfficial 2533e95004 fix z_hop type (#7466)
* Update fdm_klipper_common.json

* Update fdm_machine_common.json

* Update fdm_klipper_common.json

* Update fdm_machine_common.json

* Update fdm_process_common.json

* Update fdm_process_common_HSN.json

* Update fdm_machine_common.json

* Update fdm_klipper_common.json

* Update fdm_machine_common.json

* Update fdm_klipper_common.json

* Update fdm_process_common.json

* Update fdm_process_common_HSN.json

* Update InfiMech Generic PLA.json

* Update Other PLA.json

* Update fdm_filament_pla.json

* Update fdm_filament_pla_Hyper.json

* Update fdm_filament_pla_Hyper_other.json

* Update fdm_filament_pla_other.json

* Update fdm_process_common.json

* Update fdm_process_common_HSN.json
2024-12-14 15:26:36 +08:00
InfimechOfficial 2012fab758 upgrade start_gcode (#6540)
* Update fdm_klipper_common.json

* Update fdm_machine_common.json

* Update fdm_klipper_common.json

* Update fdm_machine_common.json
2024-08-23 19:23:55 +08:00
InfimechOfficial 373318aa4b add new nozzle type named Hardened Steel Nozzle(HSN) (#6099)
* Update fdm_klipper_common.json

* Update fdm_machine_common.json

* add new nozzle type

* add new nozzle type with filaments

* add new nozzle type with mechine files

* add new nozzle type with process files

* Update InfiMech.json

add new nozzle type

* Update InfiMech.json

* Update 0.08mm Extra Fine @InfiMech TX.json

* Update 0.12mm Fine @InfiMech TX.json

* Update 0.16mm Optimal @InfiMech TX.json

* Update 0.20mm Standard @InfiMech TX.json

* Update 0.24mm Draft @InfiMech TX.json
2024-07-14 10:31:57 +08:00