diff options
| author | Valentin Popov <valentin@popov.link> | 2026-07-04 00:54:25 +0300 |
|---|---|---|
| committer | Valentin Popov <valentin@popov.link> | 2026-07-04 00:54:25 +0300 |
| commit | ff7993223fa4d5264ec0e8d4ac9938fa3ec34a9d (patch) | |
| tree | 56a19429889969fc4bdbd09d4fac5f3618ebe785 /docs/evidence/original_engine_hashes.md | |
| parent | 08550849c7f293f3c49abb0ba5c47c65b68bee0d (diff) | |
| download | fparkan-devel.tar.xz fparkan-devel.zip | |
docs: align renderer and evidence statusdevel
Diffstat (limited to 'docs/evidence/original_engine_hashes.md')
| -rw-r--r-- | docs/evidence/original_engine_hashes.md | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/docs/evidence/original_engine_hashes.md b/docs/evidence/original_engine_hashes.md new file mode 100644 index 0000000..938aa54 --- /dev/null +++ b/docs/evidence/original_engine_hashes.md @@ -0,0 +1,56 @@ +# 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 | + +## 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. |
