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.
|
||
|---|---|---|
| .. | ||
| ghidra | ||
| android-emulator.sh | ||
| publish-leo.sh | ||
| publish-sketch2d.sh | ||
| publish-stroke2d.sh | ||
| README.md | ||
| release-history.py | ||
| run-headless-wayland.sh | ||
| send-apk.sh | ||
| sketch2d-bench.sh | ||
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.