aboutsummaryrefslogtreecommitdiff
path: root/docs/evidence
diff options
context:
space:
mode:
Diffstat (limited to 'docs/evidence')
-rw-r--r--docs/evidence/original_engine_hashes.md65
-rw-r--r--docs/evidence/stage4_capture_schema.md107
2 files changed, 0 insertions, 172 deletions
diff --git a/docs/evidence/original_engine_hashes.md b/docs/evidence/original_engine_hashes.md
deleted file mode 100644
index fab8dc7..0000000
--- a/docs/evidence/original_engine_hashes.md
+++ /dev/null
@@ -1,65 +0,0 @@
-# Original Engine Hashes
-
-Страница фиксирует минимальный статический baseline, на который должны
-ссылаться capture fixtures и Stage 4 evidence.
-
-## Scope
-
-- Источник: локальная статическая сверка Part 1 (`IS`) и Part 2 (`IS2`).
-- Метод: SHA-256, export/import tables, `objdump -p`, `strings`.
-- Эта страница не заменяет динамические traces: она задаёт only-if-match
- binary baseline для дальнейших runtime captures.
-
-## Stable binaries across Part 1 / Part 2
-
-| Binary | SHA-256 | Size | Notes |
-| --- | --- | ---: | --- |
-| `Ngi32.dll` | `bab9840d94f4e4e74ffc26677724fa896cf4823845504d09a9e025f80016edf5` | 253952 | Shared low-level render/resource/audio boundary |
-| `World3D.dll` | `17e4a3089b2583a8cf2356c9db0390b1aba138356a09130d79b4e7e4791da61e` | 208896 | Shared gameplay/world/render lifecycle baseline |
-| `Terrain.dll` | `6d3e68f0e15b297f6c184af3113baf1f31e19c3326c18f0150dec659242ed667` | 708608 | Shared terrain/shade/world baseline |
-| `iron_3d.exe` / `iron_3d_p2.exe` | `f476af85c034a4b4f34f49d0806e4dff397b5da0ee26d382a7674231144979f7` | 36864 | Shared launcher binary |
-
-## GOG research baseline
-
-The canonical disassembly source is the windowed GOG installation, not the
-Part 1/Part 2 test installations. Its `Terrain.dll` is a distinct revision:
-
-| Binary | SHA-256 | Size | Notes |
-| --- | --- | ---: | --- |
-| `Terrain.dll` | `af87d1b2e728a0be73c52be3b44cc196ab46da7799f25a15d40f8c9b0b425ead` | 499712 | GOG camera receiver evidence; do not reuse Part 1/2 RVAs without a matching hash |
-
-## Divergent binaries across Part 1 / Part 2
-
-Эти модули нельзя автоматически считать behavior-compatible между частями:
-
-- `AniMesh.dll`
-- `Effect.dll`
-- `iron3d.dll`
-- `services.dll`
-- `Control.dll`
-- `ArealMap.dll`
-
-## Practical use
-
-1. Frame-order traces для `World3D.dll`, `Terrain.dll` и `Ngi32.dll` можно
- привязывать к shared profile, пока hash совпадает.
-2. Animation and FX captures обязаны храниться раздельно для Part 1 и Part 2,
- потому что `AniMesh.dll` и `Effect.dll` отличаются.
-3. Любой runtime fixture должен записывать минимум:
- - `game_part`
- - `module_name`
- - `module_sha256`
- - `mission`
- - `frame_or_tick`
- - `schema_version`
-
-## Export / import focus for Stage 4
-
-- `World3D.dll`: `stdCalculateGame`, `stdRenderGame`, `sendEndOfRender`
-- `Terrain.dll`: `GetShade`, `GetWorld`, `stdSetCurrentCamera2`
-- `AniMesh.dll`: `LoadAgent`, `LoadAniMesh`
-- `Effect.dll`: `CreateFxManager`, `InitializeSettings`
-- `Ngi32.dll`: `niGet3DRender`, `n3dPrimitive`, `n3dEndScene`, `rsLoadTexture`, `rsLoadMultiTexture`
-
-Если будущий capture fixture не указывает, к какому hash он относится, такой
-fixture нельзя считать acceptance evidence.
diff --git a/docs/evidence/stage4_capture_schema.md b/docs/evidence/stage4_capture_schema.md
deleted file mode 100644
index 18efd91..0000000
--- a/docs/evidence/stage4_capture_schema.md
+++ /dev/null
@@ -1,107 +0,0 @@
-# Stage 4 Capture Schema
-
-Stage 4 нельзя закрывать набором ad-hoc логов. Нужна схема, по которой
-animation, FX и rendered frame captures сравниваются между Part 1, Part 2 и
-современной реализацией.
-
-## Goals
-
-- сделать captures пригодными для автоматического diff;
-- не хранить host-specific пути, временные каталоги и нестабильные handles;
-- связывать frame traces, command captures и pixel artifacts общим identity.
-
-## Common envelope
-
-```json
-{
- "schema_version": "fparkan-stage4-capture-v1",
- "capture_kind": "frame-trace | animation-pose | fx-lifecycle | render-frame",
- "game_part": "part1 | part2",
- "mission": "MISSIONS/.../data.tma",
- "frame_id": 123,
- "tick": 123,
- "module_hashes": {
- "World3D.dll": "sha256...",
- "Terrain.dll": "sha256...",
- "AniMesh.dll": "sha256...",
- "Effect.dll": "sha256..."
- },
- "tool_version": "codex/manual/fixture version",
- "notes": []
-}
-```
-
-## Capture kinds
-
-### `frame-trace`
-
-Используется для порядка фаз и внешних вызовов.
-
-Required fields:
-
-- `events`: ordered list of `{ phase, symbol, sequence, object_id?, fx_id?, camera_id? }`
-- `queue_counters`: deferred operations, visible objects, emitted FX, UI callbacks
-- `rng_state`: optional, if recoverable
-
-### `animation-pose`
-
-Используется для x87 / portable sampler parity.
-
-Required fields:
-
-- `clip_id`
-- `node_index`
-- `sample_time`
-- `numeric_profile`
-- `translation`
-- `rotation_quat`
-- `scale`
-- `matrix_hash`
-
-### `fx-lifecycle`
-
-Используется для create/update/emit/stop parity.
-
-Required fields:
-
-- `fx_id`
-- `instance_id`
-- `time`
-- `opcode_events`
-- `rng_calls`
-- `resource_refs`
-- `emissions`
-
-### `render-frame`
-
-Связывает backend-neutral snapshot с live Vulkan output.
-
-Required fields:
-
-- `camera`
-- `visible_object_ids`
-- `draws`
-- `pipeline_keys`
-- `resource_ids`
-- `validation`
-- `pixel_artifact`
-
-## Stability rules
-
-1. Не записывать абсолютные host paths.
-2. Не записывать raw pointer addresses как identity fields.
-3. `frame_id` должен совпадать между trace, command capture и pixel artifact.
-4. GPU-specific transient handles допустимы только внутри diagnostics fields и
- не участвуют в canonical equality.
-5. Любой capture without `module_hashes` считается informational, а не
- acceptance-grade.
-
-## Acceptance mapping
-
-- `S4-TRACE-*` rows читают `frame-trace`
-- `S4-ANIM-*` rows читают `animation-pose`
-- `S4-FX-*` rows читают `fx-lifecycle`
-- `S4-VK-*` и `S4-PIXEL-*` rows читают `render-frame`
-
-Эта схема intentionally минимальна. Новые поля можно добавлять, но нельзя
-ломать перечисленные identity and parity anchors без смены `schema_version`.