Skip to content
This repository has been archived by the owner on Aug 21, 2024. It is now read-only.

rewrite reactive UVOL #8848

Merged
merged 56 commits into from
Oct 30, 2023
Merged

rewrite reactive UVOL #8848

merged 56 commits into from
Oct 30, 2023

Conversation

CITIZENDOT
Copy link
Collaborator

@CITIZENDOT CITIZENDOT commented Sep 19, 2023

Summary

  • Rewrite UVOL1
  • Uniform Solve Player
  • Rewrite UVOL2
  • Add Loading Effect:
    • UVOL1
    • UVOL2
  • UVOL1 support in Firefox??

References

closes #8524, #8517

Explanation

🤖 Generated by Copilot at 8accee5

  • Add CortoWorker.ts file that contains the web worker code for fetching and decoding UVOL1 frames (link)
  • Add UVOL1Component.ts file that contains the component code for handling UVOL1 playback logic (link)
  • Add interfaces.ts file that contains the type definitions and enums for the UVOL1 component and worker (link)
  • Modify VolumetricComponent.ts file to import and use UVOL1Component for UVOL1 playback (link, link, link)
  • Remove unused and redundant code from PositionalAudioComponent.ts and MediaSystem.ts files (link, link, link, link, link, link)
    • Remove unused imports of hasComponent, setComponent, MediaComponent, and VolumetricComponent from PositionalAudioComponent.ts and MediaSystem.ts files (link, link, link)
    • Remove redundant code that adds MediaComponent to the entity in PositionalAudioComponent onInit function (link)
    • Remove unused query and logic that handles volumetricQuery results in MediaSystem.ts file (link, link)
  • Remove useLoadingEffect property and logic from VolumetricComponent.ts file (link, link)
    • Remove useLoadingEffect property from VolumetricComponent as it is not relevant for UVOL1 playback (link)
    • Remove logic that handles useLoadingEffect property in VolumetricComponent onSet function (link)

🤖 Generated by Copilot at 8accee5

We are the masters of the UVOL1
We decode the frames with the CortoWorker
We render the volumes with the UVOL1Component
We crush the old code with our refactoring

QA Steps

List any additional steps required to QA the changes of this PR, as well as any supplemental images or videos.

Checklist

  • If this PR is still a WIP, convert to a draft
  • When this PR is ready, mark it as "Ready for review"
  • ensure all checks pass
  • Changes have been manually QA'd
  • Changes reviewed by at least 2 approved reviewers

@CITIZENDOT CITIZENDOT marked this pull request as draft September 19, 2023 20:08
`meshopt_decoder.module.js` stringifies some functions and spawns workers.
Production build optimizes these files and changes the function names, which causes issues.
It's better if we just hand over the function source, instead of stringifying.
@CITIZENDOT CITIZENDOT marked this pull request as ready for review October 1, 2023 11:57
@CITIZENDOT CITIZENDOT requested a review from speigg October 1, 2023 11:57
@CITIZENDOT
Copy link
Collaborator Author

UVOL1.Loading.effect.mp4

UVOL1 Loading effect

packages/engine/src/ecs/classes/Engine.ts Outdated Show resolved Hide resolved
attributes should not be disposed when setting keyframeB.
Because it'll be used by keyframeA in the next frame.
@HexaField HexaField changed the title rewrite reactive UVOL1 rewrite reactive UVOL Oct 17, 2023
- Stricter heuristic for autotuning targets
- Upload the textures (with initTexture) to GPU as soon as they're decoded.
  - Doing this at render time will cause some lag
@Griffisaurus Griffisaurus marked this pull request as draft October 19, 2023 22:24
@CITIZENDOT CITIZENDOT marked this pull request as ready for review October 24, 2023 09:55
@speigg speigg added this pull request to the merge queue Oct 30, 2023
Merged via the queue into dev with commit 1889fb4 Oct 30, 2023
13 checks passed
@speigg speigg deleted the uvol-rewrite branch October 30, 2023 23:07
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Rewrite UVOL unified player in engine with react
3 participants