Skip to content

Replace the Tornado Dog mark, and give the logo a single definition #289

Description

@serenakeyitan

What

Swap the dog for a tornado line-art mark, and make the logo live in one file instead of three.

Why one definition

The mark was defined in three places: assets/tdoc_logo.svg, an inline copy in worker/worker.js, and a base64 PNG pasted into the landing page. Changing it meant editing a picture three times, and the landing copy was the one that got missed.

After this, assets/tdoc_logo.svg is the definition. The landing page references /tdoc_logo.svg, which the worker already serves from assets/. The worker's inline copy is unavoidable — a Worker cannot read from disk — but a test already asserts it is byte-identical to the asset, so drift fails CI rather than shipping.

The dark-mode trap

The overlay inverts the whole page for dark mode, then inverts <img>/<video>/<canvas> back so photographs do not come out as negatives. A mark shipped as a plain <img> is caught by that restore: black line art gets inverted by the page and restored by the rule, landing invisible on the dark background. The old mark survived it by carrying an opaque white field.

data-tdoc-dark="invert" is the documented opt-out and is what makes an <img> correct here. Measured at the mark's own coordinates: contrast against the background is 142.5 in light and 142.5 in dark. Without the attribute, dark scores 0.0.

Scope

  • New mark: assets/tdoc_logo.svg (traced to vector, currentColor, no background field)
  • Transparent rasters for use off the page: tdoc_logo_black.png, tdoc_logo_white.png
  • tdoc_logo.png keeps a solid field — it is the Open Graph card, and a transparent card is composited onto whatever colour the reader's client picks
  • Landing v44 references the file rather than embedding a copy
  • Relicense MIT → Apache 2.0, agreed by both maintainers

Out of scope

The 23 historical landing snapshots (landing/*/v22v43) still contain the old mark. They are published version history — a reader paging back should see the page as it was.

Related: #161 (SVG-ify the mark; explicitly out of scope there was redesigning it)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions