SpokenWords

Manuscript presentation 2: the decided direction

The developer meeting on 2026-09-10 chose proposal SW 4a from the first presentation page: the rendered document is the one surface the narrator records from, with a status dot per sentence, and toggles bring the spoken form and the annotations into the sentence they belong to. This page draws that surface on the studio as it is today, its header, content navigator, side panel and recording bar, then steps through each toggle state, and then draws the five places the toggles could sit. P4 was chosen on 2026-09-11: both controls become reading settings. The other four are kept below as they were presented.

The two controls

The five toggles listed after the meeting fold into two three-state controls. The sentence dots are one state of the view control, and the annotations ride with the authored SSML for now, so the spoken-form control has three states rather than four. The labels below are placeholders for the mocks, not decided copy.

ControlState 1State 2State 3
View CleanThe document as printed. No status tint, no word marks, no dots. Only the current sentence keeps its highlight, as a reader's position marker. Word marksEach sentence's status tint on its text, the mismatch underlines, the live reading cursor and the struck unrecorded tail. What a narrator wants while recording. Status dotsWord marks plus the dot before every sentence: in the margin for the first sentence of a block, inline for the rest. Today's keyboard handle.
Spoken form OffThe printed words only. AuthoredThe editor's SSML and the annotations, shown after the words they apply to: reading form, pronunciation, pause, emphasis, tone, comment. FullAuthored plus the pre-processing's own substitutions, in a dashed treatment so the two origins never look alike. A superset: the served SSML carries the authored markup in the same stream as the automatic one, each element stamped with its origin.

Two things the drawings cannot settle. The dot is today the sentence's keyboard handle: the roving tab stop, and Enter on it opens the sentence menu. In the clean and word-marks states nothing is focusable unless the sentence text takes that job over. And "Full" cannot be placed inside a sentence until webarch aligns the substitutions to positions in the document text; the mocks draw it ahead of the studio. The existing "Show automatic marks" switch in the reading settings is the ancestor of the Full state and is replaced by it.

View: clean

The document as the article view draws it, at reading width in the centre column. Nothing says which sentence is recorded, and the words carry no marks. The current sentence keeps its highlight, because the narrator still has to know where the studio is; the recording bar below records into it as before. The spoken form is off.

View: clean. The printed chapter, with only the current sentence marked. With no dots there is no tab stop per sentence: the keyboard handle question from the intro.

View: word marks

What the narrator sees while recording, without the dots. Each sentence carries its status as a tint on its own text: green for recorded, yellow for a mismatch, teal for audio from a previous cycle. Inside the sentences, the mismatched word has its wavy underline, the live reading run and cursor show how far the studio thinks the narrator has read, and the tail a cut-short recording never reached is struck through.

View: word marks. Status tint per sentence, the mismatch underline on "simplicity", the reading cursor on "complexity", the struck "weight." at the end of an unfinished take. No dots.

View: status dots

Word marks plus SW 4a's dot before every sentence. The first sentence of a block has its dot in the margin, as the sentence list has today; the second and later sentences of a paragraph carry theirs inline, since there is no margin to sit in. In a table the dot sits at the start of each cell. Every dot is the same button as today: the roving tab stop, the sentence's spoken name, Enter for the sentence menu.

View: status dots. The dot per sentence in its status colour, in the margin for the first of a block and inline for the rest, over the word marks.

Spoken form: off

The printed words only, whatever the view control says. This is the state the three view figures above are drawn in. The next two figures hold the view at status dots and step the spoken form instead.

Spoken form: off, with the view at status dots. "1.2", "Lavoisier" and "E. coli" read as the book prints them.

Spoken form: authored

The editor's SSML and the annotations, inside the sentence, after the words they apply to, in the badges the sentence list draws today: the reading form "one point two" after "1.2", the pronunciation in brackets after "Lavoisier", the pause glyph with its length after "it,", the emphasis underline on "strikingly", and the comment marker at the end of the sentence it was left on. The side panel lists the same four annotations, and a row there jumps to its place in the document.

Spoken form: authored. Reading form, pronunciation, pause, emphasis and a comment marker, each beside its words; the same four in the Annotations panel.

Spoken form: full

Authored plus what the pre-processing does on its own: "E. coli" gets its dictionary pronunciation, "2 µm" becomes "two micrometres", "70 %" becomes "seventy per cent". The automatic substitutions are drawn dashed, both the underline on the written words and the border of the spoken form, so a narrator can tell an editor's instruction from the engine's habit at a glance. The same words in the badge, but never the same frame.

Spoken form: full. The authored badges as above, and the engine's own substitutions in dashed frames. Drawn ahead of the studio: placing them needs webarch's positional alignment.

P1: in the header

Two segmented radio groups in the header's control row, before the stage chip, where SW 7 drew its Document / Sentences switch. One click from any state to any other, and the state is always visible. The header is the studio's tightest row: on a laptop these six segments compete with the title, and on a phone the header already drops its labels.

ProductionsLehninger principles of biochemistryChapter 1
Recording
P1: both groups in the header, before the search button and the stage chip. The groups are the shared segmented radio group, so arrow keys move within each and Tab moves between them.

Keeps: one click, always visible, nothing new in the library. Costs: header width; below about 1100 px the two groups must collapse to icons or move.

P2: a view strip under the header

A slim row between the header and the reading area, in the slot the editor's toolbar takes in editor view, carrying both groups and nothing else. The header keeps its width, the controls stay one click away and always visible, and the row can carry the reading settings the readers have (SW 6) later without crowding the header.

View
Spoken form
P2: a view strip under the header, in the editor toolbar's slot, with both groups and their captions.

Keeps: everything P1 keeps, plus room for captions and later reading controls. Costs: one row of reading height, and in editor view the strip and the editor toolbar are two rows unless the groups join the toolbar.

P3: in the ⋯ menu

Two submenus in the header's ⋯ menu, beside Bookmarks and Reading settings, each listing its three states with the current one marked. The header and the reading area stay as they are, and the states are still reachable by keyboard through the menu. The current state is not visible without opening the menu, so a narrator who switched to clean and wonders where the dots went has to look.

P3: the ⋯ menu open, its View submenu beside it with the current state marked. The menu component has checkable rows today but no radio rows; a one-of-three submenu is an addition to the library.

Keeps: the header and the reading area untouched. Costs: two clicks per change and no visible state; and <ui-menu> has checkable rows (a checkbox) but no radio rows, so this is limited in the inventory until the library grows one.

P4: in the reading settings

Chosen on 2026-09-11. This is where the two controls go.

The two groups at the top of the reading-settings dialog, above the text size, line spacing and line length sliders, in place of the "Show automatic marks" switch they replace. They are settings rather than controls: chosen once, kept across reloads, and changed rarely. That fits a narrator who reads clean and records with marks only if switching is rare, which the recording session itself decides.

Reading settings
View
Spoken form
Text size
Line spacing
Line length
Microphone
System default microphone ⌄
P4: the reading-settings dialog with the two groups above the sliders, where "Show automatic marks" was.

Keeps: the header, the strip slot and the reading area untouched, and a place that already persists its values. Costs: three clicks per change behind a modal, and no visible state, so switching mid-session is a chore.

P5: at the top of the side panel

A View section at the top of the right-hand panel, above the annotation list, with the two groups stacked under their captions. The control sits next to what it reveals: the Annotations rows below it are the same things the Authored state paints into the sentences. The panel opens and closes on its edge handle, so the groups are one click away while it is open and hidden with it while it is closed, which is also when the narrator wants the widest reading column.

View
Spoken form

Annotations

All (4)Pause (1)Pronunciation (1)Reading form (1)Comment (1)
  • Reading form: one point two"1.2"
  • Pronunciation [lavwazje]"Lavoisier"
  • Pause 300 ms"it,"
  • Slow down hereReviewer · "He contrasted it"
4 annotations
P5: a View section at the top of the side panel, the two groups stacked under captions, the annotation list under them.

Keeps: the header and the reading area untouched, the control beside what it shows, captions with room to breathe. Costs: the panel must be open to see or change the state, and the panel is today the editor's; the narrator and the reviewer get it with this.

Reading them together

P1 and P2 keep the state in sight and one click away, and pay in chrome: the header's width or one row of reading height. P3 and P4 keep the chrome as it is and pay in clicks, and neither shows the state without opening something; P3 also needs a radio row the menu component does not have. P5 ties the control to the panel that already lists the annotations, and shows it only while that panel is open. The two controls need not sit in the same place: the view control is switched often and wants P1 or P2, while the spoken form could be a setting in P4 or P5 if it turns out to be chosen once per session. The decision on 2026-09-11 put both of them in P4, the reading settings.