Commit Graph

4268 Commits

Author SHA1 Message Date
Kristaps Fabians Geikins de5a5fcc2c serving fonts from tailwind-theme w/o fe2 changes 2024-07-02 17:29:08 +03:00
Mike Tasset 2d73f93c6b Remove fs-extra types 2024-07-02 15:14:32 +02:00
Mike Tasset dd8418fcb3 Added all font variants to theme 2024-07-02 15:11:21 +02:00
Mike Tasset 36d241d7ca Changed font export 2024-07-02 13:31:03 +02:00
Mike Tasset 3b0c1981b3 Added build step for fonts 2024-07-02 12:19:03 +02:00
Mike Tasset 0854720a57 Merge branch 'main' into mike/change-font-to-inter 2024-07-01 11:37:45 +02:00
Mike Tasset 7672d14627 Merge branch 'main' into mike/change-font-to-inter 2024-07-01 10:20:23 +02:00
Kristaps Fabians Geikins e73c2c3d4f fix(fe2): panoramic previews not triggering on hover (#2457)
* fix(fe2): panoramic previews not triggering on hover

* undo dev change
2024-07-01 11:03:07 +03:00
Alexandru Popovici 15e9ad9462 Oboarding undead-patch (#2456)
* Fixed sandbox lint error

* Added back the polar view and setting it. Changed the onboarding hardoced vectors from Z up to Y up, since that's what the camera controller now requires when setting inline views
2024-06-28 21:05:08 +02:00
Kristaps Fabians Geikins 6bfffca0a9 fix: various invite flow fixes & improvements (#2451)
* fix(fe2): show signup CTA for non-registered invitees [web-1144]

* fix: server invite signup error

* WIP project error access block

* feat(fe2): better 'no project access' error screens

* CR fix
2024-06-28 17:26:11 +02:00
Chuck Driesler 0bae93fbf0 Merge pull request #2438 from specklesystems/gergo/web-1146-workspace-creation-service
gergo/web 1146 workspace creation service
2024-06-28 15:46:13 +01:00
Iain Sproat b02db63631 chore(circleci): do not publish ingress image if tests failed (#2454) 2024-06-28 15:43:28 +01:00
Charles Driesler a4c9fbab16 ugh 2024-06-28 14:30:51 +01:00
Charles Driesler fc69e26905 event emitter test 2024-06-28 12:41:49 +01:00
Charles Driesler b0344b1eae workspace repo fct and emitter 2024-06-28 12:31:37 +01:00
Alexandru Popovici daab58ca2a Fixed sandbox lint error (#2450) 2024-06-28 13:09:22 +03:00
Alexandru Popovici 254867e038 Dynamic Near Camera Plane (#2434)
* Added model-viewer's orbit camera control implementation. All the features from the old orbit controls are now functional with the new one

* Figured out the relation between radius and fov. Added zoom decelariting when getting closer to origin. This feature was present in the old controller but lacking in this one

* WIP

* Added infinite zooming

* First version of infinite zoom and zoom to cursor

* A few improvements on zoom to cursor. Inifite zoom and zoom to cursor now work together. Simplified the implementation

* Added orthographic camera functionality in the controller without hte special features

* Zoom to cursor now works with orthographic projections. Switching between perspective and orthographic while keeping all functionality correct now works

* Minor cleanup a ton more to come

* Added controls dampening in the sandbox

* Adapted frontend to the new controller plus some additional changes to the controller options in general

* Implemented setting inline and polar viewers. However mosts of the time spent was dedicated into understanding why the frontend checks for changes in the camera each frame, and if it finds one forces the camera viewer to the inline one. I haven't figured out why it's doing this and it seems very wasteful. There probably is a better way of achieving the same thing

* Orbit Controller now computes it;s cartesian value based on spherical in a function so it can be used in multiple places. Replaced getting the current camera position with the target camera position in frontend frame update callback as the old camera controller did

* Follow mode now works properly

* Sandbox fix

* Disabled debug spheres

* WIP on fly controls

* Correct basis transformations for fly controls

* Added QE up/down movement to fly controls

* Minimum radius is now dynamic and accounts for scene size

* Fixed an issue with zooming to cursor when infinetely zooming

* Fixed inconsistencies between zooming normally and infinetely for both zooming to cursors and otherwise

* Further fixing zooming to cursor when infinetely zooming

* Zoom radius modulation

* Fine tuning zooming radius and wheel modulation. I think I got to some defaults that seem good enough for all scene scales.

* Defaulted to 30ms decau time for dampers

* Added a 'tasOnly' argument in all 'intersect' variants. This will only intersect the TAS(es) and provide an intersection result. When requesting an intersection with 'firstOnly' set, onyl the first intersected TAS will be queried further and it's first intersected BAS will provide the intersection result. Conditioned zooming to cursors by needing to have any geometry under the cursor; Fixed some small issues with  functions in the acceleration structures.

* Restricted intersecting onyl when zooming

* Geometry intersection when zooming does not affect infinetely zoom anymore, only zoom to cursor

* Temporary disabled firstHitOnly

* raycastFirst now works correctly in the context of tasOnly param true or false

* Added dampers to the fly controls so we have consistency across various camera controller types.

* Added statinary function

* WIP on controls

* Debuging orbit controller issues on ipad

* More consolidation work on the interface for SpeckleControl and our current implementations for it

* Added controller toggle-ing

* Making the controllers work from immediate data

* There are no more spaces left I can transform from/to. Done them all. Works fine now essentially. Just need to clean stuff up

* SpeckleControls now provide an 'up' vector, and basis transformation is computed that way rather than requirig a mat4 directly. Fixed two issues with event locking on orbit and fly

* More cleanup, more fixes, more grind

* Controllers now have consistency in the basis they provide the position and target into. As well as the fromPositionAndTarget function. It will always be in a basis where (0,1,0) is up. This is required because certain parts of three.js assume that basis

* FlyController is now properly relative-itiez

* Sorted out options for both controls. Dampening is now done via options

* Small fixes for frontend integration

* Fixed the issue with quaternions misaligning around PI

* Added consistent orthographic resizing

* Fixed camera focusing when in orthographic mode

* Implemented disabling/enabling rotations with the new controls. Removed PolarView since it was never used. Canonical views WIP

* Made the HybridCameraController with the simplest implementation possible that seamslessly combines both camera controls. This is for testing to get an idea about how it feels. Removed zoomToCursors when not on geometry. Increased regular zoom speed

* Using constants since move speed is a modifier

* lock fix

* Removed HybridCameraController. Increased maximum zoom. Removed toggling camera controls with Space. New way to apply canonic views, this time a correct one

* Handled WEB-1102. Kept the old empiric near plane calculation. Still usable through the camera controller's options. Moved far plane calculation from SpeckleRenderer to CameraController.

* Implemented a closestPointToPoint on a halfplane. This is so that the BVH gives us the closest point on the positive halfplane of the camera and the resulting minimal distance to the 0 camera plane is correct. Added fallback to empiric near plane calculation when the scene does not contain a built BVH, aka it's only points and/or lines
2024-06-28 12:23:11 +03:00
Mike 7f8946b008 Merge pull request #2447 from specklesystems/mike/move-server-management-table-to-layout-table
Fix: Change ServerManagementTable to LayoutTable
2024-06-28 09:59:01 +02:00
Kristaps Fabians Geikins 1da1c4e30a feat(fe2): redirects for legacy/fe1 embed routes (#2432) 2024-06-28 10:52:09 +03:00
Gergő Jedlicska c046979640 test(workspaces): fix tests 2024-06-28 07:50:14 +02:00
Mike Tasset 8c22ac3736 Formatting 2024-06-27 15:40:28 +02:00
Mike Tasset 566562466f Changed ServerManagementTable to LayoutTable 2024-06-27 15:39:32 +02:00
Iain Sproat e55a94028d fix(metrics): include num pending validations in knex metrics (#2444) 2024-06-27 14:05:02 +01:00
Iain Sproat d851cecc02 feat(metrics): calculate remaining capacity in pg connection pool (#2443)
* feat(metrics): calculate remaining capacity in pg connection pool

* Apply metric to all relevant services
2024-06-26 21:23:56 +01:00
Gergő Jedlicska d4ef3e97df feat(workspaces): add blob store as workspace create deps 2024-06-26 21:47:16 +02:00
Gergő Jedlicska ddf5480d71 Merge branch 'main' of github.com:specklesystems/speckle-server into gergo/web-1146-workspace-creation-service 2024-06-26 21:30:42 +02:00
Gergő Jedlicska 7c16abc8eb feat(workspace): 1119 define workspaces dataschema (#2431)
* feat(workspaces): add workspaces module with roles and scopes

* feat(workspaces): add domain, graphql and persistent storage dataschema

* fix(workspaces): correct db injections

* chore(workspaces): add EE license

* chore(license): mentions workspaces separately in license file

* fix(core): roles import in migration

* fix(workspaces): drop workspace_acl on down migration

* fix(workspaces): roles constants

* fix(workspaces): coding standards

---------

Co-authored-by: Dimitrie Stefanescu <didimitrie@gmail.com>
2024-06-26 17:00:56 +02:00
Alexandru Popovici 07dff717cf Colored Points by Properties Fix (#2436)
* Fix for points not getting the gradient texture with the colors when filtering by properties

* Allowed Points to use displayStyle
2024-06-26 13:27:31 +03:00
Iain Sproat c23557050d Healthchecks should only be debug level of log (#2440) 2024-06-26 11:26:44 +01:00
Iain Sproat 34a65dd378 feat(helm): allow pretty-format logging to be enabled in helm chart (#2433)
* feat(helm): allow pretty-format logging to be enabled in helm chart

* fix json schema

* ensure helm linting occurs after the json schema is updated

* Booleans must be quoted when passed to environment variables
2024-06-25 19:12:03 +02:00
Iain Sproat 63b367179b chore(deps): bump pug from 3.0.2 to 3.0.3 (#2430)
- addresses CVE-2024-36361
2024-06-25 16:37:53 +01:00
Gergő Jedlicska ff0cd77483 feat(workspaces): wip workspace creation 2024-06-25 17:07:38 +02:00
Mike Tasset c87ec1ccea Added inter 2024-06-25 17:04:27 +02:00
Gergő Jedlicska b59c24c844 fix(workspaces): roles constants 2024-06-25 15:40:41 +02:00
Gergő Jedlicska 8696a73d44 fix(workspaces): drop workspace_acl on down migration 2024-06-25 15:31:28 +02:00
Gergő Jedlicska 70552f1e5a fix(core): roles import in migration 2024-06-25 15:19:05 +02:00
Benjamin Ottensten fc76fd9f4f Various polishing around the product (#2427)
* Update header navigation

Logo, share button color, breadcrumb colors, spacings

* Updates to main button component

Shadows, border on secondary button, less spacings to icons

* Update spacings in dialog after bew button styling

* Use secondary button in embed dialog

* Update select inputs

Spacing, icon, border on dropdown, smaller avatars

* Update inputs to use the new styling

* Various copy updates

* Update icons

Smaller icons, outline instead of solid, removed some icons that were unnecessary

* Switch order of actions in Delete dialog

* Update styling of inline New model action

* Remove strange BG effect on comments component

* Update styling of hide/isolate actions in viewer

Was necessary after the button styling change. But new copy also makes it more usable.

* Fix alignment issue in selection info panel

* Align styling in Viewer panel component

* Clean up measure usage tips

A permanent "Right click to cancel measurement" tip isn't needed

* Panel spacing

* Update actions in the add model to viewer dialog

* Update permissions input in new project dialog

* Two minor things

* Remove unnecessary flex classes

---------

Co-authored-by: andrewwallacespeckle <andrew@speckle.systems>
2024-06-25 14:43:50 +02:00
Dimitrie Stefanescu c4bd9f73df Dim/closures patches (#2428)
* fix(server): advanced query route fix

* fix(server): fixes getObjectsChildrenStream

* fix(server): fixes getObjectChildrenStream in preview service copy pasted code@
2024-06-25 14:31:15 +02:00
Alexandru Popovici f844b6d22e Viewer Navigation (#2416)
* Added model-viewer's orbit camera control implementation. All the features from the old orbit controls are now functional with the new one

* Figured out the relation between radius and fov. Added zoom decelariting when getting closer to origin. This feature was present in the old controller but lacking in this one

* WIP

* Added infinite zooming

* First version of infinite zoom and zoom to cursor

* A few improvements on zoom to cursor. Inifite zoom and zoom to cursor now work together. Simplified the implementation

* Added orthographic camera functionality in the controller without hte special features

* Zoom to cursor now works with orthographic projections. Switching between perspective and orthographic while keeping all functionality correct now works

* Minor cleanup a ton more to come

* Added controls dampening in the sandbox

* Adapted frontend to the new controller plus some additional changes to the controller options in general

* Implemented setting inline and polar viewers. However mosts of the time spent was dedicated into understanding why the frontend checks for changes in the camera each frame, and if it finds one forces the camera viewer to the inline one. I haven't figured out why it's doing this and it seems very wasteful. There probably is a better way of achieving the same thing

* Orbit Controller now computes it;s cartesian value based on spherical in a function so it can be used in multiple places. Replaced getting the current camera position with the target camera position in frontend frame update callback as the old camera controller did

* Follow mode now works properly

* Sandbox fix

* Disabled debug spheres

* WIP on fly controls

* Correct basis transformations for fly controls

* Added QE up/down movement to fly controls

* Minimum radius is now dynamic and accounts for scene size

* Fixed an issue with zooming to cursor when infinetely zooming

* Fixed inconsistencies between zooming normally and infinetely for both zooming to cursors and otherwise

* Further fixing zooming to cursor when infinetely zooming

* Zoom radius modulation

* Fine tuning zooming radius and wheel modulation. I think I got to some defaults that seem good enough for all scene scales.

* Defaulted to 30ms decau time for dampers

* Added a 'tasOnly' argument in all 'intersect' variants. This will only intersect the TAS(es) and provide an intersection result. When requesting an intersection with 'firstOnly' set, onyl the first intersected TAS will be queried further and it's first intersected BAS will provide the intersection result. Conditioned zooming to cursors by needing to have any geometry under the cursor; Fixed some small issues with  functions in the acceleration structures.

* Restricted intersecting onyl when zooming

* Geometry intersection when zooming does not affect infinetely zoom anymore, only zoom to cursor

* Temporary disabled firstHitOnly

* raycastFirst now works correctly in the context of tasOnly param true or false

* Added dampers to the fly controls so we have consistency across various camera controller types.

* Added statinary function

* WIP on controls

* Debuging orbit controller issues on ipad

* More consolidation work on the interface for SpeckleControl and our current implementations for it

* Added controller toggle-ing

* Making the controllers work from immediate data

* There are no more spaces left I can transform from/to. Done them all. Works fine now essentially. Just need to clean stuff up

* SpeckleControls now provide an 'up' vector, and basis transformation is computed that way rather than requirig a mat4 directly. Fixed two issues with event locking on orbit and fly

* More cleanup, more fixes, more grind

* Controllers now have consistency in the basis they provide the position and target into. As well as the fromPositionAndTarget function. It will always be in a basis where (0,1,0) is up. This is required because certain parts of three.js assume that basis

* FlyController is now properly relative-itiez

* Sorted out options for both controls. Dampening is now done via options

* Small fixes for frontend integration

* Fixed the issue with quaternions misaligning around PI

* Added consistent orthographic resizing

* Fixed camera focusing when in orthographic mode

* Implemented disabling/enabling rotations with the new controls. Removed PolarView since it was never used. Canonical views WIP

* Made the HybridCameraController with the simplest implementation possible that seamslessly combines both camera controls. This is for testing to get an idea about how it feels. Removed zoomToCursors when not on geometry. Increased regular zoom speed

* Using constants since move speed is a modifier

* lock fix

* Removed HybridCameraController. Increased maximum zoom. Removed toggling camera controls with Space. New way to apply canonic views, this time a correct one
2024-06-25 15:21:47 +03:00
Dimitrie Stefanescu f0cc60ff6e chore(license): mentions workspaces separately in license file 2024-06-25 12:36:16 +01:00
Gergő Jedlicska 4d848eff04 Merge branch 'main' of github.com:specklesystems/speckle-server into gergo/web-1119-define-workspaces-dataschema 2024-06-25 13:26:37 +02:00
Gergő Jedlicska c6cd4c311d feat(serverinvites): create domain module in server invites (#2401)
* chore(serverinvites): repository refactor for multiregion

* chore(serverinvites): remove migrated functions from old repository

* chore(serverinvites): refactor serverInviteForToken resolver for multiregion

* chore(serverinvites): invite processing service refactor for multiregion

* chore(serverinvites): subscription refactor for multiregion

* chore(serverinvites): move buildEmailContents to dedicated file

* chore(serverinvites): deleteAllStreamInvites function multiregion refactor

* chore(serverinvites): refactor deleteServerOnlyInvites multiregion repository

* chore(serverinvites): complete repository refactor for multiregion

* feat(serverinvites): create domain module in server invites

* fix(serverinvites): no relative imports

* feat(serverinvites): extract individual types from repository

* feat(serverinvites): move interfaces to operations

* fix(serverinvites): update imports referencing old interfaces file

* fix(serverinvites): type mismatch for insert invite and delete old

* chore(serverinvites): refactor to single repo function

* test(serverinvites): fix tests

* fix(serverinvites): use domain types in all places

* feat(serverinvites): WIP unity

* feat(serverinvites): move to new facory names and types

* feat(serverinvites): fix tests

* fix(serverinvites): use factory name

---------

Co-authored-by: Alessandro Magionami <alessandro.magionami@gmail.com>
2024-06-25 13:24:37 +02:00
Gergő Jedlicska 7714cc87a8 chore(workspaces): add EE license 2024-06-25 13:23:19 +02:00
Dimitrie Stefanescu ae0eebafae Merge pull request #2426 from iltabe/gt/2425-object-sender-zeros
fix: object-sender, allows empty strings and zeros props to be serialized
2024-06-24 10:51:44 +01:00
iltabe ac242f5f2f allows empty strings and zeros props to be serialized 2024-06-24 09:45:09 +02:00
Gergő Jedlicska 7c30115a11 fix(workspaces): correct db injections 2024-06-22 12:34:59 +02:00
Gergő Jedlicska 549a38dd53 feat(workspaces): add domain, graphql and persistent storage dataschema 2024-06-22 11:32:54 +02:00
Gergő Jedlicska 0b98278d86 feat(workspaces): add workspaces module with roles and scopes 2024-06-21 18:40:46 +02:00
Iain Sproat 08d1bffdf6 chore(do/1-click): sunset DigitalOcean 1-click app (#2074) 2024-06-21 17:26:04 +01:00
Iain Sproat 2e59d231b5 feat(preview-service): allow metrics port to be configured (#2421)
* feat(preview-service): allow metrics port to be configured

* Allow configurable port
2024-06-21 17:04:23 +01:00