diff options
| author | Valentin Popov <valentin@popov.link> | 2026-07-18 19:40:17 +0300 |
|---|---|---|
| committer | Valentin Popov <valentin@popov.link> | 2026-07-18 19:40:17 +0300 |
| commit | d31d1f8eab7a2c79e349748939de01895af5de7e (patch) | |
| tree | 89546aab24629deebaf88c3694e49ef2a547a3e2 /docs/tomes | |
| parent | a7b434aeb2e1c79131e4919f6b0cbf66cdc06599 (diff) | |
| download | fparkan-d31d1f8eab7a2c79e349748939de01895af5de7e.tar.xz fparkan-d31d1f8eab7a2c79e349748939de01895af5de7e.zip | |
feat(script): decode compiled package framing
Diffstat (limited to 'docs/tomes')
| -rw-r--r-- | docs/tomes/06-behavior.md | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/docs/tomes/06-behavior.md b/docs/tomes/06-behavior.md index 7f825ad..5e0299e 100644 --- a/docs/tomes/06-behavior.md +++ b/docs/tomes/06-behavior.md @@ -133,6 +133,16 @@ Wizard получает желаемое направление и corridor, а описывает типы, defaults, ranges и строки через макросоподобные формы `VAR(...)` и `STRING(...)`. +Compiled package больше не opaque blob: `fparkan-script` losslessly читает +проверенный внешний framing. Сначала идут `opcode_handler_count` и +`event_count` (`u32 LE`), затем именованные события с NUL-terminated raw +именем и nested records. Reader сохраняет все seven raw header words и +references каждого record, жёстко ограничивает counts/allocations и отдельно +сохраняет trailing bytes. На `c1m2p.scr` GOG reader получает `73` handlers, +`9` events, `17` records и `20` references без trailing bytes. Это структура +файла, но не таблица семантик: названия opcode/words появятся только после +handler contracts и runtime traces. + Безопасная runtime-модель: ```text |
