diff --git a/.gitignore b/.gitignore
index bc305d9..800c375 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,6 +23,8 @@ scans/
*.mp4
# the one exception: a 3-second synthetic test pattern (ffmpeg testsrc) the demo page tests play; no home in it
!apps/web/e2e/fixtures/test-clip.mp4
+# the one screen recording the author chose to publish; every other recording stays out
+!apps/web/public/demo-video/watch.mp4
# the sample room's photo colours stay local (the viewer hides "Photo" when the file is missing)
# your own scan for /viewer (make viewer); it never leaves your computer
diff --git a/README.md b/README.md
index cbaf427..ba968e0 100644
--- a/README.md
+++ b/README.md
@@ -128,7 +128,8 @@ come from the planner the phone uses, on the scan's floor.
## Screenshots
**Real output, from the author's own living room:** one walk with an iPhone, rebuilt on a Mac. The room map shows
-floor, furniture and walls as cells, and the things as dots: no photos of the home are in this repo.
+floor, furniture and walls as cells, and the things as dots. The scan holds no photos of the home; the only footage in this repo is one short screen
+recording and one frame of it, which the author reviewed and chose to publish (`apps/web/public/demo-video/`).
@@ -509,7 +510,8 @@ Every route except `/health` needs a key: the owner's device key, or a robot's o
- **The published demo scan:** the author's own living room is published for `/homes/flat/viewer`, reviewed and
approved by the author:
- points and surfaces tinted by height, the room model, the drawings, labels and robot files;
- - no photos, video, depth images, keys or paths; guard tests fail if a photo file or photo colours ever appear.
+ - no photos, video, depth images, keys or paths in the scan files; guard tests fail if a photo file or photo colours ever appear;
+ - separately, one reviewed screen recording of the AR view and one frame of it in `apps/web/public/demo-video/`, chosen by the author.
- the no-keys demo (`samples/replay/flat/`) holds the same scan's room model and labels, its point cloud thinned to
one point per 5 cm (positions only, no colours) and the path the phone walked (camera poses only, no times or
compass readings), with the recorded answers; a test checks there is nothing else.
diff --git a/apps/web/components/viewer/PhonePanel.tsx b/apps/web/components/viewer/PhonePanel.tsx
index 13afd8f..f1278c8 100644
--- a/apps/web/components/viewer/PhonePanel.tsx
+++ b/apps/web/components/viewer/PhonePanel.tsx
@@ -63,54 +63,52 @@ function Frame({ children, label }: { children: ReactNode; label: string }) {
}
/**
- * The AR camera view, drawn: no photo of the home goes on the public page, so the room is a floor grid. The chevrons
- * lean the way the clock-face step says; the thing's tag grows as the walk nears it, as the labels do in the camera.
+ * The AR camera view, drawn as a plain room: no photo of the home is needed for it. The floor chevrons lean the way the
+ * clock-face step says; the thing's tag grows as the walk nears it; on arrival the app's blue arrow points down at it.
*/
function ArScene({ thing, hour, progress, before, there }: { thing: string; hour: number; progress: number; before: boolean; there: boolean }) {
const lean = ((hour % 12 > 6 ? hour % 12 - 12 : hour % 12) * 18).toFixed(0);
const name = thing.toUpperCase();
- const scale = there ? 1.2 : 0.65 + progress * 0.4;
+ const scale = there ? 1.15 : 0.65 + progress * 0.35;
const width = name.length * 8.6 + 26;
return (
-