Skip to content

feat(ios): add style presets and room for 100 styles - #258

Draft
he-james wants to merge 2 commits into
mainfrom
jhe/ios-style-presets
Draft

he-james wants to merge 2 commits into
mainfrom
jhe/ios-style-presets

Conversation

@he-james

@he-james he-james commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

What & why

Output styles gets three ready-made styles, room for many more, and an obvious way to add or edit one.

  • Start from a preset: Professional, Casual and Ultracasual, each with an icon and a line of its instructions. One tap adds it as a style and switches to it, and an added preset shows a check.
  • Editing is visible: each of your styles has a pencil to edit it, instead of a swipe only the footer mentioned. Tapping a row still makes that style active.
  • New style: pinned under the list, always in reach. Its editor starts blank, with the three presets as optional equal-width chips that fill in the name and instructions.
  • Up to 100 styles on iPhone, up from 4.
    • The limit was sized for the Mac main window's five-button switcher, and the engine's store trimmed every list to it on read and write.
    • HostIdentity gains a styleProfileLimit that defaults to that 4. StyleProfileStore.limit reads it, so every store the engine builds honours the host's cap, including the transcriber's. An active style beyond the fourth therefore still reaches the request.
    • The iPhone configures 100.

Presets become ordinary StyleProfiles. StylePreset (BlurtiOSCore) holds their text and the add rule: once per name, within the limit. The wording is a starting point and hasn't been through evals/dictation-prompt yet.

Desktop is unchanged: the Mac never sets the limit, so it keeps 4, with the same switcher and ⌘1–⌘5.

How it was tested

  • swift test: 796/796, including new tests for the host limit and its default.

  • The Mac Debug build succeeds and Mac periphery is clean.

  • scripts/ios-check.sh: 147 tests (the phone's limit is 100; presets cover the caps, adding once, and a full list), BlurtiOSCore 96.62%, analyze, periphery and the probe build all pass.

  • Simulator:

    • Added Casual in one tap; it became active, with a pencil and a check.
    • Opened New style and chose a preset chip, which filled both fields and enabled Save.
  • scripts/check.sh passes (or CI will, if I'm not on a Mac)

  • I read AGENTS.md and this doesn't reintroduce anything deliberately removed

  • Docs updated if behavior changed

🤖 Generated with Claude Code

he-james and others added 2 commits October 20, 2026 14:57
Output styles gets three ready-made styles and a clearer way to add and
edit them. "Start from a preset" lists Professional, Casual and
Ultracasual, each with an icon and a line of its instructions; one tap
adds it as a style and switches to it, and an added one shows a check.
Each of the user's styles has a visible pencil to edit it, in place of
the hidden swipe. "New style" is pinned under the list, and its editor
starts with the three presets as chips that fill in the name and the
instructions.

The presets become ordinary StyleProfiles, so nothing downstream knows
where a style came from. StylePreset (BlurtiOSCore) holds their text and
the add rule (once per name, within the four-style limit), tested.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The style limit was a fixed four, sized for the Mac main window's
five-button switcher, and the store trimmed every list to it on read and
write. HostIdentity gains styleProfileLimit, defaulting to that four, and
StyleProfileStore.limit reads it, so every store the engine builds (the
transcriber's and the session's included) honours the host's cap. The
iPhone, whose styles are a scrolling list, configures 100. The Mac sets
nothing and keeps four, its switcher and ⌘1–⌘5 unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@he-james he-james changed the title feat(ios): add Professional, Casual and Ultracasual style presets feat(ios): add style presets and room for 100 styles Oct 20, 2026

This branch has not been deployed

No deployments
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