Commit Graph

266 Commits

Author SHA1 Message Date
Claire Kuang baa5f54edb Merge pull request #217 from specklesystems/jedd/cnx-1114-add-support-for-vertex-normals
Vertex Normals
2025-02-13 12:41:57 +00:00
Jedd Morgan d580fd0bc1 Merge remote-tracking branch 'origin/dev' into jedd/cnx-1114-add-support-for-vertex-normals 2025-02-13 10:56:17 +00:00
Adam Hathcock 2352306269 add ability for objectloader to skip server too. (#228)
* add ability for objectloader to skip server too.  add test so both cache and server can't be skipped

* move testing project to correct dir

* remove extra file
2025-02-13 09:41:07 +00:00
Jedd Morgan f0bafee076 gql api changes (#226) 2025-02-12 13:50:13 +00:00
Jedd Morgan fe68607a52 Smaller chunks for consistency 2025-02-05 16:47:01 +00:00
Jedd Morgan 88d15a5c9c Merge remote-tracking branch 'origin/dev' into jedd/cnx-1114-add-support-for-vertex-normals 2025-02-05 15:54:47 +00:00
Adam Hathcock 3072047129 Use priority scheduler like serialize process to constrain Task enqueuing (#223)
* Use priority scheduler like serialize process to constrain Task enqueuing

* renamespace

* Fix tests and format
2025-02-05 15:36:26 +00:00
Adam Hathcock 316379b04c Update to AwesomeAssertions and update verify (#224)
* Update to AwesomeAssertions and update verify

* attempt to solve disposal problem
2025-02-05 14:03:28 +00:00
Adam Hathcock b056d98645 don't dispose the blocking collection when cancelling (#222)
* don't dispose the blocking collection

* dispose deserialize process correctly

* don't use enumerable and token

* format
2025-02-04 13:14:31 +00:00
Oğuzhan Koral 7329155d7a Fix: Return fast before traverse for wrong ids (#221)
* Return fast before traverse for wrong ids

* add and freeze all ids for a shortcut lookup

* add comment

---------

Co-authored-by: Adam Hathcock <adam@hathcock.uk>
2025-02-03 14:35:33 +00:00
Jedd Morgan c9a5103da7 added workflows back into sln (#219) 2025-02-03 12:49:59 +00:00
Adam Hathcock dbdf4892db dispose BC only when all threads are done. (#220)
* dispose BC only when all threads are done.

* format
2025-02-03 12:10:29 +00:00
Adam Hathcock 3aa993cecb Add cancellation tests (#218)
* Don't log cancelling

* redo exception handling for receive

* remove null test case

* clean up with Id/Json and more cancels

* Change the exception stacks

* fix serialization test

* make a custom scrubber for internalized exceptions

* clean up

* fix namespaces again :(

* adjust the scrubber

* try to make tests more predictable

* rework exceptions again

* strip out compile files used

* formatting

* custom exception validation

* fix init

* Move serialization to own class

* save serialize test

* add deep clean

* add cancellation test on save to cache

* cancellation tests

* format

* do DI correctly

* receive cancel works
2025-01-30 13:42:15 +00:00
Jedd Morgan 327f05adca Merge branch 'dev' into jedd/cnx-1114-add-support-for-vertex-normals 2025-01-27 13:40:48 +00:00
Jedd Morgan ec0d4bf1e3 Vertex Normals 2025-01-27 13:40:30 +00:00
Jedd Morgan 73afa28026 Reamed workflow actions for clarity (#215) 2025-01-27 13:35:06 +00:00
Jedd Morgan f0c7169be8 Small QOL tweaks to Version.Create and ProjectModelsFilter (#210)
* Version Create now returns a Version

* ProjectModelsFilter now has optional args
2025-01-24 12:19:54 +00:00
Jedd Morgan ee10e9d3fc author on Model is now made nullable (#214) 2025-01-24 12:09:12 +00:00
Adam Hathcock 93912d6712 Fix cancellation in schedular. It's no longer optional (#213)
* Fix cancellation in schedular.  It's no longer optional

* formatting

* fix tests because of stacktrace
2025-01-24 11:24:51 +00:00
Adam Hathcock f81fc97a91 Add exception handling for SerializeProcess with CancellationTokenSource (#211)
* Add exception handling for SerializeProcess with CancellationTokenSource

* formatting

* add exception test to make sure we handle a server exception

* add extra exception and handling to stop

* add comment and another test

* one last chance for user to cancel

* formatting
2025-01-23 17:06:08 +00:00
Claire Kuang cc23c147be Merge pull request #200 from specklesystems/claire/cnx-931-create-archicadobject-in-speckle-sharp-sdk
feat(objects): cnx 931 create archicadobject
2025-01-22 11:36:33 +00:00
Claire Kuang 02892a96fe Update ArchicadObject.cs 2025-01-21 20:51:19 +00:00
Claire Kuang ba143fe44b Merge branch 'dev' into claire/cnx-931-create-archicadobject-in-speckle-sharp-sdk 2025-01-21 18:02:07 +00:00
Jedd Morgan 3a71a10cf1 First pass increasing test coverage (#209)
* point tests

* Mesh Tests and removal of unused functions

* Vector tests

* more tests
2025-01-21 14:19:10 +00:00
Adam Hathcock bafd130ece Snapshot testing (#208)
* snapshot testing with verify

* formatting

* add back old serialization tests

* pass verify

* use json correctly

* formatting

* Don't use Quibble and order ourselves because ordering doesn't matter

* whitespace on snapshot

* Better json diffing?  Quibble is back

* add common project

* add object unit tests to see how verify would work

* format

* move random exes to new solution folder

* update lock files
2025-01-16 13:46:53 +00:00
Claire Kuang f79ae7e058 Merge pull request #202 from specklesystems/jedd/cxpla-154-enforce-nullability-analysers-in-objects-and-use-required
Jedd/cxpla 154 enforce nullability analysers in objects and use required
2025-01-15 18:54:08 +00:00
Claire Kuang 77170bf9f3 Merge branch 'dev' into jedd/cxpla-154-enforce-nullability-analysers-in-objects-and-use-required 2025-01-15 17:19:07 +00:00
Adam Hathcock 69167dc206 update some deps and add locks to versions for known packages (#207) 2025-01-15 16:11:04 +00:00
Adam Hathcock 19a5ccfb74 Merge branch 'dev' into claire/cnx-931-create-archicadobject-in-speckle-sharp-sdk 2025-01-14 08:44:47 +00:00
Adam Hathcock b3c6a75387 add a task.yield for a cached model to let progress happen (#204) 2025-01-14 08:44:10 +00:00
Oğuzhan Koral c6556fa2ef Merge branch 'dev' into claire/cnx-931-create-archicadobject-in-speckle-sharp-sdk 2025-01-14 10:37:40 +03:00
Claire Kuang 3bc40fb0bb removes classification and adds elements prop 2025-01-13 15:55:09 +00:00
Adam Hathcock 4370af5376 Allow SDK to report requested downloaded objects and minor adjustments (#203)
* Allow SDK to report requested downloaded objects and minor adjustments

* Remove xyz get server info test
2025-01-13 12:48:28 +00:00
Jedd Morgan 912971d8de reverted unnecessary change to DataObject 2025-01-10 18:29:57 +00:00
Jedd Morgan 9318d85cc8 Merge remote-tracking branch 'origin/dev' into jedd/cxpla-154-enforce-nullability-analysers-in-objects-and-use-required 2025-01-10 15:34:19 +00:00
KatKatKateryna deddb216e5 Gis objects cleaning (#181)
* add Polygon to Geometry; add GisObject

* cleaning objects

* removed final GIS classes

* remove IGisFeature interface

* required keywords for CRS

* required boundary; renaming

* delete the rest of the classes

---------

Co-authored-by: Claire Kuang <kuang.claire@gmail.com>
Co-authored-by: Jedd Morgan <45512892+JR-Morgan@users.noreply.github.com>
2025-01-10 15:33:12 +00:00
Jedd Morgan 465d69ba00 Enforce correct nullability with required 2025-01-10 13:37:18 +00:00
Adam Hathcock 14d959834f Convert to Xunit (#196)
* xunit unit tests

* most pass with formatting

* convert objects to xunit

* remove nunit

* format

* merge fixes

* switch objects to fluent assertions

* update to fluent assertions

* more FA

* convert all to FA

* Format

* Fix tests

* formatting

* hopefully made credential test better

* Catch more specific exception

* use another more specific exception

* Fix tests

* update to xunit

* update packages
2025-01-09 15:32:28 +00:00
Adam Hathcock 465f635142 Add details to sqlite exceptions (#198)
* add ServerObjectManagerFactory

* add usage of a command pool

* add more disposal

* save saving increase

* fix tests

* fixes

* push out concurrency and disposablity

* Add a custom task scheduler

* Better usage, don't wait to enqueue to save to channels

* Completely pre-cal batch size to avoid spinning issues

* Try to fix cache counting

* properly dispose things

* format

* clean up

* adjust count and save on current thread

* move batch it's own file

* update a few packages

* fix build and add batch tests

* revert and format

* Revert "save saving increase"

This reverts commit 3b50c857fb.

* revert change

* adjust and add tests

* Dispose sqlite manager properly

* Make Batch a IMemoryOwner to allow for pooling

* Fix tests

* Upgrade some deps

* try to make tests more explicit

* remove return value

* Add detailed SqLiteJsonCacheException

* details changes
2025-01-09 11:04:14 +00:00
Adam Hathcock ed5bdc91ed Sqlite pooling for connections and commands (#193)
* add ServerObjectManagerFactory

* add usage of a command pool

* add more disposal

* save saving increase

* fix tests

* fixes

* push out concurrency and disposablity

* Add a custom task scheduler

* Better usage, don't wait to enqueue to save to channels

* Completely pre-cal batch size to avoid spinning issues

* Try to fix cache counting

* properly dispose things

* format

* clean up

* adjust count and save on current thread

* move batch it's own file

* update a few packages

* fix build and add batch tests

* revert and format

* Revert "save saving increase"

This reverts commit 3b50c857fb.

* revert change

* adjust and add tests

* Dispose sqlite manager properly

* Make Batch a IMemoryOwner to allow for pooling

* Fix tests

* Upgrade some deps

* try to make tests more explicit

* remove return value

* Use named tuple for all objects
2025-01-08 11:04:32 +00:00
Claire Kuang 0023d2ca2a Merge branch 'dev' into claire/cnx-931-create-archicadobject-in-speckle-sharp-sdk 2025-01-06 14:23:42 +00:00
Claire Kuang ab487991b6 Update ArchicadObject.cs 2025-01-06 14:07:12 +00:00
Claire Kuang 142eefdf39 adds archicad data object and interface
also removes unused gis classes
2025-01-06 14:05:28 +00:00
Adam Hathcock 11fe8e8cce Use CancellationSource to properly dispose of threads in PriorityScheduler (#197)
* Use CancellationSource to properly dispose of threads in PriorityScheduler

* formatting
2025-01-03 14:25:29 +00:00
Adam Hathcock 1fe1a54dcf Custom task scheduler for serialization, fix batch size calc (#194)
* Add a custom task scheduler

* Better usage, don't wait to enqueue to save to channels

* Completely pre-cal batch size to avoid spinning issues

* Try to fix cache counting

* properly dispose things

* format

* clean up

* adjust count and save on current thread

* move batch it's own file

* update a few packages

* fix build and add batch tests
2025-01-03 12:26:19 +00:00
Adam Hathcock a1b9030dba Fixes Markdown to be non HTML based for github and nuget (#195) 2025-01-02 10:12:46 +00:00
Adam Hathcock eec400d0cf Fix DataObject inheritance (#192) 2024-12-19 14:34:15 +00:00
Adam Hathcock 991b31265f Fix data chunks getting written with closure tables (#191)
* Never write closures for datachunks

* add tests and format

* add another test with array and reuses reference

* Remove a writeline in tests
2024-12-17 16:49:17 +03:00
Adam Hathcock 675d896e0d Add method to replace in sqlite (#190) 2024-12-16 15:01:53 +03:00
Adam Hathcock defcee165a Closures are kept for children instead of global (#189)
* disable channels when skipping things

* pass child closures to current.  Current closures out to parent.

* fix build

* adjust options

* use a dictionary pool and pool correctly

* add pools for data chunks

* format
2024-12-13 11:00:21 +00:00