Replies: 3 comments
|
Wow! Thanks for sharing. There's definitely a lot of stuff to unpack here. I'll try and take some time this weekend to review and test all this great work and provide feedback. |
0 replies
|
I will need a little time, I tried to test my newest build and encountered some issues with dependencies. I should be able to fix them sometime this weekend. Ill let you know! I would appreciate the feedback once I get these issues resolved. |
0 replies
|
I got the issues resolved. And pushed to my experiemental branch if you'd like to test. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
I've done a lot of work on adding some really great features to 3d-model-muncher. I'm almost done with aligning as much code as I can to what you have so there is not a lot of massive changes to unnecessary lines.
I kept your beautiful UI untouched except for two key areas.
I modified the filter sidebar with drop downs for my new collections, and your previous categories options. This decision was made to keep the UI clean and visible when needed but hidden when not.
I modified the setting screen so that it hides the filter sidebar and the navigation is now vertical versus horizontal. This will allow for easier navigation and if need you can add more tabs without effecting the main settings page visible area. The mobile version still uses a horizontal layout for navigation.
The only feature that may be partially broken from my testing is model hiding. Im not sure how this function is supposed to work but it should be an easy fix if it is not correct!
please give my version a test to see if you would like me to submit a pull request. I hope to do it before you make any more changes to limit conflicts. Thanks
Here is the main features I have added
The most significant architectural change. The upstream branch uses a flat list; your branch implements a true tree structure.
Data Structure: Collection interface updated to include parentId and childCollectionIds.
Recursive Sidebar: The Sidebar now renders a collapsible, recursive tree of collections instead of a flat list, allowing users to navigate folder-like structures.
Parenting UI: The CollectionEditDrawer includes logic to assign a "Parent Collection" when creating or editing, enabling the nested organization.
A major UI/UX upgrade for the grid view.
Live Preview: ModelCard now integrates Grid3DViewer.
Performance Logic: Implemented a delay timer (e.g., 600ms) to only load the 3D viewer when the user intentionally hovers, preventing performance hits during scrolling.
Upstream Comparison: The upstream ModelCard is strictly static images only.
A distinct, high-fidelity alternative to the upstream's "Extractor."
Custom Rendering: Uses a headless browser (Puppeteer) to load the actual 3D geometry and take a snapshot.
STL Support: Unlike the upstream extractor (which only pulls embedded images from 3MFs), this generates previews for STLs and 3MFs alike.
Capture UI: Includes a dedicated capture.html endpoint in public/ to handle the rendering scene.
Web Import: Added a ThingiverseImportDialog component and thingiverseImporter utility to fetch models directly from Thingiverse URLs.
UI Integration: Added an "Import" button to the main grid toolbar (visible when not in selection mode).
Collection-Aware Sidebar Navigation
Unified Tree: The FilterSidebar was refactored to handle the filtering logic and the collection tree navigation in a single view, removing the need for separate "Folders" tabs.
Universal Theming Engine
Dynamic Color Weights: Implemented a new theming utility in src/utils/themeUtils.ts that allows the primary application color to be customized while automatically calculating and preserving the specific shade weights and contrast ratios of the original design.
Global Application: Integrated via src/components/ThemeProvider.tsx to ensure consistent application across all components.
All reactions