{ "version": "2.0.0", "tasks": [ { "label": "cargo fmt (workspace check)", "type": "cargo", "command": "fmt", "args": ["--all", "--check"], "problemMatcher": [], "group": "build" }, { "label": "cargo check (workspace all targets)", "type": "cargo", "command": "check", "args": ["--workspace", "--all-targets"], "problemMatcher": ["$rustc"], "group": "build" }, { "label": "cargo clippy (workspace strict)", "type": "cargo", "command": "clippy", "args": ["--workspace", "--all-targets", "--", "-D", "warnings"], "problemMatcher": ["$rustc"], "group": "build" }, { "label": "cargo test (workspace)", "type": "cargo", "command": "test", "args": ["--workspace"], "problemMatcher": ["$rustc"], "group": "test" }, { "label": "cargo clippy (launch feature matrix)", "type": "cargo", "command": "clippy", "args": [ "-p", "editor", "-p", "game", "--bins", "--features", "dev,hot-reload", "--", "-D", "warnings" ], "problemMatcher": ["$rustc"], "group": "build" }, { "label": "validate level scenes", "type": "cargo", "command": "validate-levels", "args": [], "problemMatcher": ["$rustc"], "group": "test" }, { "label": "build game (debug)", "type": "cargo", "command": "build", "args": ["-p", "game", "--bin", "game"], "problemMatcher": ["$rustc"], "group": "build" }, { "label": "build editor (debug)", "type": "cargo", "command": "build", "args": ["-p", "editor", "--bin", "editor"], "problemMatcher": ["$rustc"], "group": "build" }, { "label": "build editor (dev fast-link)", "type": "cargo", "command": "build", "args": ["-p", "editor", "--bin", "editor", "--features", "dev"], "options": { "cwd": "${workspaceFolder}", "env": { "CARGO_TARGET_DIR": "${workspaceFolder}/target" } }, "problemMatcher": ["$rustc"], "group": { "kind": "build", "isDefault": true } }, { "label": "build game (dev fast-link)", "type": "cargo", "command": "build", "args": ["-p", "game", "--bin", "game", "--features", "dev"], "options": { "cwd": "${workspaceFolder}", "env": { "CARGO_TARGET_DIR": "${workspaceFolder}/target" } }, "problemMatcher": ["$rustc"], "group": "build" }, { "label": "clean dev-link crates", "type": "cargo", "command": "clean", "args": ["-p", "editor", "-p", "game", "-p", "game_hot", "-p", "shared"], "options": { "cwd": "${workspaceFolder}", "env": { "CARGO_TARGET_DIR": "${workspaceFolder}/target" } }, "problemMatcher": [] }, { "label": "clean build editor (dev)", "dependsOrder": "sequence", "dependsOn": ["clean dev-link crates", "build editor (dev fast-link)"], "problemMatcher": [], "group": "build" }, { "label": "target cleanup (dry run)", "type": "shell", "command": "cargo clean-target", "options": { "cwd": "${workspaceFolder}", "env": { "CARGO_TARGET_DIR": "${workspaceFolder}/target" } }, "problemMatcher": [], "group": "build" }, { "label": "target cleanup (safe apply)", "type": "shell", "command": "cargo clean-target --apply", "options": { "cwd": "${workspaceFolder}", "env": { "CARGO_TARGET_DIR": "${workspaceFolder}/target" } }, "problemMatcher": [], "group": "build" }, { "label": "target cleanup (deep stale, 3 days)", "type": "shell", "command": "cargo clean-target --include-artifacts --days 3 --apply", "options": { "cwd": "${workspaceFolder}", "env": { "CARGO_TARGET_DIR": "${workspaceFolder}/target" } }, "problemMatcher": [], "group": "build" }, { "label": "run editor (dev fast-link)", "type": "cargo", "command": "run", "args": ["-p", "editor", "--bin", "editor", "--features", "dev"], "options": { "cwd": "${workspaceFolder}", "env": { "RUST_BACKTRACE": "1", "WGPU_VALIDATION": "0", "CARGO_TARGET_DIR": "${workspaceFolder}/target" } }, "problemMatcher": ["$rustc"], "group": "build" }, { "label": "run game (dev fast-link)", "type": "cargo", "command": "run", "args": ["-p", "game", "--bin", "game", "--features", "dev"], "options": { "cwd": "${workspaceFolder}", "env": { "RUST_BACKTRACE": "1", "WGPU_VALIDATION": "0", "CARGO_TARGET_DIR": "${workspaceFolder}/target" } }, "problemMatcher": ["$rustc"], "group": "build" }, { "label": "run editor (hot reload)", "type": "cargo", "command": "run", "args": [ "-p", "editor", "--bin", "editor", "--features", "dev,hot-reload" ], "options": { "cwd": "${workspaceFolder}", "env": { "RUST_BACKTRACE": "1", "WGPU_VALIDATION": "0", "CARGO_TARGET_DIR": "${workspaceFolder}/target" } }, "problemMatcher": ["$rustc"], "group": "build" }, { "label": "run game (hot reload)", "type": "cargo", "command": "run", "args": ["-p", "game", "--bin", "game", "--features", "dev,hot-reload"], "options": { "cwd": "${workspaceFolder}", "env": { "RUST_BACKTRACE": "1", "WGPU_VALIDATION": "0", "CARGO_TARGET_DIR": "${workspaceFolder}/target" } }, "problemMatcher": ["$rustc"], "group": "build" }, { "label": "run editor (SDR fallback)", "type": "cargo", "command": "run", "args": ["-p", "editor", "--bin", "editor", "--features", "dev"], "options": { "cwd": "${workspaceFolder}", "env": { "RUST_BACKTRACE": "1", "BEVY_FPS_HDR": "0", "WGPU_VALIDATION": "0", "CARGO_TARGET_DIR": "${workspaceFolder}/target" } }, "problemMatcher": ["$rustc"], "group": "build" }, { "label": "run game (SDR fallback)", "type": "cargo", "command": "run", "args": ["-p", "game", "--bin", "game", "--features", "dev"], "options": { "cwd": "${workspaceFolder}", "env": { "RUST_BACKTRACE": "1", "BEVY_FPS_HDR": "0", "WGPU_VALIDATION": "0", "CARGO_TARGET_DIR": "${workspaceFolder}/target" } }, "problemMatcher": ["$rustc"], "group": "build" }, { "label": "watch game_hot (hot reload)", "type": "shell", "command": "cargo watch -w crates/game_hot -w crates/sim -x \"build -p game_hot --features dylib\"", "options": { "cwd": "${workspaceFolder}", "env": { "CARGO_TARGET_DIR": "${workspaceFolder}/target" } }, "problemMatcher": ["$rustc"], "group": "build", "isBackground": true, "detail": "Requires cargo-watch: cargo install cargo-watch --locked" }, { "label": "verify workspace", "dependsOrder": "sequence", "dependsOn": [ "cargo fmt (workspace check)", "cargo check (workspace all targets)", "cargo clippy (workspace strict)", "cargo test (workspace)", "cargo clippy (launch feature matrix)", "validate level scenes", "build game (debug)", "build editor (debug)" ], "problemMatcher": [], "group": "build" } ] }