diff --git a/README.md b/README.md index b63bf2e6..301c3ccb 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,7 @@ Support initial development through the [Frontier Systems funding goal](https:// - The first access-bypass runtime slice is documented in [`access-control-and-bypass.md`](docs/design/access-control-and-bypass.md); it uses synthetic debug tools until authoritative player inventory and equipment are implemented. - Modular machine control definitions, slot/port compatibility checks, and a trusted-handler catalog are implemented under `src/core/control/`. The [modular controls contract](docs/design/modular-controls-and-signals.md) specifies wired/radio pulses, machine actions, alarms, and messages; live installations and signal routing remain future work. - Control-board replacement plans retain fitted modules and check explicit relocations. Physical mounting and cable attachment allow dormant or unusual configurations; operability is diagnosed separately. The expanded door-board/igniter example is definition data, with construction execution and combustion still future work. +- The [design and engineering research knowledgebase](docs/research/README.md) connects source-backed leads to bounded experiments, evidence limits and design decisions. - Foundation architecture and known limitations are documented in [`docs/architecture/foundations.md`](docs/architecture/foundations.md). - Non-fatal component integrity, gas/liquid pressure, docking, EVA, and remote-control invariants are documented in [`docs/design/survival-pressure-and-recovery.md`](docs/design/survival-pressure-and-recovery.md). diff --git a/docs/research/README.md b/docs/research/README.md new file mode 100644 index 00000000..9bc13990 --- /dev/null +++ b/docs/research/README.md @@ -0,0 +1,50 @@ +# Design and engineering research + +This is Frontier Systems' version-controlled knowledgebase for design decisions and bounded experiments. Research informs proposals; adoption belongs in the relevant design/architecture contract with measured acceptance evidence. + +## Start here + +| Entry | Topic | Outcome | Evidence limit | Next step | +| --- | --- | --- | --- | --- | +| [R-001: modern rendering optimization leads](entries/R-001-modern-rendering.md) | Rendering/performance | proposed | Official engine/vendor guidance and pinned source inspection; no reproduced rendering gains | [E-001: baseline and shared wall resources](experiments/E-001-rendering-baseline.md) | +| [Reference manifest](reference-manifest.csv) | Cross-topic provenance | existing registry | Each row states its reviewed scope and rights limits | Append targeted sources; preserve the CSV contract | +| [Foundational capability matrix v1](foundational-capability-matrix.v1.csv) | Engineering-game design | existing audit | Historical capability/gap statements have their own evidence dates | Revalidate a row before treating it as current implementation | + +Use [the entry template](entry-template.md) for new investigations. Stable entry IDs identify a question, rather than each newly found URL. Search the index, manifest, design contracts and open research PRs before adding an entry; update an existing entry when the question/source is already covered. + +## Existing knowledge and authority + +- [Architecture contracts](../architecture/) describe owners and implemented boundaries. +- [Design contracts](../design/) distinguish direction from implementation, including [persistence and command boundaries](../design/persistence-and-command-boundary.md) and [bounded procedural worlds](../design/procedural-planets-and-memory-budgets.md). +- [Original planning notes](../../research_notes/Godot%20colony%20simulation%20plan/godot_architecture.md) remain historical research; this index links to them rather than copying or relocating them. +- [Performance reports](../../reports/performance/2026-10-09-baseline.md), [tick profiling](../architecture/tick-profiling.md) and [the simulation-rate matrix](../development/simulation-rate-benchmark-matrix.md) retain their original scope and caveats. + +The manifest remains the shared provenance registry required by AGENTS.md. An external URL, video, benchmark screenshot or source-level optimization opportunity is not project performance evidence. Record author claims, independent source inspection, reproduced measurements and adoption decisions separately. Missing publication dates, inaccessible material, mutable documentation and incomplete coverage must stay explicit. Summarize independently; do not store full articles/transcripts or import code/assets without the project's rights review. + +## Scope and research queue + +Keep each pass bounded to one project decision and a practical way to disprove it. + +| Topic | Bounded next question | Consult existing work first | +| --- | --- | --- | +| Rendering/performance | Can shared immutable wall resources improve a controlled workload? | R-001 / E-001 and the existing client benchmark | +| Simulation | Which measured owner/command work exceeds a tick budget? | Tick profiling and simulation-rate matrix | +| Persistence | Which interrupted checkpoint/retry failure needs stronger recovery evidence? | Persistence/command design and current checkpoint milestones | +| Multiplayer/networking | Which join/reconnect observation or bandwidth bound lacks exact-head evidence? | First-playable adapters and current observation contracts | +| Engineering-game design | Which repair/salvage/resource decision improves understandable recovery? | Capability matrix and survival/recovery design | + +These are research questions, not approved runtime features. Prefer official engine documentation, papers with inspectable methods, and reproducible analyses. Videos supply leads; hardware/vendor advice must be evaluated against the actual renderer, API and target hardware. + +## Weekly pass and handoff + +The dedicated Frontier research task owns this index and its evidence updates. The parent coordinator owns scheduling; this document creates no automation. This workflow does not authorize disclosure of additional unfinished/private engine research, logs or credentials. Each weekly pass: + +1. Read current AGENTS.md, this index, the manifest, affected contracts and open PRs through cloud tools. Pin the current integration commit; preserve desktop processes and working trees. +2. Revisit changed evidence and unresolved source gaps first. Deduplicate by URL/video ID, stable entry ID and research question; do not append unsupported links merely to show activity. +3. Investigate one bounded question using primary sources. Record access/version context, what was actually inspected, costs, limits and a reproduction/A/B proposal. An unrun experiment remains proposed. +4. Update the existing entry and manifest, retaining prior failures or superseded conclusions with dates. Propose at most one consolidated docs-only PR for the pass. Use a regular PR when the documentation slice is complete; reserve draft status for unfinished documentation or an actual unresolved blocker. If an equivalent PR is already open, update that research branch after checking its head rather than opening a duplicate. +5. Report PR/head, exact files, source/diff checks, measurements actually run, missing evidence and the next decision. Runtime experiments need separately authorized execution; this research workflow does not launch local games, benchmarks, GPU workloads or paid services. + +Outcome vocabulary: **proposed** (hypothesis/plan), **tested** (bounded independent reproduction linked), **adopted** (decision accepted into a project contract), **rejected** (failed criterion or unsuitable tradeoff), **superseded** (replacement linked). Evidence can be source-checked while the outcome remains proposed. Record a decision date and scope for every transition. + +Initial pass: **2026-10-25**; integration snapshot `b19e99ffd964006c4e590435239a8f17adbd62d5`. Existing research/design organization, manifest, renderer settings, wall presentation path, baseline report and CI scope were inspected through GitHub cloud reads. Runtime and visual acceptance were not exercised. diff --git a/docs/research/entries/R-001-modern-rendering.md b/docs/research/entries/R-001-modern-rendering.md new file mode 100644 index 00000000..a7336c0f --- /dev/null +++ b/docs/research/entries/R-001-modern-rendering.md @@ -0,0 +1,54 @@ +# R-001: modern rendering optimization leads + +- **Topic:** rendering/performance; engineering-game readability +- **Outcome/status:** proposed; source-checked on 2026-10-25; no project rendering gains reproduced +- **Decision date:** pending +- **Project snapshot:** `b19e99ffd964006c4e590435239a8f17adbd62d5` on dev-master +- **Next step:** [E-001: controlled baseline and shared wall resources](../experiments/E-001-rendering-baseline.md) + +## Sources and access + +All access/review dates below are **2026-10-25**. Godot 4.7 pages were opened alongside the supplied stable aliases; versioned URLs narrow context but remain mutable, without a captured documentation commit. + +| ID | Source/title | Author/publisher | Publication date | Reviewed version/context | +| --- | --- | --- | --- | --- | +| V1 | [Tutorial: How To Optimize Almost Every Step In Modern Game Rendering](https://www.youtube.com/watch?v=SnNm7rSSvlg) | Threat Interactive | Unverified | Video ID SnNm7rSSvlg; title/channel supplied by parent review. This pass's public video/oEmbed fetches were throttled. | +| D1 | [Optimizing 3D performance](https://docs.godotengine.org/en/4.7/tutorials/performance/optimizing_3d_performance.html) | Godot documentation contributors | Not stated on reviewed page | 4.7; culling, automatic/manual instancing and lighting | +| D2 | [3D antialiasing](https://docs.godotengine.org/en/4.7/tutorials/3d/3d_antialiasing.html) | Godot documentation contributors | Not stated | 4.7; MSAA, TAA and FSR2 | +| D3 | [Occlusion culling](https://docs.godotengine.org/en/4.7/tutorials/3d/occlusion_culling.html) | Godot documentation contributors | Not stated | 4.7; mechanism, bake limits, moving occluders and runtime comparison | +| D4 | [MultiMesh](https://docs.godotengine.org/en/4.7/classes/class_multimesh.html) | Godot documentation contributors | Not stated | 4.7 class description; group visibility/AABB and light limits | +| A1 | [RDNA Performance Guide](https://gpuopen.com/learn/rdna-performance-guide/) | AMD GPUOpen | 2023-03-22 originally posted; later update date unverified | Mutable guide with RDNA 3 updates; command buffers, PSOs, barriers and memory | +| G1 | [Introducing Reverse Z](https://godotengine.org/article/introducing-reverse-z/) | Clay John / Godot | 2024-04-29 | Historical 4.3 introduction and shader compatibility note | + +V1 coverage is inherited evidence from the parent research review: **3,235 caption segments through 2:00:36 of a 2:01:25 video**, obtained through [LinkTranscript](https://linktranscript.com/result?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DSnNm7rSSvlg). The caption service retained an older title and transcription errors. This pass could not independently retrieve that page; the final 49 seconds/outro remain unverified. No full transcript or benchmark assets are copied here. + +## Claims versus evidence + +| Lead | Source claim/context | Independently checked here | Limit / project inference | +| --- | --- | --- | --- | +| Rendering pipeline changes | Parent's V1 review identifies optimization ideas; many GI, AA and motion-blur sections are explicitly unfinished proposals | No video technique or benchmark was reproduced | Treat as investigation leads; no compounded percentage or whole-game gain | +| Repeated geometry | D1 documents Forward+ automatic instancing for shared mesh/material resources, with transparency restrictions | Pinned wall code constructs distinct resources; see audit below | Sharing is a small first hypothesis; no measured speedup | +| Image stability/readability | D2 describes MSAA's edge coverage limits and TAA's shader/specular coverage with camera-motion blurring/ghosting risks; FSR2 can run at native resolution with added cost | Documentation checked, no capture comparison performed | Assess moving cables, panel edges, labels and selection feedback, not only still screenshots | +| Hidden rooms | D3 describes CPU occlusion rasterization, setup/CPU overhead and static bake constraints; moving occluders can require BVH rebuilds | Documentation checked, no dynamic-room experiment performed | Doors and demolition must retire occlusion immediately when view opens; stale occluders are a correctness failure | +| Low-level renderer work | A1 discusses submission/state/barrier/memory costs for RDNA/DX12/Vulkan | Vendor guidance checked, no native experiment | Godot owns these mechanisms; RDNA tuning is not a universal RTX result or an instruction to modify the engine | +| Depth precision | G1 introduced reverse-Z in Godot 4.3 | Historical primary source checked | Already engine functionality; no new Frontier reverse-Z project | + +D4 cautions that MultiMesh groups instances as one spatial object with an encompassing AABB and shared per-object lighting limits. Grouping an entire base could worsen visibility/light behavior; consider spatial batches only if simpler sharing leaves a measured bottleneck. + +## Pinned Frontier evidence + +The following are source observations at the stated commit, not runtime results from this pass: + +- [project.godot](https://github.com/Valgorithms/Frontier-Systems/blob/b19e99ffd964006c4e590435239a8f17adbd62d5/project.godot) declares 4.7 / Forward Plus, Windows D3D12, 1920x1080 viewport/window defaults and 60 Hz physics. [CI](https://github.com/Valgorithms/Frontier-Systems/blob/b19e99ffd964006c4e590435239a8f17adbd62d5/.github/workflows/ci.yml) selects Godot 4.7.2. Defaults do not prove actual runtime viewport sizes or minimum hardware. +- [The October 9 report](https://github.com/Valgorithms/Frontier-Systems/blob/b19e99ffd964006c4e590435239a8f17adbd62d5/reports/performance/2026-10-09-baseline.md) describes a working tree based on f830bcb with uncommitted changes, five-second warmup and one fifteen-second session per profile. Habitat rendering was **523x504**, root **1152x648** despite a requested 1280x720 window. It explicitly identifies unresolved pacing near 75/120 Hz and changes both renderer and driver. Its FPS difference is not a clean renderer-throughput comparison or an exact-b19e99f measurement. +- [ProceduralProductionPreview._update_spatial_walls](https://github.com/Valgorithms/Frontier-Systems/blob/b19e99ffd964006c4e590435239a8f17adbd62d5/src/presentation/production/procedural_production_preview.gd) creates a BoxMesh and material per new wall before calling [EngineeringObjectDetails.wall](https://github.com/Valgorithms/Frontier-Systems/blob/b19e99ffd964006c4e590435239a8f17adbd62d5/src/presentation/production/engineering_object_details.gd). That helper replaces the panel mesh/material, then creates eight decorative boxes, each with its own mesh/material. Source-level expansion gives **10 BoxMesh and 10 StandardMaterial3D constructions per newly created wall**: initial panel 1 + replacement 1 + details (2 + 2 + 2x2). One panel pair is replaced before the wall body is added to the preview; this arithmetic is not a retained-memory, allocation-byte, draw-call or GPU-timing measurement. +- [SpatialWallConstruction](https://github.com/Valgorithms/Frontier-Systems/blob/b19e99ffd964006c4e590435239a8f17adbd62d5/src/core/production/spatial_wall_construction.gd) caps canonical prototype walls at **32**. Therefore 100/1,000-wall tests are isolated presentation stress fixtures, not supported gameplay populations or authorization to raise that cap. +- [The existing client benchmark](https://github.com/Valgorithms/Frontier-Systems/blob/b19e99ffd964006c4e590435239a8f17adbd62d5/tools/godot/benchmark_client.gd) collects viewport render times, frame intervals and resource gauges. It uses a stationary main scene and writes renderer/rate-qualified reports. It does not provide the moving-camera, wall-count or per-pass experiment automatically. [Tick profiling](https://github.com/Valgorithms/Frontier-Systems/blob/b19e99ffd964006c4e590435239a8f17adbd62d5/docs/architecture/tick-profiling.md) excludes rendering/GPU and is a different measurement boundary. + +## Relevance, costs and decision + +Repeated resource construction offers a narrow presentation experiment while preserving canonical wall ownership, collision, selection and persistence. Shared resources need complete immutable cache keys; mutating a shared highlight/material can accidentally change every wall. Decoration, shadow passes and CPU scene traversal may dominate even after sharing. Wall removal/recreation needs bounded cache retention. + +A future comparison should establish actual 1080p render targets and CPU/GPU/frame-tail timing, then change only resource sharing. Supported AA comparisons and room/shadow budgets follow separately. Dynamic geometry makes baked lighting/occlusion less straightforward; visibility must follow authoritative observations without becoming simulation authority. + +**No custom GI, deferred renderer, motion-blur or AA rewrite is justified by this entry.** First identify a measured project bottleneck and preserve motion readability. Runtime reproduction, target lower-end hardware, VR/stereo behavior, video publication date and the unreviewed outro remain open. See E-001 for falsifiable controls and acceptance limits. diff --git a/docs/research/entry-template.md b/docs/research/entry-template.md new file mode 100644 index 00000000..d8288cb6 --- /dev/null +++ b/docs/research/entry-template.md @@ -0,0 +1,33 @@ +# R-NNN: question or decision + +- **Topic:** rendering/performance | simulation | persistence | multiplayer/networking | engineering-game design +- **Outcome/status:** proposed | tested | adopted | rejected | superseded +- **Reviewed / decision date:** YYYY-MM-DD / pending +- **Project snapshot:** full commit, relevant paths/contracts and configuration +- **Owner / next review:** research task and a bounded unresolved question + +## Sources and access + +| ID | URL and title | Author/publisher | Publication/update date | Access date | Version/context and reviewed scope | +| --- | --- | --- | --- | --- | --- | +| S1 | Direct source link | Known author or unknown | Exact date or unverified | YYYY-MM-DD | Commit/version; mutable-page caveat; sections/time coverage | + +Append reviewed sources to reference-manifest.csv using its existing columns. State rights restrictions; linking/summarizing is not permission to copy code or assets. + +## Claims and independent evidence + +| Claim/hypothesis | Source's actual claim | Independent evidence and exact scope | Remaining gap | +| --- | --- | --- | --- | +| One bounded claim | Distinguish demonstrated material from proposals | Source inspection, reproduced measurement or none | Missing configurations, runs or inaccessible content | + +## Project relevance, costs and limitations + +Name the owner, affected contract and decision this could change. Explain engineering time, CPU/GPU/memory/network/storage costs, correctness/readability risks and applicability limits. Separate inference from observation. + +## Reproduction or A/B experiment + +Define control/variant, fixed inputs/configuration, sample/repetition method, metrics, correctness guardrails, adoption/rejection criteria and artifact locations. Reuse an existing harness where suitable; disclose its coverage gaps. Record exact tested commit/diff and environment. Do not imply the plan ran. + +## Outcome and follow-up + +Record actual result, evidence links, failures and what remains unrun. An adopted decision links to its accepted contract; a superseded entry links to its replacement. Preserve the dated rationale. diff --git a/docs/research/experiments/E-001-rendering-baseline.md b/docs/research/experiments/E-001-rendering-baseline.md new file mode 100644 index 00000000..94ff6468 --- /dev/null +++ b/docs/research/experiments/E-001-rendering-baseline.md @@ -0,0 +1,54 @@ +# E-001: baseline and shared wall resources + +- **Related entry:** [R-001](../entries/R-001-modern-rendering.md) +- **Outcome/status:** proposed; not executed +- **Prepared:** 2026-10-25 against `b19e99ffd964006c4e590435239a8f17adbd62d5` +- **Execution scope:** a future separately authorized isolated run; this research pass uses cloud source reads only + +## Question and static result + +Does reusing equivalent immutable wall meshes/materials reduce construction/resource overhead or render submission cost without changing appearance, selection or authoritative state? + +R-001's pinned call-path inspection counts 10 BoxMesh and 10 StandardMaterial3D constructor calls per newly created wall, including a superseded initial panel pair. Arithmetic expansion predicts the following **constructor calls**, not measured live allocations or draws: + +| New walls | BoxMesh calls | StandardMaterial3D calls | Coverage | +| --- | --- | --- | --- | +| 32 | 320 | 320 | Current canonical wall cap | +| 100 | 1,000 | 1,000 | Synthetic presentation stress | +| 1,000 | 10,000 | 10,000 | Synthetic presentation stress | + +Reproduce this inspection without running Godot: open the two pinned presentation files linked in R-001, follow _update_spatial_walls -> wall -> box -> material, and expand the fixed loops (2 vertical frames + 2 horizontal frames + 2 sides x 2 bars). Include replacement of the first panel pair. This source analysis establishes repeated construction only; actual object lifetime, GPU batching and performance remain untested. + +## Stage A: measurement baseline + +Reuse [benchmark_client.gd](../../../tools/godot/benchmark_client.gd) and the existing reporting conventions before proposing harness extensions. It currently warms for five seconds and measures fifteen seconds in the stationary main scene; it can overwrite renderer/rate-qualified reports. Archive old output and use new experiment artifact paths. No runnable new harness is supplied by this docs change. + +For an authorized extension/run, record exact tested commit plus diff, Godot executable/version/build, OS, CPU/GPU/driver, renderer/API, refresh/VSync/max-FPS settings, power mode, scene/map, content seed, camera path, physics rate and capture overhead. Verify actual root **and habitat** pixel dimensions: a 1920x1080 window is not proof of a 1920x1080 3D target. Keep 3D scale at 1.0 for the native baseline; report any inset UI layout separately. + +Use a fixed camera path containing a stationary room, movement past thin wall details and an open view. Keep topology, lights/shadows, UI and simulation workload identical across pairs. Proposed sampling is five interleaved A/B pairs with five-second warmup and sixty-second measurement per run; separately label cold construction/startup from warm steady-state rendering. Preserve raw per-frame samples, counts, missing samples and the percentile method. Report per-run results and variability rather than treating correlated frames as independent trials. + +Measure end-to-end frame intervals (p50/p95/p99), render CPU and GPU timings with their boundaries, simulation/physics timing separately, wall creation/removal time, node/resource counts, draw calls/primitives and CPU/GPU memory gauges. Label unavailable measurements rather than infer them from FPS or engine counters. Engine gauges do not establish full process/driver memory or input-to-display latency. Investigate unexplained refresh-aligned waits before claiming a throughput difference. + +## Stage B: single-variable A/B + +- **A/control:** existing wall presentation and fixed topology. +- **B/variant:** same nodes, geometry, collisions, pick handlers and per-wall identity; share equivalent immutable meshes/materials within the wall presentation boundary. Include details and eliminate the superseded panel setup where safely equivalent. No MultiMesh, renderer/API, shadow, AA or simulation changes in this comparison. +- **Workloads:** 32 real-cap walls for relevance; 100 and 1,000 isolated presentation replicas for scaling diagnosis. Do not feed over-cap records into canonical owners or increase capacities. Include create, remove half, recreate and teardown phases. +- **Checks:** unchanged wall observations/world snapshots; correct per-wall selection, collision and teardown; equal visible geometry/color/material settings; no shared highlight mutation; no stale removed wall. Profile cache growth across repeated recreate cycles. +- **Predeclared criterion:** all correctness/readability checks must pass. Before measuring, choose one primary metric (construction time or render CPU time), a smallest useful improvement, acceptable frame-tail/memory tolerances and a repeatability rule. Proposed starting rule: improvement must exceed paired run variability at the relevant workload with no p95/p99 regression beyond baseline variability. If only synthetic scaling improves, record that limited result and defer production adoption. +- **Decision:** retain raw evidence even on failure. Mark tested only after independent reproduction; adopted additionally needs an accepted implementation/contract. A null result should redirect investigation rather than trigger renderer surgery. + +Shared resources trade memory/creation work against cache lifecycle and accidental shared mutation. If the baseline remains pacing-limited or rendering is too small to matter, report that result. Do not sum unrelated video percentages or generalize one GPU/API result. + +## Follow-on experiments, each separate + +1. **AA/readability:** native resolution, fixed supported renderer/API; compare no AA, MSAA 2x/4x, TAA and native-resolution FSR2 only where supported by the actual engine. Verify the applied setting. Keep sharpening, resolution scale and motion-blur setting recorded/fixed. Capture repeated camera/object motion and thin details/labels; assess shimmer, ghosting, edge loss and target recognition alongside CPU/GPU and frame tails. A still screenshot alone cannot pass. +2. **Room occlusion:** same room/door/demolition sequence with occlusion off/on and simple conservative occluders. Check open doors, newly removed walls and oblique views against the control, including immediately after topology changes. Never retain a closed-door occluder over an opening. Measure CPU update spikes and visible-object counts as well as GPU savings. +3. **Shadow budget:** hold occlusion and topology fixed; vary a documented light/shadow budget independently. Capture readability and update cost through opening/demolition and multiple visible rooms. Do not change geometry to manufacture culling wins. +4. **Spatial MultiMesh:** consider only if Stage B leaves measured submission overhead. Partition by visibility region and preserve separate collision/identity. Document AABB/light limits and update costs. This is a later hypothesis, not the default variant. + +## Evidence handoff + +A future report belongs under a fresh reports/performance experiment path and links raw samples/logs, exact source/diff, environment, configuration, camera/workload definition and ordinary engine captures. Separate passed, failed and not-run criteria; keep VR, lower-end hardware and other APIs explicitly unmeasured until tested. Do not publish captures externally under this plan. + +Initial result: pinned static inspection and arithmetic completed; baseline, variants, motion captures, GPU measurements and adoption **not run / pending**. No game, native benchmark, GPU workload or desktop process was launched or modified. diff --git a/docs/research/reference-manifest.csv b/docs/research/reference-manifest.csv index 7fc9fbe8..b202e505 100644 --- a/docs/research/reference-manifest.csv +++ b/docs/research/reference-manifest.csv @@ -14,3 +14,10 @@ tgstation,https://github.com/tgstation/tgstation,"code/_onclick/item_attack.dm ( tgstation,https://github.com/tgstation/tgstation,"code/game/objects/items/stacks/stack.dm (ui_act and make_item first 90 following lines; intervening radial_check)",ab176e0dfd1ee1a1a97e9546bad0b9c4e3ff78b1,2026-10-09,2026-10-11,"Pinned README records AGPL/GPL code boundary; file-level MIT reuse not established.","Trusted recipe and finite quantity checks interrupted timed work rechecks and material attribution.","foundation.recipe-build and foundation.staged-build: authoritative recipe/resource validation and provenance at completion. See matrix v1 T3.","Narrow owner-authorized behavioral/architecture consultation only; no copied/adapted code text or assets. Helper internals and full recipe catalog not audited; proposed reuse requires file-level rights review and explicit approval." Civ13,https://github.com/Civ13/Civ13,".github/workflows/changelog.yml; tools/changelog/README.md",039cdc98a4086fb83057b2c366479cb2d90e6095,,2026-10-11,"Behavioral documentation reference only; no file-level reuse rights asserted.","Reviewed player summaries gated by confirmed availability and durable pre-send receipts; merges do not prove deployment.","Independent GitHub Actions publisher with manual default-branch confirmation, bounded mention-free payloads and pending receipt reconciliation tests.","Owner-requested analogous notification behavior. No upstream code or assets copied; Frontier deployment integration remains deferred." Civ13,https://github.com/Civ13/Civ13,"AGENTS.md changelog guidance; .github/workflows/changelog-merge.yml; .github/workflows/changelog.yml; .github/workflows/changelog-checks.yml; tools/changelog/publish.mjs; tools/changelog/check-pr.mjs; tools/changelog/check-queues.mjs; tools/changelog/merge.test.mjs; tools/changelog/README.md",580a7399d3060c5ba38c8782da8e87411d2650ab,,2026-10-23,"AGPL-3.0 repository; no MIT source-reuse rights established.","An explicit same-line PR description field opts into merged-only bullets; default-branch code confirms merge ancestry and durable reservations prevent uncertain replay.","Independently implement optional same-line extraction and placeholder refusal; JSON-only text; Frontier dev-master admission; fixed Frontier destination; pending-before-send receipts; shared max queue; secret-free edited-PR checks and injected transport tests.","Owner-authorized behavioral port only. No source files/assets imported or AGPL implementation copied. No Civ13 webhook values accessed; game/test/upload/deployment workflows excluded. External posting activation remains separately approved." +Threat Interactive,https://www.youtube.com/watch?v=SnNm7rSSvlg,Video lead; parent-reviewed captions through 2:00:36 of 2:01:25; docs/research/entries/R-001-modern-rendering.md,SnNm7rSSvlg; title from parent review; publication date unverified,,2026-10-25,Video/captions are descriptive reference only; redistribution rights not reviewed.,Parent review identifies rendering optimization leads and unfinished GI/AA/motion-blur proposals; no benchmark independently reproduced.,R-001 / E-001: establish controlled baseline and test shared wall resources before engine changes.,Independent summary only; no transcript/media/code copied. Parent reviewed 3235 segments via LinkTranscript; stale title/transcription errors; final 49 seconds unverified. This pass video fetch throttled and caption page inaccessible. +Godot,https://docs.godotengine.org/en/4.7/tutorials/performance/optimizing_3d_performance.html,Use automatic instancing; Use manual instancing; Culling; Bake lighting,4.7 documentation page; mutable; no documentation commit captured,,2026-10-25,Official documentation reference; no code or creative asset reuse.,Forward+ supports automatic instancing for shared mesh/material with transparency limits; culling and lighting remain workload-dependent.,R-001 / E-001: compare equivalent shared resources with fixed renderer topology and workload.,Independent summary and links only; documentation guidance is not project performance evidence. +Godot,https://docs.godotengine.org/en/4.7/tutorials/3d/3d_antialiasing.html,MSAA; TAA; FSR2 sections,4.7 documentation page; mutable; no documentation commit captured,,2026-10-25,Official documentation reference; no code or creative asset reuse.,AA methods have different edge/specular coverage and temporal/readability costs.,R-001 / E-001: compare supported native-resolution settings with motion captures and frame-tail timing.,Independent summary and links only; no claim that an AA mode was tested or selected. +Godot,https://docs.godotengine.org/en/4.7/tutorials/3d/occlusion_culling.html,Mechanism; baking restrictions; moving occluders; runtime toggling,4.7 documentation page; mutable; no documentation commit captured,,2026-10-25,Official documentation reference; no code or creative asset reuse.,CPU occlusion work and topology changes can offset gains; moving occluders require care.,R-001 / E-001: compare doors/demolition with occlusion off/on and reject stale hidden geometry.,Independent summary and links only; no current project occlusion implementation or gain established. +Godot,https://docs.godotengine.org/en/4.7/classes/class_multimesh.html,Class description: spatial grouping AABB and per-object light limit,4.7 class documentation; mutable; no documentation commit captured,,2026-10-25,Official documentation reference; no code or creative asset reuse.,Instanced drawing trades per-object submission for group visibility and lighting constraints.,R-001 / E-001: defer spatial MultiMesh experiment until resource-sharing results show a remaining bottleneck.,Independent summary and links only; no implementation or benchmark reproduced. +AMD GPUOpen,https://gpuopen.com/learn/rdna-performance-guide/,RDNA Performance Guide: Command buffers; Pipeline state objects; Barriers; Memory,Mutable guide with RDNA 3 updates; exact latest update unverified,2023-03-22,2026-10-25,Vendor documentation reference; no code or creative asset reuse.,Low-level submission state barrier and memory costs need API/hardware context.,R-001: use vendor guidance to form a measured question; Godot owns low-level renderer work.,Independent summary and links only; AMD/RDNA guidance is not measured RTX or whole-game performance. +Godot,https://godotengine.org/article/introducing-reverse-z/,Introducing Reverse Z; introduction and shader compatibility discussion,Historical 4.3 introduction article by Clay John,2024-04-29,2026-10-25,Official article reference; no code or creative asset reuse.,Godot introduced reverse-Z in 4.3 with compatibility implications for some custom shaders.,R-001: do not propose existing engine depth behavior as new Frontier work.,Independent summary and link only; historical article flags that later documentation supersedes old details.