Skip to content

test: VFX source-inspection contracts + Star Wars vanilla bundle cleanup#49

Merged
KooshaPari merged 5 commits intomainfrom
codex/refactor-ci-safe-tests
Mar 15, 2026
Merged

test: VFX source-inspection contracts + Star Wars vanilla bundle cleanup#49
KooshaPari merged 5 commits intomainfrom
codex/refactor-ci-safe-tests

Conversation

@KooshaPari
Copy link
Owner

Summary

  • VFX test refactoring: VFXIntegrationTests converted to source-inspection contracts — no runtime dependency (91b6b11)
  • Star Wars cleanup: remove 42 primitive placeholder bundles; units now show vanilla models (d0bec57)

Test plan

  • CI build and tests pass
  • VFX tests pass without runtime
  • Star Wars pack validates cleanly

🤖 Generated with Claude Code

@coderabbitai
Copy link

coderabbitai bot commented Mar 15, 2026

Warning

Rate limit exceeded

@KooshaPari has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 11 minutes and 19 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 381890a2-4119-4e0f-85b0-9345e297dbbb

📥 Commits

Reviewing files that changed from the base of the PR and between 7f2270a and d9dec69.

📒 Files selected for processing (68)
  • CHANGELOG.md
  • VERSION
  • packs/warfare-starwars/assets/bundles/sw-aa-tower
  • packs/warfare-starwars/assets/bundles/sw-aat-walker
  • packs/warfare-starwars/assets/bundles/sw-aat-walker.manifest
  • packs/warfare-starwars/assets/bundles/sw-arf-trooper
  • packs/warfare-starwars/assets/bundles/sw-arf-trooper.manifest
  • packs/warfare-starwars/assets/bundles/sw-assembly-line
  • packs/warfare-starwars/assets/bundles/sw-assembly-line.manifest
  • packs/warfare-starwars/assets/bundles/sw-b1-squad
  • packs/warfare-starwars/assets/bundles/sw-b1-squad.manifest
  • packs/warfare-starwars/assets/bundles/sw-barc-speeder
  • packs/warfare-starwars/assets/bundles/sw-barc-speeder.manifest
  • packs/warfare-starwars/assets/bundles/sw-blast-wall
  • packs/warfare-starwars/assets/bundles/sw-blast-wall.manifest
  • packs/warfare-starwars/assets/bundles/sw-clone-commando
  • packs/warfare-starwars/assets/bundles/sw-clone-commando.manifest
  • packs/warfare-starwars/assets/bundles/sw-clone-militia
  • packs/warfare-starwars/assets/bundles/sw-clone-militia.manifest
  • packs/warfare-starwars/assets/bundles/sw-clone-wall-guard
  • packs/warfare-starwars/assets/bundles/sw-clone-wall-guard.manifest
  • packs/warfare-starwars/assets/bundles/sw-command-center
  • packs/warfare-starwars/assets/bundles/sw-control-ship
  • packs/warfare-starwars/assets/bundles/sw-droid-factory
  • packs/warfare-starwars/assets/bundles/sw-droid-pilot
  • packs/warfare-starwars/assets/bundles/sw-droideka
  • packs/warfare-starwars/assets/bundles/sw-durasteel-barrier
  • packs/warfare-starwars/assets/bundles/sw-durasteel-barrier.manifest
  • packs/warfare-starwars/assets/bundles/sw-general-grievous
  • packs/warfare-starwars/assets/bundles/sw-general-grievous.manifest
  • packs/warfare-starwars/assets/bundles/sw-grapple-droid
  • packs/warfare-starwars/assets/bundles/sw-guard-tower
  • packs/warfare-starwars/assets/bundles/sw-guard-tower.manifest
  • packs/warfare-starwars/assets/bundles/sw-heavy-foundry
  • packs/warfare-starwars/assets/bundles/sw-heavy-foundry.manifest
  • packs/warfare-starwars/assets/bundles/sw-ion-cannon
  • packs/warfare-starwars/assets/bundles/sw-jedi-knight
  • packs/warfare-starwars/assets/bundles/sw-jedi-knight.manifest
  • packs/warfare-starwars/assets/bundles/sw-magna-guard
  • packs/warfare-starwars/assets/bundles/sw-medical-droid
  • packs/warfare-starwars/assets/bundles/sw-medical-droid.manifest
  • packs/warfare-starwars/assets/bundles/sw-mining-facility
  • packs/warfare-starwars/assets/bundles/sw-mining-facility.manifest
  • packs/warfare-starwars/assets/bundles/sw-probe-droid
  • packs/warfare-starwars/assets/bundles/sw-probe-droid.manifest
  • packs/warfare-starwars/assets/bundles/sw-processing-plant
  • packs/warfare-starwars/assets/bundles/sw-processing-plant.manifest
  • packs/warfare-starwars/assets/bundles/sw-repair-bay
  • packs/warfare-starwars/assets/bundles/sw-rocket-droid
  • packs/warfare-starwars/assets/bundles/sw-sensor-array
  • packs/warfare-starwars/assets/bundles/sw-shield-generator
  • packs/warfare-starwars/assets/bundles/sw-skyshield-generator
  • packs/warfare-starwars/assets/bundles/sw-skyshield-generator.manifest
  • packs/warfare-starwars/assets/bundles/sw-spider-droid
  • packs/warfare-starwars/assets/bundles/sw-stap
  • packs/warfare-starwars/assets/bundles/sw-supply-depot
  • packs/warfare-starwars/assets/bundles/sw-tech-union-lab
  • packs/warfare-starwars/assets/bundles/sw-tech-union-lab.manifest
  • packs/warfare-starwars/assets/bundles/sw-tibanna-refinery
  • packs/warfare-starwars/assets/bundles/sw-tibanna-refinery.manifest
  • packs/warfare-starwars/assets/bundles/sw-tri-fighter
  • packs/warfare-starwars/assets/bundles/sw-tri-fighter.manifest
  • packs/warfare-starwars/assets/bundles/sw-v19-torrent-unit
  • packs/warfare-starwars/assets/bundles/sw-v19-torrent-unit.manifest
  • packs/warfare-starwars/assets/bundles/sw-vulture-nest
  • packs/warfare-starwars/assets/bundles/sw-vulture-nest.manifest
  • packs/warfare-starwars/assets/bundles/sw-weapons-factory
  • packs/warfare-starwars/assets/bundles/sw-weapons-factory.manifest
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch codex/refactor-ci-safe-tests
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@gemini-code-assist
Copy link

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly improves the project's stability and maintainability by overhauling the VFX testing infrastructure and cleaning up legacy assets in the Star Wars mod. The refactored VFX tests now validate core contracts directly from source, making them more robust and efficient. Concurrently, the removal of placeholder asset bundles from the Star Wars mod ensures a cleaner and more accurate representation of in-game models. Additionally, critical security vulnerabilities have been patched, and several other fixes and enhancements have been integrated.

Highlights

  • VFX Test Refactoring: The VFXIntegrationTests have been refactored to use source-inspection contracts, eliminating the need for runtime dependencies and simplifying the testing process for VFX systems.
  • Star Wars Mod Cleanup: Forty-two primitive placeholder bundles have been removed from the warfare-starwars pack, ensuring units now display vanilla models and streamlining asset management.
  • Version Update & Security Patches: The project version has been updated to 0.10.0, and the SixLabors.ImageSharp dependency was upgraded to 3.1.11 to address 7 CVEs, including 3 high-severity vulnerabilities.
Changelog
  • CHANGELOG.md
    • Added new version 0.10.0 entry.
    • Updated SixLabors.ImageSharp to 3.1.11 to patch 7 CVEs (3 high, 4 medium severity), superseding Dependabot PR Bump the nuget group with 1 update #24.
    • Added LOD Calculation Tests (LODCalculationTests.cs) for polycount targets, LOD ratios, and screen threshold math.
    • Added VFX Pool Logic Tests (VFXPoolLogicTests.cs) covering pool lifecycle, faction coloring, and impact positioning (215 tests).
    • Expanded Phase 3A/3B LOD tests with raw GLB path reference assertions and distinct asset path per-unit checks.
    • Configured MCP server cwd for src/Tools/DinoforgeMcp to correctly resolve python -m dinoforge_mcp.server.
    • Fixed UI panel alpha flicker by setting _animT = 1f in DebugPanel.Show() and ModMenuPanel.Show().
    • Fixed example-balance pack ID in pack.yaml and resolved ContentLoaderIntegrationTests failures.
    • Narrowed RegisterItems<T> deserialization catch {} scope to list-parse only, preventing silent swallowing of registration failures.
    • Improved Integration test resilience for PackLoadingTests and StatTests to skip gracefully when the game is unavailable.
    • Synced lock files across all 17 projects (CRLF normalization + dependency updates).
    • Synchronized Unity AssetBundles and prefab GUIDs after Unity project rebuild.
  • VERSION
    • Updated project version from 0.9.1 to 0.10.0.
  • packs/warfare-starwars/assets/bundles/sw-aat-walker.manifest
    • Removed manifest file for the 'sw-aat-walker' asset bundle.
  • packs/warfare-starwars/assets/bundles/sw-arf-trooper.manifest
    • Removed manifest file for the 'sw-arf-trooper' asset bundle.
  • packs/warfare-starwars/assets/bundles/sw-assembly-line.manifest
    • Removed manifest file for the 'sw-assembly-line' asset bundle.
  • packs/warfare-starwars/assets/bundles/sw-b1-squad.manifest
    • Removed manifest file for the 'sw-b1-squad' asset bundle.
  • packs/warfare-starwars/assets/bundles/sw-barc-speeder.manifest
    • Removed manifest file for the 'sw-barc-speeder' asset bundle.
  • packs/warfare-starwars/assets/bundles/sw-blast-wall.manifest
    • Removed manifest file for the 'sw-blast-wall' asset bundle.
  • packs/warfare-starwars/assets/bundles/sw-clone-commando.manifest
    • Removed manifest file for the 'sw-clone-commando' asset bundle.
  • packs/warfare-starwars/assets/bundles/sw-clone-militia.manifest
    • Removed manifest file for the 'sw-clone-militia' asset bundle.
  • packs/warfare-starwars/assets/bundles/sw-clone-wall-guard.manifest
    • Removed manifest file for the 'sw-clone-wall-guard' asset bundle.
  • packs/warfare-starwars/assets/bundles/sw-durasteel-barrier.manifest
    • Removed manifest file for the 'sw-durasteel-barrier' asset bundle.
  • packs/warfare-starwars/assets/bundles/sw-general-grievous.manifest
    • Removed manifest file for the 'sw-general-grievous' asset bundle.
  • packs/warfare-starwars/assets/bundles/sw-guard-tower.manifest
    • Removed manifest file for the 'sw-guard-tower' asset bundle.
  • packs/warfare-starwars/assets/bundles/sw-heavy-foundry.manifest
    • Removed manifest file for the 'sw-heavy-foundry' asset bundle.
  • packs/warfare-starwars/assets/bundles/sw-jedi-knight.manifest
    • Removed manifest file for the 'sw-jedi-knight' asset bundle.
  • packs/warfare-starwars/assets/bundles/sw-medical-droid.manifest
    • Removed manifest file for the 'sw-medical-droid' asset bundle.
  • packs/warfare-starwars/assets/bundles/sw-mining-facility.manifest
    • Removed manifest file for the 'sw-mining-facility' asset bundle.
  • packs/warfare-starwars/assets/bundles/sw-probe-droid.manifest
    • Removed manifest file for the 'sw-probe-droid' asset bundle.
  • packs/warfare-starwars/assets/bundles/sw-processing-plant.manifest
    • Removed manifest file for the 'sw-processing-plant' asset bundle.
  • packs/warfare-starwars/assets/bundles/sw-skyshield-generator.manifest
    • Removed manifest file for the 'sw-skyshield-generator' asset bundle.
  • packs/warfare-starwars/assets/bundles/sw-tech-union-lab.manifest
    • Removed manifest file for the 'sw-tech-union-lab' asset bundle.
  • packs/warfare-starwars/assets/bundles/sw-tibanna-refinery.manifest
    • Removed manifest file for the 'sw-tibanna-refinery' asset bundle.
  • packs/warfare-starwars/assets/bundles/sw-tri-fighter.manifest
    • Removed manifest file for the 'sw-tri-fighter' asset bundle.
  • packs/warfare-starwars/assets/bundles/sw-v19-torrent-unit.manifest
    • Removed manifest file for the 'sw-v19-torrent-unit' asset bundle.
  • packs/warfare-starwars/assets/bundles/sw-vulture-nest.manifest
    • Removed manifest file for the 'sw-vulture-nest' asset bundle.
  • packs/warfare-starwars/assets/bundles/sw-weapons-factory.manifest
    • Removed manifest file for the 'sw-weapons-factory' asset bundle.
  • src/Tests/VFXIntegrationTests.cs
    • Refactored VFX integration tests to use source-inspection contracts, removing extensive runtime simulation logic and associated supporting classes.
Activity
  • The pull request description outlines a test plan, indicating expected validation steps: CI build and tests passing, VFX tests passing without runtime, and the Star Wars pack validating cleanly.
  • The PR description notes that it was 'Generated with Claude Code', suggesting AI assistance in its creation.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request refactors the VFX integration tests to a source-inspection model to remove runtime dependencies and cleans up placeholder bundles in the Star Wars pack. While the cleanup is good, I have two points of feedback. First, there's a duplicated section in the CHANGELOG.md that should be removed for clarity. Second, and more importantly, the new testing strategy for VFX, while meeting its goal of removing runtime dependencies, significantly reduces test quality and maintainability by relying on brittle string matching of source code. I've left a detailed comment suggesting a more robust unit testing approach that would still avoid runtime dependencies.

KooshaPari and others added 2 commits March 14, 2026 19:15
Release highlights:
- fix(security): SixLabors.ImageSharp 3.0.2→3.1.11 (7 CVEs)
- fix(ui): DebugPanel/ModMenuPanel alpha flicker on Show()
- fix(sdk): RegisterItems<T> no longer swallows registration failures
- test: LODCalculationTests + VFXPoolLogicTests; Phase 3A/3B expansions
- chore: all 17 lock files synced; pack ID + integration test fixes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Primitive placeholder bundles (<50KB capsule/cube/sphere geometry) deleted.
ContentLoader skips missing bundles → units use vanilla game appearance.

8 units keep real 3D models:
  Republic: clone trooper, clone heavy, clone medic
  CIS: B1 droid, B2 droid, commando droid, sniper droid, clone barracks

Remaining 42 entries fall back to vanilla until PRO Sketchfab token
downloads the queued UIDs from asset_pipeline.yaml v0_9_0_future.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@KooshaPari KooshaPari force-pushed the codex/refactor-ci-safe-tests branch from d0bec57 to 758a9c6 Compare March 15, 2026 02:24
@KooshaPari KooshaPari merged commit 24d0fed into main Mar 15, 2026
13 checks passed
@KooshaPari KooshaPari deleted the codex/refactor-ci-safe-tests branch March 15, 2026 02:36
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