Problem
fission run --target web invokes wasm-pack --dev, which produces fully unoptimized (opt-level=0) WebAssembly. For non-trivial retained UI trees, async state completion and client-side route changes can update promptly but the following synchronous build/layout/paint frame can remain visibly delayed. The same application is materially more responsive with fission run --target web --release, confirming that execution profile rather than navigation or network latency is the controlling factor.
The current CLI exposes only --dev or --release; fission.toml does not provide a Web development Cargo profile/build-environment setting. A workspace-wide [profile.dev] opt-level = 1 is an undesirable workaround because it also changes unrelated native/backend development builds, while target rustflags can accidentally override release optimization.
Suggested direction
Allow a project to select an optimized Web development profile, for example through a fission.toml Web build profile or a CLI --profile <cargo-profile> option passed through to wasm-pack/Cargo. A framework-recommended fast-dev profile (opt-level=1, debug information retained, incremental where supported) would preserve useful development diagnostics and much of the hot-reload cycle while making browser interaction representative enough for UI work.
Acceptance
- Web projects can select an optimized non-release Cargo profile without changing other targets.
fission run, fission build, and generated Web build scripts use the same selected profile semantics.
--release remains fully release-optimized and is not weakened by development configuration.
Problem
fission run --target webinvokeswasm-pack --dev, which produces fully unoptimized (opt-level=0) WebAssembly. For non-trivial retained UI trees, async state completion and client-side route changes can update promptly but the following synchronous build/layout/paint frame can remain visibly delayed. The same application is materially more responsive withfission run --target web --release, confirming that execution profile rather than navigation or network latency is the controlling factor.The current CLI exposes only
--devor--release;fission.tomldoes not provide a Web development Cargo profile/build-environment setting. A workspace-wide[profile.dev] opt-level = 1is an undesirable workaround because it also changes unrelated native/backend development builds, while target rustflags can accidentally override release optimization.Suggested direction
Allow a project to select an optimized Web development profile, for example through a
fission.tomlWeb build profile or a CLI--profile <cargo-profile>option passed through to wasm-pack/Cargo. A framework-recommended fast-dev profile (opt-level=1, debug information retained, incremental where supported) would preserve useful development diagnostics and much of the hot-reload cycle while making browser interaction representative enough for UI work.Acceptance
fission run,fission build, and generated Web build scripts use the same selected profile semantics.--releaseremains fully release-optimized and is not weakened by development configuration.