- Verify slicer on more models
- Preprocess mesh to remove self-intersections?
- Separate each surface from a mesh before slicing to fix the self intersection problem?
- Integrate remote send into ui
- Allow slicing multiple modals at once
- Fix translation in slicer (its currently moved by pixels not mm)
- Allow rotating modals
- Optimize slicer (BVH?)
- ehh just throw rayon on it
- Actually do the BVH
- Allow saving / loading projects
- Allow deleting objects
- Use instancing both for object mesh storage and rendering
- Less internal dependence on GOO format
- Anti-aliasing
- Cache transformed points?
- Rename
ui
module tomslicer
- Proper slice preview scaling
- Preview image generation
- Don't clone mesh data when sending mesh to slicing thread
- Close details dropdown in models window when deleting mesh
- Rotations in degrees
- Fix slice preview layer and scale controls
- Clamp camera rotations
- Fix slicing rotated objects
- 0-pad slice preview layer display so its width doesn't change as you move the slider
- Preload layer 1 in slice preview
- Better camera movement (left click to orbit, right click to change orbit point)
- Don't crash when slicing an object outside of bounds
- Add support for loading .obj files
- Move call to slicer into app from top_bar
- Determine which side is the front of the printer
- Render orbit target point
- Factor out common descriptors from pipelines
- Improve include_shader macro
- Don't store rended mesh after sending to GPU
- Fix orbit speed slowing with increasing height
- Use bumpalo or something for allocation of bvhs
- Optimize bvh more (benchmarking with criterion)
- Add documentation to slicer
- Make the slice preview layer slider full height
- Combine slice result and slice preview windows and add a close button
- Split slice operation to a new module
- Re-enable multi-sampling
- Disable slice button while slicing
- Use egui_dock to get a more clean look
- Align to bed button
- Define all crate versions in workspace toml
- Ask for filename when sending to printer
- Printer scanning (UDP broadcast)
- Verify printer capabilities before uploading / printing
- Create config struct thats saved / loaded on shutdown / startup
- Publish goo_format crate
- Allow uploading / printing a local .goo file
- Load normals from model files
- Fix camera movement
- Optionally proxy printer state over http (api and sse)
- Remote print error handing
- Make all network operations async (not block ui)
- Make model loading async
- Dont repaint if nothing changes
- Allow changing broadcast address
- Actually init remote print at startup if requested
- Preferred service ports
- Button to disable remote print services
- Check if files are removed from the file server after being downloaded once
- Dont allow adding the same printer multiple times
- Drag and drop to load models
- Look into mqtt server resource leak on disable
- Run post-slice plugins on slice thread
- Allow dragging slice operation preview
- Fix rotation on Z axis
- Fix Z translation being doubled
- Merge goo_format changes into goo crate
- Implement .ctb format (see https://github.com/cbiffle/catibo/blob/master/doc/cbddlp-ctb.adoc)
- Generic format system
- Fix plugins / post processes
- Undo / Redo
- Close file menu if button clicked
- Allow dragging in project to load them
- Remember the file that was opened for future save operations
- Save on remote thread
- Printer profiles
- Save config on quit
- Refactor plugins to post processors
- Update readme
- Make post processing async
- Instance meshes in save files / rendering