Skip to content

Catch up with the Android app's editing UI, on core 7.2.1 - #196

Open
andiwand wants to merge 3 commits into
mainfrom
catch-up-with-android-editing
Open

andiwand wants to merge 3 commits into
mainfrom
catch-up-with-android-editing

Conversation

@andiwand

Copy link
Copy Markdown
Member

The engine moves to 7.2.1, up from 7.1.0, and the editing UI follows
OpenDocument.droid #668, #669, #670, #671, #672, #674, #675, #676 and #677.
Nothing in it has shipped yet, so the Unreleased entries are rewritten rather
than added to.

The bar holds the document, the strip the text

Undo, redo and save are bar buttons, so they do not scroll away, and the page's
own report enables them. Redo stays out over a PDF, where a mark is taken back
one at a time and never put back. The magnifier and the document's name stand
down while an edit is on: six buttons and a name do not fit a phone's bar.

The strip is formatting alone, so a sheet or a plain text file shows no strip at
all.

One tool per tap

Every tool is one square. A tap does the tool's one job and a long press
opens the colours it applies, so the chevrons are gone. The text colour and the
size open on a tap, having no state to turn off. VoiceOver has no long press, so
the colours are the button's accessibilityCustomActions as well.

Each tool is an icon over a slot, and the slot is there whether it holds
anything or not, so the icons sit on one line and no colour bar runs into the
glyph above it. The row is centred where the tools leave room, and scrolls where
they do not.

The fourteen sizes stay a UIMenu, which is the platform's own answer to what
Android solved with a row of chips; the menu marks the size the text is in.

The gate is on the tool, not on the mode

Both editions open every kind the core calls editable, a PDF included. A locked
strip dims what only offers Pro and leaves the highlighter working, under
both the names it has - highlight is the formatting style and the PDF's
marking tool alike. A mode nobody can do anything in is not worth opening.

The two offers say what is still Pro, rewritten in all sixteen languages. iOS
does not fall back to the development language for a missing key, so they are
translated rather than dropped.

Core 7.2.0 is what the free highlighter needs: it takes a format that starts and
ends in one paragraph, which 7.1.0 refused under the paragraph scope Lite
renders with.

The rest

  • The same pencil edits a document and marks up a PDF. The two never stand in
    the bar together, so the label separates them.
  • The banner leaves the middle of the screen for the top, so the tools stand on
    the document rather than on the ad.
  • From iOS 26 the bar keeps a gap above it as well as below: a glass capsule is
    drawn to the bar's height, and the banner would have cut it off.
  • The bridge states odr.editing.setSheetOptions({ editOnClick: true }),
    because a web view answers the pointer as a mouse in the simulator.
  • The core also brings a PDF mark that covers the glyphs it marks, a selection
    that keeps both handles, and a minimum-scale that lets an A0 page zoom out
    to fit.

The Android window fixes behind #672 and #674 are its action mode's mechanics
and have no counterpart here; only the banner's place carries over.

Checks

Both schemes build. 91 unit tests pass, including new ones for the bar's three
buttons, the sheet's missing strip, the PDF's pencil and the locked strip.
Checked by hand on an iPhone 17 simulator in both editions.

🤖 Generated with Claude Code

https://claude.ai/code/session_01XASU9ZfSJ6QwsAJGE3DrN1

andiwand and others added 3 commits September 20, 2026 18:28
The engine moves to 7.2.1, and the editing UI follows OpenDocument.droid
#668 through #677.

The bar holds what is done to the document, the strip what is done to the
text. Undo, redo and save are bar buttons, so they do not scroll away, and
the page's report enables them. Redo stays out over a pdf, where a mark is
taken back one at a time and never put back. The magnifier and the
document's name stand down while an edit is on, because six buttons and a
name do not fit a phone's bar.

The strip is formatting alone, so a sheet or a plain text file shows no
strip at all. Every tool is one square: a tap does the tool's one job and
a long press opens the colours it applies, so the chevrons are gone. The
text colour and the size open on a tap, having no state to turn off.
VoiceOver has no long press, so the colours are the button's own actions
too. Each tool is an icon over a slot, and the slot is there whether it
holds anything or not, so the icons sit on one line and no colour bar runs
into the glyph. The row is centred where the tools leave room.

The gate moved from the mode to the tool. Both editions open every kind
the core calls editable, a pdf included, and a locked strip dims what only
offers Pro and leaves the highlighter working - highlight being the
formatting style and the pdf's marking tool alike. The two offers say what
is still Pro, in every language. Core 7.2.0 is what the free highlighter
needs: it takes a format that starts and ends in one paragraph.

The same pencil edits a document and marks up a pdf, since the two never
stand in the bar together and the label separates them.

The banner leaves the middle of the screen for the top, so the tools stand
on the document rather than on the ad.

The bridge states the sheet's tap to edit, because a web view answers the
pointer as a mouse in the simulator.

Checked on an iPhone 17 simulator in both editions, and 91 unit tests pass.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XASU9ZfSJ6QwsAJGE3DrN1
The slot under a tool's icon was 10 points deeper than the colour bar
needs, so the bar sat far under the icon. The bar now hangs 3 points under
it - close enough to belong to the tool, far enough not to be read as part
of a glyph that draws a line along its own foot. A tool is 36 points
rather than 40, and the strip is 42 where it was 46.

The squiggly mark wore `scribble.variable`, which reads as a drawing
rather than as an underline, and Draw wore `pencil.tip`, which at 22
points reads as a letter. Draw takes the scribble, and the squiggly mark
takes a wave drawn at the weight of the symbols beside it, since the
system set holds no wavy underline.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XASU9ZfSJ6QwsAJGE3DrN1
The mark's wave stood on its own, while the underline and the strike out
beside it are a letter with a line through or under it. It is now a letter
over the wave, in the same shape.

The letter is the English one, and does not follow the language the way
the system glyph does. The system set holds no wavy underline at all, so
there is nothing to take the letter from.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XASU9ZfSJ6QwsAJGE3DrN1
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