AlexandruPopovici
c7a2390bf3
#783 Implemented multi selection via multiple draw range with automatic fill of groups. Implemented selection of multiple objects when clicking something in the world, if that object is part of a whole and it needs to be selected together with others. It's not perfect yet, I;ve seen some bad selections, but will fix that soon
2022-06-17 17:28:39 +03:00
AlexandruPopovici
d508eb6d5b
#783 . Implemented separate materal draw ranges for the line batches. Added the Batch common interface and separate the MeshBatch from the LineBatch, both implementing the Batch interface. Selection now works properly for both meshes and lines
2022-06-16 19:40:32 +03:00
AlexandruPopovici
4d764c166c
#783 Implemented line batch colouring using an additional InstancedBufferAttribute where each line segment can have it's own color. This way we can know which subset to color differently. Transparency is also supported in theory, but will get to that later on. Also started to split the mesh batch from the line batch since they will be conceptualyl different, but share a common contract
2022-06-16 17:19:41 +03:00
AlexandruPopovici
6084a4849c
#783 Implemented picking for the batched meshes
2022-06-15 17:30:04 +03:00
AlexandruPopovici
059893da30
#783 Fixed an issue with some types of lines and the current batching system which made the batched lines look really broken
2022-06-15 14:44:44 +03:00
AlexandruPopovici
1846554778
#783 Working on picking and fixing some issues which arose a few days ago regarding some types of lines when I switched to full-tree represenation
2022-06-15 11:13:25 +03:00
AlexandruPopovici
2157631def
#783 Fixed an issue where some meshes were left out of batching. Added transparency to materials that require it. Seems to be working fine so far, though we might see issues in the future]
2022-06-14 13:01:04 +03:00
AlexandruPopovici
ae46d0ce5e
#783 Fixed an issue with batching a single mesh at the end of the batch list. Geometries can now inherit render materals/display styles from their entire hierarchy
2022-06-14 01:26:16 +03:00
AlexandruPopovici
b5c6e4ac37
#783 Fixed RTE not working with batched line segments
2022-06-13 22:42:06 +03:00
AlexandruPopovici
6cf41f64c4
#783 . Some changes regarding materials, default materials and material hashes
2022-06-13 22:26:41 +03:00
AlexandruPopovici
bee051ff49
#783 . Implemented line batching. This is actually a big change, since the prevous viewers did not have line batching and it was causing huge performance problems with having to render thousands of lines separately. As expected, batching lines did require a bit of a change to how we render the actual line geometries, but managed to get most of them in. Still need to account for high/low buffer splitting for the individual segments.
2022-06-10 17:08:58 +03:00
AlexandruPopovici
757cc7e666
783. Continued working on batching. Got first batches to render on the screen. A bit messed up, but it's something
2022-06-10 00:08:03 +03:00
AlexandruPopovici
f2c11abb23
#783 . Started working on the Batcher will will organize the render nodes into batches that minimize draw calls neatly
2022-06-09 18:02:13 +03:00
AlexandruPopovici
386500be7a
#783 Removed the concept of nested nodes. It was complicating matters unnecessarily. Any nodes inside other nodes display values are chidlren of that node now.
2022-06-09 13:09:55 +03:00
AlexandruPopovici
665fda37ae
#783 . Started working on materials and their render tree interaction
2022-06-09 00:10:10 +03:00
AlexandruPopovici
36da0e38e2
#783 Fixed an issue where the display values for non-geometry nodes was ignored
2022-06-07 14:29:49 +03:00
AlexandruPopovici
ab353fc87c
#783 Fixed an issue with transforming hierarchies of nodes inside Block Instances. Fixed an issue with Spirals not being interpreted as their display value (default behavior). Cleaned up Converter. It's nice and short now
2022-06-06 22:47:16 +03:00
AlexandruPopovici
99e9e8c36f
Fixed some issues with node conversions and geometry conversions. Added auth token if exists to the object loader in sandbox. Remove all old code from Converter. Only the '...toNode' conversions remain. Tested some more
2022-06-06 17:48:05 +03:00
AlexandruPopovici
8c3fb6cb4c
Added inherited transforms for all objects within block instances
2022-06-03 19:44:11 +03:00
AlexandruPopovici
cbdccb1ace
Merged with a lot of local stuff
2022-06-03 16:39:02 +03:00
AlexandruPopovici
fcea53ddd2
Implemented the concept of RenderTree which just extends the functionality of the general purpose WorldTree. Moved all geometry conversions to a seaprate source where no async, no fetches, no special things happen, with the intent of possibly moving this to a webworker in the future
2022-06-03 16:37:06 +03:00
AlexandruPopovici
59ad804227
working on tree parsing
2022-06-02 17:18:07 +03:00
Alexandru Popovici
9b81618f58
Manged to bundle a default hdri with the viewer. The clients can eith… ( #779 )
...
* Manged to bundle a default hdri with the viewer. The clients can either use the default one, or specify their own
* Added a comment describing why we're hiding the .exr behind a .png. Fixed some lint errors/warnings
2022-05-30 12:38:59 +03:00
AlexandruPopovici
0853a5acb2
Fixed an issue with selecting lines which are inside block instances. However that still doesn't work properly because the actual geometry isn't getting tested at pick time due to some issues inside SelectionHelper
2022-05-26 17:41:06 +03:00
Fabians
b12d51463d
Merge branch 'alex/viewer-redux' of github.com:specklesystems/speckle-server into alex/viewer-redux
2022-05-26 16:55:58 +03:00
Fabians
be87f88ff6
viewer asset support
2022-05-26 16:55:09 +03:00
AlexandruPopovici
e43f7136b8
#746 Fixed some issues regarding selecting lines and the visual response looks
2022-05-26 16:03:52 +03:00
AlexandruPopovici
482862d896
Fixes regarding block instances and selecting stuff
2022-05-26 14:56:26 +03:00
AlexandruPopovici
c55f73185f
Merged with main. Fixed an issue with geometry baking
2022-05-26 11:46:19 +03:00
AlexandruPopovici
448ae95d8b
Added a sample hdr to the assets
2022-05-26 11:01:11 +03:00
AlexandruPopovici
abf636c946
#746 . Used vector buffers in the speckle materials to avoid pointless nursery pressure. Some lint-related fixes
2022-05-26 10:20:44 +03:00
AlexandruPopovici
168838b059
Fixed lint errors
2022-05-25 17:34:14 +03:00
Alexandru Popovici
12d3a216b6
Fixed transformation order for arcs. Fixed origin not being scaled accordingly ( #769 )
2022-05-25 16:31:10 +03:00
AlexandruPopovici
f2fdf545b7
Added automatic loader selection based on file extension. Changed the default environment in the sandbox
2022-05-25 12:29:39 +03:00
Alexandru Popovici
40f7487cfd
Acos fix ( #766 )
...
* Fixed an issue where floating point precision would lead to acos returning NaN
* Wrong paranthesis close
2022-05-24 16:46:45 +03:00
Fabians
758d4fb125
attempted viewer build fix
2022-05-24 15:59:56 +03:00
AlexandruPopovici
439201ce0e
Merged with main
2022-05-24 12:12:30 +03:00
AlexandruPopovici
71ce007a08
#746 . Added remaining material extensions and replaced them where required.
2022-05-24 12:08:28 +03:00
AlexandruPopovici
81a4de69b2
#746 . Figured out how to clamp the world space thick lines to any pixel value when they're screen size width becomes less than 1 pixel and they start to basically dissapear.
2022-05-20 15:57:57 +03:00
Gergő Jedlicska
638969cd01
gergo/yarn ( #753 )
...
* yarn first go
* fix frontend build cache loader
* yarn workspaces built server Docker
* build(yarn): add workspaces plugin config
* chore(package defs): clean package*.json -s
* chore(gitignore): ignore yarn error log
* build(yarn): update yarn lock
* build(preview-service webpack): add extra resolved path to preview service webpack config
because of yarn package hoisting, there are no package level node_modules folder anymore.
* build(docker): update dockerignore with yarn specific configs
* build(docker): update Dockerfiles for yarn workspaces utilization
* ci(circleci): update server test job to yarn
* ci(circle): disable cache restore
* ci(circleci): trying the node orb yarn-run
* ci(circleci): yarn-run again
* ci(circleci): disable node orb
* ci(circleci): change base node image for tests
* ci(circleci): add yarn cache
* ci(circleci): remove node install step
* ci(circleci): add server specific cache archives
* ci(circleci): test build and publish
* ci(circleci): change npm auth method to suit yarn
* ci(circleci): trying new builder image
* ci(circleci): another base image, maybe this works
* ci(circleci): force a specific docker engine version
* ci(circleci): add yarn version plugin and its changes
* ci(circleci): cleanup and remove temp branch config
* chore(package defs): moving from npm run to yarn
* explicitly specifying webpack4 as a frontend dep
* chore(package defs): replace npm with yarn everywhere
* docs(root readme): update with some yarn specific docs
* chore(root workspace): update dev scripts and package lock
* ci(circleci): enable package publish step with yarn
Co-authored-by: Fabians <fabis94@live.com >
2022-05-19 19:53:07 +02:00
AlexandruPopovici
1599970f22
#746 Made the new thick lines work with RTE
2022-05-19 13:05:34 +03:00
AlexandruPopovici
1eb44d00d9
Updated three.js version to 140. Thick lin raycasting now properly works in world space and also the threshold in world space is now accurate.
2022-05-18 11:53:50 +03:00
AlexandruPopovici
e574623a43
#746 Fixed an issue with RTE and basic line geometry. Group transforms were not baked into the high and low attributes. Now they work correctly
2022-05-17 22:42:06 +03:00
AlexandruPopovici
a3c7dcf408
#746 Implemented RTE for basic line materials (non thick)
2022-05-17 17:53:49 +03:00
AlexandruPopovici
742d83296e
#746 Added real time switching between thick and regular lines
2022-05-17 17:12:02 +03:00
AlexandruPopovici
832f537dc7
Added realtime switching between RTE and non-RTE rendering. The speckle materials now have conditional compiling regarding RTE implementation
2022-05-17 15:56:32 +03:00
AlexandruPopovici
e3cd5ae1f0
#746 A lot of changes to Geometry. Started integrating RTE with the viewer
2022-05-17 14:52:38 +03:00
AlexandruPopovici
b0a138fa6e
#746 Delete original geometry data after merging
2022-05-13 11:37:37 +03:00
AlexandruPopovici
27a5814d52
#746 . More or less finished with refactoring the converter. There is now an intermediary layer between the speckle data parsing and actual three.js geometry. There is also an intermediary data type being passed around the converter and the geometry handler
2022-05-12 19:41:02 +03:00
AlexandruPopovici
8877720c5a
#746 . Continued working on the converter. Added an intermediary layer between the converted and the scene object loader. Added the concept of GeometryData, and implemented it for some of the speckle types.
2022-05-11 18:12:04 +03:00