Skip to content

chore(pet): reconcile the contour port with the shared terminal renderer - #6807

Merged
Hmbown merged 2 commits into
mainfrom
claude/project-thread-kxewbs
Oct 15, 2026
Merged

Hmbown merged 2 commits into
mainfrom
claude/project-thread-kxewbs

Conversation

@Hmbown

@Hmbown Hmbown commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

No-Issue: founder-requested pet parity work; this PR now reconciles its authored history with the shared terminal renderer.

Final integration scope

This PR preserves original commit 9fc255d43cdb40beec9c32745e84572a2bf515d5 as ancestry and leaves the complete source tree identical to main 23e9119caf9d61da15eb37b89ca6f7195ec3ac8d (tree 4eb1020f429559a6b8f00d5533569710e9ae27ee). Current reviewed head: a2f53077781f1008cdb20d936e10fdf409063c48.

The contour core already exists in the shared terminal kit, introduced by 425528ff and integrated into the native pet surface by 5e2e59e8. The original props and both authoring-data files are byte-identical; the current Director, rig and rasterizer contain the corresponding logic with additional validation and color support. /pet already reaches this contour implementation through its explicit Braille view and the existing Stage.

The old unconditional Watch worker override is deliberately superseded, not shipped. It would combine contour cells with particle colors and Kitty images and add a separately advanced Director. The current whale, braille, particles and pixels choices, ownership and reduced-motion behavior remain intact. This reconciliation changes no default and does not establish desktop/terminal default parity. It preserves history without installing a duplicate contour core.

Verification

Complete tree equality with current main; immutable source comparison; three exact props/data comparisons; actual PetMode/WhalePet and full/live routing reviewed. Fresh exact-head checks are required before merge. Light-change native jobs may skip execution; they are not new native test proof. Main's Runtime change and hosted qualification remain tracked separately. The historical proposal below is retained as authored context, not a claim that its full patch or former acceptance result is current. No release publication is claimed.

Original proposal and evidence

Requested by Hunter · project thread

No-Issue: parity change requested directly by the owner, no tracking issue exists.

Before: the terminal pet's Braille cells came from the old 980-dot particle world, so it looked nothing like the whale in the desktop app.

After: the Watch/habitat tank draws the same v2 contour whale the desktop app paints, driven by the same owner truth (presence, activity kind, span onsets, parallel agents, completed turn).

What it does: ports the v2 Director, rig, props and Braille rasterizer into crates/tui/src/tui/whale_v2 and has the pet view thread take its cells from one Director on one clock.

How: live.rs keeps the particle frame for the label and the Kitty pixel image, and replaces only the cells with Whale::cells. EngineOwnerProjection maps to Director inputs in whale_v2/mod.rs. Unknown presence or a disconnected producer reads as Offline (asleep). Listening, Stuck and the failure beat are not ported because the owner never emits them.

Known limits (also in the module doc): the Kitty pixel image still draws particles; no cove; vendored tables copied from codewhale-app/vendor/whale-character-v2, so the app copy stays the reference until both share a crate.

Evidence: cargo check -p codewhale-tui --lib passes with warnings denied; dead-code budget 258/258. A scratch crate built from the module alone passes 2 tests and renders a recognizable reading whale at 32x16. The full codewhale-tui lib test build was SIGKILLed in the cloud sandbox, so the integrated test run and a live terminal check have not been done. No conformance vectors from the app's tests.rs were ported.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Gi912QbkMmcL35mcKHcE1m

The terminal pet's Braille cells were the old 980-dot particle world, while the
desktop app paints the v2 contour character. Port that character's Director,
rig, props and Braille rasterizer into crates/tui/src/tui/whale_v2 and feed it
the same owner truth the desktop reads (EngineOwnerProjection): presence,
activity kind, observed span onsets, parallel agent count, completed-turn id.
The live view thread now takes its cells from one Director on one clock; the
Kitty pixel image and the label still come from the particle frame.

Unknown presence and a disconnected producer read as Offline (asleep), never
Idle. Listening, Stuck and the failure beat are not ported (the owner emits
none of them) and were removed rather than left as dead code. The
vendored animation tables live beside the module; the desktop app copy stays
the reference.

Evidence: a scratch crate built from this module alone passes its 2 tests
(owner truth changes the frame; disconnected equals Offline) and renders a
recognizable reading whale at 32x16. The full codewhale-tui lib test build was
killed (SIGKILL) in this sandbox, so the integrated test run and a live
terminal check are still owed. cargo check -p codewhale-tui --lib passes with
warnings denied.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Gi912QbkMmcL35mcKHcE1m
@Hmbown Hmbown self-assigned this Oct 1, 2026
Base automatically changed from wave/0.10.1-next to main October 2, 2026 00:07
@Hmbown Hmbown added this to the v0.10.2 milestone Oct 5, 2026
Preserve original founder-requested PR #6807 authored commit9fc255d4
as ancestry while keeping current main23e9119 source byte-identical.
Its contour Director, rig, props and rasterization already have a newer
shared implementation in the vendored terminal kit, introduced by
425528f and integrated by5e2e59e8. The explicit Braille pet view uses
that existing Stage/WhalePet route; props and both data tables match
the original port byte-for-byte.

Deliberately supersede the draft's unconditional live-worker override.
It would replace particle cells while retaining particle colors/Kitty
images and a separately advanced Director. Preserve current explicit
whale/Braille/particles/pixels choices, ownership and reduced motion.
This reconciliation does not change defaults, establish desktop-default
parity, or claim the old override shipped. No second copied core lands.

Verification: complete resulting-tree equality with current main;
immutable source comparison and actual routing review; three exact
props/data blob comparisons; no changed product source, tests or code
comments. Prior test evidence remains scoped to its original source.
Fresh exact-head light CI is required before merge; skipped native
jobs are not new execution. Main23 hosted native qualification remains
pending separately. Original authored history/source branch preserved;
no publication, branch cleanup, canonical checkout or index mutation.

Refs #6807

Signed-off-by: CodeWhale Bot <bot@codewhale.net>
@Hmbown Hmbown changed the title feat(pet): draw the Watch whale with the desktop's whale v2 contour chore(pet): reconcile the contour port with the shared terminal renderer Oct 15, 2026
@Hmbown
Hmbown marked this pull request as ready for review October 15, 2026 17:17
Copilot AI balanced review requested due to automatic review settings October 15, 2026 17:17

@claude claude Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Code review skipped — your organization has no extra usage available to pay for this review.

If your organization's extra usage balance is empty, an organization admin can add extra usage credits at claude.ai/admin-settings/usage. If its monthly spend limit was reached, an admin can raise it on the same page. If neither applies, contact Anthropic support.

Once extra usage is available, someone with write access to this repository can comment @claude review on this pull request to trigger a review.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-15T17:19:18.357814Z a2f5307 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request. Check if the Files changed in this pull request are included in default exclusions.

@Hmbown
Hmbown merged commit 96ba4f8 into main Oct 15, 2026
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants