Repository navigation
feat(client): polish companion sound, motion and message reading - #1180
Conversation
Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 18 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Observe the fixed stage for motion scheduling and retain character visibility for text/audio. Fast release, cancel and lost capture must settle at the floor without opening DM. Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
|
Real isolated DSH verification of the fast-release fix at e2e7014 (dark, 1559 × 865). Timed screenshot recording shows drag → fall → rebound → land → rest; final bottom is exactly 0px. This verifies the shown release path; it does not qualify audible babble or replace a matched pre-fix capture.
fast-throw.mp4 |
Preserve both bilingual Release Ledger additions without changing companion behavior. Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
|
Real DSH visual follow-up for #1173 and the unchanged #1143 mouth behavior, captured from the #1180 branch on 2026-10-08. Chinese locale, 1559 × 865, both themes. Sound-setting before/after means off/on in the same build. Two actual Bot-authored channel_send replies drove closed/half-open/open/saved mouth states and visible text. Recordings are timed actual browser screenshots with original timing and no audio track; audible playback is still unqualified.
mouth-dark.mp4mouth-light.mp4 |
Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Preserve both companion and AX diagnostic release entries. Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
|
Human idle/hover feedback implemented at 01dc9ad. Actual isolated DSH, Chinese, 1559 × 865: before 9c4d660 versus after production code15cd2e82 (final head only adds test/merge changes), both themes. Idle has no placeholder bubble; actions fade in on hover or keyboard-visible focus. Real pointer drag retains pointer focus but fades toolbar to0 and exits reading, lands at floor0/rest. Timed browser screenshot recording; no audio or performance claim. idle-release.mp4 |
Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
|
Real DSH long-message qualification at d6156ff, dark, 1559×865. Actual Bot-authored channel_send and production SSE/reveal; complete prefixes stay inside the fixed 320×104 card with a 54px text viewport. PageUp/wheel upward pauses following while text keeps growing; returning to the bottom resumes following. Scrollbars hidden.
Eleven actual browser screenshots, encoded with recorded capture intervals (66.72s). No audio, full-frame-rate or performance claim: long-message-scroll.mp4Matched pre-fix/light/full-tail and multi-card eye checks remain pending; PR stays draft. Earlier browser submission timeout was inconclusive: its real Human message and Bot reply were subsequently found in Chat. New captures use a fresh actual reply, not injected messages or DOM changes. Test tabs6297/6306 explicitly closed; walking remains paused in this isolated QA Profile. Restored Host67216 remains listening on31973, verified outside the execution sandbox; a sandbox-local process inventory incorrectly omitted it. API health alone does not establish current browser interactive readiness. |
Preserve both release ledgers and validate the integrated Client. Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Include matched setting states, the first trusted drag recording and the separately captured output approved at its quiet volume. Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Publish real integrated DSH screenshots, a continuous silent recording, separate observed audio and allowlisted geometry/source-start assertions. Deliberate viewport nonintersection remains distinct from background-tab and fast-gesture acceptance. Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Delayed rendering previously discarded elapsed time twice, making a released companion appear suspended. Preserve elapsed time for bounded drop integration while retaining text and idle motion limits. Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Exclude the time spent holding a companion before a delayed frame from flight integration; preserve upward inertia and include cancelled releases in the same clock boundary. Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Preserve both QQ release entries and unreleased companion behavior, leaving published history unchanged. Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Separate click suppression from the active pointer so a late unpressed move cannot restore drag and suspend gravity. Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Preserve both Unreleased ledgers; the immediate release boundary is unchanged. Client integration passes 156 files and 1133 tests. Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Publish only agent-generated isolated QA state screenshots, a 9.866s native tool recording and allowlisted qualification. The supplied Human screenshot stays private and is excluded. Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Use the existing physical point as a wrapper translation instead of changing layout offsets. Preserve geometry regressions. This candidate has no qualified before/after performance result yet. Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Preserve both bilingual ledger entries and adapt mounted multi-companion geometry to the translated wrapper. All 157 Client files and 1141 tests pass; typecheck, lint, format and ledger checks pass. Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Capture matched real DSH floor and portalled menu states with identical pixels, plus a continuous native menu/theme recording. Keep dynamic and performance gates explicit. Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Preserve delayed-frame release timing, cleared pointer ownership and bounded interaction audio while presenting direct position and bubble origin together. The mounted regression fails on the old #1180 branch with a 300px stale tether and passes after integration. Issue: #1173 Refs: #1248 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Preserve both additive release ledgers and integrate current main without changing accepted companion motion. Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269
Record the direct-motion anchor fix under Unreleased and restore the original bilingual 1.2.0 entries. Issue: #1173 Agent-Task: codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269

















Refs #1173 · Spec #1135 · Agent claim · Task
codex/local/01a11734-bb09-7f01-9d45-adc0f5df6269Why the change
Window Companions gain optional text-paced babble and interaction sounds, continuous spring tilt and quiet idle presentation, while fast throws keep falling and long message bubbles follow the latest text without visible scrollbars.
Special things to note
speechSoundpreference. Trusted click/key/pointer-down gestures lazily unlock one shared Web Audio owner: at most two voices, per-Bot replacement for interactions, rate limits and no catch-up queue. Blocked audio leaves messages working. Human accepted the quiet grab/landing volume and confirmed hearing fast-drag squeak and throw sounds. No TTS or new model tools.Change outline
Current merge checkpoint
Integrated main
8c2103deat43dae153; the accepted motion source remains unchanged apart from main’s onboarding tour attribute. Both additive ledger conflicts retain their entries, and released1.2.0 history is restored with the direct-motion fix under Unreleased. Local typecheck, lint/source policy, format, bilingual ledgers, production build and163Client test files/1183tests pass (1file/test skipped). Final-head complete CI38071284220 passes, and final Standards and Spec reviews each have0remaining findings. Human-authorized squash merge is88ced4d1.Human tried the retained real DSH optimized build and accepted its animation before authorizing this merge. A separate21.623s five-walker T3 recording was shown in this task; CSS960×640 with original1368×912 video pixels. This recording and Human feedback do not measure performance or qualify the separate formal Avatar0.10.1 build. The observer-clean walking comparison supports retaining translated positioning: repeated five-walker presentation p95 is8.388–8.456ms versus14.289–14.628ms for the same-source original-layout control. Collection remains diagnostic-only; #1167 stays open for formal0.10.1, concurrent reading, post-GC resources and recovery. No completed GPU-saving or overall performance-budget claim.
Older evidence below retains its pinned source and limitations; it is not relabeled as current-head capture.
Resumed qualification — fixed stage during keyboard reading, English/dark/960×640
Claim · product source
1c0651ef· evidence head0e122cca· pinned DSH0.2.0-rc.1 / Avatar0.10.0Keyboard reading followed by resize can scroll a hidden-overflow stage: physical y and CSS bottom remain0, but its scrollTop becomes4.912px and Ada's bottom635.088px. The outer stage now uses clip overflow. The bubble retains its own 54px scrolling viewport and hidden scrollbar. Five paused companions use the same canonical Profile and saved positions across this pair; all corrected stages have scrollTop0 and bottoms640px. At760×540, all bottoms are540.351px, within1px device rounding. CSS viewport960×640, DPR1.425; screenshots retain the original device pixels.
Before — focused stage scrolls, Ada sits above the floor.
After — same five companions and horizontal positions, outer stage stays fixed.
After — keyboard reading remains scrollable while resizing.
Actual fixed-size DSH recording, 38.356s · qualification and limits
Real composer requests reach the native model and channel_send; new canonical DM text plays and follows the bubble bottom, and Control+Home/End reads earlier/latest text. No message/Activity injection or historical replay. The recording is a byte-for-byte copy of a fixed-viewport T3 capture and decoded without malformed frames. Two original recordings resized mid-capture and contained malformed H.264 frames; preserved privately, excluded. Resize qualification uses PNG/DOM evidence.
Checks and remaining gates: 18 focused tests and all157Clientfiles/1141tests pass; typecheck, lint/source policy, format, bilingual ledgers and build pass. Two-axis source review against fetched fixed main2e7fa378...1c0651e finds0new implementation defects; merge-base1ef3b27b, without claiming full newer-main integration. Current-head GitHub verify is not observed; the full Windows suite's earlier failure is still disclosed above. An earlier restart-era document reports connection-lost/shell-timeout and later mounting; it remains a failed attempt. A fresh document mounts the shell in686ms and then passes independent pins/composer/message checks. This is not a restart-budget measurement. The actual complete console read shows older GitHub404s, two unsuccessful asset probes and the intentional owned Host restart's connection errors, without a new post-navigation exception. Machine CPU remains high, so no profiler or performance acceptance; genuine background, moving hover, calibrated fast gestures, fallback and other dynamic qualification remain open. PR stays draft/unmerged.
Quiet idle — actual DSH before/after
Chinese, 1559 × 865, same isolated Profile/Channel. Before
9c4d6606; after15cd2e82, unchanged by later companion code. Dragging changes horizontal position. Pointer focus does not lock controls open; keyboard Tab still reveals them. Continuous actual drag/fade sequence uses timed screenshots, not a performance trace.Sound settings and first drag — actual DSH
At
4776990c, dark/1559 × 865, enabling survives reload. The first trusted drag allocates Web Audio, produces grab/landing, and settles at character bottom865/viewport865. Muted and reduced-motion native drags produce zero synthesized voices and return to that floor. The settings pair shows off/on in the same build, at matched scroll position. Original off/system-motion preferences were restored.Continuous silent first drag · Actual grab/landing audio · Audio capture details and muted/reduced states. A QA-only output observer captured real Web Audio without microphone access or product volume changes. WebM and MP3 are separate, unsynchronized outputs. Both captured native drags produced only grab/landing; they do not qualify speed-triggered squeak/whoosh.
Actual upward-release evidence at fix
e2e70141shows fall → rebound → rest at bottom0: recording. A mounted View regression reproduces the old moving-character visibility freeze; matching real pre-fix media was not obtained.Long messages — actual DSH before/after
Baseline
c396fbaband current4e366904, Chinese/light/1559 × 865, identical full text and seeded recipes, three independently verified native Bot replies each. Before stays at scrollTop0 with scrollbar-width:auto. After retains complete text in fixed320 × 104px cards with capped54px text viewports and scrollbar-width:none. Background Chat history, position and model delivery timing differ.Native hover expands two Ada cards. Control+Home holds the focused card at0 as reveal grows305→510characters; another Ada card and Grace independently follow288→540. Control+End returns the completed selected card to540. Earlier
d6156ff6actual flow separately verifies resume during further reveal.Continuous41.633s independent reading · Attribution and excluded baseline focus failure. This is not a pixel-identical three-card final pair.
Mouth dismissal and fresh arrivals
At
4776990c/formal Avatar0.2.0, light, a real1170-character reply drives closed/half/open/saved. Native Enter on the bubble close restores saved expression and zero cards for all27subsequent samples, with the Bot mounted. A separate4e366904/dark reduced-motion run retains saved mouth in all411samples, including a new312-character reply and actual drag. Continuous dismissal · Reduced-motion recording · Limits.The original
4776990cempty-reader queue bug retained a new canonical reply until Tab. Ate4926548/main78aba544/formal Avatar0.5.0 the same flow displays fresh reply B while character keyboard focus remains, with no intervening Tab or reload; final dismissal also releases already-waiting replies. The red run has canonical/DOM verdicts, without matched pre-fix media.Continuous real green flow · Sanitized red/green assertions. Dismissal affects local playback, not model Session cancellation.
Native removal and repin
At
e4926548/formal Avatar0.5.0 a real1170-character reply is partially revealed; native Channel header unpin removes the Companion. Repin reconnects live with zero historical cards and saved mouth, stable for three additional seconds.Continuous native unpin/repin · Sanitized qualification. Continuous official MCP WebM captures are silent and container-remuxed only; no interpolation, dubbing or performance claim. Source attribution remains specific to each recording. All owned capture browsers were closed.
Current main integration — sound and native requests
At source
50b44535, maind55d82fe, formal Avatar0.8.0, Chinese/1559 × 865, two real native requests contain three questions for A and one for B. A answers from its Companion while Grace's Channel remains selected; B answers from canonical Chat. Drafts survive light/dark changes and A's resolution. Both commit exactly once and continue their original Bot; late duplicate submission is refused. No console errors, original sound restored and owned browser closed.Continuous56.833s real flow · Actual Web Audio output · Qualification and capture limits. Source starts grow from4 after grab/landing to77 after the original Bots reply. Silent video and real audio have separate clocks. Screenshots are consecutive runtime states, not a code-version before/after pair; the three-question card is scrolled to its custom field. This does not qualify calibrated fast-gesture sounds or genuine background visibility.
The current source passes149Clientfiles/1,075tests, typecheck, lint, source policy, bilingual ledgers, format and build; CI at50b44535 and evidence CI at476cc0d9 pass. Independent Standards and Spec review against fixed latest main
d55d82fefinds zero new implementation issues and the evidence review finds zero provenance/claim findings. GitHub renders all four new embedded screenshots and both media links. Remaining runtime acceptance stays explicitly partial.Actual stale audio and native repin — Chinese/dark/1559 × 865
Continuous49.866s real flow · Allowlisted observations · Attribution and limits.
Source4072b9e6/formal Avatar0.10.0: a real new canonical Bot reply drives partial reveal and actual Web Audio. A loopback forwarding hop cuts the real Companion feed; starts remain26→26 across at least5seconds stale while the same readable text grows. Reconnect resumes the same prefix and new syllables in the same document. Native removal and repin retain74→74 starts, zero historical cards. One immediate stop is observed. A bounded observer delegates unmodified native audio calls without changing output: this qualifies source admission/cessation, not acoustic listening or every retained resource. Two expected transport errors, no other console errors; sound restored and observer/browser/proxy closed. Silent VP9 recording is container-remuxed only; screenshots are fixed-runtime states. Both evidence review axes pass after correcting the interval caption. Current media-only CI37927225425 passes. Genuine background and unsupported/autoplay failure remain open; the native AudioContext-disable probe failed its precondition and is excluded.
Actual archive and resume during speech — Chinese/dark/1559 × 865
Continuous 31.066s actual flow · Allowlisted observations · Attribution and limits.
Source 4072b9e/formal Avatar 0.10.0: a new canonical Bot reply produces partially revealed text and actual Web Audio. Owning Host pause/resume exercises real archive and resume in the same document. Across 120 archived samples over 6,165.1ms, source starts remain 11 → 11, one immediate stop is observed, cards are absent and the mouth is restored. Resume keeps 11 starts and no historical cards for 4,231.3ms. The bounded observer delegates original native audio calls without modifying output; this qualifies admission/cessation, not acoustic listening or every retained resource. Bot/sound preference restored, observer/browser closed, zero console errors. The silent VP9 recording has 466 frames and is container-remuxed only. Screenshots are fixed-runtime sequence states. Independent Standards and Spec evidence reviews report zero findings; evidence commit 1ab4fb9 changes no implementation. Its JSON array format failed CI and is corrected at aa74d85; the whole-repository local format check now passes. Full CI 37928462484 passes at aa74d85. Genuine background, unsupported AudioContext/autoplay failure and overall performance acceptance remain open.
Prior offscreen qualification
Actual runtime
3dbcce83, main base59ab5769, formal Avatar0.8.0: a new real2,905-character Bot reply is playing when the official device viewport becomes1×1. An independent native IntersectionObserver records ratio0 while the document stays visible. Across3,989.4ms, revealed text remains316characters and observed source starts remain148; return to1559×865 resumes to408/192 with the old prefix retained in the same document. Zero console errors; original sound restored and owned browser closed.Continuous54.600s silent recording · Separate15.576s actual output audio · Allowlisted observations · Attribution and limits.
The deliberately extreme viewport qualifies actual nonintersection, not ordinary-size usability or background-tab behavior. Resize changes character position; older ordinary-Chat QA text remains visible. Audio/video have different capture clocks and are separate artifacts, without a synchronization or new Human listening claim. The separate immediate-release fix remains #1248. Both evidence review axes found zero privacy/provenance/claim findings; failed setup attempts remain excluded.
Fast upward release — accepted fix
A fast upward throw could stop in midair after release. A passive observation of actual DSH captured trusted pointer-up entering fall, followed by drag without another pointer-down: the old release-click timer still retained the active pointer, so a late unpressed movement stopped gravity. Source
0eb841ddclears that pointer synchronously and keeps release-click suppression in its own ref. DeepSeekbot-site already uses the same synchronous pointer-lifetime boundary.The release → lost capture → late movement → click component replay failed before the fix and passes after it. Separate delayed-frame regressions cover100/200/500ms intervals and a1000ms withheld pre-release frame: physical time starts at release, bounded8ms substeps preserve upward motion, floor contact occurs within2s and settling within3s. Text playback retains its independent cap.
The Human accepted the fast upward throw on actual loaded
0eb841dd, whose release handler was independently verified. Integrated source4072b9e6preserves that handler unchanged against latest mainbcae2205; all156Client files/1133tests, typecheck, format, bilingual ledgers and build pass. Complete integrated CI37923283729 passes, and independent Standards and Spec integration reviews report zero new findings. The Human retest has no saved video; the completed ordinary native-tool recording below provides separate integrated runtime evidence. Genuine background, unsupported/autoplay fallback and issue-wide performance gates remain open, so the whole PR stays draft and unmerged.Integrated release sequence — actual DSH, Chinese/dark/1559 × 865
Continuous9.866s native lift/drop recording · Allowlisted qualification · Attribution and exact review path.
Actual source
4072b9e6, formal Avatar0.10.0: trusted native tool release is followed by fall, first floor contact at1313ms and rest at1538ms, with no return to drag, final bottom0px and zero console errors. The observer and owned browser are closed. Video is silent and container-remuxed only. These are consecutive fixed-runtime states, not a matched before/after revision experiment. The official drag tool cannot calibrate the late native move before the old release-click timer; the Human's supplied failure screenshot stays private and is excluded. The distinct physical upward throw on verified0eb841ddwas accepted by the Human but has no saved video. Failed setup recordings are excluded. Asset commitc8fec7c2adds no implementation changes. Evidence Spec/privacy/provenance review reports zero findings; Standards requested the obsolete PR-status paragraphs be removed, which is now addressed. Both embedded screenshots load at1559×865 in GitHub. Asset-only CI37924633715 passes. Corrected-description Standards recheck reports zero remaining findings.Earlier validation and review
Earlier evidence head
a4b78f27adds only the reviewed offscreen artifacts; complete Linux CI37882243247 passes. Actual source3dbcce83merges main59ab5769, preserving sound, quiet idle, per-card scrolling and offscreen fall recovery alongside projected Avatar anchors and formal Avatar0.8.0. Local typecheck,147Client files/1059tests, lint/source policy, format, release ledgers and build pass; complete Linux CI for this source passes. Independent Standards and Spec reviews of pinned latest-main652410b5...3dbcce83found zero new code findings; this three-dot comparison has merge-base59ab5769and does not imply integration of the newer Assignment-capacity commit652410b5. The corrected recovery assertion at62d9ef72retains nonempty-reader queuing and verifies fresh arrivals after final dismissal. Historical published mergee431168alacks task trailers; retain issue/task trace in the eventual squash message. The earlier full Windows repository attempt is not claimed passing. Genuine background remains open; the later Human accepted physical fast-throw behavior and confirmed hearing interaction sounds.To review: start this branch through the isolated DSH launcher, pin a pixel Bot, enable Companion sounds, reload, then drag as the first gesture. Check reversal/hold/fast release and floor return; use a real long DM to check fresh-text sound, independent upward reading and bottom-follow resumption. Repeat mute/reduced motion and both themes. Calibrated fast-gesture audio and the lifecycle gaps named above still need qualification.
Translated position — performance candidate, matched idle/menu checked
Head
774d9f66integrates fetched main1ef3b27b. The wrapper uses fixed zero layout offsets andtranslate3d(x, -y, 0)for the existing physical point; physics, Avatar artwork, relative bubbles, reading and pointer release are unchanged. This is a candidate refactor, without a demonstrated performance benefit.Mounted single- and multiple-companion regressions decode the translation through one test helper while preserving floor, release, anchor and viewport assertions. The first full Client run caught a remaining old-layout multi-companion mock; that mock is corrected. Final local Client checks pass: 157 files / 1,141 tests, typecheck, lint, format and bilingual ledgers. Full latest-main code review reports Standards 0 implementation findings / Spec 0 code findings; its PR-description attribution request is addressed here. The pre-integration candidate build passed; Full integrated-head CI37958140914 passes, including full repository tests, build and generated-output checks. The earlier Windows full-repository failures are not claimed fixed or passing.
Partial native qualification: actual source
774d9f66, formal Avatar0.10.0, Chinese/light/960×640: a trusted native-tool release entered fall and settled with physical height0 and wrapper bottom640px, without returning to drag. Native Activity synchronization was live and console errors were0; the bounded observer was removed and the owned native browser closed. These are consecutive candidate-runtime states, not a matched before/after revision comparison or calibrated fast throw. No new message, sound or Human approval is qualified by this recording.Continuous6.567s silent native lift/drop recording · Allowlisted qualification · Attribution and review path. The WebM is container-remuxed only. An earlier dark-theme setup could not match the expected Settings option and is excluded; that attempt supplies no dark qualification. The matched comparison below subsequently verifies its stated dark states. T3 preview API calls timed out while terminal and native Chrome calls succeeded; that environment difference is recorded without a product-fix claim.
Asset-only head
7b1eba8cchanges no runtime or tests. Independent evidence review against fetched main71ce1809...7b1eba8creports Standards0 / Spec0 new defects, with merge-base1ef3b27b; this is not integration of the newer main. Both images are verified complete at960×640 in the actual GitHub PR page. Existing open acceptance gates remain unchanged.Full evidence-head CI37963479484 passes: lint, format, typecheck, all repository tests, build and generated-output checks. The earlier failing Windows full-suite attempt is not claimed passing or repaired by this evidence commit.
Matched original layout → translated layout — Chinese, 960×640
Fresh actual DSH Hosts and native Chrome contexts shared one canonical Profile, the same formal Avatar0.10.0 recipe and17message ID/body hash. Only the original-layout control restores the wrapper left/bottom; its test-only adapter is not bundled. Both compiled runtimes use source774d9f66, with checkout7b1eba8c containing earlier evidence only. Native header pin/pause and ArrowLeft align the actual character atx8; its96×96 wrapper ends exactly at640px. Native Shift+F10 opens the menu in its portal inside the viewport. Off-character focus lets the idle toolbar fade to zero.
Light: idle floor
Light: portalled menu
Dark: idle floor
Dark: portalled menu
All four captured screenshot pairs have identical decoded RGBA pixels and measured root/menu geometry. This qualifies only these one-paused-Bot idle/menu states. Natural blink timing was not patched, and this is not an overall visual-equivalence or performance claim. Both native browsers closed, the original-layout Host stopped and the candidate Host restored; console errors0 onboth.
Continuous26.233s silent native menu/theme recording · Allowlisted comparison · Provenance and exact reproduction. Recording is container-remuxed only. Initial attempt1 stopped at the conservative timestamp guard before any Host change; it is excluded. The earlier missing-dark-option setup remains excluded, while these matched captures now verify actual dark rendering for the stated states. No new live message, audio or calibrated fast gesture is qualified here. Asset commit3a1764e2 changes no runtime or tests. Independent Standards / Spec review against fixed fetched main
fe5d5721...3a1764e2found0 new defects on both axes; merge-base1ef3b27b, without newer-main integration. Compiled source remains774d9f66. Current matched-evidence CI37967820564 passes full repository tests, build and generated-output checks.Historical capture/performance checkpoint at source5cddec35: three earlier baseline profiler runs are preserved and excluded: initial page timeout, profiler-stop timeout, and native-navigation timeout. No complete matched performance pair exists. Container cleanup reduced whole-machine load, but latest samples remained39–56%; the Human requests retesting when idle. The historical control/candidate pair at source774d9f66 is built; integration5cddec35 supersedes that runtime, both controls have now been rebuilt at5cddec35, with identical Host bundle hashes and only position-style/test-fixture differences, but integrated native qualification and a matched performance run remain open. No overall visual-equivalence, GPU saving or walking p95 ≤16.7ms claim. Five-companion and broader dynamic candidate interaction checks remain open.
Runnable review path: launch this branch through the isolated DSH helper, use Chinese UI at 960×640, pin five pixel Bots, and compare idle / walking / real concurrent DM playback / hover-expanded reading. Drag, reverse, throw, open the portalled menu, read earlier text and resize; verify projected anchors and exact floor in both themes. Capture before/after and native traces from an otherwise identical runtime baseline when idle, with startup frames recorded separately. Do not compare the old baseline directly to this head containing unrelated main changes. Performance evidence and the confirmed budget remain #1167 / PR #1247.
Direct-motion anchor prerequisite integration
Integration claim · Independent owning fix #1248 / PR #1249
Head
5cddec35integrates the existing direct-motion anchor correction while preserving this branch's delayed-frame release clock, cleared pointer ownership, interaction sound and reading behavior.On this branch before integration, the mounted public-View regression fails immediately after reduced-motion release: character is on the floor while its tether remains300px above its correct origin. The integrated version passes without advancing another animation frame; all11View tests and typecheck pass. Old screenshot/video assets remain attributed to their pinned historical revisions. At that checkpoint, no new integrated runtime screenshot, recording or performance acceptance was claimed; the resumed stage qualification above is later evidence. The separate #1249 evidence uses its original runtime, and its PR remains unmerged. Independent Standards and Spec review against fixed freshest main
2e7fa378...5cddec35reports0 new implementation findings, with merge-base1ef3b27b and no claim of newer-main integration. Current-head CI is not yet observed. Full local Windows suite is terminal:79failed/372passed/6skipped files,405failed/3242passed/29skipped tests,601.24s. Failures include EPERM temporary-directory cleanup, directory fsync and Windows path-separator assertions; not all failures are attributed to one cause. Lint/source policy, format, bilingual ledgers and build pass, along with the focused11View tests and typecheck. Separate current Client verification passes157files/1141tests atmaxWorkers2; the old-position control passes12geometry tests and builds. A full passing repository suite is not claimed. This PR stays draft.