docs(parity): mirror 40250 layout for the logic layer; evaluate embedded Python UI
- SKILL.md: logic units port into extension/src/port/<Lib>/<File>, platform adapters under extension/src/platform; legacy GDScript owners are migration sources; python layer frozen until the embedding decision - port_map.py: logic/python/platform layers with per-layer progress, queue --layer, LEGACY layout check; inventory adds EterBase, EterPythonLib, ScriptLib, SpeedTreeLib, SphereLib, EterImageLib - py_embed_spike.py + docs/PYTHON-EMBED-EVAL.md: the 40250 system.py bootstrap loads 67/74 root modules unchanged under CPython 2.7 with stub natives Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -34,7 +34,16 @@
|
||||
- Native extension: `extension/src/` (network in `extension/src/net/`, classic 40250 protocol in `extension/src/net/classic/`).
|
||||
- Format readers: `formats/`; Granny: `libgr2/`; assets/tables: `assets/`; Granny oracle: `oracle/`; tools: `tools/`.
|
||||
|
||||
### Known counterparts
|
||||
### Target layout
|
||||
|
||||
- `extension/src/port/<Lib>/<File>.{h,cpp}` — mirror of each 40250 `logic` unit (see SKILL.md
|
||||
"Code layout"). Does not exist yet; the first ported unit creates it and adds it to
|
||||
`extension/CMakeLists.txt`.
|
||||
- `extension/src/platform/` — adapter interfaces named after the 40250 platform classes they replace.
|
||||
- The files in the table below are **migration sources**: when a unit is ported, its logic moves out
|
||||
of them into the mirror file.
|
||||
|
||||
### Legacy counterparts (migration sources)
|
||||
|
||||
| 40250 | Current |
|
||||
| --- | --- |
|
||||
@@ -47,14 +56,12 @@
|
||||
| `CPythonPlayer` skill use | `project/player_skill.gd` |
|
||||
| `CFlyingObject*` | `project/fly_object.gd` |
|
||||
| `EterLib/Camera.cpp` + `PythonApplicationCamera` | `project/game_camera.gd` |
|
||||
| `ui*.py` windows | `project/ui/*_ui.gd` |
|
||||
| `ui*.py` windows | `project/ui/*_ui.gd` (ported from the wrong `assets/root`; replaced by the python layer) |
|
||||
|
||||
### Code that is not a counterpart
|
||||
### Removed non-counterparts
|
||||
|
||||
About 100 of the 111 `project/*_system.gd` files are loaded only by their own
|
||||
`project/test_*_parity.gd` (never by the runtime). They are not implementations of 40250
|
||||
behavior and their tests are not evidence; delete them, or replace them by porting the real 40250
|
||||
code path when that path exists.
|
||||
The 106 `project/*_system.gd` files that only their own `test_*_parity.gd` loaded were deleted on
|
||||
2026-09-22 (commit `a989b8f1`). Do not recreate them; port the real 40250 code path instead.
|
||||
|
||||
## Existing evidence (historical)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user