diff options
| author | Valentin Popov <valentin@popov.link> | 2026-07-18 19:32:56 +0300 |
|---|---|---|
| committer | Valentin Popov <valentin@popov.link> | 2026-07-18 19:32:56 +0300 |
| commit | a7b434aeb2e1c79131e4919f6b0cbf66cdc06599 (patch) | |
| tree | 69173457e4c5a567e40041d6dd4f8a256cf13a5d /docs/appendices | |
| parent | 6c444d63c552df058685a85284b4166c540514a0 (diff) | |
| download | fparkan-a7b434aeb2e1c79131e4919f6b0cbf66cdc06599.tar.xz fparkan-a7b434aeb2e1c79131e4919f6b0cbf66cdc06599.zip | |
docs(ai): recover expression evaluator contract
Diffstat (limited to 'docs/appendices')
| -rw-r--r-- | docs/appendices/script-vm.md | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/docs/appendices/script-vm.md b/docs/appendices/script-vm.md index 0664bdf..5e6adb8 100644 --- a/docs/appendices/script-vm.md +++ b/docs/appendices/script-vm.md @@ -24,10 +24,13 @@ defaults и bindings она dispatches Init/start, на каждом tick обн budget. Опасное удаление идёт через World3D queue и общий deferred lifecycle. До восстановления opcode table package mode читает header/strings/symbols/ -event offsets/raw bytecode losslessly. Disassembly mode использует подтверждённую -`ai.dll` jump table. Unknown opcode нельзя пропустить как один byte: это ломает -синхронизацию. Для каждого доказанного opcode фиксируются number, size, -operands, control flow, effects, errors и минимальный test. +event offsets/raw bytecode losslessly. Статический анализ уже выделил отдельный +five-way evaluator condition records (`ai.dll` VA `0x10005180`): tags `1..5`, +type guards, object lookup и completion flag. Это не следует выдавать за +instruction dispatcher или jump table `.scr`: bytecode opcode table всё ещё +требует отдельного доказательства. Unknown opcode нельзя пропустить как один +byte: это ломает синхронизацию. Для каждого доказанного opcode фиксируются +number, size, operands, control flow, effects, errors и минимальный test. TMA properties остаются four raw `u32` words плюс имя, пока consumer/schema не задаст тип (integer/float bits/ObjectId/enum/fixed-point/index). В том числе |
