makepad/apps/calculator/Cargo.toml
Admin fbfec26ad7 wm: the Android super-app compiles tiles on the phone against the host engine
The APK carries rustc, the checkout and a packed target tree as LZ4
frames. First compile streams them out of the asset manager into files/
and shows progress on the desk; later launches skip unpack when the
stamp matches. App crates keep a desktop Cargo.toml — dynamic-module is
empty — and rustc `--extern force:` binds makepad_wm_engine already in
the process so widgets stay the host dylib.

libs/lz4 grows a streaming frame codec and a makepad-lz4 CLI; libs/tar
unpacks those frames without buffering the archive. Android Vulkan
records two in-flight repaints instead of waiting every pass, and the
capture Y-flip applies only on the OpenGL fallback.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-18 17:50:20 +02:00

35 lines
1.1 KiB
TOML

# calculator — part of the Makepad app family: standalone window, and a module
# (src/module.rs) the window manager seats in-process. Spec of record:
# local/agent_state/wm-all/apps/calculator-spec.md; contract: .../CONTRACT.md.
[package]
name = "makepad-calculator"
version = "0.1.0"
edition = "2021"
default-run = "calculator"
[lib]
name = "makepad_calculator"
path = "src/lib.rs"
[[bin]]
name = "calculator"
path = "src/main.rs"
required-features = ["standalone"]
[features]
# On-demand dylib for the Android super-app (apps/wm-dyn). No engine dep
# here: the host that builds the lib binds it to its engine dylib itself
# (apps/wm/src/dylib_host.rs), so this crate's manifest is the desktop's.
dynamic-module = []
default = ["standalone"]
# The standalone window (src/main.rs); a host that links the module leaves it off.
standalone = []
[dependencies]
makepad-widgets = { path = "../../widgets" }
makepad-wm-theme = { path = "../../libs/wm_theme" }
makepad-ai-services = { path = "../../libs/ai/services" }
makepad-app-module = { path = "../../libs/app_module" }
makepad-strict-json = { path = "../../libs/strict_json" }