Skip to content

v0.9.1

Choose a tag to compare

@github-actions github-actions released this 26 Oct 23:34
· 64 commits to main since this release
7e64c12

Bug fixes for MapCanvas, LineChart and KanbanBoard, and agent skills regenerated to cover
every public export.

Fixed

  • MapCanvas — the initial view now fits the data (#296). It used to open
    on an empty grid at the top-left of the world with pins, tracks and heatmaps off-screen: the fit
    misread its own zoom calculation, never applied the zoom it computed, and panned in a different
    coordinate space from the one content is drawn in. Content is now projected once, at the level
    that frames the data (or bounds) with 60px padding at scale 1, and centred; a single point
    opens at level 12, the fit stops at level 16, and no data shows the whole world. Zooming only
    scales that projection, so it no longer jumps as you zoom. Tiles come from the integer level
    nearest the on-screen zoom. onViewportChange's center is now the map point under the middle
    of the view; zoom is still the scale factor, 1 being the fitted view.
  • usePanZoom — onViewportChange no longer fires again just because the callback's identity
    changed. A caller that set state from an inline callback, the usual way to write it, re-rendered
    forever (MapCanvas with an inline onViewportChange logged "Maximum update depth exceeded").
  • LineChart — no longer throws when series switches between empty and non-empty data
    (#297). A hook ran after the empty-data early return, so the hook count
    changed between renders.
  • KanbanBoard — onMoveCard's index is now the card's final position for pointer drags
    downward within the card's own column too (#298). It was one slot too high,
    so a remove-then-insert handler landed the card one slot low. Keyboard and cross-column moves
    were already correct.

Added

  • agent-skills/heimdall-observability — new skill for TraceViewer (with the fromOTLP /
    fromXRay adapters and the trace-model helpers), LogStream, DiffViewer, HashSetDiff,
    SideBySideDiff, VersionTimeline and LineageRail.
  • agent-skills/heimdall-planning — new skill for Calendar, MiniCalendar and KanbanBoard.
  • npm run check:skills (scripts/check-skill-coverage.mjs) — fails when an exported
    component has no section in its assigned skill, a hook or utility export is never named, a skill
    documents a component that is not exported, or a props table names a prop the component type
    does not accept or leaves out one declared in src/. The release workflow runs it before the
    visual tests.

Changed

  • Every agent skill regenerated against the current source. The skills were written in May
    and had drifted: 22 public components were in no skill, and many props tables were incomplete.
    All 13 skills now cover every value exported from src/index.ts. Notable corrections:
    • heimdall-charts documented a PieChart that does not exist; it is removed, and the pie case
      is described under Donut. ChartWrapper and BarChart gained sections.
    • heimdall-inputs described Select as a native <select> wrapper. It is a custom dropdown
      with single and multi modes and Select.Item / Select.CheckboxItem / Select.Separator /
      Select.SectionTitle children.
    • heimdall-data-display implied Table sorts its rows; it only tracks the sort header, and
      the consumer sorts in onSort. Added ResultCard, AssetCard, AssetGrid and MapCanvas.
    • heimdall-shell no longer tells consumers to pad the ShellLayout canvas (it pads itself),
      and documents the mobile drawer behavior behind mobileBreakpoint.
    • Added Avatar (primitives), Tooltip and Popover (overlays), ChatMarkdownContent
      (chat), useMediaQuery (layout), and in heimdall-graph: GraphEdgeShape, GraphToolbar,
      GraphCollapseControl, GraphEdgeInspector, DetailDrawer, usePanZoom and the geometry
      utilities.
    • Missing props added across Sidebar, Topbar, AppTitle, Statusbar, VersionPill,
      Drawer, FilterDropdown, EntityPicker, RowMenu, PipelineCard, ChatComposer,
      GraphCanvas, GraphNode, GraphEdge and six charts. Icon points at ICONS instead of a
      stale list of names.
  • /refine-component-skills — the category table now assigns every public export to a skill
    (two new categories: observability, planning). Prop tables use backticked names so the checker
    can read them.
  • README — new "Agent skills" section with setup instructions and the skill list.
  • agent-skills/heimdall-graph — brought up to date with 0.9.0. The skill now covers all
    eight GraphCanvas layouts (what data each suits, the props it reads, and its limits; organic
    and orthogonal are marked proof of concept), the hierarchy and collapse props,
    nodePopover / edgePopover and the tooltip triggers, the renderNode fourth props argument
    a custom renderer must wire for popovers, click tooltips and aria-describedby, the new
    GraphNode props, and the headless organicLayout, orthogonalLayout, radialTreeLayout,
    uxNavLayout and galaxyLayout functions.