Merge pull request #1655 from elZanco/dev-line-tables-only

build: add an optional dev-full profile with full debug info
This commit is contained in:
BFlat
2026-10-30 04:08:25 +07:00
committed by GitHub
3 changed files with 19 additions and 0 deletions
+8
View File
@@ -13,6 +13,14 @@ cargo test --workspace
cargo xtask ci # what every commit must pass
```
The default `dev` profile keeps debug info to line tables: builds are fast and panics/backtraces
still name the file and line, but a debugger cannot show local variables. For an interactive
debugger session use the `dev-full` profile, which is the same build with full debug info:
```sh
cargo run --profile dev-full -p effectcraft -- --demo
```
## Ground rules
- **Clean room.** Work from After Effects' public documentation and its observable behaviour only.
+7
View File
@@ -153,6 +153,13 @@ opt-level = 1
# Panics and backtraces keep file and line; full debug info only made the many test binaries large.
debug = "line-tables-only"
# Same settings as `dev`, but with full debug info for interactive debugger sessions: local
# variables, parameters and column breakpoints work. Use `--profile dev-full` when debugging;
# everything else stays on the fast default. See CONTRIBUTING.md, "Setup".
[profile.dev-full]
inherits = "dev"
debug = true
# Pixel hot loops: keep debug builds interactive.
[profile.dev.package.effectcraft-raster]
opt-level = 3
+4
View File
@@ -5,6 +5,10 @@ cargo test --workspace # everything
cargo xtask ci # fmt, clippy -D warnings, tests, layers, assets, wasm
```
The `dev` profile keeps debug info to line tables (fast builds, readable backtraces). To debug
interactively — local variables, parameters, column breakpoints — build with the `dev-full`
profile: `cargo run --profile dev-full -p effectcraft -- --demo` (see `CONTRIBUTING.md`).
`cargo xtask ci` builds in the dev profile and runs the tests with `cargo nextest run` (plus
`cargo test --doc`) when `cargo-nextest` is installed, and with `cargo test` otherwise. It then
runs `missing_translations_report` with `--nocapture`, which prints the interface strings each