feat(frontend): rocket-launch animation on Run button click#5067
Closed
chenlica wants to merge 9 commits into
Closed
feat(frontend): rocket-launch animation on Run button click#5067chenlica wants to merge 9 commits into
chenlica wants to merge 9 commits into
Conversation
…tive-merge-sort feat(sort): replace python-based sort with native executor
…to-use-native-merge-sort Revert "feat(sort): replace python-based sort with native executor"
Spawns a rocket emoji at the Run button's position and animates it through three counterclockwise loops to the left of the button, then accelerates straight up off the top of the viewport. Logic lives in a pure utility so it can be unit-tested without bootstrapping the MenuComponent TestBed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… run button - Replace document.getElementById with @ViewChild to follow Angular idioms - Cancel in-flight rocket animations in ngOnDestroy to prevent DOM leaks - Handle Animation.oncancel alongside onfinish so cancelled animations also clean up the rocket element Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Contributor
Author
|
it's a prototype to learn how to use Claude to raise a PR |
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.
What changes were proposed in this PR?
Adds a small fun visual flourish to the workflow editor: when the user clicks
the Run button in the top toolbar, a 🚀 emoji is spawned at the button's
position, traces three counterclockwise loops to the left of the button, and
then accelerates straight up off the top of the viewport.
Details:
frontend/src/app/workspace/component/menu/launch-rocket.ts, so it can beunit-tested without bootstrapping the heavyweight
MenuComponentTestBed(the existing
menu.component.spec.tsis entirely commented out and has noworking setup).
MenuComponent.onRunButtonClick()invokeslaunchRocket(...)and thendelegates to the existing dynamic
onClickRunHandlerso all existing buttonstates (Run / Pause / Resume / Connect / Submitting / …) continue to work.
Any related issues, documentation, discussions?
None. Cosmetic-only change isolated to the workflow editor's top menu.
How was this PR tested?
A new Jasmine spec covers the utility:
frontend/src/app/workspace/component/menu/launch-rocket.spec.ts— 13 tests,all passing under
yarn ng test --include="**/launch-rocket.spec.ts".The tests verify:
nulland creates no DOM when givennulldocument.body, positioned at the button's centerElement.prototype.animatewith the configured durationcycles × steps + 1orbit keyframes plus the shoot-up keyframetranslate(0px, 0px))360° × cycles(proves CCW + cycle count)dxis non-positive (the circle is to the left of the start)opacity: 0, translates upward, and uses a rotation congruent to "pointing up" modulo 360°Animation.onfinishfiresAlso manually verified in
ng serveby clicking the Run button on a runnable workflow.Was this PR authored or co-authored using generative AI tooling?
Generated-by: Claude Code (Claude Sonnet 4.6, 1M context, Anthropic, 2026-05-14)