900c18bbcf
* feat(viewer-lib): Adding outline rendering support for all/any pipeline: - Implemented EdgesPipeline as a standalone pipeline. Can be used as is, but it's mostly used by other pipelines to add outline rendering support - Moved the MRT/non-MRT versions for edge generation inside the EdgesPipeline. This removed a lot of redundant pipelines - Added optional outline rendering support for all relevant pipelines * feat(viewer-lib): Added optional edges to the TAA pipeline. * chore(viewer-lib): Renamed some of the pipelines to be more consistent with the names given by the frontend. Cleaned up older stuff * chore(viewer-lib): ViewportPass makes sure it requests renders until matcap texture finished loading * chore(frontend-2): Updated the frontend with the new view mode type changes * feat(viewer-lib): Some updates on view modes:Added support for outline thickness and color. Removed the background texture option from edges pass * feat(viewer-lib): Handles WEB-3147: - Outlines are now displayable on top of any dom element. - There is one asterisk. Pure black colored outlines (0) do not blend properly because of some browser weirdness * feat(viewer-lib): All pipelines besides pen now draw the outlines of transparent objects with a bunch of downsides * chore(viewer-lib): Fixed sandbox errors * feat(viewer-lib): Updated ViewModes extension to work with pipeline options. Defined EdgesPipelineOptions * chore(viewer-lib): Fixed sandbox compile errors * chore(sandbox): Viewer load not object loader only * chore(viewer-lib): Fixed linting issues. are now optional when setting view modes * feat(fe): View mode menu changes with no integration * feat(fe): Frontend view mode menu integration * fix(viewer-lib): Fixed the false gradient generated at the edges of the screen when in pen mode * fix(fe): Better naming. Parse line weight to number * chore(viewer-lib): A few updates: - ViewModes now caches it's current options so it can properly determine when to do a full pipeline change and when to just update options - Default pipeline options are now exported by the viewer - Default pipeline options have edges enabled * feat(fe): Design changes. Remove unneeded watch. Fix shortcuts * feat(fe): use dark mode colours. add colour controls * fix(fe): shortcuts and colours * fix(fe): reactive defaultColor * feat(fe): New descriptions. New hex colours. * feat(fe): add mixpanel. watch darkmode * fix(fe): fix dark mode watch --------- Co-authored-by: andrewwallacespeckle <andrew@speckle.systems>
The Speckle Viewer
Documentation
Complete documentation here Migration guide here
Examples
You can find readily available examples in the documentation here
Development
- run
yarnin the repo root to install and link all required dependencies. - run
yarn devin the viewer package (here) to start a dev build with automatic code refresing of the viewer code. - run
yarn devin the viewer-sandbox package to start the viewer sandbox.
Feedback
We would love to hear your feedback in this forum thread.
Community
If in trouble, the Speckle Community hangs out on the forum. Do join and introduce yourself! We're happy to help.
License
Unless otherwise described, the code in this repository is licensed under the Apache-2.0 License. If you have any questions, don't hesitate to get in touch with us via email.