Skip to content

Add encode_edge_size, encode_edge_weight, encode_*_opacity/label/title for parity with encode_point_color style #1253

@lmeyerov

Description

@lmeyerov

Asymmetric coverage

Today's Plottable.encode_* methods cover:

  • encode_point_color, encode_edge_color
  • encode_point_icon, encode_edge_icon
  • encode_point_size
  • encode_point_badge, encode_edge_badge (8 positions each)
  • encode_axis

Missing (only available via bind() with column references — no palette/categorical mapping support):

  • encode_edge_size / encode_edge_weight
  • encode_point_opacity, encode_edge_opacity
  • encode_point_label, encode_edge_label
  • encode_point_title, encode_edge_title

Why it matters

Downstream consumers want palette + categorical mapping for ALL visual attributes, not just color/icon/size. A dashboard showing "edge weight by category" needs encode_edge_weight(column='kind', categorical_mapping={'critical': 5, 'normal': 1}); today they have to materialize a numeric column themselves and bind(edge_weight='materialized_col').

Note re: server-side rendering

Server-canvas survey of ~/Work/graphistry/apps/core/viz/ reports that pointOpacityEncoding and edgeWeightEncoding are silently accepted by the upload schema but NOT consumed by the renderer (filing as separate issue against apps/core/viz). This issue is about the pygraphistry surface; the renderer side is a precondition for the encodings to be useful end-to-end.

Filed via Louie graphistrygpt PR #2791 audit (findings.md upstream issue #6).

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