feat: add Time-Lapse City Builder video export - #7288
Conversation
|
@Goutam-2702 is attempting to deploy a commit to the jhasourav07's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
@JhaSourav07 pls review and merge my pr. |
📦 Next.js Bundle Size Report (Gzipped Sizes)
📊 Summary of Totals
|
Aamod007
left a comment
There was a problem hiding this comment.
Hey! Thanks for your contribution. Unfortunately, it looks like this PR is currently blocked (e.g., failing CI checks, merge conflicts, or marked as draft). I can't review or approve it until the build is green. Please resolve these issues so we can proceed with a full review! Let me know if you need any help debugging.
|
@Aamod007 pls review again. |
Aamod007
left a comment
There was a problem hiding this comment.
Hey! Thanks for implementing the Time-Lapse City Builder! The approach of using the native browser \MediaRecorder\ and \canvas.captureStream()\ is really clever and avoids heavy server-side processing, which is fantastic for performance.
I'm assigning level:advanced for the complex canvas manipulation and media recording logic, type:feature, and quality:clean.
However, I noticed that this PR also includes changes to the \locales/\ files (adding keys for support, guidelines, faq) which seem to belong to PR 7287. Please rebase this branch or remove the unrelated commits so we only merge the video export feature here. Let me know once you've updated it!
|
@Aamod007 pls review and merge my pr all problem of ci pipeline are resolved. |
"Dismissing previous review to provide updated code-specific feedback"
Aamod007
left a comment
There was a problem hiding this comment.
Hey! I'm dismissing the previous review to provide an updated one. This PR has changes to the locales/ files that belong to another PR. Please rebase or remove the unrelated commits so we only merge the video export feature. Let me know when it's updated!
692f69f to
830a904
Compare
Signed-off-by: Goutam-2702 <kumargoutam2006@gmail.com>
Signed-off-by: Goutam-2702 <kumargoutam2006@gmail.com>
…o match actual component
1f61a6a to
dfaceeb
Compare
|
@Aamod007 Pls merge it all problem is resolved. |
Aamod007
left a comment
There was a problem hiding this comment.
Awesome feature! Adding a Time-Lapse City Builder video export gives users a fantastic new way to showcase their contributions. Note that I am leaving a neutral review because there is currently a repository-level Vercel deployment block preventing full pipeline success, but your feature implementation looks incredible!
Labels assigned:
- \level:advanced: Building an entire video export engine is a massive architectural addition.
- \ ype:feature: Adds a major video export feature.
- \ ype:design: Enhances the visual user output.
|
@Aamod007 pls review and merge it. |
Aamod007
left a comment
There was a problem hiding this comment.
Implementing a Time-Lapse City Builder video export using MediaRecorder is an impressive feature! However, the CI checks are failing. Please resolve the issues and rerun the CI pipeline.
|
@Aamod007 pls review and merge it to main. |
Aamod007
left a comment
There was a problem hiding this comment.
Thanks for pushing the new commits! Since we are currently ignoring the Vercel CI failures repository-wide, and you've updated the PR, everything looks good to go from my end. Approved! 🚀
Aamod007
left a comment
There was a problem hiding this comment.
This is an incredible feature! Generating a time-lapse video using \MediaRecorder\ and <canvas>\ is a fantastic addition to the export panel.
However, there's a small blocker before we can merge this:
Your branch currently has merge conflicts with the \main\ branch (indicated by the
eeds-rebase\ label). Please rebase your branch on the latest \main\ to resolve these conflicts.
Once the conflicts are resolved, we can get this merged!
Label Justification:
- \level:advanced: Implementing an in-browser frame-by-frame SVG to Canvas renderer and MediaRecorder pipeline is a highly advanced frontend feature.
- \quality:clean: Applied as default pending full review.
- \ ype:feature\ & \ ype:design: Adds a complex video generation feature to the UI.
- \mentor:Aamod007: Assigned as required.
|
If you are still working on this, please push your latest changes or leave a comment to keep it active. |
|
🤖 Hey @Goutam-2702, this pull request has been automatically closed because it has been inactive for 5 days. Why was this PR closed? How to reopen this PR:
We appreciate your contribution and would love to review your work when it's ready! Thank you! ❤️ |
Description
Fixes #7285
Introduced the "Time-Lapse City Builder" feature to the Customization Studio, allowing users to export a 5-10 second animated
.webmvideo of their CommitPulse city being "built" day-by-day.This feature was implemented entirely client-side using the native browser
MediaRecorderAPI and the already-fetched SVGsnippet. By avoiding server-side video rendering (which is extremely heavy) or large third-party libraries (like Remotion/ffmpeg.wasm), the codebase remains lean while delivering a highly shareable, social-media-ready asset!Technical Details:
DOMParser..cp-towerelements (sorted by theirdata-date) is progressively revealed.<canvas>usingnew Image().canvas.captureStream(30)) and records it withMediaRecorder(stream, { mimeType: 'video/webm' })..webmdownload which is natively supported for uploading to X/Twitter, LinkedIn, and Instagram.Pillar
Visual Preview
N/A
Checklist before requesting a review:
CONTRIBUTING.mdfile.localhost:3000/api/streak?user=YOUR_USERNAME).npm run formatandnpm run lintlocally and resolved all errors (CI will fail otherwise).feat(themes): ...,fix(calculate): ...).README.mdif I added a new theme or URL parameter.