Shared sizes, spacing, shapes and type. Every measurement lives in InkLayout (ui/EInkTheme.kt); screens never hard-code them. The shared components are implemented in ui/EInkTheme.kt, InkControls.kt, InkPopover.kt, CanvasDialogs.kt and InkScroll.kt.
Touch targets
Every action is at least 48 dp (InkLayout.target), including icon-only controls.
Tablet menu, option and settings rows are 56 dp (rowTablet).
Field padding is 12 dp (field).
Spacing
Token
Value
Use
gap
8 dp
Between related controls
section
16 dp
Between sections
inset
24 dp
Modal padding
Dialog sizes
Class
Size
Use
dialogNarrow
400 dp
Pickers, confirmations
phoneDialog
343 dp
Phone confirmations
dialogWidth
560 dp
Default dialogs
editorWidth
720 dp
Editors
List
560 × 800 dp (listHeight)
Lists
InkLayout also holds the app bars, sidebar, scrollbar lane and selected box.
Shapes
InkButtonShape: 8 dp corners, 1 dp outline. All Material shapes are 8 dp.
InkSmallShape (4 dp) is only for check boxes and paper previews.
InkPillShape is only for pills.
Selected tools, segments and options use InkSelectedBox: a 36 dp sage box with a 2 dp accent outline, inside the 48 dp target. Options add a check and Bold text.
Editor fields
EditorField is a full-width labelled row: at least 64 dp tall, 12 dp horizontal and 8 dp vertical padding, a trailing icon and an explicit accessible description.