Spaces:
Sleeping
Sleeping
Commit History
-
Document parallel print, GIF export, and dependency workflow
Update README for the line/tube visualization modes, Shape 1/2/3 source selection, the G1/Reference-motion generation toggles, valve- based print/travel classification, and the Parallel Printing tab with its Matplotlib GIF export. Add AGENTS notes on regenerating requirements.txt after dependency changes and the CPU-only (Agg/Pillow) rendering constraint for Hugging Face. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>554cb9c -
Add line-plot mode and GIF export to Parallel Printing tab
- Split the parallel render into two buttons: "Render Parallel Print - Line Plot" (fast scatter lines) and "Render Parallel Print - Tube Plot with Animation"; line mode hides the animation controls and width sliders, mirroring the G-Code Visualization tab. - Add server-side GIF export of the parallel print via Matplotlib (CPU Agg backend, no WebGL/ffmpeg) so it works locally and on Hugging Face. Controls: duration, fps, elevation/azimuth angle, and a travel-opacity slider (0 = hidden). Travel drawn faint grey; nozzle markers are white-with-black-outline and always drawn on top. - Orange (primary) export button. Adds matplotlib dependency. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>1bbfb3e -
Add Parallel Printing Visualization tab
New fourth tab plots all three shapes simultaneously as filament tubes, offset along X so they do not overlap, and animates them printing in parallel on a shared cumulative-path-length time axis (shorter parts finish first). Features: - per-part color dropdowns (live recolor) - travel tubes per part with an opacity slider (0 = hidden) - filament/travel width and gap-between-parts sliders - full animation control bar (play/pause, speed, scrub, frame step), driven by a dedicated multi-part engine independent of the single-plot tab so that tab is unaffected Adds build_parallel_figure() in gcode_viewer.py. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>594b22c -
Polish G-Code Visualization and download UI
- Fix intermittent bug where the Upload G-Code box stayed hidden after certain source switches: toggle the box client-side instead of via a racy server visibility update. - Make all three G-code download boxes download-only (Shape 2 and 3 were accidentally upload-enabled). - Keep the download boxes the same compact height before and after Generate by shrinking the empty-state placeholder. - Reword the "all moves G1" toggle in plain language with a G0/G1 explanation in helper text. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>8cc1ac6 -
Add reference-stack motion option and global G-code toggles
New options on the TIFF Slices to GCode tab: - "Use Reference Stack for motion" (default on): every shape shares one nozzle path derived from the combined Reference TIFF Stack, while the valve still follows each shape, so parallel heads move in lockstep and each dispenses only its own geometry. The shape slice is centred onto the reference canvas to align with the motion path; layers beyond a shape's height move without dispensing. Skips with a clear message if no Reference TIFF Stack has been generated. - "Use G1 for all moves" promoted from three per-shape checkboxes to one global checkbox (default on) applied to every shape. generate_snake_path_gcode now takes separate path (motion) and color (valve) image sources; default behavior is unchanged. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>442e7e5
-
Silence Gradio 6.0 css/head deprecation warning
We pass css/head to gr.Blocks rather than launch() on purpose: running via `gradio app.py` (hot-reload) ignores the __main__ launch() call, so moving them there would drop our CSS and head scripts. Filter just that one UserWarning. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>38bc649 -
Default travel width to 1/4 of filament width, travel opacity to 0.2
Travel tubes now default to a quarter of the filament width (which tracks the layer height) and 20% opacity, so traverse moves recede behind the printed path. The layer-height sync keeps the 1/4 ratio. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>7caaba9 -
Make G-code parser handle standard and valve-encoded formats
The tool-path parser previously required X and Y together on every move and classified print vs travel solely by G1 vs G0, which only matched this app's own output. It now: - tracks X/Y/Z independently and accepts any G0/G1 move with at least one coordinate, so standard single-axis and Z-only moves parse - classifies print vs travel by valve state (WAGO_ValveCommands) whenever valve commands are present, since the valve physically controls flow; falls back to G1/G0 only when no valve commands exist This fixes external G-code that emits one axis per line, that conveys extrusion only through the valve (all moves G1), or that has G0/G1 labels inverted relative to the valve. The app's own files and standard slicer output are unaffected. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>b379193 -
Add per-shape G-code preview boxes with correct download filenames
On the TIFF Slices to GCode tab, each shape now shows its generated G-code in a fixed-height, scrollable box aligned under its download box, populated on generation. The in-box download button is stamped with the real filename (e.g. Hollow_Pyramid_SnakePath_gcode.txt) instead of gr.Code's hardcoded "file.txt". Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>dabc7b1
-
Add Shape 2 and Shape 3 G-code sources to visualization tab
The G-Code source selector now offers "Use Shape 2 G-Code" and "Use Shape 3 G-Code" alongside Shape 1 and file upload, each pulling the corresponding generated file from the TIFF Slices to GCode tab. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>975a31d -
Ignore .claude/ local tooling directory
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>3ca546a
-
Add animated tube-plot G-code visualization with playback controls
G-Code Visualization tab overhaul: - Two render modes: fast line plot, and tube plot with build animation - Print and travel paths rendered as solid circular tubes with physical mm diameters that scale with zoom (filament-like appearance) - Client-side playback: play/pause, 0.25x-10x speed, scrub bar, per-move frame stepping, nozzle marker, and layer/progress readout - Width sliders default to layer height and cap at 150% of it - Travel opacity default lowered to 25%; travel lines made solid - Side-by-side layout (controls left, chart right); animation controls and width sliders only shown after a tube render - Upload box hidden unless "Upload G-Code file" source is selected Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>f5d1acb
-
Committing previous changes to README and other files
57b46fb
-
Add Codex run config and sample button styling
71c658a -
Match G-code header command order
5221a6c
-
Ignore Gradio runtime logs
547fc33 -
Clarify watertight model details
4e86902
-
Change default color of gcode and updated readme
6b2e8b8
-
Lots of updates (x-y origin, formatting, combined TIFFS)
92bb652 -
Update app.py
04b33e7
-
Add color dropdowns for Travel and Print lines
d48e528 -
Fix opacity sliders to use client-side Plotly.restyle preserving camera and scroll
b48633f -
Preserve camera zoom/orientation on opacity change via uirevision
0663aa4 -
Add Travel and Print opacity sliders to G-Code visualization
b856ea5 -
Fix G-Code upload spinner by keeping file widget always mounted
0359819 -
fix: add plotly to requirements.txt to resolve HF Space runtime error
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>054c9d4 -
Add 3D G-code tool-path viewer and wire layer_height through gcode pipeline
- New gcode_viewer.py module: parses G91 relative G-code, accumulates positions, and renders an interactive Plotly 3D scatter plot with distinct print vs travel traces - G-Code Visualization tab: radio toggle to use Shape 1 output or upload a custom file, renders tool path on button click - Layer height from slicer tab now flows into G-code Z moves - Default layer height and pixel size set to 0.8 - Add plotly dependency Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>1daa1c6
-
feat: expand slicing and gcode workflow UI
c315fc4 -
fixed theG1 and G0 at the beginning of the G-Code
Every Color 255 line now starts with G0, every Color 0 line starts with G1.e237055 -
docs: add Hugging Face LFS push guidance
00e3783 -
Created a second tab as a placeholder for next part
17afc32 -
fixed layout to fit 3 across on laptop & fixed reset button in viewer
Root cause — In Gradio 6.10, the Model3D Undo (reset) button is wired to a Svelte-local state has_change_history in Index-DN7eG78L.js:330 that only flips to true inside handle_change, which fires only when the user uploads through Model3D's own upload widget. Since your app supplies the model value programmatically from the gr.File component, that handler never runs, so the button stays permanently disabled. The has_change_history flag is not exposed as a Python prop, so it can't be set from app.py. Fix — In app.py: Added APP_HEAD containing a small <script> with a MutationObserver that strips the disabled attribute off any .model3D button[aria-label="Undo"] whenever Svelte sets it. The button's onclick handler is still wired up — disabling only blocks the click — so once enabled, clicks reach handle_undo → canvas3d.reset_camera_position() → viewer.resetCamera(). Added a small CSS rule in APP_CSS so the button no longer renders in its grayed-out state. Moved css and head from the gr.…f9e229a -
Convert sample STL assets to ASCII for Hugging Face push
a757b96 -
Merge branch 'Three_files'
059beb6 -
sizing interface
3d1f0a3 -
updated to allow 3 files at once and load sample stls
32ac972 -
Change black as material and white as empty space
1ccc4b3
-
Fix Hugging Face Spaces startup
987553b -
Shorten Hugging Face Space description
2ae7fcf -
Added requirements.txt from uv.lock and Hugging Face Spaces frontmatter to README.md
I added Hugging Face Spaces frontmatter to README.md and generated a root requirements.txt from your uv.lock with uv export --format requirements.txt --no-hashes --no-dev --frozen --output-file requirements.txt. That gives Spaces the dependency file it expects while keeping your local workflow on uv.3ea3eb9 -
Simplify STL viewer layout
4908bcc -
Merge pull request #1 from MichaelRKessler/codex/gradio-stl-tiff-slicer
Michael KesslerUnverified signatureAdd Gradio STL slicer app7042628 -
Add Gradio STL slicer app
ed30a6b -
Add project instructions
9188b0d