Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Rust/Webassembly octree implementation for faster point-object assignment #2327

Merged
merged 165 commits into from
Sep 16, 2022

Conversation

haakonflatval-cognite
Copy link
Contributor

@haakonflatval-cognite haakonflatval-cognite commented Aug 9, 2022

Description

An attempt at creating a faster octree for point-object assignment using Rust/Webassembly.

Checklist:

Here is a checklist that should completed before merging this given feature.
Any shortcomings from the items below should be explained and detailed within the contents of this PR.

  • I am proud of this feature.
  • I have performed a self-review of my own code.
  • I have manually tested this for different scenarios (different models, formats, devices, browsers).
  • I have commented my code in hard-to-understand areas.
  • I have made corresponding changes to the public documentation.
  • I have added unit and visuals tests to prove that my feature works to the best of my ability.
  • I have refactored the code for readability to the best of my ability.
  • I have checked that my changes do not introduce regressions in the public documentation.
  • I have outlined any known defects / lacking capabilities in the contents of this PR.
  • I have listed any remaining work that should follow this PR in the description or jira/miro/etc.
  • I have added TSDoc to any public facing changes.
  • I have added "developer documentation" in any package README.md that is related / applicable to this PR.
  • I have noted down and am currently tracking any technical debt introduced in this PR.
  • I have thoroughly thought about the architecture of this implementation.
  • I have asked peers to test this feature.

@haakonflatval-cognite haakonflatval-cognite changed the base branch from master to hflatval/object-bounding-volume-hierarchy August 9, 2022 14:05
@lgtm-com
Copy link

lgtm-com bot commented Aug 12, 2022

This pull request introduces 1 alert when merging b887b82 into 63118d1 - view on LGTM.com

new alerts:

  • 1 for Unused variable, import, function or class

@lgtm-com
Copy link

lgtm-com bot commented Aug 15, 2022

This pull request introduces 1 alert when merging ec09ed3 into 63118d1 - view on LGTM.com

new alerts:

  • 1 for Unused variable, import, function or class

@lgtm-com
Copy link

lgtm-com bot commented Aug 16, 2022

This pull request introduces 1 alert when merging bef073f into 63118d1 - view on LGTM.com

new alerts:

  • 1 for Unused variable, import, function or class

@lgtm-com
Copy link

lgtm-com bot commented Aug 17, 2022

This pull request introduces 1 alert when merging 776541a into 63118d1 - view on LGTM.com

new alerts:

  • 1 for Unused variable, import, function or class

@haakonflatval-cognite haakonflatval-cognite force-pushed the hflatval/wasm-octree branch 4 times, most recently from 6947e9c to 37ab054 Compare August 23, 2022 07:54
@haakonflatval-cognite haakonflatval-cognite changed the base branch from hflatval/object-bounding-volume-hierarchy to feat/point-cloud-styling August 23, 2022 11:59
@haakonflatval-cognite haakonflatval-cognite changed the base branch from feat/point-cloud-styling to hflatval/wasm-setup August 23, 2022 12:00
@haakonflatval-cognite haakonflatval-cognite force-pushed the hflatval/wasm-octree branch 2 times, most recently from 4f0eaa0 to fb3fe4b Compare August 23, 2022 12:45
Base automatically changed from hflatval/wasm-setup to feat/point-cloud-styling August 26, 2022 14:51
@haakonflatval-cognite haakonflatval-cognite added the slack PRs and issues with this label will be pushed to Slack label Aug 29, 2022
@github-actions
Copy link

There were failures in the Visual regression tests workflow.
Image diffs for visual tests can be downloaded as an artifact here.

@github-actions
Copy link

There were failures in the Visual regression tests workflow.
Image diffs for visual tests can be downloaded as an artifact here.

@github-actions
Copy link

There were failures in the Visual regression tests workflow.
Image diffs for visual tests can be downloaded as an artifact here.

@codecov
Copy link

codecov bot commented Aug 29, 2022

Codecov Report

Merging #2327 (52556e5) into feat/point-cloud-styling (d765a15) will decrease coverage by 1.48%.
The diff coverage is 61.62%.

@@                     Coverage Diff                      @@
##           feat/point-cloud-styling    #2327      +/-   ##
============================================================
- Coverage                     70.37%   68.89%   -1.49%     
============================================================
  Files                           271      258      -13     
  Lines                         11072    11193     +121     
  Branches                       1405     1450      +45     
============================================================
- Hits                           7792     7711      -81     
- Misses                         3123     3308     +185     
- Partials                        157      174      +17     
Impacted Files Coverage Δ
viewer/.eslintrc.js 0.00% <ø> (ø)
viewer/index.ts 0.00% <0.00%> (ø)
viewer/jest.config.js 0.00% <ø> (ø)
viewer/packages/api/src/migration.ts 0.00% <ø> (ø)
viewer/packages/api/src/public/types.ts 100.00% <ø> (ø)
viewer/packages/api/src/utilities/Spinner.ts 84.37% <ø> (ø)
...er/packages/cad-geometry-loaders/src/CadManager.ts 57.00% <ø> (ø)
.../cad-geometry-loaders/src/CadModelUpdateHandler.ts 72.09% <ø> (+5.81%) ⬆️
...es/cad-geometry-loaders/src/sector/SectorLoader.ts 91.95% <ø> (ø)
...s/cad-geometry-loaders/src/sector/culling/types.ts 100.00% <ø> (ø)
... and 145 more

@github-actions
Copy link

There were failures in the Visual regression tests workflow.
Image diffs for visual tests can be downloaded as an artifact here.

@github-actions
Copy link

There were failures in the examples workflow. This usually means a visual regression test has failed. Image diffs for visual tests can be downloaded as an artifact here. If there are no artifacts there's an error somewhere else in the examples workflow. If you have made intentional changes you can update the image snapshots by running yarn snapshots:update in examples/

@github-actions
Copy link

There were failures in the Visual regression tests workflow.
Image diffs for visual tests can be downloaded as an artifact here.

@github-actions
Copy link

There were failures in the Visual regression tests workflow.
Image diffs for visual tests can be downloaded as an artifact here.

@haakonflatval-cognite haakonflatval-cognite marked this pull request as ready for review August 29, 2022 14:41
@haakonflatval-cognite haakonflatval-cognite requested a review from a team as a code owner August 29, 2022 14:41
@github-actions
Copy link

There were failures in the examples workflow. This usually means a visual regression test has failed. Image diffs for visual tests can be downloaded as an artifact here. If there are no artifacts there's an error somewhere else in the examples workflow. If you have made intentional changes you can update the image snapshots by running yarn snapshots:update in examples/

@github-actions
Copy link

There were failures in the examples workflow. This usually means a visual regression test has failed. Image diffs for visual tests can be downloaded as an artifact here. If there are no artifacts there's an error somewhere else in the examples workflow. If you have made intentional changes you can update the image snapshots by running yarn snapshots:update in examples/

@haakonflatval-cognite haakonflatval-cognite changed the title feat: Rust/Wasm octree feat: Rust/Webassembly octree implementation for faster point-object assignment Aug 30, 2022
@github-actions
Copy link

There were failures in the Visual regression tests workflow.
Image diffs for visual tests can be downloaded as an artifact here.

@github-actions
Copy link

github-actions bot commented Sep 9, 2022

There were failures in the visual tests workflow.
Image diffs for visual tests can be downloaded as an artifact here.

@github-actions
Copy link

github-actions bot commented Sep 9, 2022

There were failures in the visual tests workflow.
Image diffs for visual tests can be downloaded as an artifact here.

@haakonflatval-cognite haakonflatval-cognite changed the base branch from feat/point-cloud-styling to master September 13, 2022 09:04
@haakonflatval-cognite haakonflatval-cognite changed the base branch from master to feat/point-cloud-styling September 13, 2022 09:05
Copy link
Contributor

@christjt christjt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work! Looks good to me now. Some minor stuff I've added, but I am accepting the PR under the assumption you address these. Look forward to seeing it in action!

@haakonflatval-cognite haakonflatval-cognite merged commit 269dea0 into feat/point-cloud-styling Sep 16, 2022
@haakonflatval-cognite haakonflatval-cognite deleted the hflatval/wasm-octree branch September 16, 2022 08:36
haakonflatval-cognite added a commit that referenced this pull request Oct 18, 2022
* feat: Add ability to style objects in point clouds (#2104)

* feat: point cloud API for styling (#2179)

* feat: Webassembly setup (#2353)

* Update point cloud feature branch from master (#2416)

* feat: Rust/Webassembly octree implementation for faster point-object assignment (#2327)

* feat: custom classification (#2320)

* docs: finalize point cloud styling docs (#2500)

* refactor: move point cloud object provider to data-providers and expose object bounding boxes (#2522)

* fix: point cloud custom transformation (#2550)

* improvement: various fixes for point clouds (#2551)

* fix: export point cloud object metadata (#2552)

* Various big and small fixes

Co-authored-by: Lars Moastuen <lars.moastuen@cognite.com>
Co-authored-by: Christopher J. Tannum <christopher.tannum@cognite.com>
Co-authored-by: Savokr <savelii.novikov@cognite.com>
Co-authored-by: Pramod S <87521752+pramodcog@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
slack PRs and issues with this label will be pushed to Slack
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants