Skip to content

feat(editor): sticky scroll, smooth scrolling, and smooth caret animation - #555

Merged
PathGao merged 1 commit into
sftwrdotdev:masterfrom
PathGao:feat/sticky-scroll-and-smooth-cursor
Aug 8, 2026
Merged

feat(editor): sticky scroll, smooth scrolling, and smooth caret animation#555
PathGao merged 1 commit into
sftwrdotdev:masterfrom
PathGao:feat/sticky-scroll-and-smooth-cursor

Conversation

@PathGao

@PathGao PathGao commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

Changes

Three Monaco native options that VS Code has and Markpad was missing:

Sticky Scroll — shows the current heading at the top of the editor
while scrolling through long documents. Toggle in Settings > Editor,
persisted as editor.stickyScroll. Default: on.

Smooth Scrolling — replaces instant scroll jumps with animation.
Always on (pure visual, no behavior change).

Cursor Smooth Caret Animation — replaces blinking cursor with a
smooth fade in/out. Always on (pure visual).

Verification

npm test — 941 pass / 0 fail
svelte-check — 0 errors

…nimation

- Sticky scroll: Monaco native option, shows the current heading
  at the top while scrolling through long documents.  Toggle in
  Settings > Editor, persisted as editor.stickyScroll.
- Smooth scrolling: replaces instant scroll jumps with animation.
- Cursor smooth caret animation: replaces blinking cursor with
  a smooth 'breathe' animation.

All three are pure Monaco options with zero custom code.
@PathGao
PathGao merged commit f5674ea into sftwrdotdev:master Aug 8, 2026
4 checks passed
@PathGao
PathGao deleted the feat/sticky-scroll-and-smooth-cursor branch August 8, 2026 15:36
PathGao added a commit that referenced this pull request Aug 8, 2026
…ople download (#558)

**The syntax reference.** Nothing in 2.7.3 changed what renders, so the
compatibility table is untouched. What changed is behaviour, and five of
those are demonstrable on the page itself, so they belong in §17 and §15:
the right-click Edit jump (#539), split-view sync by source line (#541),
sticky scroll (#555), the unpinned outline getting out of the way (#545),
and CJK word-wise navigation with the IME space no longer boxed (#546).

The outline line is written from what f29928a actually does — it collapses
when you pick an entry or reach past it — rather than from the shorter
"steps aside" the commit subject suggests.

Checked and left alone: Copy Reference still follows the document's own
spelling (`preferredReferenceStyle`), heading completion and task
checkboxes were already described correctly. Encoding, line endings, the
clipboard and the load-race fixes are not syntax and are not on this page.

**Making it findable.** It was one link in the nav and one clause in a
Features bullet. It now has its own section between Download and
Installation from source, with the raw URL first so the primary action is
downloading the file rather than reading it on GitHub — the document is
built to be opened in Markpad, and reading it here is the fallback. The
section also suggests handing the file to an AI: it is a complete list of
what renders, so an assistant can reformat an existing document or write a
new one that uses the whole range.

"Markdown support" is gone as a heading. In a README that word means the
help desk; `## What Markpad renders` says what the section is, and does
not collide with `## Features`, which is where "what Markpad can do"
already lives.

The release body gets the same section, with the links pinned to the tag.

**The two platform notices.** The Windows SmartScreen note has been pasted
into the release body by hand since it was written — the workflow never
generated it. Both notices are generated now, so the macOS one cannot go
missing the release someone forgets, and the Windows one must no longer be
added by hand or it will appear twice.

The macOS notice covers what #209 costs a new user: an unnotarized `.dmg`
is refused on first launch with only Cancel and Move to Trash, so
Control-click → Open comes first as the one-step way past it and the
System Settings route second. It also names the consequence people report
as a separate bug — unsigned means file access is granted per prompt, so
the dialogs repeat, most visibly with auto-save on and in image-heavy
documents — and links to the self-signing workaround in #209, noting it
has to be redone after every update.

Co-authored-by: PathGao <gaoyanbo@gaoyanbodeMacBook-Air.local>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
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