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
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.
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.
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:
type: barx: agey: revenuesettings.orientation: horizontalObserved result:
RevenueAgeThis indicates that the current horizontal-bar logic is performing a mechanical encoding swap instead of preserving authored semantic intent.
Relevant files:
examples/playground/faces/labs/m1-structure-bars-lines-lab.ymldataface/core/render/chart/standard_renderer.pydataface/core/render/chart/DESIGN.mdNote:
- 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:
_apply_horizontal_bar_orientation() in standard_renderer.pyorientation: horizontal as a low-level axis swap.
This may clarify current behavior, but it still preserves the wrong product
mental model.x and y, rather than exposing a raw axis
swap to authors.orientation: horizontal currently transforms the encoding.Not started.
March 26, 2026 notes:
N/A for now. This task has not been implemented yet.
Not started.