Problem:
MT already uses background browser workers for heavy analysis so the interface stays responsive. That is the right design.
The problem is that some of those workers were still being set up in an inefficient way before the real computation could begin. In practice, that added avoidable delay to the start of heavy jobs and made the worker path more fragile than it needed to be.
So even though the calculation itself was off the main screen, the app was still doing extra work just to get the background helper ready.
Why this matters:
- Heavy analysis can feel slower to start than it should
- The worker path is more complicated and brittle than necessary
- MT does not get the full benefit of its worker-based architecture
Goal:
Package the compute workers directly with the app and reuse them cleanly, so heavy jobs can start faster and more reliably.
Scope:
- Remove the old worker bootstrap path that dynamically assembled worker code at runtime
- Use bundled local worker code instead
- Reuse compute workers across jobs where appropriate
- Make sure multiple jobs can run safely without responses getting mixed up
- Preserve current behavior for existing compute flows
Acceptance Criteria:
- Compute workers start without the old dynamic bootstrap path
- Heavy jobs begin faster and more reliably
- Concurrent jobs return the correct results to the correct caller
- Existing user flows that depend on these compute workers continue to work
- Angular build passes and regression coverage stays green
Problem:
MT already uses background browser workers for heavy analysis so the interface stays responsive. That is the right design.
The problem is that some of those workers were still being set up in an inefficient way before the real computation could begin. In practice, that added avoidable delay to the start of heavy jobs and made the worker path more fragile than it needed to be.
So even though the calculation itself was off the main screen, the app was still doing extra work just to get the background helper ready.
Why this matters:
Goal:
Package the compute workers directly with the app and reuse them cleanly, so heavy jobs can start faster and more reliably.
Scope:
Acceptance Criteria: