Preview: promote selected layer for hit testing
Temporarily raise the selected preview item and prioritize it in the custom hit test without changing scene order. Refresh integration-test expectations for Brand logo layers and explicit thumbnail assets. WPF references: https://learn.microsoft.com/en-us/dotnet/api/system.windows.controls.panel.zindex?view=windowsdesktop-10.0 https://learn.microsoft.com/en-us/dotnet/desktop/wpf/graphics-multimedia/hit-testing-in-the-visual-layer
This commit is contained in:
+62
-4
@@ -1,6 +1,64 @@
|
||||
# HANDOFF — 2026-10-26 (ai.md memory split, 3 units landed; see below — everything after this block is the prior 2026-10-22 state, still accurate)
|
||||
# HANDOFF — 2026-10-28 (selected-layer preview stacking; suite green)
|
||||
|
||||
## At a glance (2026-10-26 docs session)
|
||||
## Current state
|
||||
- **Branch `main`; `origin/main` remains at `7ae30d4`.** The five
|
||||
feature commits since that point are `90cd039` (fade starts from outgoing picture), `f67a263`
|
||||
(transition picker), `b86b6bb` (Wipe), `841c905` (brand logo layer), and `7da2872` (preview and
|
||||
program transitions). They are not pushed; no push was requested.
|
||||
- **Four UI-redesign commits already on `origin/main` were missing from the older handoff:**
|
||||
`24aca7d` moved the scene strip above the preview and removed the default CRT/on-air image seeds;
|
||||
`3239808` added the Scene Layers header/count and layer icons plus scene-card names, hotkeys, and
|
||||
PROGRAM badge; `a8814b4` added the explicit EDIT toggle and fixed the scene-card/left-column
|
||||
sizing; `7ae30d4` moved readouts/resolution into the top-left cell, added the Socials rail drawer,
|
||||
and restored webcam/chat border controls and vertical 1080p30. `b7ab169` added [`DESIGN.md`](DESIGN.md)
|
||||
with exploratory color/type tokens; it explicitly is not a layout spec or a theme implementation.
|
||||
`ai.md` and `Controls/index.md` now describe the landed surface. No new task was added to the queue.
|
||||
- **Shipped in those commits:** type/duration picker persisted with the layout; CPU left-to-right
|
||||
Wipe; one locked Brand logo image layer per scene; preview transition animation in every mode;
|
||||
program transitions while recording or streaming. The 7da2872 commit omitted a memory update;
|
||||
`TASKS.md` and `ai.md` now reflect it.
|
||||
- **Current work unit:** when a draggable element is selected from the layer list, `PreviewPane`
|
||||
temporarily raises its item container and gives it priority in the custom preview hit test. On
|
||||
deselection, normal preview stacking returns; the scene collection order and saved/program z-order
|
||||
never change. `SelectedLayerPreviewHitTestingTests` verifies the overlapping Brand logo/webcam
|
||||
visual hit, custom hit priority, and deselection restore.
|
||||
- **The six prior suite failures are resolved in their tests, not by reverting current behavior:**
|
||||
LayerReorder now accounts for the permanent Brand logo after Background; BorderColorPicker validates
|
||||
every palette picker and scopes its rendered-widget lookup to the visible webcam control; both
|
||||
thumbnail cases persist explicit tile assets instead of relying on removed default seed files;
|
||||
SourceNaming only considers user-created Text overlays; ZoomBox locates its placeholder by type,
|
||||
not a list index changed by Brand logo.
|
||||
- **The worktree already had three uncommitted user edits before this docs sync; they are preserved:**
|
||||
`Controls/OverlayHost.xaml` groups App Settings into Recordings, Brand logo, Preview, and Scene
|
||||
transition sections with compact controls; `Controls/TopBar.xaml` wires right-click on the gear;
|
||||
`Controls/TopBar.xaml.cs` opens App Settings directly on right-click while left-click keeps the
|
||||
menu. These are active UX-redesign work, not part of the selected-layer fix. On-screen verification is
|
||||
still pending.
|
||||
- **This work unit is committed locally, not pushed.** The three pre-existing user edits above
|
||||
remain uncommitted and untouched.
|
||||
- **Next:** continue the creator's UX redesign and verify the current App Settings/gear changes,
|
||||
transitions, and Brand logo on-screen. The earlier vertical-webcam hands-on check is also still
|
||||
pending unless the creator confirms it was completed. Move's persistent-layer behavior and Cube
|
||||
remain queued; distribution remains deferred until near v1.
|
||||
- **Verification state:** `verify.sh` passed: clean build with 0 warnings, **444/444 tests passed**,
|
||||
and scope check passed. The new selected-layer integration test also passes by itself.
|
||||
- **Follow-up, not fixed here:** `ytLive.csproj`'s `GenerateBuildStamp` comment still describes a
|
||||
commit-count-based `+1 per commit` counter, but the target now reads/writes local `BuildCounter.txt`
|
||||
and increments it per build. `ai.md` records the code's current behavior; correct the stale source
|
||||
comment in a separately scoped change. `ViewModels/MainViewModel.Socials.cs` also still calls the
|
||||
Socials surface a modal dialog in its method comment; the committed UI is now a preview-rail drawer.
|
||||
Correct that source comment separately if the file is next in scope. The new deterministic WPF
|
||||
hit-test recipe is in `MyMistakes.md`; the final commit cites its Microsoft reference.
|
||||
- **WPF stacking reference:** [`Panel.ZIndex`](https://learn.microsoft.com/en-us/dotnet/api/system.windows.controls.panel.zindex?view=windowsdesktop-10.0)
|
||||
governs preview container order. The code also prioritizes the selected element in `HitElementAt`,
|
||||
because the custom hit test does not consult WPF's visual z-order. The deterministic test recipe and
|
||||
hit-testing reference are recorded in `MyMistakes.md`; cite that Microsoft reference in the commit.
|
||||
|
||||
---
|
||||
|
||||
## Historical notes (retained reference; current checkout state is above)
|
||||
|
||||
### At a glance (2026-10-26 docs session)
|
||||
- **`ai.md` is being split into `docs/ai/*.md`** (user-approved: verbatim move, staged units, "ai.md
|
||||
only"). Three units landed as separate commits, **docs only, not pushed**:
|
||||
`804b1d2` (frame pipeline: cadence/timing/budget/compositor/pump),
|
||||
@@ -20,7 +78,7 @@
|
||||
|
||||
---
|
||||
|
||||
## Prior state (2026-10-22) — the creator's properties-panel asks shipped, incl. TASK 63, and pushed; the vv webcam Units 1+2 state below
|
||||
### Earlier detailed state (2026-10-22) — properties-panel asks shipped, incl. TASK 63, and pushed; vv webcam Units 1+2 state below
|
||||
|
||||
## At a glance
|
||||
- **Branch** main, tracking `origin/main`. **The six-commit properties-panel batch is PUSHED**
|
||||
@@ -264,7 +322,7 @@ Zombie entities deleted from the registry: `script.leak_strobe`, `script.doorbel
|
||||
*Test:* `ytLive.Tests/VerticalChatCameraLayoutTests.cs` — in Chat under the vertical tier, enlarge sets
|
||||
the full top area and the circle option is not offered. **PASSES.**
|
||||
|
||||
## Next step
|
||||
## Historical next step (2026-10-22; superseded by Current state above)
|
||||
- **✅ TASK 63 + popup-click fix verified by creator (2026-10-22)** — clicking a colour in the
|
||||
Border Color `YtComboBox` dropdown now stays inside `LeftPanel` (`IsDescendantOf` crosses
|
||||
`PopupRoot` → `PART_Popup` via `LogicalTreeHelper.GetParent`), updates the webcam border colour,
|
||||
|
||||
Reference in New Issue
Block a user