Skip to content

feat: let styles other than grid render names and roles #5

Description

@hahwul

We wanted maintainer roles ("Creator, Leader" / "Leader") on a voronoi wall. Those two requirements turn out to be mutually exclusive.

Grid#draw_block gates the role <text> behind show_names?:

if grid.show_names?
  label(io, name_label(user), center, y + grid.avatar_size + 13)
  if role = role_label(user)
    io << %(    <text ... font-size="9" ...>#{SVG.escape(role)}</text>\n)
  end
end

Every other renderer routes the role into title_for, i.e. a <title> tooltip. The README is upfront that a README embed renders as <img> where tooltips are inert — but the consequence is that "label your maintainers" and "pick a style other than grid" cannot both be satisfied, and the canonical embed is exactly the one where tooltips do not work.

We ended up choosing the style and dropping the labels, keeping role: in the config purely so the metadata survives for a future change.

Suggestion: an optional caption layer any style can opt into — a reserved strip beneath the block listing the labelled users, or a small badge in the cell corner for users that have a role. Even a grid-only-today labels: below that other styles could adopt later would unblock this.

Related: #4 (per-user emphasis) — labelling and sizing are the two ways to say "this person is a maintainer", and neither is currently available outside grid.

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