* feat(viewer-lib): WIP on area measurement
* feat(viewer-lib): WIP on area measurement. Basics are working. Needs more bling
* feat(viewer-lib): Implemented polygon triangulation for measured area
* chore(shared): Updated MeasurementType
* Add Area control to measure panel
* feat(viewer-lib): Real time updates of the fill polygon and area value
* feat(viewer-lib): Added pole of innacessibility as area label anchor using the polylabel libraryh
* feat(viewer-lib): Fixed fill polygon material
* feat(viewer-lib): Changed the surface normal indicator from the faulty disc to a outlined rectangle. Looks and works much better now
* fix(viewer-lib): Measurements get clipped by sections planes
* faet(viewer-lib): Measurements can now optionally define their own snapping method. Area measurement snaps to first point in screen space. Generic vertex snap still applies if enabled
* fix(viewer-lib): Forgot to project the measured point
* feat(viewer-lib): Double click auto-finishes the area measurmenet by instantly joining with the first point. Right clikc removes current area measurement point so you can 'undo'
* fix(viewer-lib: Fixed a stupid bug relatedto text because somebody thought that making it 'async' would be sooooo cool...
* fix(frontend): Prevent zoom on double click when using area measurement
* chore(viewer-lib): Refined and fomralized a bit now that the general idea of a measurement has got more complex
* chore(viewer-lib): Moved state switching a bit
* chore(viewer-lib): Replaced the old disc normal indicator with the new one and made it standard. Added an option to the gizmo's style that determines the pixels size of the normal indicator
* chore(viewer-lib): Documented the area measurement tool
* chore(viewer-lib): Some updates:
- Implemented proper bounds getter for area measurement
- Got rid of the static vector buffers in Measurement and replaced them with consts where needed
- Reduced the min click timing from 250ms to 150ms
- Other small adjustments
* feat(viewer-lib): Added the option to chain measurements
* chore(frontend-2): Added toggle for measurement chaining
* chore(viewer-lib): Perpendicular measurement chaining now align on the same line as requested
* feat(viewer-lib): Implemented point (coordinate) measurement:
- Added support for billboard offseting in NDC in the shader via vec2 offset uniform. Not a dream come true, but required mostly because of how troika works
- SpeckleText background now follows text anchoring
- Implemented new POINT measurement type
* chore(viewer-lib): Separated label position calculation. We now update only the label transform each frame, instead of updating the entire label redunantly
* chore(viewer-lib): Offsets are now constants. Removed redundant vector and matrix creation
* chore(frontend-2): Placeholder radio button for point measurement type. Fixed compile errors
* fix(viewer-lib): Fixes WEB-3105. Export all measurement types
* updated icons
* Update description
---------
Co-authored-by: andrewwallacespeckle <andrew@speckle.systems>
Co-authored-by: Mike Tasset <mike.tasset@gmail.com>
* 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>
* foundation for new version checks
* canUpdate policy
* can req render
* canReceive
* BE implemented
* FE checks implemented?
* test fix
* improved auth error messaging
* fix lint
* webhooks perm minor fix
* tryna get fileimport service to work
* new comment policies - shared
* BE done?
* checks implemented in FE
* lint fix
* tests fix
* readme fix