any2orca-profiles 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/NOTICE ADDED
@@ -0,0 +1,13 @@
1
+ any2orca-profiles: third-party data attribution
2
+
3
+ This is not legal advice; see LICENSE for the terms that apply to this package.
4
+
5
+ The profile catalog (templates/ and the generated data/) is derived from preset
6
+ data published by each supported printer vendor's own OrcaSlicer-family fork,
7
+ today Snapmaker Orca (github.com/Snapmaker/OrcaSlicer), which is
8
+ AGPL-3.0-or-later. That provenance is why this package is AGPL-3.0-or-later.
9
+ data/index.json names the upstream release the catalog tracks.
10
+
11
+ "Snapmaker," "OrcaSlicer," and other printer and slicer names used in this
12
+ package are trademarks of their respective owners. any2orca is an independent
13
+ project and is not affiliated with, endorsed by, or sponsored by any of them.
package/README.md CHANGED
@@ -1,3 +1,50 @@
1
- # Temporary Holding Version
1
+ # any2orca-profiles
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ The printer profile catalog for [any2orca](https://www.npmjs.com/package/any2orca): data only, no code. It holds the Snapmaker U1 profiles, tracking Snapmaker Orca's own presets (`data/index.json` says which release).
4
+
5
+ ```
6
+ data/index.json versions, printers, profiles, retired profile ids, filament names
7
+ data/profiles/<id>.json one self-contained file per profile
8
+ ```
9
+
10
+ `any2orca` installs this package and its CLI uses it automatically. In a browser, copy `data/` into your site's static files and point `fetchProfileSource()` or the Web Worker's `profilesUrl` at it.
11
+
12
+ ## The format
13
+
14
+ Both files are JSON with `"schema": 1`, and `any2orca` checks them when it loads them (`ProfileIndexSchema` and `ProfileFileSchema` in the library): a catalog with a missing or malformed field is refused with a message, never half used.
15
+
16
+ **`data/index.json`**
17
+
18
+ | Field | What it holds |
19
+ |---|---|
20
+ | `dataVersion` | This catalog's version, the package version. |
21
+ | `slicer` | The release the catalog follows: `name`, `version`, and `application`, the value converted files carry (it ends with the version). |
22
+ | `source` | Where the profiles were generated from: `repository`, release `tag` and `commit`. |
23
+ | `defaultProfileId` | The profile used when nothing matches the file. |
24
+ | `printers` | One entry per nozzle size: `id`, `displayName`, `nozzleDiameter`, `highFlowSupported`. |
25
+ | `profiles` | One entry per profile: `id`, `printerId`, `displayName`, `nozzleDiameter`, `layerHeight`, `autoSelectable` (false for a profile only chosen by hand) and `highFlowSpeeds`. |
26
+ | `retired` | Old profile ids that still convert: `id`, the `successorId` used instead, and the old `displayName`. |
27
+ | `filamentNames` | The filament presets Snapmaker installs per nozzle size, for the Snapmaker and Generic naming options. |
28
+
29
+ **`data/profiles/<id>.json`**: `id` and `displayName`; `printer` (its `id`, `printableArea`, `extruderClearanceRadius`, `highFlowSupported` and the stock `machineSettings`); `baselineProjectSettings`, the profile's stock print settings; `filamentShape`, the layout filament settings are written in; and `highFlowOverrides`, the speeds the profile uses with high-flow hotends (empty when it has none).
30
+
31
+ To try your own profiles, edit a copy of these files and point `--profiles-dir`, `dirProfileSource()` or the web app's `profiles/` folder at it.
32
+
33
+ ## Where the data comes from
34
+
35
+ The profiles are Snapmaker's own stock U1 presets at the Snapmaker Orca release named in `data/index.json` (`source`: repository, release tag and commit). `data/index.json` also lists the filament presets Snapmaker installs for each nozzle size, which the Snapmaker and Generic filament naming options use, so they only ever write a preset Snapmaker Orca has. The maintainers update the catalog when Snapmaker publishes a new release.
36
+
37
+ ## Changing the data
38
+
39
+ `data/` is built from `templates/` (the settings files) and `catalog.json` (which templates make up which profile, plus retired ids). To change a profile, edit those and rebuild (`high_flow.json` and `filament_names.json` are generated by the maintainers from Snapmaker's release; open an issue for those instead):
40
+
41
+ ```sh
42
+ npm run generate -w any2orca-profiles # rebuild data/
43
+ npm test -w any2orca-profiles # fails if data/ is out of date
44
+ ```
45
+
46
+ If a value looks wrong compared with Snapmaker's own preset, please open an issue.
47
+
48
+ ## License
49
+
50
+ AGPL-3.0-or-later, because the data is derived from Snapmaker Orca's AGPL presets. Shipping it unmodified alongside your own app is fine; if you modify the data and serve it, publish your modified data. See `NOTICE`. any2orca is an independent project, not affiliated with, endorsed by, or sponsored by Snapmaker, OrcaSlicer or any printer, slicer or filament maker.