From 061670848f45ece00c0ae6e69dda3a39014b2536 Mon Sep 17 00:00:00 2001 From: justinzeus Date: Thu, 5 Nov 2026 21:07:22 +0100 Subject: [PATCH] Keep overlapping screen captures in separate namespaces --- docker/README.md | 10 ++++++---- .../wolfskin/design/DiscoverCaptureTest.kt | 2 +- .../justinvisser/wolfskin/design/LibraryCaptureTest.kt | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/docker/README.md b/docker/README.md index b4906edb..7bf29dcb 100644 --- a/docker/README.md +++ b/docker/README.md @@ -144,8 +144,10 @@ destination or nav selection. Native Roborazzi captures use Robolectric SDK 34 and `w960dp-h540dp-xhdpi` (1920×1080 at density 2.0). `make test` writes capture PNGs and -the sampled Compose nav-spring curve to `build/wolfskin-captures/`. Key replays -exercise the Android event adapter, including the 6/8/10/11-press shell paths. +the sampled Compose nav-spring curve to `build/wolfskin-captures/`. +Home, Library and Discover captures use `home/`, `library/` and `discover/` +subdirectories so shared spec state numbers cannot overwrite another renderer's image. +Key replays exercise the Android event adapter, including the 6/8/10/11-press shell paths. The profile hand-off capture targets the real `HomeSettingsPage`; Playback is a separate press-count path. @@ -335,8 +337,8 @@ the title-screen implementation; this slice does not implement title pages. `LibraryCaptureTest` renders the sixteen approved library/See all states offline. `LibraryKeysTest` reads the approved JSON path and reaches Spirited Away in exactly 20 Android key presses. Paging and snapshot tests cover duplicate-only reads, -failure/retry, stale copies, and person/server isolation. Captures are written to -the same `build/wolfskin-captures/` directory as the shell captures. +failure/retry, stale copies, and person/server isolation. Library captures are written +to `build/wolfskin-captures/library/`; Discover's independent captures use `discover/`. ## Toolchain and disk use diff --git a/wolfskin-design/src/test/java/org/justinvisser/wolfskin/design/DiscoverCaptureTest.kt b/wolfskin-design/src/test/java/org/justinvisser/wolfskin/design/DiscoverCaptureTest.kt index 032f59f8..a913391e 100644 --- a/wolfskin-design/src/test/java/org/justinvisser/wolfskin/design/DiscoverCaptureTest.kt +++ b/wolfskin-design/src/test/java/org/justinvisser/wolfskin/design/DiscoverCaptureTest.kt @@ -65,7 +65,7 @@ class DiscoverCaptureTest { } rule.mainClock.advanceTimeBy(1000) rule.waitForIdle() - val directory = File(requireNotNull(System.getProperty("wolfskin.captureDirectory"))).apply { mkdirs() } + val directory = File(requireNotNull(System.getProperty("wolfskin.captureDirectory")), "discover").apply { mkdirs() } rule.onRoot().captureRoboImage(File(directory, "$name.png").absolutePath) recordTypography(directory, name) } diff --git a/wolfskin-design/src/test/java/org/justinvisser/wolfskin/design/LibraryCaptureTest.kt b/wolfskin-design/src/test/java/org/justinvisser/wolfskin/design/LibraryCaptureTest.kt index b4e00332..af8387f9 100644 --- a/wolfskin-design/src/test/java/org/justinvisser/wolfskin/design/LibraryCaptureTest.kt +++ b/wolfskin-design/src/test/java/org/justinvisser/wolfskin/design/LibraryCaptureTest.kt @@ -61,7 +61,7 @@ class LibraryCaptureTest { } rule.mainClock.advanceTimeBy(1000) rule.waitForIdle() - val directory = File(System.getProperty("wolfskin.captureDirectory")).apply { mkdirs() } + val directory = File(System.getProperty("wolfskin.captureDirectory"), "library").apply { mkdirs() } rule.onRoot().captureRoboImage(File(directory, "$name.png").absolutePath) }