Skip to content

Fix top animation system regressions#1930

Merged
pethers merged 9 commits into
mainfrom
copilot/review-animation-systems
May 14, 2026
Merged

Fix top animation system regressions#1930
pethers merged 9 commits into
mainfrom
copilot/review-animation-systems

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 14, 2026

  • Inspect the reviewed files and recent commits to understand the animation regression fixes
  • Investigate recent CI/build workflow status and logs if failures are present
  • Run baseline repository validation before code changes
  • Address stance side-switch visual/state-machine feedback
  • Align Gon ID lookups with dedicated animation registrations
  • Replace hard-coded fallback duration assertions with shared constants
  • Run targeted and full validation
  • Run final parallel validation and reply to the new PR comment

Copilot AI and others added 6 commits May 14, 2026 10:41
Agent-Logs-Url: https://github.com/Hack23/blacktrigram/sessions/b0878188-e303-4720-ae1a-b85f79bc09d9

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Hack23/blacktrigram/sessions/b0878188-e303-4720-ae1a-b85f79bc09d9

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Hack23/blacktrigram/sessions/b0878188-e303-4720-ae1a-b85f79bc09d9

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Hack23/blacktrigram/sessions/b0878188-e303-4720-ae1a-b85f79bc09d9

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Hack23/blacktrigram/sessions/b0878188-e303-4720-ae1a-b85f79bc09d9

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Hack23/blacktrigram/sessions/b0878188-e303-4720-ae1a-b85f79bc09d9

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
@github-actions github-actions Bot added graphics Graphics and rendering (PixiJS) ui User interface improvements testing Testing improvements types TypeScript type improvements test-coverage-impact Impacts test coverage needs-tests Needs test coverage three-components labels May 14, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 14, 2026

Dependency Review

โœ… No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@github-actions
Copy link
Copy Markdown
Contributor

๐ŸŽฏ Accessibility Test Results

WCAG 2.1 Level AA Compliance Tests

  • โœ… Color contrast validation (4.5:1 for text, 3:1 for UI)
  • โœ… ARIA labels and roles validation
  • โœ… Keyboard navigation structure validation
  • โœ… Focus indicators validation
  • โœ… Dialog and menu semantics validation
  • โœ… Progress bars and timers validation

Components Tested

  • Accessibility utilities (keyboard nav, focus management)
  • Bilingual ARIA labels (Korean-English)
  • Button groups (VirtualDPad pattern)
  • Radiogroups (StanceWheel pattern)
  • Dialogs (PauseMenu pattern)
  • Progress bars (HealthBar, StaminaBar pattern)
  • Timers (CombatTimer pattern)

Test Framework

  • Tool: axe-core via jest-axe
  • Standard: WCAG 2.1 Level AA
  • Test Runner: Vitest

@github-actions
Copy link
Copy Markdown
Contributor

๐Ÿ“ธ Automated UI Screenshots

๐Ÿ“‹ Screenshots Captured (8)

# Screenshot
1 01-splash-screen.png - 01 splash screen.png
2 02-intro-screen-menu.png - 02 intro screen menu.png
3 03-intro-screen-archetype-selector.png - 03 intro screen archetype selector.png
4 04-controls-screen.png - 04 controls screen.png
5 05-philosophy-screen.png - 05 philosophy screen.png
6 06-training-screen.png - 06 training screen.png
7 07-combat-screen-practice.png - 07 combat screen practice.png
8 08-combat-screen-versus.png - 08 combat screen versus.png

๐Ÿ“ฆ Download Screenshots

๐Ÿ“ฅ Download all screenshots from workflow artifacts

Screenshots are preserved as workflow artifacts for 30 days.


๐Ÿค– Generated by Playwright automation

@pethers pethers marked this pull request as ready for review May 14, 2026 11:47
Copilot AI review requested due to automatic review settings May 14, 2026 11:47
Copy link
Copy Markdown
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.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copy link
Copy Markdown
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

Copilot reviewed 16 out of 16 changed files in this pull request and generated 6 comments.

Comment thread src/utils/player3DHelpers.ts Outdated
hit: "hit",
stance_change: "stance_change",
stance_side_switch: "stance_change", // Map to stance_change animation (mirroring guard)
stance_side_switch: "stance_side_switch", // Dedicated leftโ†”right foot-forward switch
Comment on lines +43 to +48
it("should map stance side switch to dedicated side-switch animation", () => {
const result = animationStateToPlayerAnimation(
AnimationState.STANCE_SIDE_SWITCH
);
expect(result).toBe("stance_side_switch");
});
Comment on lines +526 to +535
["gam_idle_flowing", GAM_STANCE_ANIMATIONS.idle],
["gam_yielding_sidestep", GAM_STANCE_ANIMATIONS.movement.yieldingSidestep],
["gam_flowing_retreat_step", GAM_STANCE_ANIMATIONS.movement.flowingRetreat],
["gam_water_flow_counter", GAM_STANCE_ANIMATIONS.techniques.waterFlowCounter],
["gam_flowing_takedown", GAM_STANCE_ANIMATIONS.techniques.flowingTakedown],
["gam_counter", GAM_TECHNIQUE_ANIMATIONS.counter],
["gam_takedown", GAM_TECHNIQUE_ANIMATIONS.takedown],
...GAN_STANCE_ANIMATIONS, // โ˜ถ Mountain: Defensive mastery
...GAN_TECHNIQUE_ANIMATIONS, // โ˜ถ Mountain techniques
...GON_TECHNIQUE_ANIMATIONS, // โ˜ท Earth: Ssireum throws and ground control
Comment on lines +350 to +360
describe("getAnimationDurationOrFallback", () => {
it("should return registered animation duration when metadata exists", () => {
expect(getAnimationDurationOrFallback("gon_earth_embrace")).toBe(
getAnimation("gon_earth_embrace")?.duration,
);
});

it("should return shared fallback duration for missing animation metadata", () => {
expect(getAnimationDurationOrFallback("missing_animation")).toBe(0.55);
expect(getAnimationDurationOrFallback()).toBe(0.55);
});
Comment on lines +378 to 380
// Animation should always be triggered with a technique-aware duration.
expect(mockPlayerAnimation.transitionToAttack).toHaveBeenCalledWith(0.55);
});
Comment on lines 1596 to 1598
case "stance_side_switch":
player1Animation.transitionTo(AnimationState.STANCE_SIDE_SWITCH);
handleStanceSideSwitch(PLAYER_ONE_INDEX);
break;
@pethers
Copy link
Copy Markdown
Member

pethers commented May 14, 2026

@copilot apply changes based on the comments in this thread

Agent-Logs-Url: https://github.com/Hack23/blacktrigram/sessions/7d68b56b-ff01-4e92-9573-b0d5c1dad4ed

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor

๐ŸŽฏ Accessibility Test Results

WCAG 2.1 Level AA Compliance Tests

  • โœ… Color contrast validation (4.5:1 for text, 3:1 for UI)
  • โœ… ARIA labels and roles validation
  • โœ… Keyboard navigation structure validation
  • โœ… Focus indicators validation
  • โœ… Dialog and menu semantics validation
  • โœ… Progress bars and timers validation

Components Tested

  • Accessibility utilities (keyboard nav, focus management)
  • Bilingual ARIA labels (Korean-English)
  • Button groups (VirtualDPad pattern)
  • Radiogroups (StanceWheel pattern)
  • Dialogs (PauseMenu pattern)
  • Progress bars (HealthBar, StaminaBar pattern)
  • Timers (CombatTimer pattern)

Test Framework

  • Tool: axe-core via jest-axe
  • Standard: WCAG 2.1 Level AA
  • Test Runner: Vitest

@github-actions
Copy link
Copy Markdown
Contributor

๐Ÿ“ธ Automated UI Screenshots

๐Ÿ“‹ Screenshots Captured (8)

# Screenshot
1 01-splash-screen.png - 01 splash screen.png
2 02-intro-screen-menu.png - 02 intro screen menu.png
3 03-intro-screen-archetype-selector.png - 03 intro screen archetype selector.png
4 04-controls-screen.png - 04 controls screen.png
5 05-philosophy-screen.png - 05 philosophy screen.png
6 06-training-screen.png - 06 training screen.png
7 07-combat-screen-practice.png - 07 combat screen practice.png
8 08-combat-screen-versus.png - 08 combat screen versus.png

๐Ÿ“ฆ Download Screenshots

๐Ÿ“ฅ Download all screenshots from workflow artifacts

Screenshots are preserved as workflow artifacts for 30 days.


๐Ÿค– Generated by Playwright automation

Agent-Logs-Url: https://github.com/Hack23/blacktrigram/sessions/7d68b56b-ff01-4e92-9573-b0d5c1dad4ed

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor

๐ŸŽฏ Accessibility Test Results

WCAG 2.1 Level AA Compliance Tests

  • โœ… Color contrast validation (4.5:1 for text, 3:1 for UI)
  • โœ… ARIA labels and roles validation
  • โœ… Keyboard navigation structure validation
  • โœ… Focus indicators validation
  • โœ… Dialog and menu semantics validation
  • โœ… Progress bars and timers validation

Components Tested

  • Accessibility utilities (keyboard nav, focus management)
  • Bilingual ARIA labels (Korean-English)
  • Button groups (VirtualDPad pattern)
  • Radiogroups (StanceWheel pattern)
  • Dialogs (PauseMenu pattern)
  • Progress bars (HealthBar, StaminaBar pattern)
  • Timers (CombatTimer pattern)

Test Framework

  • Tool: axe-core via jest-axe
  • Standard: WCAG 2.1 Level AA
  • Test Runner: Vitest

@github-actions
Copy link
Copy Markdown
Contributor

๐Ÿ“ธ Automated UI Screenshots

๐Ÿ“‹ Screenshots Captured (8)

# Screenshot
1 01-splash-screen.png - 01 splash screen.png
2 02-intro-screen-menu.png - 02 intro screen menu.png
3 03-intro-screen-archetype-selector.png - 03 intro screen archetype selector.png
4 04-controls-screen.png - 04 controls screen.png
5 05-philosophy-screen.png - 05 philosophy screen.png
6 06-training-screen.png - 06 training screen.png
7 07-combat-screen-practice.png - 07 combat screen practice.png
8 08-combat-screen-versus.png - 08 combat screen versus.png

๐Ÿ“ฆ Download Screenshots

๐Ÿ“ฅ Download all screenshots from workflow artifacts

Screenshots are preserved as workflow artifacts for 30 days.


๐Ÿค– Generated by Playwright automation

@github-actions
Copy link
Copy Markdown
Contributor

๐ŸŽฏ Accessibility Test Results

WCAG 2.1 Level AA Compliance Tests

  • โœ… Color contrast validation (4.5:1 for text, 3:1 for UI)
  • โœ… ARIA labels and roles validation
  • โœ… Keyboard navigation structure validation
  • โœ… Focus indicators validation
  • โœ… Dialog and menu semantics validation
  • โœ… Progress bars and timers validation

Components Tested

  • Accessibility utilities (keyboard nav, focus management)
  • Bilingual ARIA labels (Korean-English)
  • Button groups (VirtualDPad pattern)
  • Radiogroups (StanceWheel pattern)
  • Dialogs (PauseMenu pattern)
  • Progress bars (HealthBar, StaminaBar pattern)
  • Timers (CombatTimer pattern)

Test Framework

  • Tool: axe-core via jest-axe
  • Standard: WCAG 2.1 Level AA
  • Test Runner: Vitest

Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 14, 2026

@copilot apply changes based on the comments in this thread

Applied the review feedback in ddfa6e1: side-switch now transitions through STANCE_SIDE_SWITCH while resolving to a named renderable stance transition clip, Gon ID lookups now align with dedicated Gon clips, and duration tests use the shared fallback constant. Validation passed (npm run check, npm run lint, npm test, npm run build) and final code review/CodeQL reported no comments or alerts. No screenshot included because there were no UI changes.

@github-actions
Copy link
Copy Markdown
Contributor

๐Ÿ“ธ Automated UI Screenshots

๐Ÿ“‹ Screenshots Captured (8)

# Screenshot
1 01-splash-screen.png - 01 splash screen.png
2 02-intro-screen-menu.png - 02 intro screen menu.png
3 03-intro-screen-archetype-selector.png - 03 intro screen archetype selector.png
4 04-controls-screen.png - 04 controls screen.png
5 05-philosophy-screen.png - 05 philosophy screen.png
6 06-training-screen.png - 06 training screen.png
7 07-combat-screen-practice.png - 07 combat screen practice.png
8 08-combat-screen-versus.png - 08 combat screen versus.png

๐Ÿ“ฆ Download Screenshots

๐Ÿ“ฅ Download all screenshots from workflow artifacts

Screenshots are preserved as workflow artifacts for 30 days.


๐Ÿค– Generated by Playwright automation

@pethers pethers merged commit cc4addd into main May 14, 2026
17 checks passed
@pethers pethers deleted the copilot/review-animation-systems branch May 14, 2026 20:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

graphics Graphics and rendering (PixiJS) needs-tests Needs test coverage test-coverage-impact Impacts test coverage testing Testing improvements three-components types TypeScript type improvements ui User interface improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants