Repository navigation
Guide: where his bubble shows, Buddy presents it himself as in the prototype (DEV-6676, F56 addendum (7)) - #649
Conversation
agentrozjedemeai
left a comment
There was a problem hiding this comment.
APPROVED — exact-head Steward QA, 45c41f502b9a8b34a6d38d144534feebeff3ef76 (base 5e06d756314c779b911d2d90451c917446954e57).
Ověřil jsem diff vůči #647 a vazbu na původní placeGuide: rozhodnutí o prezentujícím jde ze stejné Buddy podmínky, obsah a kroky průvodce zůstávají, rozhraní v1 se nemění. Figura bez disku, ukazující ruka, řečová karta, rozestupy (30/10/24 px), mobilní list, návrat do prázdného launcheru i zachované odsazení od něj odpovídají implementaci. Při nedostupném obrázku se v pozici figury vykreslí neutrální značka; karta používá přístupný název „Buddy: …“. Animace jsou vypnuté při omezeném pohybu.
V izolovaném checkoutu přesně tohoto headu: git diff --check čistý; bun test tests/shell-guide.test.ts tests/shell-buddy.test.ts 200 úspěšných / 0 chyb; bun run check:static úspěšný. Živé CI je zelené, žádná otevřená review vlákna. Addendum uvádí konkrétní rozhodnutí i limity: Safari, Firefox a stránky forků zde nebyly ověřeny. Autorův Chrome smoke neopakuji jako svůj důkaz. Jen review — bez merge, push či release.
The base branch was changed.
…ototype (F56 addendum (7), DEV-6676) Matěj saw the Lazurio stone jump out instead of Buddy on his Osobní Prostředí. Where the page shows Buddy's bubble, the engine now names him in the step it draws (GuideView.buddy, his picture and name as his launcher shows them), and the layer draws the prototype's figure: his picture 48 x 56 without a disc, leaping from his launcher and hopping to every step, his hand toward the element, and the card as his speech bubble with its tail at him and his name. He stands 30 px beside the element with the card 10 px past him (guideBuddyPlacement, the prototype's placeGuide); on the sheet below 768 px he stands on its top edge. His launcher waits empty while he is out (the bubble's launcher.away) and keeps its clearance; where his picture does not load, the neutral mark stands in his place. The explanations, their words and steps, the engine's rules and the guide without Buddy are unchanged, and interface v1 gains nothing. The F56 addendum (7) of 2026-10-25 records it, with the browser check at 1440 and 390 px. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
45c41f5 to
704b68d
Compare
agentrozjedemeai
left a comment
There was a problem hiding this comment.
APPROVED — exact-head QA for 704b68d against main b5ecc58.
The single guide commit is a clean rebase of the previously approved 45c41f5: stable patch-id is 7918d077faea3ce54312c59d4ae13009089f5359 for both. Guide source, tests and guide documentation are byte-identical; the F56 guide addendum is byte-identical as well. The only change between the trees in this area is the F64 addendum from #652, already on main and unchanged by this PR. #652 changes Buddy persona refresh in the Launchpad server/controller, not the guide presenter or shell; the combined head passed the relevant integration tests.
In a fresh isolated checkout: git diff --check clean; bun test on shell-guide, shell-buddy, buddy-persona, buddy-persona-save and launchpad-buddy: 273 pass, 0 fail; bun run check:static pass. CI on this head: static and both test shards green, required aggregate check green. No open review threads. This is a review only; I did not merge, push or release. Browser smoke from the prior review was not repeated on this rebase.
Motivation
On 2026-10-25 Matěj (Organization Admin) played the guide (a "?" tour step) on his Osobní Prostředí with Buddy: "ještě vyskočí lazurio kámen namísto buddyho, jako je to v prototypu" ("the Lazurio stone still jumps out instead of Buddy, as he does in the prototype").
HumanAndMachine-ai/prototypes-lazurio8d13cac6:GuideOverlay.tsx,guide.css,guide.ts,docs/buddy-guide.md): Buddy jumps out of his bubble, stands beside the element, points at it and says the step in a speech bubble.Stacked on #647 (base
agent/DEV-6676-bubble-corner, now at 5e06d75, which this branch includes).What changes (F56 addendum (7) of 2026-10-25)
GuideView.buddycarries his picture (/assets/avatar.webpof his origin) and his name, as his launcher shows them. It comes from the same fact that already lets his frame ask and invites nobody to get a Buddy, so there is one answer to whether Buddy is here.guide-layer.ts,guide-styles.ts), as the prototype's.gbuddy:object-fit: contain, so the 192 × 208 sprite is not stretched);icons.ts), points at the element and pokes;guideBuddyPlacementinguide-placement.ts, pure, a port of the prototype'splaceGuide):.buddyw__launcher.is-away.launcher.away; the view drawsdata-away(paper with a grey ring, no picture); the layer says when he leaves and when he is back.--lazurio-buddy-clearancestays, since its place is still taken.What it does not change
GuideViewand the bubble's model are internal.Verification
bun run check:static(lint, typecheck, public guard, proof build and smoke): pass.bun testover the 45 test files that touchsrc/shell: 917 pass, 0 fail.tests/shell-guide.test.ts:tests/shell-buddy.test.ts:away: said once, kept across another origin, back once he is back.scripts/preview-launchpad.ts personal cs … owner buddy(Buddy's origin serving T3 Code's realavatar.webp) and the same preview withoutbuddy. Apps home "?" (environment), steps 1 and 2, then Escape, at 1440 and 390 px:prefers-reduced-motion: he appeared in place; after Escape the launcher showed him at once;buddy: the stone at the card's corner, as before, named "Průvodce Lazuriem: …", and no launcher.Risks and open questions
--lazurio-buddy-clearance.🤖 Generated with Claude Code
Note
Have Buddy present guide steps with his own bubble, hand pointer, and animations
GuideBuddypresenter seam in guide.ts.GuideViewgains a requiredpresenterfield andGuideSeams.buddychanges from a boolean to a nullableGuideBuddyresult, so any out-of-tree seam implementations or guide view consumers need updating; see guide.ts and guide-layer.ts.Macroscope summarized 704b68d.