fix: reduced app size by a good margin

This commit is contained in:
2026-07-20 08:44:17 +02:00
parent 7ba2699b68
commit 269e4b0e4a
21 changed files with 494 additions and 96 deletions

View File

@@ -6,7 +6,7 @@
entity CliInvocation {
command: rebuild | repair | render | upload | push | pull | post | media
| gallery | config | project | tui | lua | install
| gallery | config | project | server | tui | lua | install
incremental: Boolean
force: Boolean
airplane: Boolean
@@ -163,11 +163,19 @@ rule Projects {
rule Tui {
when: CliCommandExecuted(command: tui)
-- Handled by the launcher script: exec the release in BDS_MODE=tui
-- so the interactive terminal UI owns the terminal.
-- The native CLI enters TUI boot mode so the interactive terminal UI owns
-- the terminal.
ensures: TuiStarted()
}
rule Server {
when: CliCommandExecuted(command: server)
-- Starts the dedicated headless SSH host with optional bind address, port,
-- database path, and data-directory overrides. The standalone bds-server
-- executable is not distributed.
ensures: SshDaemonStarted()
}
rule RunLuaTask {
when: CliCommandExecuted(command: lua)
-- Runs a utility ("task", long-running) script from the database by
@@ -180,14 +188,15 @@ rule RunLuaTask {
rule InstallLauncher {
when: CliInstallRequested() or CliCommandExecuted(command: install)
-- Settings/Data, the future TUI settings action, and `bds-cli install`
-- share one guarded installer. A launcher pointing at the packaged native
-- CLI is written to ~/.local/bin/bds-cli. Existing unrelated files are
-- never overwritten; outside a packaged release the action reports that
-- the packaged CLI executable is required.
-- share one guarded installer. A forwarding launcher written to
-- ~/.local/bin/bds-cli executes the packaged native CLI in place, so it
-- uses the same packaged runtime as the desktop app. Existing unrelated
-- files are never overwritten; outside a packaged release the action
-- reports that the packaged CLI executable is required.
ensures: LauncherInstalled()
}
invariant NativeArgv {
-- The Rust launcher is the native bds-cli executable, so operating-system
-- argv is parsed directly without the bDS2 release-eval environment shim.
-- The forwarding launcher preserves operating-system argv for the native
-- bds-cli executable without the bDS2 release-eval environment shim.
}

View File

@@ -59,7 +59,8 @@ rule DesktopBoot {
rule ServerBoot {
when: ApplicationStarted(mode: server)
-- Headless: no wx children at all. Works on macOS, Windows, Linux.
-- Started by `bds-cli server` or explicit desktop boot mode. Headless: no
-- desktop UI children at all. Works on macOS, Windows, Linux.
ensures: LoopbackEndpointStarted()
-- HTTP endpoint stays bound to 127.0.0.1; never exposed directly
ensures: CliSyncWatcherStarted()