acdream/tests/AcDream.App.Tests
Erik ddae5704da tools(ui-probe): mouselook <dx> <dy> verb — raw mouse-look delta injection for scripted camera pitch
Issue #464 needs a repeatable tilted self-gate frame at the cathedral
stair-arch pose, but the automation's `drag at`/`mousemove` verbs only
move the retained-UI cursor — they never reach mouse-look, so every
scripted route replays the DEFAULT camera and can't reproduce the
owner's upward-tilted frame (docs/ISSUES.md #464, the 2026-09-03
22:07 transcript note: "the automation's `drag at` verb does not
drive mouse-look").

Add `mouselook <dx> <dy>`: it calls the SAME
GameplayInputFrameController.QueueRawMouseDelta the real mouse's Silk
MouseMove callback drives (CameraPointerInputController.
ProcessMouseMove), through an injected delegate threaded
RetailUiAutomationScriptRunner <- RetailUiProbeBindings <-
InteractionRetainedUiDependencies.GameplayInputFrame. That last seam
is resolved fresh on every call rather than captured once at mount,
since GameplayInputFrameController is created per live session
(SessionPlayerComposition), strictly after the retained UI composes
and across reconnects — the same never-capture-a-deferred-Func
discipline the secure-trade command-bus regression taught
(claude-memory/feedback_resolve_deferred_funcs_per_call.md).

The delta only takes effect while mouse-look is active (bracket with
`input down`/`up CameraInstantMouseLook`) and one call consumes
exactly one raw sample on the controller's next tick, so a route must
`sleep` between calls — documented on DoMouseLook and the class doc
comment.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-03 22:53:15 +02:00
..
Architecture test: replace gameplay owner source freezes 2026-08-18 16:49:38 +02:00
Audio feat(audio): Campaign A slice A2 — retail's 2D pan+gain mixer replaces AL 3D 2026-08-08 21:58:50 +02:00
Combat fix #436: combat no-target refusal reaches the SpewBox with retail's exact text 2026-08-24 12:53:11 +02:00
Composition refactor(render): detach packed pview product from production 2026-08-31 04:10:10 +02:00
Configuration fix: complete retail parity stability pass 2026-08-28 20:01:39 +02:00
Credentials test: make prerequisite lanes fail honestly 2026-08-18 12:09:41 +02:00
Diagnostics fix: complete retail parity stability pass 2026-08-28 20:01:39 +02:00
Input fix(camera): port retail offset adjustment laws 2026-08-31 05:42:23 +02:00
Interaction fix(client): restore retail interaction parity 2026-08-26 20:45:11 +02:00
Net fix: complete retail parity stability pass 2026-08-28 20:01:39 +02:00
Physics feat(render): Campaign OVERHAUL S2 chunk 5 + closeout — registry is the only render membership owner 2026-09-03 01:01:47 +02:00
Platform feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
Plugins feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
Rendering docs(render): S3 review closeout — AD-23 retired, AD-17 says deleted not dormant, probe doc truthful, per-view EC loop guarded, conformance harness's per-cell EC limit recorded 2026-09-03 20:17:16 +02:00
Runtime fix(client): restore retail interaction parity 2026-08-26 20:45:11 +02:00
Settings fix: complete retail parity stability pass 2026-08-28 20:01:39 +02:00
Spells feat(headless): share immutable gameplay content 2026-07-27 09:00:48 +02:00
Streaming feat(render): Campaign OVERHAUL S2 chunk 5 + closeout — registry is the only render membership owner 2026-09-03 01:01:47 +02:00
UI tools(ui-probe): mouselook <dx> <dy> verb — raw mouse-look delta injection for scripted camera pitch 2026-09-03 22:53:15 +02:00
World fix: complete retail parity stability pass 2026-08-28 20:01:39 +02:00
AcDream.App.Tests.csproj feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
BoundedTestDatCollection.cs perf(content): remove exception-driven setup probes 2026-07-24 15:12:21 +02:00
FramePhaseTestDoubles.cs refactor(runtime): move session lifetime and ordered transport 2026-07-25 19:39:24 +02:00
FrameProfilerReportTests.cs perf(diag): complete trustworthy Slice A capture tooling 2026-07-24 12:46:51 +02:00
FrameStatsBufferTests.cs fix(pipeline): MP0 - profiler toggle-path hygiene + Max() seed (review follow-up) 2026-07-05 19:26:28 +02:00
GameRuntimeTestFactory.cs refactor(runtime): cut graphical host over to canonical root 2026-07-26 19:06:09 +02:00
GlobalUsings.cs feat(runtime): share chat commands and run login sequence 2026-08-14 20:27:45 +02:00
LiveEntityRuntimeFixture.cs test(runtime): restore the world-frame precondition across first-entry fixtures 2026-08-03 13:32:28 +02:00
LiveEntitySpawnFixture.cs feat(runtime): C3c - production placement cutover: both hosts on the residence conductors (routes 1+8) 2026-08-02 18:10:33 +02:00
packages.neutral.lock.json build: make release restore reproducible 2026-08-18 10:29:00 +02:00
RuntimeDatAccessArchitectureTests.cs feat(headless): share immutable process content 2026-07-27 08:37:24 +02:00
RuntimeDatCollectionFactoryTests.cs feat(headless): share immutable process content 2026-07-27 08:37:24 +02:00
RuntimeOptionsRetailUiTests.cs fix: complete retail parity stability pass 2026-08-28 20:01:39 +02:00
RuntimeOptionsTests.cs feat(render): S3 chunk 1 — print-only walk transcript, OH fixtures, offline signature diff 2026-09-03 11:49:42 +02:00
RuntimeWorldTransitTestDriver.cs refactor(runtime): own teleport destination correlation 2026-07-26 17:52:34 +02:00
ThreadSchedulingCollection.cs test(ci): harden scheduling and allocation gates 2026-08-27 19:28:10 +02:00
ZeroAllocationProbe.cs test(app): measure the warmed path, not the path being warmed (#250) 2026-07-29 03:42:08 +02:00
ZeroAllocationProbeTests.cs test(app): measure the warmed path, not the path being warmed (#250) 2026-07-29 03:42:08 +02:00