Skip to content

Fix V3 scene uploads, compatibility, and project dropdown - #203

Merged
git-chad merged 3 commits into
mainfrom
fix/v3-community-compatibility
Oct 13, 2026
Merged

git-chad merged 3 commits into
mainfrom
fix/v3-community-compatibility

Conversation

@git-chad

@git-chad git-chad commented Oct 13, 2026 •

Copy link
Copy Markdown
Collaborator

V3 scenes could import models and HDR environments locally but fail community uploads because browser MIME types were not normalized and HDR was missing from the upload allowlist. This fixes those uploads and closes the scene-loading and playback gaps found during the V3 review.

  • Normalize GLB/GLTF, HDR, SVG, and audio MIME types on import and before draft/publish uploads, including assets restored from older autosaves. Accept HDR with the existing 20 MB asset cap; ordinary images retain their 4 MB cap.
  • Load unknown layer types as labeled, disabled placeholders while retaining their original data, assets, and animation tracks. Supported layers continue to load. Drafts and project exports preserve the placeholders; publishing reports unavailable layers until they are removed or replaced.
  • Restore silent audio-reactive community playback using the editor's audio analysis, saved bands, links, and offset. Cancel work on unmount and fall back to unmodulated playback if the audio cannot load within eight seconds.
  • Match the Project dropdown's outer corners to its item radius, padding, and border.
  • Run the new community compatibility regression suite in CI.

Validation: 34 regression tests pass, including a mocked draft upload/PUT/save flow, all registered V3 and legacy layer types, unknown-layer round trips, nesting limits, adding/moving layers around placeholders, audio source resolution, and stalled-decoder deadlines/cancellation. Existing clean-project and layer-drop checks pass. Both TypeScript checkers, the production build, and changeset validation pass. Full lint passes with five existing warnings. A real Chromium audio decode drove renderer opacity from 0 to approximately 1; dropdown hover and dismissal were checked in light and dark themes.

Authenticated production uploads were not exercised; the storage flow was tested with mocked network responses.

@vercel

vercel Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

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

Project Deployment Actions Updated
shader-lab Ready Ready Preview Oct 13, 2026 11:35pm UTC

@greptile-apps

greptile-apps Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 3/5

[Medium impact] Fixes scene uploads, layer compatibility, and audio playback.

Fix adding layers around unavailable placeholders and enforce the audio deadline before merging.

Summary

This PR fixes community media uploads and adds support for loading scenes with unavailable layers.

  • Community uploads accept normalized GLTF, HDR, SVG, and audio media.
  • Projects keep unknown layer types as recoverable placeholders.
  • Community scenes use saved audio links to animate playback.
  • The Project dropdown’s outer corners match its inset menu shape.

Two fixes are needed: adding layers fails when an unavailable leaf is selected, and slow audio decoding can delay playback beyond the eight-second fallback.

Reviews (1) · Last reviewed commit: "Fix V3 community uploads, compatibility,..." · Reviewed by Greptile

Comment thread src/lib/editor/project-file.ts
Comment thread src/lib/community/viewer-audio.ts Outdated
@git-chad
git-chad merged commit b7e2d6d into main Oct 13, 2026
5 checks passed

This branch was successfully deployed

1 active deployment
Preview — 71b5cd04 Deployed Oct 13, 2026 by vercel[bot]
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.

1 participant