Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
ae26e0e
Migrate six legacy gameplay renderers to native Three.js scenes
EmergentMonk Sep 27, 2026
c59ecc7
Correct remaining renderer labels
EmergentMonk Sep 27, 2026
1b94343
Fix perspective camera projection on resize
EmergentMonk Sep 27, 2026
f0e5b69
Keep Pixel Warfront overlays above native HUD
EmergentMonk Sep 27, 2026
bde57f4
Cover perspective camera aspect during resize
EmergentMonk Sep 27, 2026
a7923f2
Cover Pixel Warfront overlay stacking
EmergentMonk Sep 27, 2026
28feeea
Match resize regression to rounded renderer dimensions
EmergentMonk Sep 27, 2026
00696b1
Fix BLACKSTAR automap visibility
EmergentMonk Sep 27, 2026
9a12e11
Cover BLACKSTAR automap hold behavior
EmergentMonk Sep 27, 2026
3b20040
Render Pixel Warfront drag box on input plane
EmergentMonk Sep 27, 2026
c1944b5
Cover Pixel Warfront drag box input plane
EmergentMonk Sep 27, 2026
abce165
Honor boss effects in shared native renderer
EmergentMonk Sep 27, 2026
4e56326
Cover SEEDSTORM boss effect marker
EmergentMonk Sep 27, 2026
df7e7d1
Use display state for BLACKSTAR SVG automap
EmergentMonk Sep 27, 2026
58377da
Test BLACKSTAR automap by rendered visibility
EmergentMonk Sep 27, 2026
173b934
Scale native explosion effects by entity radius
EmergentMonk Sep 27, 2026
71460e3
Restore SEEDSTORM native flash and camera shake
EmergentMonk Sep 27, 2026
065b300
Forward and decay SEEDSTORM combat feedback
EmergentMonk Sep 27, 2026
790b226
Cover per-event native explosion radii
EmergentMonk Sep 27, 2026
db59fd5
Cover SEEDSTORM native combat flash and shake
EmergentMonk Sep 27, 2026
36c921e
Refocus SEEDSTORM canvas after feedback regression
EmergentMonk Sep 27, 2026
13a3d4c
Add shared native flash and camera shake feedback
EmergentMonk Sep 27, 2026
84670e5
Style native combat flash overlay
EmergentMonk Sep 27, 2026
d91ba10
Forward BLACKSTAR combat feedback to native renderer
EmergentMonk Sep 27, 2026
908a6c3
Restore BLACKSTAR feedback and automap navigation
EmergentMonk Sep 27, 2026
8a86d4c
Forward VECTOR ZERO combat feedback
EmergentMonk Sep 27, 2026
0ef3d31
Restore VECTOR feedback and classify automap contacts
EmergentMonk Sep 27, 2026
e66f733
Forward and decay Pixel Warfront destruction feedback
EmergentMonk Sep 27, 2026
0628042
Restore Pixel Warfront native destruction feedback
EmergentMonk Sep 27, 2026
16cfaf6
Apply INERTIA ZERO camera shake to native view
EmergentMonk Sep 27, 2026
1ae353e
Cover BLACKSTAR automap navigation markers
EmergentMonk Sep 27, 2026
46a61bf
Cover INERTIA ZERO native camera shake
EmergentMonk Sep 27, 2026
a17a42d
Pin native combat feedback and automap contracts
EmergentMonk Sep 27, 2026
74b5a10
Exercise native combat feedback and VECTOR contacts
EmergentMonk Sep 27, 2026
39e360f
Capture VECTOR feedback before automap reset
EmergentMonk Sep 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/inertia-zero.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,4 @@ jobs:
run: |
node SUBSPACE/tests/core.test.js
node SUBSPACE/tests/runtime-smoke.js
node --check shared/qsol-three-stage.js
node --check shared/qsol-native.js
29 changes: 29 additions & 0 deletions .github/workflows/native-renderers.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Native Three.js gameplay
on:
push:
paths: ['shared/**', 'tests/**', '**/renderer.js', '**/app.js', '**/index.html', '.github/workflows/native-renderers.yml']
pull_request:
paths: ['shared/**', 'tests/**', '**/renderer.js', '**/app.js', '**/index.html', '.github/workflows/native-renderers.yml']
permissions:
contents: read
jobs:
native-webgl:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
- run: npm --prefix BLACKSTAR_AGA ci
- run: npx --prefix BLACKSTAR_AGA playwright install --with-deps chromium
- run: node tests/native-renderers.static.js
- name: Real WebGL scene, framebuffer, resize, motion, context and lifecycle checks
env:
NODE_PATH: ./BLACKSTAR_AGA/node_modules
run: node tests/native-renderers.browser.js
- uses: actions/upload-artifact@v4
if: always()
with:
name: native-gameplay-screenshots
path: test-results/
if-no-files-found: ignore
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
**/node_modules/
TERNARYDRIFT/build/
SIGNAL_BREACH/rust/target/
test-results/
*/tests/*.png
14 changes: 8 additions & 6 deletions BLACKSTAR_AGA/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
micro-release, rebuilt as an original deterministic offline browser FPS.**

BLACKSTAR AGA is a compact grid-and-sector-flavoured first-person shooter with a
320×200 software framebuffer, chunky procedural pixel art, four-voice-inspired
native Three.js rooms, faceted enemies and a chunky AGA-inspired palette, four-voice-inspired
layered Web Audio effects, four linked missions, and replay receipts that reproduce the
fixed-tick simulation from its campaign seed and input ledger.

Expand Down Expand Up @@ -70,15 +70,15 @@ tick. The telemetry panel publishes the current canonical state digest. See
## Architecture

- `core.js` — pure deterministic simulation, campaign parsing, combat, replay and digest.
- `app.js` — fixed-step scheduler, raycaster, differentiated enemy/weapon sprites,
layered procedural sound effects, UI, and input.
- `../shared/qsol-three-stage.js` — optional local Three.js depth, particles, and
impact pulses behind the authoritative 320×200 software view.
- `app.js` — fixed-step scheduler, procedural sound effects, UI, and input.
- `renderer.js` — perspective rooms, collision-grid doors, faceted enemies, pickups,
exit console and camera-relative weapon geometry.
- `../shared/qsol-native.js` — the sole gameplay WebGL renderer and GPU lifecycle.
- `style.css` — responsive recovered-hardware shell with no fetched fonts or images.
- `index.html` — local-file-compatible application and strict offline CSP.
- `tests/` — Node determinism/offline tests and a Playwright end-to-end smoke test.

The raycaster and all art/audio are original. The only runtime library is the
The scene geometry and all art/audio are original. The only runtime library is the
repository's pinned local Three.js distribution; no network or third-party game
assets, ROMs, WADs, maps, textures, sprites, or samples are used. See
[`NOTICE.md`](NOTICE.md).
Expand All @@ -101,3 +101,5 @@ the game runtime.
Playable vertical slice / complete four-mission mini-campaign. Version 2 replay
receipts are intentionally versioned rather than promised compatible with future
simulation revisions.

Native renderer architecture and verification: [migration audit](../docs/NATIVE_RENDERING.md).
Loading
Loading