galacean / effects-runtime

It can load and render cool animation effects
https://galacean.antgroup.com/effects/
MIT License
319 stars 7 forks source link

fix: 3D frame comparison #459

Closed liuxi150 closed 3 months ago

liuxi150 commented 3 months ago

Summary by CodeRabbit

coderabbitai[bot] commented 3 months ago

[!IMPORTANT]

Review skipped

Review was skipped due to path filters

Files ignored due to path filters (1) * `pnpm-lock.yaml` is excluded by `!**/pnpm-lock.yaml`

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

This update involves several enhancements and modifications across multiple files and packages. In the effects-core package, animation and geometry functionalities are updated, introducing a new duration property and modifying conditional checks. The model package sees significant changes, including enhancements to GLTF loading, scene management, material handling, and camera settings. The web-packages are also updated to improve testing frameworks, including adjustments to file handling and rendering processes.

Changes

Files/Paths Change Summaries
.../value-getter.ts Added getMaxTime method in StaticValue.
.../calculate-vfx-item.ts Introduced and managed a new duration property in AnimationClip.
.../gl-geometry.ts Adjusted conditional logic for checking data.indexFormat rather than both data.indexOffset and data.indexFormat.
.../demo/src/camera.ts Added parameters in getCurrentScene, removed addLight, modified loadScene for dynamic sorting and updated registerMouseEvent speed calculation.
.../demo/src/hit-test.ts Changed url from const to let for reassignment flexibility.
.../package.json Updated @vvfx/resource-detection dependency from "0.6.0-alpha.8" to "0.6.0-alpha.9".
.../json-converter.ts Incremented specularMipCount, renamed _Cutoff to _AlphaCutoff, and updated indexFormat and indexOffset assignments.
.../loader-ecs-ext.ts Explicit import of spec, added playAllAnimation parameter to LoadGLTFSceneECSOptions, adjusted camera settings and light addition in loadGLTFSceneECS.
.../loader-ecs.ts Enhanced GLTF handling and processing, including image loading, texture mapping, and animation handling.
.../loader-ext.ts Restricted playAnimation type in LoadGLTFSceneOptions to only accept numbers.
.../protocol.ts Restricted playAnimation type in LoadSceneOptions to only accept numbers.
.../model-item.ts Modified onDestroy and updated calculations for value in ModelAnimationClip.
.../material.ts Removed RenderType and CullMode enums, adjusted properties like renderType, alphaCutOff, renderFace, etc.
.../mesh.ts Updated this.material.isDoubleSide to this.material.isBothSide, updated _MipCount assignment logic.
.../scene.ts Changed imports and refactored dynamicSortMeshes method to handle ModelMeshComponent instances.
.../standard-shader-source.ts Removed version declaration #version 100 for non-WebGL2 contexts.
.../skybox.ts Adjusted comparisons in isReady method of PSkybox, modified _MipCount assignment in PMaterialSkyboxFilter, and specularMipCount in PSkyboxCreator.
.../plugin-helper.ts Added ModelMeshComponent to imports, and modified handling of texture options.
.../utilities.ts Added import for JSONConverter, updated TestPlayer and TestController constructors to include is3DCase parameter, added clearResource method.
.../gltf/index.ts Added functionality for comparing glTF frames in a web environment.
.../gltf/old-loader.ts Introduced GLTF scene loading functionality.
.../scene-list.ts Removed commented-out code for ring618, added ring818 with updated details.

Poem

In code lands where rabbits hop and dwell,
A sprightly update bears change to tell.
Scenes now load with dynamic swift,
And cameras gain a broader drift.
Improved textures, animations glide,
All in webs where models bide.
Hail these tweaks both small and grand,
Built by many a deft developer’s hand.


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit .` - `Generate unit testing code for this file.` - `Open a follow-up GitHub issue for this discussion.` - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai generate interesting stats about this repository and render them as a table.` - `@coderabbitai show all the console.log statements in this repository.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` - `@coderabbitai help me debug CodeRabbit configuration file.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (invoked as PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai full review` to do a full review from scratch and review all the files again. - `@coderabbitai summary` to regenerate the summary of the PR. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository. - `@coderabbitai help` to get help. Additionally, you can add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. ### CodeRabbit Configration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information. - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json` ### Documentation and Community - Visit our [Documentation](https://coderabbit.ai/docs) for detailed information on how to use CodeRabbit. - Join our [Discord Community](https://discord.com/invite/GsXnASn26c) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.