Modules/Sketch2D/temp/README.md
Шурупов Илья Викторович 24cb4fe1a2 Split Sketch2D into libraries and keep only the tablet interface
Sources move to src/libs/<lib>/{public,private}, one static library
each, layered common, brush, engine, document, canvas, library, ui,
render and app. common holds what is not tied to drawing: undo
history, stroke smoothing, the stroke curve, channel matrices and
update checks. Entry points live in src/apps.

The desktop layout is removed; the application always shows the
studio tablet interface and the separate tablet executable is gone.
App tests drive the studio controls.

Docs move to docs/architecture, docs/roadmap and docs/research with
an index. Headless test commands use the relocated helper script.
2026-10-19 21:33:13 +03:00

20 lines
1 KiB
Markdown

# Leonardo reference tooling
Scripts used while porting Leonardo features into Sketch2D and publishing builds.
| File | Purpose |
| --- | --- |
| `publish-sketch2d.sh` | Build the release APK, publish it with `latest.json` to ilusha-basic.online/sketch2d |
| `publish-leo.sh`, `publish-stroke2d.sh` | Same for the leo and stroke2d channels |
| `release-history.py` | Keeps the last 60 releases in `~/.<app>-release/history.json` and writes them into `latest.json` as `releases`, so the in-app updater can list every missed build |
| `send-apk.sh` | Upload the APK to the Matrix room, then publish |
| `ghidra/DumpEngine.java` | Ghidra headless post script that decompiles the engine address ranges of `leonardo.0.17.70.win64.exe` into one C file per function |
Decompile the reference engine:
```
/opt/ghidra/support/analyzeHeadless /tmp/leo-ghidra leo -import leonardo.0.17.70.win64.exe \
-scriptPath leo/ghidra -postScript DumpEngine.java /tmp/leo-decompiled -deleteProject
```
The analysis built from it lives in `Sketch2D/docs/research/LeonardoEngineAnalysis.md`.