Skip to content

feat: establish Topcoat Blocks with a portable sign-in form - #1

Merged
superposition merged 7 commits into
mainfrom
agent/sign-in-form
Jul 25, 2026
Merged

superposition merged 7 commits into
mainfrom
agent/sign-in-form

Conversation

@superposition

Copy link
Copy Markdown
Owner

Why

Create an independent, copy-to-own UI block library for Topcoat with a visual and semantic feedback loop that does not use the upstream Topcoat repository as a staging area.

What ships

  • a custom topcoat-blocks registry crate;
  • a portable POST-based sign_in_form composed from Topcoat button, card, input, and label primitives;
  • optional password-recovery and sign-up paths;
  • a child slot for CSRF and other hidden form fields;
  • a copy-installed Coatcheck workbench with default/minimal stories across five responsive surface scenes;
  • contribution, acceptance, roadmap, and CI policy.

Publish boundary

The registry is the product. Coatcheck, Playwright, Bun, and the workbench remain repository-only tooling. scripts/release-smoke verifies the crate contains the registry source and rejects review-harness files; the package currently verifies as 7 files / 8.2 KiB.

Validation

./scripts/check passes locally:

  • Rust formatting, workspace tests, and Clippy with warnings denied;
  • clean cargo package verification and harness-isolation smoke;
  • 13 browser tests;
  • 10 generated visual cases: default and minimal at mobile/tablet/desktop, light and dark;
  • zero Axe violations at every impact across all cases;
  • zero browser console or page errors;
  • keyboard order, native Enter submission, label ownership, autocomplete, required fields, POST action, optional links, unique IDs, and hidden-field composition.

Selected review evidence

Mobile light Desktop light Desktop dark
Mobile light Desktop light Desktop dark

Commit train

  1. chore: scaffold the topcoat-blocks registry
  2. feat: add the Coatcheck workbench
  3. feat: add portable sign-in form
  4. docs: define the block acceptance gate

Deliberately deferred

  • no crates.io release in this PR; Git dependency installation is documented;
  • no upstream Topcoat proposal until a component proves primitive-level reuse here;
  • sign-up, recovery, shell, and dashboard blocks remain sequenced in the roadmap rather than opened as speculative implementation work.

@superposition
superposition marked this pull request as ready for review July 25, 2026 02:54
@superposition
superposition merged commit e86eb31 into main Jul 25, 2026
1 check passed
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