From ad20cf210a0e6465f15c30ffbd4d107bac557169 Mon Sep 17 00:00:00 2001
From: James Dansereau <106631954+jkdansereau@users.noreply.github.com>
Date: Mon, 28 Sep 2026 01:17:59 -0400
Subject: [PATCH] release: v0.4.0 notes as source of truth - feature-organized,
every claim code-verified (labels, options, defaults, D248 root cause)
---
.github/release-notes.md | 416 +++++++++++++++++++++++----------------
1 file changed, 249 insertions(+), 167 deletions(-)
diff --git a/.github/release-notes.md b/.github/release-notes.md
index 81205a2b..7d10d8ae 100644
--- a/.github/release-notes.md
+++ b/.github/release-notes.md
@@ -1,178 +1,260 @@
-## GoldenEye 007 PC Port v0.4.0
+# GoldenEye 007 PC Port — v0.4.0
-> The full single-player campaign runs at a steady 60 fps with audio (music +
-> SFX) playing throughout, on Windows and Linux including Steam Deck, and it
-> is completable end to end: the whole campaign has been playtested through
-> all 20 missions (Agent difficulty), on both Windows and Steam Deck with a
-> physical controller. **This is a pre-1.0 release, not a finished
-> product** — expect rough edges and missing features until v1.0; see the
-> [README's Roadmap section](https://github.com/jkdansereau/goldeneye-pc-port#roadmap)
-> for where this is headed. **v0.4.0 ships the NTSC-U (US) region only** —
-> PAL and JP ROMs are on the post-release roadmap.
+Platforms: **Windows x86-64** and **Linux x86-64 (including Steam Deck)**.
+Region: **NTSC-U (US) only** — see [Things to know](#things-to-know).
-### What's new since v0.3.0
+v0.4.0 is a large feature and fidelity release. The full campaign runs at a
+steady 60 fps with music and SFX throughout, and has been playtested end to
+end (all 20 missions, Agent difficulty) on Windows and on Steam Deck with a
+physical controller. This is a pre-1.0 release: the known issues below are
+real, and some areas (multiplayer, PAL/JP, HD assets) are still ahead of us.
-**Native widescreen**
-- **The world now renders natively at your display's aspect ratio**
- (D334/D335): undistorted world geometry at any aspect (wider view, same
- vertical FOV), the HUD keeps its shape and anchors to the screen edges,
- and the 4:3 front-end menus are pillarboxed. The ending-credits sequence
- wraps widescreen too. The F10 `Native widescreen` toggle restores the old
- stretched frame if you prefer it.
+---
-**Aim, reworked for every input device**
-- **Reticule jitter in aim mode is gone**: mouse aim now uses the Perfect
- Dark PC port's aim model (D332) on top of v0.3.0's direct-look rework.
-- **New `Aim style` option** (D333/D337): N64 (the crosshair deflects and
- the camera follows at the edge; internally it runs on the PD aim model
- above) or Centred (crosshair fixed at screen center, input moves the
- camera directly). In v0.3.0 the centred mode only worked with a mouse;
- **v0.4.0 makes it work with a controller too**, with full-stick speed
- matching the N64 original's top turn rate (D404).
-- **New `Aim range` option** (D338): PC (full-screen feel, the default) or
- N64 (original 65% stick limits). A single mouse-sensitivity control with a
- wider range remains from v0.3.0.
+## New features
-**A modern, regrouped options experience**
-- Both options screens were reorganized into functional sections (video/
- graphics, sound, bond file) with per-section reset-to-defaults, and the
- confusing "save file" wording is now "profile" — settings are scoped per
- profile (D353–D356).
-- The **F10 in-game overlay** got a GE-style refresh: category headers,
- controller value-adjust with hold-to-repeat, pointer/keyboard navigation
- fixes, plus five new settings — Skip Intro, Show FPS, and pad
- invert/deadzone/trigger rows (D237/D345–D347/D360–D370).
-- The front end gained a **PC Options screen** next to the file-select bar,
- and file-select Copy/Erase moves into the bottom bar (D343).
-- Options that only existed in the in-level watch (auto-aim, look-ahead and
- friends) are now editable from the PC options — and they *stick*: the
- "auto-aim won't stay on" report (issue #103) is fixed (D330/D350/D352/
- D354).
-- **New `HUD scale` option** (75–150%): scale the ammo counter, pickup
- text, and subtitle bars for smaller/larger displays (D226).
+### Native widescreen *(on by default)*
-**Crosshair, your way (opt-in)**
-- On/off, colour, size and style rows were added to the options. All default
- to the untouched N64 crosshair — nothing changes unless you ask
- (D373/D379/D381/D382).
+The world now renders natively at your display's aspect ratio instead of
+stretched 4:3: geometry is undistorted (wider view, same vertical FOV), the
+in-level HUD keeps its shape and anchors to the screen edges, and the 4:3
+front-end menus and ending-credits sequence are pillarboxed. Turn it off
+with the **`Native widescreen`** toggle (F10 → Display) to restore the old
+stretched frame. (D334/D335)
-**Key rebinding + new default layout**
-- A two-slot key editor (PC layout + in-level layout) lives in both options
- screens, alongside a **GEPD-style preset layout that is the new default**
- and a crouch/reload binding set. INI-file bindings still work
- (D371/D374/D383/D385).
+### A true, stable 60 fps
-**Controllers**
-- The default pad layout now matches how the game is actually played:
- **A uses / interacts, X reloads, Y cycles weapons** (previously two
- buttons both crouched and there was no in-game use button) (D393);
- crouch itself now uses the engine's real crouch input (D375); Xbox-
- variant controller parity (D394); pad invert/deadzone/trigger rows
- (D237); and the F10 overlay is fully gamepad-driven with value-adjust and
- hold-to-repeat (D347/D395/D396).
-- **The N64 Rumble Pak now drives real gamepad haptics** on supported pads,
- with a `Rumble strength` slider (D401).
+v0.3.0 could settle at 30 fps game-wide on some setups. The cause was a
+pointer-width bug in the game's frame scheduler: a "present every frame"
+flag was read back at a hardcoded byte offset that the 32→64-bit transition
+silently moved, so the render path ran on the audio client's every-other-
+frame cadence. Fixed at the root; the game now holds a rock-stable 60 fps
+(measured with the in-game FPS readout) on both platforms. (D248)
-**`All unlocked`, now a documented EXPERIMENTAL feature**
-- It works for its intended purpose (skip to any mission, 007 mode, full
- cheat menu) — including on a fresh install, which now yields the game's
- own fresh-slot layout instead of corrupting (D281). But enabling it can
- still leave odd audio/aim state in edge cases: **complete a level
- normally first, and back up `data/ge007.eep` before enabling it** (D387).
- The in-game warning says the same.
+### A complete aim system for mouse *and* controller
-**Performance**
-- **The whole game now holds a steady 60 fps.** v0.3.0 could settle at 30
- fps game-wide on some setups; the cause was a geometry in the frame
- timing chain, and it's root-caused and fixed (D248). Combined with the
- v0.3.0 software-RSP work, the campaign runs at a steady 60 with audio.
+- **`Aim style`** — **N64** (default): the crosshair deflects and the
+ camera follows once it reaches the screen edge. **Centred (PC)**: the
+ crosshair is fixed at screen center and your mouse — or your right stick —
+ moves the camera directly. In v0.3.0 the centred mode only worked with a
+ mouse; it now works with a controller too, using the N64 original's own
+ stick-response curve so full stick matches the original's top turn rate.
+ (D332/D333/D337/D404)
+- **`Aim range`** (shown while Centred is selected) — **PC** (default,
+ full-screen feel) or **N64** (the original 65% stick limits). (D338)
+- **Reticule jitter in aim mode is gone** — mouse aim now runs on the
+ Perfect Dark PC port's aim model. (D332)
+- Per-device sensitivity: `Mouse horizontal/vertical sensitivity`, and for
+ controllers `X axis / Y axis look sensitivity (controller)` plus
+ `Look smoothing (controller)`.
-**Audio**
-- Gunshot SFX cadence now matches the N64 original's rate, and the
- intermittent silence under sustained fire near a looping sound is gone
- (D240/D241).
-- Windows audio now prefers the DirectSound backend over WASAPI for lower,
- more robust latency (D322), long-session audio degradation (issue #87) got
- pool hardening plus an optional `GE_D322=1` telemetry probe if it ever
- recurs, and the silenced-PPK "slap" plus the broader real-time mixer
- corruption behind it are fixed (D202).
+### Rebuilt options (F10 overlay + front-end PC Options)
-**Graphics fixes from the final playtest wave**
-- **Water is fixed** (D245): the `IsWater` shimmer/cross-fade (Dam,
- Frigate, Surface 2, …) now matches the N64 original — the moving seam and
- the pattern "resetting" as you moved are gone, verified against an
- era-correct 1994 reference.
-- The **particle "rainbow" effect is fixed** (D252): the intermittently
- recoloured explosion/spark particles from v0.3.0 no longer occur.
+- Both options screens are reorganized into functional sections — **Display,
+ Input, Gameplay, HUD, Bond file** — each with its own *Reset to
+ defaults*; per-profile settings scoping; and the old "save file" wording
+ is now **profile**. (D353–D356)
+- The **F10 in-game overlay** was refreshed GE-style: category headers,
+ full controller support (value-adjust with hold-to-repeat), fixed pointer/
+ keyboard navigation, and new rows: **Show FPS**, **Skip intro**, pad
+ **Invert look / Southpaw / Deadzone / Trigger threshold**. (D237/D345–
+ D347/D360–D370)
+- The front end gained a **PC Options screen** beside the file-select bar,
+ and save-file **Copy/Erase** moved into the bottom bar. (D343)
+- Watch-only settings — **Auto-aim**, **Look ahead** and the rest — are now
+ editable from the PC options and **persist correctly** (this closes the
+ "auto-aim won't stay on" report, issue #103). (D330/D350/D352/D354)
+- **`HUD scale`** (75–150%, default 100%): scales the ammo counter, pickup
+ text and subtitle bars for smaller or larger displays. (D226)
+
+### Crosshair customization *(defaults leave the N64 crosshair untouched)*
+
+**Show crosshair** (on/off), **Crosshair colour** (the original red,
+or green / blue / yellow / cyan / magenta / white, or custom RGB), **Crosshair size**
+(default 100% of the original drawing), and **Crosshair style** (Original /
+Thin cross). (D373/D379/D381/D382)
+
+### In-game key rebinding + new default layout
+
+A two-group key editor (**Movement**, **Actions**, each with its own *Reset
+to defaults*) lives in both options screens. The new default **Actions**
+layout is the GEPD-style preset (e.g. Action/next-weapon on the keys you'd
+expect from a modern layout); existing INI bindings are honored and older
+ones migrate automatically. (D371/D374/D383/D385)
+
+### Controller improvements
+
+- **Sane pad defaults**: **A = use/interact, X = reload, Y = weapon cycle**
+ (v0.3.0 mapped two buttons to crouch and had no in-game use button). (D393)
+- Crouch uses the engine's real crouch input, with a **`Crouch mode`**
+ toggle (hold / latched). (D375)
+- Xbox-variant controller parity, **Southpaw**, and per-stick
+ **deadzone** + **trigger threshold** rows. (D237/D394)
+- **The N64 Rumble Pak now drives real gamepad haptics** (Steam Deck
+ included), scaled by a global **`Vibration`** slider (default 50%). (D401)
+- The F10 overlay is fully gamepad-driven. (D347/D395/D396)
+
+### `All unlocked` ships as a documented EXPERIMENTAL feature
+
+F10 → Gameplay → **`All unlocked (EXPERIMENTAL)`** opens every mission, 007
+mode and the full cheat menu. On a fresh install it now yields the game's
+own fresh-slot layout instead of corrupting state (D281) — but enabling it
+can still bake synthetic cheat/completion data into your save that switching
+it off does not undo: **complete a level normally first, and back up
+`data/ge007.eep` before enabling it.** (D387)
+
+### Steam Deck / Linux
+
+The first clean SteamOS/glibc build, plus a first-launch preset for decks
+without a config (native 1280×800, 2× MSAA, vsync, 250% draw/LOD
+distances). (D402/D283)
+
+---
+
+## Bug fixes
+
+### Fidelity (verified against the N64 original / era-correct references)
+
+- **Water** on the `IsWater` levels (Dam, Frigate, Surface 2, …) matches
+ the original: the moving seam between two patterns and the pattern
+ "resetting" as you moved are gone. (D245)
+- The **particle "rainbow" effect** (intermittently recoloured sparks and
+ explosion residue) no longer occurs. (D252)
+- **Frigate: "every polygon breaks except the gun"** after turning — and
+ the rare "Bond briefly out of place" quirk — were the same never-written
+ fields read by the head-bob animation; both are fixed. (D336/D311)
- Surface 1/2: the tree backdrop that rendered as a solid wall of texture
- now renders as proper camera-facing tree cards (D236).
-- Frigate (and the rare "model briefly out of place" quirk): both were the
- same never-written-fields read in the head-bob animation; fixed
- (D336/D311).
-- Ejected shell casings now render (D331); the intro gun-barrel blood drip
- draws correctly (D341); the extra erroneous long muzzle-flash on some guns
- is gone (D303); the occasional z-fighting is fixed (D308); backwards-facing
- security-camera props fixed (D307); the front-end Rareware logo work
- narrowed to a subtle filtering residual and the Nintendo logo/copyright
- page renders correctly (D403/D75); the train-intro soldier pose is correct
- (D392); file-select background/gun-barrel comb rendering fixed (D397);
- stale-texture artifacts after level transitions fixed (D235); the
- randomly flickering F10 menu items are gone (D314); the watch's
- controller-page graphic renders again (D290); and file-select folders
- and Bond photos no longer vanish after backing out of a file (D342).
-- Distant-geometry dropout on the biggest open levels (Streets, Egyptian) is
- substantially improved at default settings (D249).
+ now renders as proper camera-facing tree cards. (D236)
+- Ejected **shell casings** render again. (D331)
+- The intro **gun-barrel blood drip** draws correctly. (D341)
+- The extra erroneous **long muzzle flash** on some guns is gone. (D303)
+- Occasional **z-fighting** fixed; **security-camera props** no longer face
+ backwards; the front-end **Nintendo logo and copyright page** render
+ correctly. (D308/D307/D403)
+- The **train-intro soldier pose** is correct. (D392)
+- File-select background / gun-barrel comb rendering fixed. (D397)
+- Stale-texture artifacts after level transitions fixed. (D235)
+- Distant-geometry dropout on the biggest open levels (Streets, Egyptian)
+ substantially improved at default settings. (D249)
+- The **Facility execution-scene watchdog** from v0.3.0 stays enabled as a
+ safeguard; the animation-pinning that motivated it is root-caused (a tick
+ granularity divergence) and fixed, so the scene plays out as authored.
+ (D329/D318)
-**Windows / PC stability**
-- Game exit is now orderly, so quitting no longer lands inside the graphics
- driver (a class of driver bugchecks seen during testing) (D344); an
- idle-then-click mouse-mode fix cleared a Windows non-self-recovering
- freeze (D287); plus a port-wide code audit (missing returns, prototypes,
- undefined-behaviour shifts).
-- The Facility execution-scene watchdog from v0.3.0 stays enabled as a
- safeguard; the animation-pinning that motivated it is root-caused and
- fixed at the tick level (D329).
+### Front end & UI
-**Steam Deck / Linux**
-- The first clean SteamOS/glibc build (D402), plus a first-launch preset
- (native 1280×800, 2× MSAA, vsync) for decks without a config yet (D283).
+- Randomly **flickering F10 menu items** are gone. (D314)
+- The watch's **controller-page graphic** renders again. (D290)
+- File-select **folders and Bond photos** no longer vanish after backing
+ out of a file. (D342)
+- File-select bottom row (SELECT FILE / Copy / Erase / PC Options) aligned.
+ (D398–D400)
-**Renderer robustness (community contribution, PR #106)**
-- Setting MSAA above your driver's maximum no longer risks a black screen
- (the request is clamped to `GL_MAX_SAMPLES`), and two framebuffer-state
- bugs in the render/resolve paths were fixed. Affects both Windows and
- Linux builds (D405).
+### Audio
-**Also this cycle (research, not yet features)**
-- ROM-level mod support was investigated and found viable (the game's file
- table lives in the ROM) (D325–D328); HD-texture packs and the drop-in-ROM
- flow are tracked post-1.0; a measured CPU budget on low-end hardware
- reshaped the #92 performance investigation toward the GPU (D339).
+- **Gunshot SFX** cadence matches the N64 original's rate, and the
+ intermittent silence of the PP7/AK47 under sustained fire near a looping
+ sound is gone. (D240/D241)
+- The silenced **PPK "slap"** and the broader real-time mixer corruption
+ behind it are fixed. (D202)
+- Windows audio now prefers the **DirectSound** backend over WASAPI (lower,
+ more robust latency). (D322)
+- In-stage music **re-synchronizes** correctly at stage transitions and
+ level entry. (D355)
+- Long-session audio degradation (issue #87): pool hardening shipped, plus
+ an optional `GE_D322=1` telemetry probe if it ever recurs.
-### Known issues
+### Stability & renderer
+
+- **Orderly game exit**: quitting no longer lands inside the graphics
+ driver (a class of Windows driver bugchecks seen during testing). (D344)
+- A **non-self-recovering Windows freeze** after the window sat idle and
+ lost focus is fixed (mouse-mode changes now applied on the window
+ thread). (D287)
+- **MSAA above your driver's maximum no longer black-screens** (the request
+ is clamped to `GL_MAX_SAMPLES`), and two framebuffer-state bugs in the
+ render/resolve paths were fixed — community contribution, PR #106,
+ security-reviewed. (D405)
+- Port-wide code audit: missing returns in front-end menus, missing
+ prototypes, undefined-behaviour shifts.
+
+---
+
+## Options reference
+
+All settings available in v0.4.0, in both options screens (front-end
+**PC Options** and the in-game **F10 overlay**). Defaults in parentheses.
+
+| Setting | Section | Default |
+|---|---|---|
+| `Native widescreen` | Display | On |
+| `Frame rate cap` | Display | 60 (30 / 60) |
+| `Show FPS` | Display | Off |
+| `MSAA` | Display | 2× (1/2/4/8, clamped to driver max) |
+| `Aim style` | Input | N64 (N64 / Centred (PC)) |
+| `Aim range` | Input | PC (shown while Centred) |
+| `Mouse horizontal/vertical sensitivity` | Input | calibrated midpoint |
+| `Invert look (mouse)` / `Invert look (controller)` / `Southpaw` | Input | Off |
+| `X / Y axis look sensitivity (controller)` | Input | 100% (native) |
+| `Look smoothing (controller)` | Input | 0 |
+| `Deadzone (left/right stick)` | Input | 70% |
+| `Trigger threshold` | Input | 23% |
+| `Vibration` | Input | 50% |
+| `Crouch mode` | Input | Hold |
+| `Bindings…` (Movement / Actions editors) | Input | GEPD-style preset |
+| `Auto-aim` / `Look ahead` | Gameplay | Off (watch-backed) |
+| `Skip intro` / `No hit flash` | Gameplay | Off |
+| `All unlocked (EXPERIMENTAL)` | Gameplay | Off |
+| `HUD scale` | HUD | 100% (75–150%) |
+| `Show crosshair` / `Crosshair colour` / `Crosshair size` / `Crosshair style` | HUD | N64-intact (size 100%) |
+
+---
+
+## Things to know
+
+- **NTSC-U (US) ROMs only.** PAL and JP ROMs are not supported in this
+ version; asset repair for those regions is on the post-release roadmap.
+ (D258)
+- **The default Actions key layout is new** (GEPD-style). If you preferred
+ the v0.3.0 defaults, rebind them in *Input → Bindings…* or reset the
+ group. Existing INI bindings are auto-migrated and still honored.
+- **Back up `data/ge007.eep` before using `All unlocked`** (see above).
+- Steam Deck: the first launch in Game Mode applies the Deck preset only if
+ no `ge007.ini` exists yet; F10 changes always win afterwards.
+
+## Known issues
- On Facility, if gas leaks during Ourumov's monologue he can pause for up
to ~10 s before resuming the scripted shootout — a latent race that exists
in the N64 original too (where it softlocks permanently); the port detects
- and auto-recovers it (D318).
+ and auto-recovers it. (D318)
- With *Native widescreen* on, the F10 options overlay stretches with the
- window instead of pillarboxing like the front-end menus (legible; cosmetic
- only). The front-end menus themselves are pillarboxed correctly (D335b).
+ window instead of pillarboxing like the front-end menus (legible;
+ cosmetic). (D335b)
- The front-end Rareware logo shows a subtle texture-filtering artifact
- (Nintendo logo and legal page are clean). Cosmetic only (D75).
-- This release ships NTSC (US) assets; PAL/JP ROMs are not supported in this
- version (D258).
-- **`All unlocked` is experimental: back up `data/ge007.eep` before
- enabling it.** Any save while ON — even a profile-settings change — can
- leave odd audio/aim state; completing a level normally first avoids the
- fresh-install case (D387).
+ (the Nintendo logo and legal page are clean). Cosmetic only. (D75)
+- **`All unlocked` is experimental** (see above); the fresh-install
+ corruption case is fixed, but saves made while it is on are not
+ guaranteed recoverable by switching it off. (D387)
-### Downloads
+## Roadmap since v0.3.0 (research, not yet features)
+
+- ROM-level **mod support** investigated and found viable (the game's file
+ table lives in the ROM); HD texture packs and the drop-in-ROM flow are
+ tracked post-1.0. (D325–D328)
+- A measured CPU budget on low-end hardware (issue #92) reshaped the
+ performance investigation toward the GPU. (D339)
+- Controller options wave 2 (presets, pad reassignment UI) and PAL/JP
+ support are planned post-v0.4.0.
+
+---
+
+## Downloads
| File | Platform |
|---|---|
@@ -180,50 +262,50 @@
| `goldeneye-pc-port-0.4.0-linux-x86_64.tar.gz` | Linux x86-64 (incl. Steam Deck) |
Each contains the engine executable, a README, license texts, and the
-`prepare-assets` tool. **No ROM, no game assets.** The Windows bundle carries
-its runtime DLLs; the Linux bundle carries SDL2, so on both platforms nothing
-needs to be installed first.
+`prepare-assets` tool. **No ROM, no game assets.** The Windows bundle
+carries its runtime DLLs; the Linux bundle carries SDL2, so on both
+platforms nothing needs to be installed first.
-### Running it
+## Running it
You supply your own **GoldenEye 007 N64 ROM** (`.z64`, big-endian) that you
-legally own: the **NTSC-U (US)** release is the only region this build
-supports (PAL / JP are on the post-release roadmap). No Python, no
-toolchain, nothing to install.
+legally own (NTSC-U only, as noted above). No Python, no toolchain, nothing
+to install.
1. Unpack the archive.
2. Make a `data/` folder next to the executable and put the ROM in it, named
`ge007.ntsc-final.z64`.
3. Run the executable **from that folder**. The first run takes a few extra
seconds: it detects your ROM, generates the two derived asset folders
- (`data/pcmodels-ntsc-final/`, `data/pccg-ntsc-final/`) once, and saves them
- for every future run. (The generator is `prepare-assets/ge007-convert`
- inside the bundle; you can also run it manually; it prints what it's doing.)
+ (`data/pcmodels-ntsc-final/`, `data/pccg-ntsc-final/`) once, and saves
+ them for every future run. (The generator is
+ `prepare-assets/ge007-convert` inside the bundle; you can also run it
+ manually; it prints what it's doing.)
-**Steam Deck:** sideload the unpacked folder (USB or a file manager), do steps
-2–3, then add the executable to Games → *Add Game* as a non-Steam game. The
-first launch in Game Mode picks up the Deck preset (native 1280×800, 2× MSAA,
-vsync) automatically if no config exists yet.
+**Steam Deck:** sideload the unpacked folder (USB or a file manager), do
+steps 2–3, then add the executable to Games → *Add Game* as a non-Steam
+game. The first launch in Game Mode picks up the Deck preset (native
+1280×800, 2× MSAA, vsync) automatically if no config exists yet.
-**In-game settings on the Deck:** the options overlay is fully gamepad-driven:
-it opens with **Select**, the D-pad or left stick (up/down) moves between
-options, **A** steps the selected option forward, **B** steps it back, and
-**Start** (or Select again) closes. No keyboard needed.
+**In-game settings on the Deck:** the options overlay is fully
+gamepad-driven: it opens with **Select**, the D-pad or left stick (up/down)
+moves between options, **A** steps the selected option forward, **B** steps
+it back, and **Start** (or Select again) closes. No keyboard needed.
Full steps are in the bundled `README.md`.
-### Verify the download
+## Verify the download
```
sha256sum -c goldeneye-pc-port-0.4.0-win64.zip.sha256
sha256sum -c goldeneye-pc-port-0.4.0-linux-x86_64.tar.gz.sha256
```
-### Source & docs
+## Source & docs
, built on the
-[GoldenEye 007 decompilation](https://github.com/n64decomp/007), architecture
-after the [Perfect Dark PC port](https://github.com/fgsfdsfgs/perfect_dark).
+[GoldenEye 007 decompilation](https://github.com/n64decomp/007),
+architecture after the [Perfect Dark PC port](https://github.com/fgsfdsfgs/perfect_dark).
Non-commercial fan preservation/research project; not affiliated with any
rights holder. **AI disclosure:** built through agentic AI coding (Claude
Code + a local open-weight model), directed by one person in their spare