arthur/frontend/src/arthur
Your Name ed88c5e674 Hold a tracing photo steady, and switch it on where you would look
The photo blinked out for a frame or two and sometimes never arrived, from
three causes that each present as the same bug. The still cache emptied
itself on the frame it filled, so every still on screen had to be fetched
and decoded again — every 48 frames of a scrub, and with two traced faces a
permanent flicker, each one's still evicting the other's; it drops the least
recently used now, a still being touched on every frame it is drawn. A still
cannot decode in the animation frame that asks for it, and a face whose next
one had not arrived drew nothing, so it now keeps the still it was showing
until the new one is there. And nothing was read ahead, so continuous
playback was always a frame behind its own footage; the next few frames'
stills are asked for while the playhead is moving on its own, and only then,
because a scrub asks for a different few at every step.

Whether the footage shows is no longer the document's. It was an :underlay
on an instance, inherited down the row path, nearest wins, and it went
through edit — so showing a reference photo was an undo step that travelled
to collaborators. It is [:ui :trace] now, the faces switched on and one
opacity, like solo, and there is nothing left to inherit: a face is the same
face wherever it is placed, so one switch covers every placement of it. The
paint loop asks for its own redraw when that changes, since the resolver no
longer does it for them.

Opening a face shows its footage, because a symbol has measured footage
behind it only because it was traced from that; a take does not, because a
take is the picture. The switch is on the bar above the stage, with the tone
and the tool, and on each face's timeline row beside solo — not a section
that appeared once the right row had been found. A face open in its own tab
could not show its footage at all before, shown having walked instances, and
that is the one place tracing matters most. The inspector keeps the face's
own keyed facts, its trace keys and its origin, and says why it cannot key a
frame rather than greying out the only button in the section.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-30 10:42:39 -04:00
..
audio sound stuff 2026-09-30 03:31:19 -04:00
demo Trace a face over its footage, and choose where its origin goes 2026-09-30 02:49:06 -04:00
domain Hold a tracing photo steady, and switch it on where you would look 2026-09-30 10:42:39 -04:00
events Hold a tracing photo steady, and switch it on where you would look 2026-09-30 10:42:39 -04:00
export Add PNG sequence export and uuid-keyed stage placements 2026-09-28 20:47:10 -04:00
flow Trace a face over its footage, and choose where its origin goes 2026-09-30 02:49:06 -04:00
footage Make a symbol from a dropped video 2026-09-29 13:21:08 -04:00
fx Symbols, not timelines; no symbol is special 2026-09-29 12:46:42 -04:00
subs Hold a tracing photo steady, and switch it on where you would look 2026-09-30 10:42:39 -04:00
ui Hold a tracing photo steady, and switch it on where you would look 2026-09-30 10:42:39 -04:00
clock.cljs Preserve source cadence and sample picture fps after analysis 2026-09-27 19:31:39 -04:00
core.cljs Projects live at URLs, have owners, and are edited together live 2026-09-29 22:04:03 -04:00
db.cljs Hold a tracing photo steady, and switch it on where you would look 2026-09-30 10:42:39 -04:00
demo.cljs Symbols, not timelines; no symbol is special 2026-09-29 12:46:42 -04:00
export.cljs Set the project's stage and rate, and give a symbol its own stage 2026-09-30 01:12:08 -04:00
synth.cljs Port step 5: freeze measured mouth into playable channels 2026-09-27 19:01:39 -04:00