Skip to content

feat(brand,ui): Tangle logotype spine + 10/10 surface pass + engine bumps#141

Merged
drewstone merged 6 commits into
mainfrom
chore/bump-engines-ui-mobile
Jun 24, 2026
Merged

feat(brand,ui): Tangle logotype spine + 10/10 surface pass + engine bumps#141
drewstone merged 6 commits into
mainfrom
chore/bump-engines-ui-mobile

Conversation

@drewstone

@drewstone drewstone commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Takes agent-app's UI from "mechanically strong, product-clarity weak" toward a designed, on-brand product shell — plus the engine bumps. All gates green: typecheck, 1911 tests, build. Built via a parallel multi-agent workflow (brand foundation → 3 surfaces in disjoint dirs → verify), then hand-integrated and fixed.

Brand spine (new ./brand)

The canonical Tangle logotype — the same SVG the sandbox product ships — vendored as dependency-free inline Logo + TangleKnot + a BrandHeader shell. Vendored, not re-exported from sandbox-ui, because that path drags a heavy peer chain (@tangle-network/ui → @tangle-network/brand → @nanostores/*) a dependency-light shell must not require to render its own logo. Knot keeps the brand gradient; wordmark uses currentColor (light/dark adaptive). Logo renders in the playground header + every surface; nav reads Design / Storyboard / Agent.

Surface pass (no capability removed — renames are overridable prop defaults)

  • Chat: approval is now a prominent decision card — filled brand "Approve & run" vs quiet "Reject" + plain-English preview of what the proposal does; distinct command/proposal/follow-up/alert blocks; "Effort" → "Thinking"; model name shown; branded first-run state; AA-fixed warning label (3.07:1 → compliant).
  • Canvas: empty state (template / by hand / ask the agent), toolbar hierarchy (view toggles grouped icon-only), "Pages" label, zoom readout, phone gate.
  • Timeline: ruler + labeled Video/Captions lanes + playhead legible at rest, filled Play + timecode transport, "Split here" / "Add caption" verbs, zoom % readout, empty state.

Engine bumps + mobile (earlier commits)

agent-eval 0.99, agent-runtime 0.76, integrations 0.44, sandbox-ui 0.44; studio connectorId type fix. touch-action:none on canvas/timeline; picker popover max-w clamp.

Verification

typecheck clean · 117 files / 1911 tests · build emits ESM + d.ts incl. dist/brand (zero sandbox-ui/nanostores imports). Live browser screenshots confirm logo + approval card + canvas VIEW/PAGES + timeline ruler/lanes. The single-run LLM design-audit score is noisy and not used as the before/after metric — screenshots are the ground truth; the critical findings (Approve=Reject, no time grid, no lanes, blank canvas) are resolved.

Merging triggers the auto-publish patch release.

…ime 0.76, integrations 0.44, sandbox-ui 0.44)

agent-integrations 0.44 loosened IntegrationConnection.connectorId to
optional; mirror that in StudioIntegrationConnection and guard the
membership check so an undefined connectorId simply never matches.
…cker popover

The Konva canvas host and the timeline clip/ruler/lane drive pan, marquee,
trim and scrub through Pointer Events but set no touch-action, so on a
touchscreen the browser's native scroll/pinch fought every gesture. Set
touch-action:none on each gesture surface. Also clamp the model/effort
picker popover (w-[420px]) with max-w so it stops overflowing phones <420px.
Captures the missing product-clarity layer the browser audit flagged
(product-clarity 2-4/10 across Chat/Canvas/Timeline while a11y scored
10/10): per-surface purpose, user goal, the first impression we want, what
makes it feel intuitive, and naming proposals at the product-label level.

@tangletools tangletools left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Auto-approved PR — 91781ef5

Blanket team auto-approval is enabled for this reviewer service.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.

tangletools · auto-approval · reason: blanket_auto_approve · 2026-06-24T08:48:23Z

…ubpath

New ./brand export ships the canonical Tangle mark (the same SVG the sandbox
product uses) as inline-SVG Logo + TangleKnot + a BrandHeader app shell. Vendored
rather than re-exported from sandbox-ui: that path drags a heavy peer chain
(@tangle-network/ui -> @tangle-network/brand -> @nanostores/*) a dependency-light
shell must not require to render its own logo. The knot keeps the brand gradient;
the wordmark paints with currentColor so it adapts to light/dark. web-react reaches
the mark through a lazy boundary so it stays import-clean without the peer.
Playground header now shows the logo; nav reads Design / Storyboard / Agent.
…ing, responsive

Chat: the approve moment is now a prominent decision card — filled brand 'Approve & run'
vs quiet 'Reject', with a plain-English preview of what the proposal does; command/
proposal/follow-up/alert blocks are visually distinct; 'Effort' -> 'Thinking'
(Quick/Standard/Extended); branded first-run state; AA-compliant warning label.
Canvas: empty state (template/manual/ask), toolbar hierarchy, 'Pages' label, renames
(PRESET->Page size, etc.), phone gate. Timeline: ruler+labeled lanes+playhead legible
at rest, transport-vs-edit hierarchy, zoom readout, empty state, renames. All renames
ship as overridable label-prop defaults; every existing prop/export preserved.

@tangletools tangletools left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Auto-approved PR — 3dee9e6c

Blanket team auto-approval is enabled for this reviewer service.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.

tangletools · auto-approval · reason: blanket_auto_approve · 2026-06-24T09:41:21Z

@drewstone drewstone changed the title chore(deps): bump engines to latest + make touch editors usable feat(brand,ui): Tangle logotype spine + 10/10 surface pass + engine bumps Jun 24, 2026
Completes the naming pass the rate-limited canvas agent left half-applied: the
clearer label ships as the new default (still overridable via pageSizeLabel).
Updates the two toolbar tests that asserted the old wording.

@tangletools tangletools left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Auto-approved PR — f5cd55d2

Blanket team auto-approval is enabled for this reviewer service.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.

tangletools · auto-approval · reason: blanket_auto_approve · 2026-06-24T10:38:50Z

@drewstone drewstone merged commit 9dde275 into main Jun 24, 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.

2 participants