Skip to content

encrypted-patches: rewritten for listeners, with a simulated narration - #33

Merged
Tim-Conrad merged 7 commits into
masterfrom
thought/encrypted-patches-narrated
Nov 12, 2026
Merged

Tim-Conrad merged 7 commits into
masterfrom
thought/encrypted-patches-narrated

Conversation

@Tim-Conrad

@Tim-Conrad Tim-Conrad commented Nov 12, 2026 •

Copy link
Copy Markdown
Owner

Why the change

The encrypted-patches thought was hard to follow for readers who do not know TUF, drand or timelock encryption, and it now also reads along with a narration (simulated timing until the audio exists).

Special things to note

  • No audio yet: narration.json has audio: null, so assets/narration.js simulates the timing at about 160 words a minute. The page says so under Listen.
  • Rule changes: CLAUDE.md and DESIGN.md allow a third script (assets/narration.js) and four marker colours that show only while a narration plays. The page CSP adds connect-src 'self' for narration.json.
  • Fig. 3, 4 and 7 no longer use the step viewer (data-steps) with Back, Next and Play: the voice drives their steps (data-voice-steps). Every figure has a new narrow drawing for phones.

Screenshots

Page head, 412 px

Before After
Before: page head After: page head

Fig. 3, 412 px

Before After
Before: Fig. 3 After: Fig. 3

Narration playing at Fig. 4, 412 px

Before After
There was no narration before this change. After: narration playing

Change outline

The page is the script. narration.js reads it and follows the voice:

article.prose[data-narration="…/narration.json"]
  h2, p, li up to #sources     → read word for word (source marks skipped)
  .say                         → spoken parts: folded, open when the voice gets there
  .mk[data-c]                  → colour block once the voice says the term
  figure[data-voice-steps]     → .fig-steps li: one step per item, drawing follows
narration.json                 → chapters, figure cues, audio + timing (null for now)

One frame of playback:

render(t)
  char  = charAt(t)               # simulated, or ElevenLabs character timings later
  block = segment of char         → .cur, others dim by text colour
  phrase marker over ≤7 words     → grey tint, moves about every 2 s
  .mk, cues, figure steps         → all derived from t, so seeking back undoes them
  scroll: keep the block, or the whole figure, between site header and player

Files:

  thoughts/encrypted-patches/
~   index.html        # text rewritten, spoken parts, .mk terms, narrow drawings, voice steps
+   narration.json    # chapters and figure cues
  assets/
+   narration.js      # player, phrase marker, cues, scrolling
~   site.css          # narration styles and colour tokens; .dg-n works in every figure
~   site.js           # step figures read data-step from both drawings
~ DESIGN.md, CLAUDE.md                 # narration colours, the third script
+ .claude/skills/narrating-a-thought/  # how to narrate a thought, research on attention
~ .claude/skills/adding-a-thought/     # explain new terms, every section carries the argument

🤖 Generated with Claude Code

https://claude.ai/code/session_01KFxuEteUiyeGMzLJ2VGnGc

Tim-Conrad and others added 7 commits November 12, 2026 20:03
The skill holds what the narration prototype taught: audio only when
Tim calls a text final, the voice and the ElevenLabs call, word-for-word
scripts with spoken parts, the phrase marker, the four colour blocks,
figures that stay in view on a phone, and the checks. A research note
on attention and the prototype player come with it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KFxuEteUiyeGMzLJ2VGnGc
The text explains patch diffing, n-days, TUF, Uptane, transparency
logs, drand and timelock encryption for readers who do not know them.
The games section folds into "The idea" and ends with its four rules;
the patents shrink to one paragraph. Spoken parts, colour terms and a
narrow drawing for every figure prepare it to be read aloud.

assets/narration.js reads the page as the script and follows it with a
phrase marker, colour blocks, figure cues and steps. Until audio exists
the timing is simulated. DESIGN.md and CLAUDE.md name the new script and
the narration colours; both skills carry what this taught.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KFxuEteUiyeGMzLJ2VGnGc
Fig. 3, 4 and 7 lose the step box with Back, Next and Play: under a
narrated figure it competed with the voice. The steps are a plain
numbered list; narration.js brings in the parts of the step that the
voice reads and shows only that step. Read without the voice, the
whole drawing and the whole list show.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KFxuEteUiyeGMzLJ2VGnGc
A spoken part with two paragraphs now folds as one row, and a folded
part inside a figure no longer adds a gap to the figure grid.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KFxuEteUiyeGMzLJ2VGnGc
… and DESIGN.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KFxuEteUiyeGMzLJ2VGnGc
@Tim-Conrad
Tim-Conrad merged commit 491ac5a into master Nov 12, 2026
@Tim-Conrad
Tim-Conrad deleted the thought/encrypted-patches-narrated branch November 12, 2026 22:46
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.

1 participant