Skip to content

fix(droid-control): outro wordmark ascii + fanning blade alignment#25

Merged
factory-ain3sh merged 1 commit intomasterfrom
droid/outro-polish
Apr 21, 2026
Merged

fix(droid-control): outro wordmark ascii + fanning blade alignment#25
factory-ain3sh merged 1 commit intomasterfrom
droid/outro-polish

Conversation

@factory-ain3sh
Copy link
Copy Markdown
Contributor

Description

Polish the Droid outro card. Fixes the ASCII DROID wordmark glyphs (they were subtly wrong: mis-shaped R, inconsistent D sizing), centers the fanning rotor wedges on the rotor's actual visual center so the blade seams line up with the logo's 8-fold symmetry, and dedupes the wordmark so it only lives in one place. Also renames the two outro-related components so the parent/child relationship is obvious — the full outro sequence (fan → crossfade → wordmark) is DroidOutro, and the shared wordmark piece is DroidWordmark.

Related Issue

N/A — small follow-up polish on the droid-control outro composition. No ticket.

Potential Risk & Impact

Low risk, scoped entirely to the droid-control Remotion outro card:

  • Rename is tracked as a pure rename (git mv), and no other consumer referenced the old names (rg confirmed clean).
  • Clip-path / transform-origin tweak only affects the fanning rotor wedges in the last 3.5 s of every rendered Showcase; inputs, palette, and timing are unchanged.
  • ShowcaseComposition API, schema, props, and default props are untouched — existing render invocations continue to work.
  • ARCHITECTURE.md row updated to match the new component name and describe the outro sequence.

How Has This Been Tested?

  • cd plugins/droid-control/remotion && npx tsc --noEmit — passes clean.
  • Visual verification: rendered the outro via a temporary OutroPreview composition against the target reference. Fanning frame, crossfade, and post-crossfade DROID wordmark match the expected output. Temp composition and reference renders were not committed.
  • rg -n "FanningRotorOutro|BigDroidLogoOutro" in the repo returns no remaining references after rename.
Root Cause Analysis

How the bugs were traced.

  1. DROID ASCII wordmark: Comparing the rendered outro against the canonical DROID reference revealed subtly wrong glyphs — the R was shaped like an inverted P, and the Ds were not the same width as the other block letters. Both the old BigDroidLogoOutro and FanningRotorOutro shipped their own copy of the ASCII art, so the error was duplicated.
  2. Fanning rotor seam: Frame-by-frame inspection during the fan-out phase showed a visible jag on each blade's outer edge. Tracing the CSS transform chain revealed each wedge was rotating around the SVG box center (50% 50%) and clipping with a triangle anchored there, but the rotor's visual center of mass sits slightly off-box (~303.105, 319.528 in 613×650 space). Each 45° slice therefore didn't land on the rotor's real 8-fold symmetry axis, producing the seam.

How root cause drove the fix.

  1. Centralized the ASCII art in a single DROID_ASCII constant inside DroidWordmark and corrected the glyphs in one place. The previously-duplicated copy in the outro was removed; the outro now renders <DroidWordmark palette={palette} />.
  2. Replaced the hard-coded 50% 50% / -306.5 -325 offsets with the rotor's measured visual center. The transform-origin, margin compensation, and clip-path polygon all now reference the same computed point, so every slice respects the rotor's 8-fold symmetry and the seams disappear — without jump-cutting to a full-logo overlay (an earlier attempt that felt jarring).

Polish the droid-control outro card:

- Correct the DROID ASCII glyphs in the wordmark layer.
- Dedupe the wordmark between the two outro components so it only lives
  in one place (shared DroidWordmark).
- Center the fanning rotor wedges on the rotor's actual visual center
  (303.105, 319.528 in 613x650 space) instead of the SVG box center, so
  each 45-degree slice respects the rotor's 8-fold symmetry and the
  blade seams disappear.
- Rename the components so the parent/child relationship is obvious:
  FanningRotorOutro -> DroidOutro (the full fan -> crossfade -> wordmark
  sequence) and BigDroidLogoOutro -> DroidWordmark (just the wordmark
  piece).
- Update ARCHITECTURE.md row to match the new name and describe the
  outro sequence.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
@factory-ain3sh factory-ain3sh self-assigned this Apr 20, 2026
@factory-ain3sh factory-ain3sh added the enhancement New feature or request label Apr 20, 2026
@factory-ain3sh factory-ain3sh merged commit 15d95c4 into master Apr 21, 2026
1 check passed
@factory-ain3sh factory-ain3sh deleted the droid/outro-polish branch April 21, 2026 01:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants