Kyle Isom 408ba57051 UI polish: toolbar redesign, clipboard, snap fix, startup state
Toolbar:
- Replace FilterChip with custom ToolButton (no ripple, instant response)
- Reorder tools: 0.38 0.5 Line Box Eraser Select
- DropdownMenus anchored to buttons via Box wrapper (drop below)
- Page indicator styled as OutlinedButton (visible affordance)
- Cut/Del/Copy/Paste operations (internal clipboard)

Line snap fix:
- Check pen position when timer fires instead of canceling on movement
- Handles EMR stylus micro-tremor correctly

EMR eraser button:
- TOOL_TYPE_ERASER events route to eraser handler regardless of active tool
- Physical eraser end of pen works as temporary eraser

App state:
- Startup navigates to last-visited notebook/page via SharedPreferences
- Closing notebook (X button) clears last notebook so app starts at list
- Updated app icon

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 16:15:58 -07:00

eng-pad

This is an Android app, targeting Android 11, and specifically the following two devices:

  1. The Supernote Manta (Android 11)
  2. The Daylight DC-1 (Android 13)

There are a few features it needs to have:

  1. It is organized around notebooks.
  2. A regular notebook's page size is 8.5 x 11 inches. A large notebook's size is 11 x 17 inches.
  3. The app features a grid of roughly 5 squares per inch. The grid is not visible on exported documents.
  4. The app should allow pinch to zoom in and out.
  5. There should be two pen sizes, corresponding roughly to a Muji gel ink ballpoint 0.38 or 0.5 pen.
  6. It should have the ability to erase, or to select-and-erase.
  7. It should have the ability to select and cut/move or copy/paste.
  8. The primary method of input is an EMR pen.
  9. The app needs to be able to export PDFs though the normal Android sharing mechanism (e.g. so docs can be exported to Dropbox).

The tech stack can be flexible. The safe default is Java, but if Kotlin or even Clojure or some other langauge makes more sense, it can be used.

Description
No description provided
Readme 600 KiB
Languages
Kotlin 87.6%
Java 11.6%
Makefile 0.8%