Problem
Builder pages backed by Assets resources can take 6–7 seconds to show their initial content. The migrated Webstudio Blog is a representative production case: its overview page loads four Assets queries and is materially slower than the previous remote API implementation.
The resource loader also needs to behave well when pages combine Assets with ordinary HTTP, GraphQL, or other system resources. One slow provider should not introduce avoidable duplicated work or prevent newly relevant page resources from starting.
Desired outcome
Assets-backed pages load within an acceptable interactive budget while preserving resource results, diagnostics, invalidation, permissions, and published-site behavior. The common resource-loading lifecycle remains correct for arbitrary remote and system resources.
Product scope
- Builder canvas resource loading and page navigation.
- Assets query preview used by Builder.
- Generic resource batching, cancellation/stale-result behavior, and performance observability where needed.
- No change to authored Blog design, URLs, content, or bindings.
- No implicit cross-user or cross-project caching of arbitrary remote responses.
Acceptance criteria
- Reproduce the production Blog overview in a local project with its Assets and four overview queries.
- Record repeatable process-cold and warm baseline timings.
- Eliminate duplicated Assets preparation within one resource batch.
- Ordinary page rendering does not load or parse unrelated project/page data solely to execute current Assets queries.
- Navigating away from a slow resource load does not unnecessarily block newly relevant resources.
- Preserve query output, permissions, diagnostics, invalidation, and error isolation.
- Add regression coverage for shared preparation and generic resource lifecycle behavior.
- Demonstrate a material before/after improvement using the same local project and timing harness.
Open questions
- Whether request-scoped compilation alone meets the cold-load target or a longer-lived compiled artifact cache is also required.
- Whether progressive delivery of independent resource results is warranted after the primary backend cost is removed.
Problem
Builder pages backed by Assets resources can take 6–7 seconds to show their initial content. The migrated Webstudio Blog is a representative production case: its overview page loads four Assets queries and is materially slower than the previous remote API implementation.
The resource loader also needs to behave well when pages combine Assets with ordinary HTTP, GraphQL, or other system resources. One slow provider should not introduce avoidable duplicated work or prevent newly relevant page resources from starting.
Desired outcome
Assets-backed pages load within an acceptable interactive budget while preserving resource results, diagnostics, invalidation, permissions, and published-site behavior. The common resource-loading lifecycle remains correct for arbitrary remote and system resources.
Product scope
Acceptance criteria
Open questions