You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Promoted concave vector polygon collision accuracy into the shared `arePolygonsColliding` engine path.
5
+
- Removed the duplicated Asteroids-only vector collision helpers so Asteroids bullet, UFO, ship, and asteroid polygon collisions all use the shared collision path.
6
+
- Hardened fullscreen bezel image attachment so the overlay is tracked before loading and syncs visible immediately after image readiness in normal and fullscreen modes.
- Read `docs/dev/PROJECT_INSTRUCTIONS.md` before implementation.
11
+
- Used the PR_26133_107 report/current baseline as prior reference; `tmp/PR_26133_107-asteroids-bezel-collision-fixes_delta.zip` was not present in this workspace.
12
+
- Scope stayed limited to shared vector collision accuracy and bezel visibility.
13
+
- No sample JSON, `start_of_day`, workspace manifest/schema contracts, or `imageDataUrl` contracts were changed.
- Expected pass behavior: the actual bezel image is mounted, `display:block`, and sized in both normal page window mode and fullscreen mode; shared vector collision detects concave edge overlaps and avoids concave notch false positives.
19
+
- Expected fail behavior: tests fail if the bezel is fullscreen-only, the overlay image is not visibly mounted, fullscreen canvas fit regresses, or vector polygon collision falls back to convex-only SAT behavior.
- PASS `node --input-type=module -e "import { run } from './tests/final/PrecisionCollisionSystems.test.mjs'; run();"`
28
+
- PASS `node --input-type=module -e "import { run } from './tests/games/AsteroidsCollisionTimingStress.test.mjs'; run();"`
29
+
- PASS `npx playwright test tests/playwright/tools/WorkspaceManagerV2.spec.mjs --grep "fits the game canvas inside the fullscreen play area|loads Object Vector Studio V2 runtime assets into Asteroids gameplay rendering" --project=playwright --workers=1 --reporter=list` (2 passed)
30
+
- PASS `npm run test:workspace-v2` (56 passed)
31
+
- PASS `git diff --check`
32
+
- PASS Playwright V8 coverage report generated at `docs/dev/reports/playwright_v8_coverage_report.txt`.
33
+
-`(57%) games/Asteroids/game/AsteroidsWorld.js - changed JS file with browser V8 coverage`
34
+
-`(88%) src/engine/runtime/fullscreenBezel.js - changed JS file with browser V8 coverage`
35
+
-`(91%) src/engine/collision/polygon.js - changed JS file with browser V8 coverage`
36
+
37
+
## Manual Validation
38
+
1. Open `/games/Asteroids/index.html`.
39
+
2. Confirm the bezel is visible around the canvas before entering fullscreen.
40
+
3. Click the canvas to enter fullscreen and confirm the bezel remains visible and the canvas fits inside the transparent bezel window.
41
+
4. Start a game and verify slow or stationary ship overlap with the visible large-asteroid vector edge destroys the ship.
42
+
5. Verify bullets and UFOs do not trigger hits while sitting in the concave empty notch of the visible large asteroid.
43
+
44
+
## Full Samples Smoke
45
+
- Skipped as requested.
46
+
- Reason: this PR is limited to shared vector collision behavior, Asteroids collision/bezel validation, and does not modify shared sample loading, sample JSON, or broad sample runtime behavior.
0 commit comments