Files
speckle-server/packages/viewer
Alexandru Popovici 900c18bbcf View Modes 1.5 (#4625)
* 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>
2025-05-09 15:06:18 +03:00
..
2025-05-09 15:06:18 +03:00

The Speckle Viewer

Twitter Follow Community forum users website docs npm version

Documentation

Complete documentation here Migration guide here

Examples

You can find readily available examples in the documentation here

Development

  • run yarn in the repo root to install and link all required dependencies.
  • run yarn dev in the viewer package (here) to start a dev build with automatic code refresing of the viewer code.
  • run yarn dev in 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.