Skip to content

Feat: allow explicit text field typography and icon button layout (FR-75, #507) - #511

Merged
b-re-w merged 8 commits into
developfrom
feat/507-composer-tokens
Nov 7, 2026
Merged

b-re-w merged 8 commits into
developfrom
feat/507-composer-tokens

Conversation

@b-re-w

@b-re-w b-re-w commented Nov 7, 2026

Copy link
Copy Markdown
Member

Allow explicit text field typography and icon button layout control.

Closes #507

@b-re-w
b-re-w merged commit 67b4ec1 into develop Nov 7, 2026
31 of 32 checks passed
@b-re-w
b-re-w deleted the feat/507-composer-tokens branch November 7, 2026 21:41
@b-re-w

b-re-w commented Nov 7, 2026

Copy link
Copy Markdown
Member Author

macOS Visual Capture Verification (FR-75, #507)

Visual evidence captured off-screen via Skia / Desktop Compose UI test on macOS arm64.

1. Visual Identity Verification (No tokens set)

Comparison between before (develop at 19b63e3f, prior to #511/#512) and after (develop at a2754f1e):

  • 511_default_before.png vs 511_default_after.png: 0 pixel difference (identical SHA-256 hash).
  • Default toolkit typography, default height (minHeight = 40dp), default internal padding, and default icon button sizing are strictly preserved when no custom tokens are specified.
State File SHA-256
Before (19b63e3f) 511_default_before.png 33a18c7e03619798ad08c7ae4f5fc65a30805fc81c4207488a27e8c49ebd2355
After (a2754f1e) 511_default_after.png 33a18c7e03619798ad08c7ae4f5fc65a30805fc81c4207488a27e8c49ebd2355

2. Custom Tokens in Effect (a2754f1e)

Verification of the new tokens taking effect over defaults:

  • TextField typography: font_size(15.0), font_weight(600), line_height(22.0), letter_spacing(0.5), color(Paint::Literal(0xFF0066CC)) applied directly to the text rendering.
  • TextField geometry: explicit height(36.0) and padding_each(12.0, 6.0, 12.0, 6.0) override toolkit default height and internal padding.
  • Icon Button layout: wordless button (Button("") with IconRole::Add) with explicit size(32.0, 32.0) and corner_each(8.0, 8.0, 8.0, 8.0) bypasses button minimum height and horizontal text padding, rendering as a compact 32x32 icon button.
Comparison Image
Default vs Custom (FR-75) Default vs Custom
Before vs After Identity Before vs After Identity

Artefact Hashes

  • 511_comparison_side_by_side.png (SHA-256: fa7e717222236dad396ebc5c8787f339e1ec2788e7b45549f703590ee4b30c43)
  • 511_default_before_vs_after.png (SHA-256: 959a8db6813547673479c60e2b8a6495df262405eaafa6402b9a3c387ae0f11d)
  • 511_custom_after.png (SHA-256: eb6538fa1507b8fc01d9812e5a7cb1d8a0361b19e9874632af5dfd7474677aa2)
  • 511_default_after.png (SHA-256: 33a18c7e03619798ad08c7ae4f5fc65a30805fc81c4207488a27e8c49ebd2355)
  • 511_default_before.png (SHA-256: 33a18c7e03619798ad08c7ae4f5fc65a30805fc81c4207488a27e8c49ebd2355)

Custom Tokens After (FR-75)

Default After (FR-75)

Default Before (FR-75)

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