You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Generate Image is enabled after valid workspace manifest, repo reference, tool state, and preview source hydration.
15
+
- Generate Image remains disabled when `workspace.repo.reference` is missing.
16
+
- Generate Image remains disabled when repo session data is invalid.
17
+
- Asteroids workspace launch generates a real SVG preview and records it through the session-backed repo handle.
18
+
- Gravity Well and Pong workspace launches also resolve repo context from session storage and enable Generate Image.
19
+
20
+
## Skipped
21
+
Full samples smoke test was skipped as requested because this PR changes Workspace Manager V2 to Preview Generator V2 session hydration. The targeted workspace suite covers the affected cross-tool launch path without exercising unrelated samples.
Preview Generator V2 now resolves Workspace Manager V2 repo/game context from session storage during workspace launch instead of requiring a second repo picker action.
5
+
6
+
## Changes
7
+
- Preview Generator V2 reads `workspace.repo.reference` from `sessionStorage`.
8
+
- Preview Generator V2 reads its per-tool launch state from `workspace.tools.preview-generator-v2.state`.
9
+
- Generate Image remains disabled until:
10
+
- the workspace manifest from `hostContextId` is valid,
11
+
-`workspace.repo.reference` is present and valid,
12
+
-`workspace.tools.preview-generator-v2.state` matches the active game context,
13
+
- the manifest preview source validates.
14
+
- Workspace launches set the base URL to the current origin so generation can run without manual Preview Generator repo setup.
15
+
- A session-backed repo handle is created from the validated session reference for Preview Generator V2 writes.
16
+
- Missing or invalid repo session data logs visible actionable failures and keeps Generate Image disabled.
17
+
18
+
## Integration Boundary
19
+
- No direct cross-tool communication was added.
20
+
- No hidden fallback repo picker behavior was added.
21
+
- Session storage remains the integration boundary.
22
+
- The repo reference is validated before Preview Generator V2 enables generation.
23
+
24
+
## Validation
25
+
-`npm run test:workspace-v2`: PASS, 13 tests passed.
26
+
- Verified `workspace.repo.reference` is present after Workspace Manager V2 repo selection.
- Verified Generate Image enables after valid repo/game session hydration.
31
+
- Verified an Asteroids preview image is generated from workspace launch and written through the session-backed repo handle.
32
+
33
+
## Skipped
34
+
Full samples smoke test was skipped as requested. This PR is scoped to Workspace Manager V2 to Preview Generator V2 session repo hydration; the targeted Workspace Manager V2 suite exercises the affected launch, hydration, failure, and generation paths.
awaitexpect(page.locator("#log")).toContainText("Workspace launch is display-only; preview writes require normal Preview Generator repo selection.");
887
+
awaitexpect(page.locator("#log")).toContainText("OK Workspace repo session reference loaded from workspace.repo.reference for HTML-JavaScript-Gaming.");
888
+
awaitexpect(page.locator("#log")).toContainText("OK Workspace tool session state loaded from workspace.tools.preview-generator-v2.state.");
889
+
awaitexpect(page.locator("#log")).toContainText("Workspace launch repo context resolved from session storage; independent repo selection is not required.");
awaitexpect(page.locator("#log")).toContainText("FAIL Workspace repo session hydration: workspace.repo.reference.displayName WrongRepo does not match manifest repoRoot HTML-JavaScript-Gaming.");
awaitexpect(page.locator("#log")).toContainText("OK Workspace repo session reference loaded from workspace.repo.reference for HTML-JavaScript-Gaming.");
1121
+
awaitexpect(page.locator("#log")).toContainText("Workspace launch repo context resolved from session storage; independent repo selection is not required.");
awaitexpect(page.locator("#log")).toContainText("OK Workspace repo session reference loaded from workspace.repo.reference for HTML-JavaScript-Gaming.");
1157
+
awaitexpect(page.locator("#log")).toContainText("Workspace launch repo context resolved from session storage; independent repo selection is not required.");
0 commit comments