chore(ariadne): remove obsolete extraction script
This commit is contained in:
@@ -249,43 +249,45 @@ Why discard/rework it:
|
||||
- Bazel runfiles handling made the shell script messy;
|
||||
- the PR should be refocused before this work continues.
|
||||
|
||||
## Clew artifact boundary
|
||||
|
||||
Clew now owns extraction, preparation, and Ren'Py AST export.
|
||||
Ariadne owns analysis over Clew-produced data.
|
||||
|
||||
Ariadne consumes Clew's raw `clew-renpy-ast-v1` JSON directly.
|
||||
It deserializes Clew's generic serializer format into typed Rust structs and enums.
|
||||
It then maps the full Clew AST into Ariadne-owned internal data structures.
|
||||
|
||||
The first importer preserves unrecognized or unneeded Ren'Py objects.
|
||||
Use an `UnknownNode` or equivalent representation instead of dropping data.
|
||||
Semantic helpers can exist for known Ren'Py statement classes.
|
||||
|
||||
`NodeKey.namespace` comes from the Clew AST file path relative to `output/ast/`.
|
||||
Clew preserves the game-root boundary in that path.
|
||||
This keeps label names from different source universes separate.
|
||||
|
||||
The first Ariadne CLI prints a human-readable validation report by default.
|
||||
The report includes counts for documents, namespaces, and nodes by kind.
|
||||
It also includes counts for unknown nodes, edges, refs, and warnings.
|
||||
The CLI also supports an opt-in debug dump of internal state, for example `--dump-state`.
|
||||
Treat that dump as a development surface until Ariadne documents a stable format.
|
||||
|
||||
Route planning is out of scope for the first importer slice.
|
||||
|
||||
## Preparation output direction
|
||||
|
||||
Preparation output should evolve from:
|
||||
Clew produces the preparation output for Ariadne.
|
||||
The current relevant output is:
|
||||
|
||||
```text
|
||||
output/
|
||||
source/
|
||||
work/
|
||||
logs/
|
||||
ast/ # Clew `clew-renpy-ast-v1` JSON
|
||||
extracted/ # extracted game files
|
||||
```
|
||||
|
||||
to:
|
||||
|
||||
```text
|
||||
output/
|
||||
ast/ # normalized Ren'Py AST JSON
|
||||
source/ # decompiled/debug source
|
||||
work/ # extracted raw/intermediate files
|
||||
logs/
|
||||
```
|
||||
|
||||
Decompiled source remains useful as a debug artifact, but may stop being the primary parser input.
|
||||
|
||||
## Preparation tooling direction
|
||||
|
||||
The shell script is becoming too broad. A better next step is to move preparation into its own Python tool before returning to Ariadne core.
|
||||
|
||||
That preparation tool should own:
|
||||
|
||||
- game-root and launcher discovery;
|
||||
- archive extraction;
|
||||
- `.rpyc` collection;
|
||||
- AST export through the matching bundled Ren'Py runtime;
|
||||
- optional decompilation for debug source;
|
||||
- output layout and logs.
|
||||
|
||||
Ariadne core should only depend on the preparation tool's normalized artifacts.
|
||||
Decompiled source is no longer Ariadne's primary input.
|
||||
The old `src/ariadne/extract-and-decompile.sh` script was obsolete.
|
||||
Ariadne now relies on Clew for extraction and preparation.
|
||||
|
||||
## Python dependencies and vendoring
|
||||
|
||||
@@ -306,7 +308,8 @@ The AST exporter itself needs only the Python standard library plus the target l
|
||||
## Recommended next session start
|
||||
|
||||
1. Do not continue from the discarded PR implementation.
|
||||
2. Inspect the actual `rpycdec` source and decide how to expose it under `//third_party/python` or another `//third_party` package.
|
||||
3. Design a standalone preparation Python tool with no unnecessary external dependencies.
|
||||
4. Keep the normalized AST JSON boundary between bundled Ren'Py runtime code and Rust Ariadne core.
|
||||
5. Return to the Rust `State` shape after the preparation artifact contract is clearer.
|
||||
2. Implement typed Rust deserialization for Clew's `clew-renpy-ast-v1` JSON.
|
||||
3. Map every Clew AST value into Ariadne-owned internal data structures.
|
||||
4. Preserve unknown Ren'Py objects as `UnknownNode` or an equivalent node.
|
||||
5. Build the default validation report for imported Clew output.
|
||||
6. Add an opt-in debug dump for internal state.
|
||||
|
||||
Reference in New Issue
Block a user