# CC execution brief: museum panel and exhibition chapter boundary

Status: IMPLEMENTED (issue #28, 2026-08-12) — Part A in
`src/inception/museumPanel/` (`panelLayout.js` + `panel.ts`), Part B in
`src/inception/world/model/learningCorridor.js` and its renderer, with the
guided-demo threshold hold in `demo/src/world/tour.js`. This scope does not
include the proposed Van Gogh narrative reorder or new narration audio; both
are deferred to Phase 2 after the exhibition text is final.

## Goal

Implement two visitor-facing improvements without changing the trust model,
artwork provenance, student attribution, or room ownership:

1. add a top-right **Maximize / Restore** control to the reusable Holographic
   Museum Panel; and
2. create a true spatial chapter boundary between Van Gogh/Gauguin works and
   the students' works in the Van Gogh learning corridor.

## Part A — Maximize / Restore at 95%

Work in the shared museum-panel component. Do not create a Van Gogh-only modal.

- Add a top-right control beside Close. Its accessible name and visible label
  are **Maximize museum panel** while restored and **Restore museum panel**
  while maximized.
- Maximized size is **95vw × 95dvh**, centered in the viewport. Respect safe
  area insets and never exceed the viewport.
- Maximize the existing content surface; do not remount or duplicate the
  document. Scroll position, focused element, selected text, and loaded images
  must survive Maximize and Restore.
- In maximized mode, images use `object-fit: contain` and may use the available
  width and height without cropping. Text remains independently scrollable.
- The panel's world-space projection frame may be visually suppressed while
  maximized, but the shared panel remains the owner of content, sanitization,
  focus, and close behavior.
- First Escape while maximized restores the panel. A later Escape closes it.
  The visible Close control always closes it directly.
- Provide 44 × 44 CSS-pixel minimum pointer/touch targets, visible keyboard
  focus, and correct `aria-pressed` or equivalent expanded-state semantics.
- Restore before automatically closing for room change, range exit, portal
  transition, or exhibit unload so no maximized state leaks into the next
  panel.
- Preserve reduced-motion behavior: the resize transition is instant when
  reduced motion is requested.

Acceptance tests must cover 95% sizing, Maximize/Restore labels and state,
scroll preservation, Escape precedence, close behavior, focus restoration,
mobile viewport sizing, safe-area handling, and image containment.

## Part B — Van Gogh → student chapter boundary

The current layout is genuinely mixed: the first student boards on the left
begin before the final Van Gogh and Gauguin boards on the right have ended. A
label alone would describe a boundary that does not exist.

Make the computed `students.start` position a real boundary:

- Every student board on both walls must begin after `students.start` plus the
  normal board/header clearance.
- No student board may be opposite a masterwork. Keep the current curated
  order, shared student scale, real aspect ratios, names, consent checks, and
  two-wall distribution.
- Derive positions from the corridor plan. Do not hard-code today's metre
  value or today's artwork count.
- Keep the whole corridor inside its existing validated 25–28 m length range.
  Tune only the student-layout spacing budget if necessary; do not shrink
  individual artworks.
- At `students.start`, add one restrained transition threshold: a thin
  cyan/cobalt ceiling arch or beam, a matching floor light band, and a section
  title readable while walking forward.
- The threshold must not reduce the 4 m × 4 m passable opening, introduce a
  collision obstacle, flash, or become a portal.
- **Superseded 2026-08-13 (owner round three):** the threshold's title is a
  real public object — the shared `glassSignStand` archetype, thin tech glass
  on a slim frame — and it therefore DOES collide, from the same
  `propObstacles` maths every room prop uses. It stands beside the left wall,
  so the corridor's walking width is reduced only at its own edge; the beam,
  uprights and floor band still claim nothing.
- English title: **From Vincent's Questions to Young Artists' Answers**
- Chinese title: **从文森特的问题，到小艺术家的回答**
- Supporting line: **They looked, wondered, and transformed what they saw.**
- Chinese supporting line: **他们观察、发问，再把所见变成自己的创作。**
- The heading must also exist in the corridor's accessible DOM text twin.

Update the guided demo so the camera briefly holds on the boundary before the
first student narration. Do not add new narration audio in this PR; existing
student narration begins after the visual threshold.

Acceptance tests must prove that all masterwork board extents end before all
student board extents begin, the threshold uses the computed zone boundary,
the corridor remains within its validated length, the passable volume stays
clear, the bilingual text twin contains the heading, and the guided route
shows the threshold before any student-work beat.

## Phase 2 — deferred: reorder the Van Gogh opening narrative

This is the exhibition's thesis, not a small caption edit. The visitor should
meet people before looking upward:

1. *The Postman Joseph Roulin*;
2. *The Poet Eugène Boch*;
3. the starry works, including *Starry Night Over the Rhône* and *The Starry
   Night*.

Treat this as a thematic sequence, not a claim that every picture was painted
in this order. In particular, *Starry Night Over the Rhône* predates the
December 1888 crisis; *The Starry Night* at Saint-Rémy follows it.

Do not implement this section in the current batch. After the owner finalizes
the exhibition text and selected letter excerpts, Phase 2 should:

- place the Roulin and Boch portraits before both starry works while preserving
  every work, provenance record, physical dimension, and consent decision;
- bind guided-demo camera beats to stable artwork ids instead of array indices;
- update narration, subtitle segmentation, museum text, recording, and timing
  as one reviewed change; and
- add ordering and transcript-integrity tests.

Until then, keep the existing masterwork order and all thirteen current audio
cues unchanged. The bilingual transcript documents are editorial records, not
authorization to ship the proposed opening.

## Required verification

- Run `npm run check`.
- Manually inspect restored and maximized panels on desktop and a phone-sized
  viewport.
- Walk the entire learning corridor in both directions and confirm that the
  final masterwork, the transition threshold, and the first student work read
  as three distinct moments.
- Do not deploy. Open an English-only PR for review.
