matthewtrahan
28a366fd8e
CLI resume: --check and --list-plates (added on main since) refuse --resume too, as --list-objects does -- neither generates fins, so a cache would only be opened and left behind
2026-10-21 09:58:50 -05:00
Boris
0385d8eff2
Add opt-in resume checkpoints for CLI project processing
2026-10-21 09:58:50 -05:00
Boris
38eaaa7d9f
CLI: select project plates and list plate summaries
2026-10-20 21:29:26 -05:00
Boris
dc3fd79c6f
CLI: check project compatibility and report object outcomes
2026-10-20 21:09:34 -05:00
Boris
650f844780
Add CLI preservation of Bambu Studio 3MF projects
2026-10-20 16:33:37 -05:00
matthewtrahan
0c1fc1c168
plugins: real version numbers, stamped by every build -- 0.7.<n>, n = the position on main of the last commit that changed what that plugin ships (its folder, tests and notes aside, plus every file esbuild bundles into it and the shared Python host), so a plugin gets a new version exactly when it changes and never otherwise (the PrusaSlicer port doesn't move with the engine); plugins/shared/version.py computes it, each build stamps it into the plugin's own manifest (Orca header, Fusion manifest, Cura plugin.json + package, Blender manifest, Rhino package, SolidWorks assembly, Prusa manifest via a new build.py, a FreeCAD VERSION its console line shows) and the command line and MCP server compile it in (support-fins --version); sources hold the unstamped 0.7.0, above every hand-set number before (Fusion 0.6.2) so no host sees a downgrade; CI checks out full history for it and refuses a shallow clone; release labels show the same numbers
2026-10-19 18:13:31 -05:00
matthewtrahan
6582065595
cli: .obj input, --object picks from a multi-object OBJ as from a 3MF plate; the MCP server's path says so
2026-10-16 10:00:56 -05:00
matthewtrahan
e0122ae429
cli: export the flag table and let the bundler take another entry -- the MCP server builds its settings schema from the same flags and ships as the same one-file bundle
2026-10-15 14:27:57 -05:00
matthewtrahan
07bd5ca224
cli: a 3MF output carries a slicer's own parts back out the way the site does, in the separate form so a negative part can't cut the walls in its hole ( #104 ); an STL output says it left the modifiers out
2026-10-14 21:25:19 -05:00
matthewtrahan
4dbb6fc094
cut: review fixes -- a cutter that will not load leaves the file open uncut with a note (and is retried next file) instead of refusing it, an inside-out negative is turned outward so it cuts rather than adds plastic, the shell/debris repair is for negatives only (the part is never changed without a word), and negatives that remove the whole part leave it uncut with a note
2026-10-14 20:21:26 -05:00
matthewtrahan
31228abb1d
cut: a slicer's negative parts are cut out of the part on import, so the fins are built for what prints ( #104 ) -- Manifold (manifold-3d 3.5.4, Apache-2.0, vendored, loaded only for a file with one); a scanned negative of closed shells plus sliver debris still cuts, a part or negative that is not a closed solid is said and left uncut; paint stays on the faces the cut leaves whole; the CLI bundle carries the WASM; the import note says how many were cut
2026-10-14 20:21:26 -05:00
matthewtrahan
f4166105e6
3mf negative parts: review fixes -- a PrusaSlicer 2 second instance (a wrapper over the first one's mesh) keeps its negative out (it read solid), a part placed twice is two extras rather than one merged shell, the CLI warns when it leaves one out, and a Bambu plate whose part ids collide is pinned
2026-10-14 20:21:26 -05:00
matthewtrahan
597aaa33db
cli: review fixes -- --rot reads the site's X·Y·Z readout, --fins-only lines up with the file's part, own 3MF refused
...
- --rot is three.js Euler XYZ (Rx*Ry*Rz), the order printfins.com shows under
the part, so a pose found on the site carries over
- --fins-only maps the fins back onto the part as it is in the file; it can't
take --rot, and writes nothing when there are no fins
- a Support Fins 3MF (part + fins) is refused instead of finned again
- settings the site would hide warn on stderr; -o can't overwrite the input;
-- ends the options; Node 20.10+
- the summary rounds ties to even, word for word with Python's host_report
2026-09-30 18:30:03 -05:00
matthewtrahan
070f36384a
cli: support-fins part.stl -> part-fins.3mf, the site's engine from a terminal (local issue 017)
...
Deno or Node 20+, or a deno compile binary. Poses the part (--rot, X then Y
then Z), runs the plugins' computeFins, writes a 3MF (part + fins), a merged
STL, or the fins alone. Flags come from options.json in the site's units.
Reports overhangs it couldn't reach; exit 1 only for a file that failed (the
others still run), exit 2 for bad arguments. Tests: CLI fins equal computeFins
on the posed part and the website's own path on lbracket@35.
2026-09-30 18:30:03 -05:00