Skip to content

Conversation

@mdanilowicz
Copy link
Contributor

This pull request updates the 3D rendering stack to the latest versions and improves the integration of 3D media within the CMS image gallery. The most significant changes involve upgrading the three.js and @tresjs libraries, refactoring the SwMedia3D component for compatibility, and replacing the 3D placeholder in the image gallery with the actual 3D viewer.

3D Rendering Stack Upgrades and Integration:

  • Upgraded three, @tresjs/core, and @tresjs/cientos to their latest major versions (three@0.182.0, @tresjs/core@5.2.1, @tresjs/cientos@5.2.1) in both package.json and pnpm-lock.yaml, ensuring improved features and compatibility. [1] [2] [3] [4] [5] [6] [7] [8] [9]

  • Updated related dependencies and their peer dependencies in lockfile, including three-stdlib, camera-controls, and stats-gl, to match the new three.js version. [1] [2] [3] [4]

Component Refactoring and Gallery Integration:

  • Refactored SwMedia3D.vue to use the new API from @tresjs/cientos v5, switching from destructuring scene to accessing it via state.value?.scene and wrapping it in a Vue computed property for reactivity. [1] [2]

  • Updated the CMS image gallery (CmsElementImageGallery.vue) to replace the static 3D placeholder with the actual SwMedia3D viewer component, wrapped in client-only to ensure correct SSR behavior.

Minor and Maintenance Changes:

  • Removed an unused type import and loosened a type in the devtools plugin for now, to avoid type errors. [1] [2]

  • Lockfile cleanup: removed unused packages and added new dependencies required by the updated stack. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]

These changes ensure that the CMS is using the latest, most secure, and best-performing 3D rendering libraries, and that the 3D media experience in the gallery is now interactive and up-to-date.

@mdanilowicz mdanilowicz requested a review from Copilot January 5, 2026 09:57
@vercel
Copy link

vercel bot commented Jan 5, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
frontends-starter-template-extended Ready Ready Preview, Comment Jan 5, 2026 10:31am
frontends-vue-starter-template Ready Ready Preview, Comment Jan 5, 2026 10:31am
old-frontends-demo Ready Ready Preview, Comment Jan 5, 2026 10:31am
1 Skipped Deployment
Project Deployment Review Updated (UTC)
shopware-frontends-docs Skipped Skipped Comment Jan 5, 2026 10:31am

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request upgrades the 3D rendering stack to the latest versions (three.js 0.182.0, @tresjs/core 5.2.1, @tresjs/cientos 5.2.1) and integrates the actual 3D viewer into the CMS image gallery, replacing the previous placeholder implementation.

  • Updated three.js and TresJS libraries to their latest major versions
  • Refactored SwMedia3D component to use the new @tresjs/cientos v5 API
  • Integrated SwMedia3D viewer into the CMS image gallery with SSR-safe client-only wrapper

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
pnpm-lock.yaml Updates dependency versions and lockfile entries for three.js (0.182.0), @tresjs/core (5.2.1), @tresjs/cientos (5.2.1), and their transitive dependencies
packages/cms-base-layer/package.json Updates package.json dependencies to match the new versions of three.js and TresJS libraries
packages/cms-base-layer/app/components/SwMedia3D.vue Refactors component to use new @tresjs/cientos v5 API with state.value?.scene pattern and computed wrapper
packages/cms-base-layer/app/components/public/cms/element/CmsElementImageGallery.vue Replaces 3D placeholder with actual SwMedia3D viewer wrapped in client-only component
packages/composables/src/devtools/plugin.ts Removes unused DevtoolsPluginApi type import and loosens type to any for compatibility with @vue/devtools-api v7
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

@mkucmus mkucmus left a comment

Choose a reason for hiding this comment

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

I think this pretty component deserves for one small improvement - consider implementing a skeleton fallback

</span>
<client-only>
<SwMedia3D :src="currentImage.url" />
</client-only>
Copy link
Contributor

Choose a reason for hiding this comment

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

please add <template #fallback> with a skeleton to be SSR friendly if this item of gallery can be first one.

ignore if the whole gallery has its own fallback component

…mizer to 0.22.0; fix conditional rendering in SwMedia3D component
@patzick
Copy link
Contributor

patzick commented Jan 5, 2026

looks good to merge after @mkucmus comment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants