tasks/workstreams/graph-library/archive/investigate-horizontal-bar-orientation-preserving-semantic-axes.md


type: task id: GRAPH_LIBRARY-INVESTIGATE_HORIZONTAL_BAR_ORIENTATION_PRESERVING_SEMANTIC_AXES title: Investigate horizontal bar orientation preserving semantic axes description: Investigate the bug where setting orientation horizontal on a bar chart mechanically swaps x and y semantics instead of preserving authored intent, leading to axes and titles that no longer match the data meaning. milestone: m1-ft-analytics-analyst-pilot owner: data-viz-designer-engineer status: not_started priority: p2


Investigate horizontal bar orientation preserving semantic axes

Superseded (2026-03-27). This narrowly scoped follow-on was consolidated into Consolidate semantic chart defaults and rendering control-surface follow-ons so the active backlog carries one M2 umbrella task instead of many M1 leaf items. Keep the notes below as reference detail, not as a separately scheduled task.

Problem

Investigate the bug where setting orientation horizontal on a bar chart mechanically swaps x and y semantics instead of preserving authored intent, leading to axes and titles that no longer match the data meaning.

Context

During M1 structure-lab work, we flipped a sparse age bar chart to orientation: horizontal and exposed a semantic bug in the standard renderer.

Authored chart:

Observed result:

This indicates that the current horizontal-bar logic is performing a mechanical encoding swap instead of preserving authored semantic intent.

Relevant files:

Note: - m1-structure-bars-lines-lab.yml was a March 26, 2026 session artifact from the parallel codex/m1-structure-lab branch. If it is not available on main when this task is executed, recreate the repro in a fresh playground face.

Likely relevant implementation point:

Possible Solutions

Plan

  1. Reproduce the bug in an isolated test.
  2. Trace how orientation: horizontal currently transforms the encoding.
  3. Define the intended authored semantics for horizontal bars.
  4. Update the renderer to preserve semantic intent while still producing the correct Vega-Lite encoding.
  5. Add regression coverage for titles, axis titles, and axis field meaning.

Implementation Progress

Not started.

March 26, 2026 notes:

QA Exploration

N/A for now. This task has not been implemented yet.

Review Feedback

Not started.