Files
mslicer/TODO.md
Connor Slade 7b06fae684 UI Cleanup
2025-02-17 00:22:54 -05:00

102 lines
4.3 KiB
Markdown

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