Skip to content

Signals stacked view + inline SVG file-type icons#27

Merged
ozgesolidkey merged 1 commit into
mainfrom
feat/signals-stacked-svg-icons
Jun 30, 2026
Merged

Signals stacked view + inline SVG file-type icons#27
ozgesolidkey merged 1 commit into
mainfrom
feat/signals-stacked-svg-icons

Conversation

@ozgesolidkey

Copy link
Copy Markdown
Contributor

Signals panel — Stacked (time-synced) view

  • New Overlay | Stacked layout toggle in the Signals toolbar.
  • Stacked renders each selected signal in its own horizontal band: independent y-scale, name + min/max axis labels, dots at each signal's global extrema, and one shared bottom time axis so bands line up vertically.
  • Synced crosshair (both modes): a dashed vertical time line spans the plot with a colored value-dot per signal at the hovered sample. Hover redraws are rAF-coalesced.
  • Normalize is disabled in stacked mode (each band auto-scales).
  • drawSignalsChart refactored into drawSignalsOverlay / drawSignalsStacked / drawSignalsCrosshair; x-geometry stays shared so click-to-line and nearest-sample hit-testing are unchanged.

File-type icons — inline SVG

  • fileTypeIcon() emoji glyphs replaced with inline Lucide-style SVGs (FILE_ICON_PATHS + svgFileIcon helper), stroked with currentColor.
  • Per-type CSS tint classes (MF4 uses the Signals accent color). Themeable, crisp at any DPI, uniform stroke weight.

Build green (npm run build). .mcp.json intentionally not included.

🤖 Generated with Claude Code

Signals panel:
- Add Overlay | Stacked layout toggle to the Signals toolbar.
- Stacked mode renders each selected signal in its own horizontal band
  with an independent y-scale, name + min/max axis labels, and dots at
  each signal's global extrema. All bands share one bottom time axis so
  they line up vertically.
- Add a synced crosshair (both modes): a dashed vertical time line spanning
  the plot with a colored value dot per signal at the hovered sample.
  Hover redraws are rAF-coalesced for smoothness.
- Normalize is disabled in stacked mode (each band already auto-scales).
- Refactor drawSignalsChart into drawSignalsOverlay / drawSignalsStacked /
  drawSignalsCrosshair; x-geometry stays shared so existing click-to-line
  and nearest-sample hit-testing are unchanged.

File-type icons:
- Replace the per-OS emoji glyphs in fileTypeIcon() with inline Lucide-style
  SVGs (FILE_ICON_PATHS + svgFileIcon helper), stroked with currentColor.
- Per-type CSS tint classes (MF4 uses the Signals accent color); icons are
  themeable, crisp at any DPI, and uniform in stroke weight.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ozgesolidkey
ozgesolidkey merged commit e5b3c00 into main Jun 30, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant