feat(docs): add logo intro and optimize hero animation - #28
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
There is a TypeScript type/value import issue in hero-canvas.tsx (import type * as THREE used with typeof THREE) that is likely to break compilation.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR refactors the docs home hero WebGL animation by extracting the workspace scene into a dedicated module, adding an introductory “brand arcs” animation, and improving runtime behavior (lazy-loading, render scheduling, and cleanup) for better perceived performance.
Changes:
- Added a new
createWorkspacemodule that encapsulates the workspace scene construction and per-frame update logic. - Added procedural brand-arc geometry and integrated a short intro sequence before the workspace settles in.
- Reworked the hero canvas runtime to dynamically import Three.js + RoomEnvironment, render only when needed, and handle resize/visibility/context-loss more robustly.
File summaries
| File | Description |
|---|---|
| apps/docs/src/app/(home)/hero-workspace.ts | New extracted workspace scene builder/updater used by the hero canvas. |
| apps/docs/src/app/(home)/hero-canvas.tsx | Integrates new intro + workspace modules, adds dynamic imports and render scheduling/cleanup. |
| apps/docs/src/app/(home)/hero-brand-geometry.ts | New procedural geometry for the “brand arcs” intro element. |
Review details
- Files reviewed: 3/3 changed files
- Comments generated: 2
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+5
to
9
| import type * as THREE from "three"; | ||
| import { createBrandArcGeometry } from "./hero-brand-geometry"; | ||
| import { createWorkspace, type ModuleId } from "./hero-workspace"; | ||
|
|
||
| type Three = typeof THREE; |
Comment on lines
+1001
to
+1002
| setOpacity(printedMark.materials, markRaw * 0.94); | ||
| printedMark.labelMaterials.forEach((material) => setMaterialOpacity(material, markRaw * 0.94)); |
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.