Repository navigation
AI Face app SP1: foundation + 25 abstract-engine designs - #66
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… pause Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A page that throws inside apply, setPaused, sample or destroy no longer escapes into React, which has no error boundary on the kiosk and unmounts the whole root. A faulting page shows the Face unavailable tell instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A hidden or throttled page stops advancing its frame counter. Zero new frames now restarts the window like an idle sample instead of counting as 0 fps, so only moving samples under the floor can step the face down. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…le, contract test) Unavailable faces unmount their iframe and destroy the controller. A paused or unavailable face is retried with a fresh mount after 30 minutes while active. The attach deadline starts at mount. Reactivation unpauses before it applies. A settled sleeping pose pauses the page. The guard drops settle samples from its window. The time label refreshes on activation. The night state keeps its identity. A contract test reads the vendored engine. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TL;DR: new
ai-facekiosk app, sub-project 1 of 4. It shows 25 of the 50 AI-Avatars designs full screen, driven by one shared state vocabulary (12 activities, 7 expressions). Verified in the dev kiosk at 1080 x 1080; not yet seen on a round panel.Spec:
docs/superpowers/specs/2026-10-09-ai-face-design.md· Plan:docs/superpowers/plans/2026-10-09-ai-face-sp1.mdWhat it does
npm run sync:avatars -- <AI-Avatars checkout>copies an allowlisted subset (41 files, 664 K) from a pinned SHA intopublic/avatars/and fails on any unknown or missing upstream file.pointer-events: none(shell gestures keep working), hides the gallery chrome, and drives the page's own API through a family adapter.sleeping, and the page pauses 3 s after it falls asleep.safeController. A throwing page shows "Face unavailable" and is torn down. Before this, Assistant iris threw during unmount and blanked the whole kiosk, which has no error boundary (that boundary is a separate task).app.ai-faceschema (design, source, activity, expression, showTime, sleepAtNight). The face can be the home screen by putting it first in a device's screen order.Verified
./scripts/gates.shgreen, 1247 tests.Open
🤖 Generated with Claude Code