convex-mcp-visual 1.3.6 → 1.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -427,35 +427,48 @@ function buildSubwayLayout(nodes, edges) {
427
427
  });
428
428
  return { lines, transfers };
429
429
  }
430
- // Build SVG subway map
430
+ // Build SVG subway map with draggable stations
431
431
  function buildSubwaySvg(lines, transfers) {
432
432
  if (lines.length === 0) {
433
- return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 200"><text x="200" y="100" text-anchor="middle" fill="#999">No files to map</text></svg>';
433
+ return '<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="400"><text x="50%" y="200" text-anchor="middle" fill="#999" font-size="18">No files to map</text></svg>';
434
434
  }
435
+ // Layout constants
436
+ const STATION_SPACING = 160;
437
+ const LINE_SPACING = 120;
438
+ const MARGIN_LEFT = 200;
439
+ const MARGIN_TOP = 80;
440
+ const STATION_RADIUS = 12;
441
+ const TRANSFER_RADIUS = 18;
442
+ const LINE_WIDTH = 10;
443
+ const FONT_SIZE = 12;
435
444
  // Calculate dimensions
436
445
  const maxStations = Math.max(...lines.map((l) => l.stations.length), 1);
437
- const width = Math.max(800, 200 + maxStations * 120 + 100);
438
- const height = Math.max(400, 80 + lines.length * 100 + 100);
439
- // Build station lookup
446
+ const width = Math.max(1200, MARGIN_LEFT + maxStations * STATION_SPACING + 80);
447
+ const height = Math.max(500, MARGIN_TOP + lines.length * LINE_SPACING + 80);
448
+ // Set station positions
449
+ for (let lineIndex = 0; lineIndex < lines.length; lineIndex++) {
450
+ const line = lines[lineIndex];
451
+ for (let stationIndex = 0; stationIndex < line.stations.length; stationIndex++) {
452
+ line.stations[stationIndex].x =
453
+ MARGIN_LEFT + stationIndex * STATION_SPACING;
454
+ line.stations[stationIndex].y = MARGIN_TOP + lineIndex * LINE_SPACING;
455
+ }
456
+ }
457
+ // Build station lookup for connections
440
458
  const stationMap = new Map();
441
459
  for (const line of lines) {
442
460
  for (const station of line.stations) {
443
461
  stationMap.set(station.id, station);
444
462
  }
445
463
  }
446
- const svgParts = [];
447
- // SVG header
448
- svgParts.push(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${width} ${height}" class="subway-map">`);
449
- // Background
450
- svgParts.push(`<rect width="100%" height="100%" fill="var(--bg-primary, #faf8f5)"/>`);
451
- // Draw inter-line connections (transfers) first as curved paths
464
+ // Build connection data for JavaScript
465
+ const connectionData = [];
452
466
  const drawnConnections = new Set();
453
467
  for (const [nodeId, otherLines] of transfers) {
454
468
  const station = stationMap.get(nodeId);
455
469
  if (!station)
456
470
  continue;
457
471
  for (const otherLine of otherLines) {
458
- // Find connected station on the other line
459
472
  const connectedStations = station.connections
460
473
  .map((id) => stationMap.get(id))
461
474
  .filter((s) => s && s.line === otherLine);
@@ -466,46 +479,82 @@ function buildSubwaySvg(lines, transfers) {
466
479
  if (drawnConnections.has(connKey))
467
480
  continue;
468
481
  drawnConnections.add(connKey);
469
- // Draw curved connection line
470
- const midY = (station.y + connStation.y) / 2;
471
- svgParts.push(`<path d="M${station.x},${station.y} Q${station.x},${midY} ${(station.x + connStation.x) / 2},${midY} Q${connStation.x},${midY} ${connStation.x},${connStation.y}" fill="none" stroke="var(--text-muted, #999)" stroke-width="2" stroke-dasharray="4,4" opacity="0.5"/>`);
482
+ connectionData.push({ from: nodeId, to: connStation.id });
472
483
  }
473
484
  }
474
485
  }
475
- // Draw line routes
486
+ const svgParts = [];
487
+ // SVG header
488
+ svgParts.push(`<svg id="subway-svg" xmlns="http://www.w3.org/2000/svg" width="${width}" height="${height}" class="subway-map" style="min-width: ${width}px;">`);
489
+ // Background
490
+ svgParts.push(`<rect width="100%" height="100%" fill="var(--subway-bg, #f8f6f3)"/>`);
491
+ // Grid pattern
492
+ svgParts.push(`<defs>
493
+ <pattern id="subway-grid" width="40" height="40" patternUnits="userSpaceOnUse">
494
+ <path d="M 40 0 L 0 0 0 40" fill="none" stroke="var(--subway-grid, rgba(0,0,0,0.04))" stroke-width="1"/>
495
+ </pattern>
496
+ </defs>
497
+ <rect width="100%" height="100%" fill="url(#subway-grid)"/>`);
498
+ // Group for transfer connections (will be updated on drag)
499
+ svgParts.push(`<g id="transfer-connections">`);
500
+ for (const conn of connectionData) {
501
+ const s1 = stationMap.get(conn.from);
502
+ const s2 = stationMap.get(conn.to);
503
+ if (!s1 || !s2)
504
+ continue;
505
+ const midY = (s1.y + s2.y) / 2;
506
+ svgParts.push(`<path id="conn-${conn.from}-${conn.to}" class="transfer-path" data-from="${conn.from}" data-to="${conn.to}" d="M${s1.x},${s1.y} Q${s1.x},${midY} ${(s1.x + s2.x) / 2},${midY} Q${s2.x},${midY} ${s2.x},${s2.y}" fill="none" stroke="var(--subway-connection, #bbb)" stroke-width="3" stroke-dasharray="8,6" opacity="0.7"/>`);
507
+ }
508
+ svgParts.push(`</g>`);
509
+ // Group for line routes (will be updated on drag)
510
+ svgParts.push(`<g id="line-routes">`);
476
511
  for (const line of lines) {
477
512
  if (line.stations.length === 0)
478
513
  continue;
479
- // Draw the main line
514
+ const stationIds = line.stations.map((s) => s.id).join(",");
480
515
  const pathPoints = line.stations.map((s) => `${s.x},${s.y}`).join(" L");
481
- svgParts.push(`<path d="M${pathPoints}" fill="none" stroke="${line.color}" stroke-width="8" stroke-linecap="round" stroke-linejoin="round"/>`);
482
- // Draw stations
516
+ // Glow
517
+ svgParts.push(`<path id="glow-${line.id}" class="line-glow" data-line="${line.id}" data-stations="${stationIds}" d="M${pathPoints}" fill="none" stroke="${line.color}" stroke-width="${LINE_WIDTH + 8}" stroke-linecap="round" stroke-linejoin="round" opacity="0.15"/>`);
518
+ // Main line
519
+ svgParts.push(`<path id="path-${line.id}" class="line-path" data-line="${line.id}" data-stations="${stationIds}" d="M${pathPoints}" fill="none" stroke="${line.color}" stroke-width="${LINE_WIDTH}" stroke-linecap="round" stroke-linejoin="round"/>`);
520
+ }
521
+ svgParts.push(`</g>`);
522
+ // Group for stations (draggable)
523
+ svgParts.push(`<g id="stations">`);
524
+ for (const line of lines) {
483
525
  for (const station of line.stations) {
526
+ const r = station.isTransfer ? TRANSFER_RADIUS : STATION_RADIUS;
527
+ svgParts.push(`<g id="station-${station.id}" class="station-group" data-id="${station.id}" data-line="${line.id}" data-x="${station.x}" data-y="${station.y}" style="cursor: grab;">`);
484
528
  if (station.isTransfer) {
485
- // Transfer station: larger white circle with colored ring
486
- svgParts.push(`<circle cx="${station.x}" cy="${station.y}" r="12" fill="var(--bg-primary, #fff)" stroke="${line.color}" stroke-width="4"/>`);
487
- svgParts.push(`<circle cx="${station.x}" cy="${station.y}" r="6" fill="${line.color}"/>`);
529
+ svgParts.push(`<circle class="station-outer" cx="${station.x}" cy="${station.y}" r="${TRANSFER_RADIUS}" fill="var(--subway-station, #fff)" stroke="${line.color}" stroke-width="5"/>`);
530
+ svgParts.push(`<circle class="station-inner" cx="${station.x}" cy="${station.y}" r="${TRANSFER_RADIUS - 7}" fill="${line.color}"/>`);
488
531
  }
489
532
  else {
490
- // Regular station: small dot
491
- svgParts.push(`<circle cx="${station.x}" cy="${station.y}" r="6" fill="var(--bg-primary, #fff)" stroke="${line.color}" stroke-width="3"/>`);
533
+ svgParts.push(`<circle class="station-dot" cx="${station.x}" cy="${station.y}" r="${STATION_RADIUS}" fill="var(--subway-station, #fff)" stroke="${line.color}" stroke-width="4"/>`);
492
534
  }
493
- // Station label
494
- const labelY = station.y - 18;
495
- svgParts.push(`<text x="${station.x}" y="${labelY}" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="11" fill="var(--text-primary, #1a1a1a)" font-weight="500">${escapeHtml(station.shortLabel)}</text>`);
535
+ // Label
536
+ svgParts.push(`<text class="station-label" x="${station.x}" y="${station.y - r - 8}" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="${FONT_SIZE}" fill="var(--subway-text, #333)" font-weight="500">${escapeHtml(station.shortLabel)}</text>`);
537
+ svgParts.push(`</g>`);
496
538
  }
497
539
  }
498
- // Draw line labels at the start
540
+ svgParts.push(`</g>`);
541
+ // Line badges
542
+ svgParts.push(`<g id="line-badges">`);
499
543
  for (const line of lines) {
500
544
  if (line.stations.length === 0)
501
545
  continue;
502
546
  const firstStation = line.stations[0];
503
- const labelX = 20;
547
+ const labelX = 12;
504
548
  const labelY = firstStation.y;
505
- // Line badge
506
- svgParts.push(`<rect x="${labelX}" y="${labelY - 12}" width="160" height="24" rx="12" fill="${line.color}"/>`);
507
- svgParts.push(`<text x="${labelX + 80}" y="${labelY + 4}" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="12" fill="#fff" font-weight="600">${escapeHtml(line.name)}</text>`);
508
- }
549
+ const labelWidth = 170;
550
+ const labelHeight = 36;
551
+ svgParts.push(`<g id="badge-${line.id}" class="line-badge" data-line="${line.id}" data-first-station="${firstStation.id}">`);
552
+ svgParts.push(`<rect class="badge-shadow" x="${labelX + 2}" y="${labelY - labelHeight / 2 + 2}" width="${labelWidth}" height="${labelHeight}" rx="${labelHeight / 2}" fill="rgba(0,0,0,0.1)"/>`);
553
+ svgParts.push(`<rect class="badge-bg" x="${labelX}" y="${labelY - labelHeight / 2}" width="${labelWidth}" height="${labelHeight}" rx="${labelHeight / 2}" fill="${line.color}"/>`);
554
+ svgParts.push(`<text class="badge-text" x="${labelX + labelWidth / 2}" y="${labelY + 5}" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="14" fill="#fff" font-weight="600">${escapeHtml(line.name)}</text>`);
555
+ svgParts.push(`</g>`);
556
+ }
557
+ svgParts.push(`</g>`);
509
558
  svgParts.push("</svg>");
510
559
  return svgParts.join("\n");
511
560
  }
@@ -557,15 +606,16 @@ function buildAsciiMap(lines) {
557
606
  return result.join("\n");
558
607
  }
559
608
  // Build HTML page
560
- function buildMapHtml(svg, lines, root, fileCount) {
609
+ function buildMapHtml(svg, lines, root, _fileCount) {
561
610
  const legendItems = lines
562
611
  .map((line) => `<div class="legend-item">
563
- <span class="legend-line" style="background:${line.color}"></span>
612
+ <span class="legend-dot" style="background:${line.color}"></span>
564
613
  <span class="legend-name">${escapeHtml(line.name)}</span>
565
- <span class="legend-count">${line.stations.length} files</span>
614
+ <span class="legend-count">${line.stations.length}</span>
566
615
  </div>`)
567
616
  .join("");
568
617
  const totalStations = lines.reduce((sum, l) => sum + l.stations.length, 0);
618
+ const totalTransfers = lines.reduce((sum, l) => sum + l.stations.filter((s) => s.isTransfer).length, 0);
569
619
  return `<!DOCTYPE html>
570
620
  <html lang="en">
571
621
  <head>
@@ -575,130 +625,364 @@ function buildMapHtml(svg, lines, root, fileCount) {
575
625
  <style>
576
626
  ${getSharedStyles()}
577
627
 
578
- .subway-container {
579
- background: var(--bg-secondary);
580
- border-radius: 12px;
581
- padding: 24px;
582
- overflow: auto;
583
- max-height: calc(100vh - 280px);
628
+ :root {
629
+ --subway-bg: #f8f6f3;
630
+ --subway-grid: rgba(0,0,0,0.04);
631
+ --subway-station: #fff;
632
+ --subway-text: #333;
584
633
  }
585
634
 
586
- .subway-map {
587
- display: block;
588
- min-width: 100%;
589
- height: auto;
635
+ [data-theme="dark"] {
636
+ --subway-bg: #1e1e1e;
637
+ --subway-grid: rgba(255,255,255,0.04);
638
+ --subway-station: #2d2d2d;
639
+ --subway-text: #ccc;
590
640
  }
591
641
 
592
- .legend {
642
+ body {
643
+ margin: 0;
644
+ padding: 0;
645
+ min-height: 100vh;
646
+ background: var(--bg-primary);
647
+ }
648
+
649
+ .top-bar {
650
+ position: sticky;
651
+ top: 0;
652
+ z-index: 100;
653
+ background: var(--bg-primary);
654
+ border-bottom: 1px solid var(--border-subtle, #e5e5e5);
655
+ padding: 16px 24px;
593
656
  display: flex;
594
- flex-wrap: wrap;
595
- gap: 16px;
596
- padding: 16px;
597
- background: var(--bg-secondary);
598
- border-radius: 8px;
599
- margin-bottom: 16px;
657
+ align-items: center;
658
+ justify-content: space-between;
659
+ gap: 24px;
600
660
  }
601
661
 
602
- .legend-item {
662
+ .top-bar h1 {
663
+ font-size: 18px;
664
+ font-weight: 600;
665
+ margin: 0;
603
666
  display: flex;
604
667
  align-items: center;
605
- gap: 8px;
668
+ gap: 10px;
669
+ color: var(--text-primary);
606
670
  }
607
671
 
608
- .legend-line {
609
- width: 24px;
610
- height: 6px;
611
- border-radius: 3px;
672
+ .top-bar .status-dot {
673
+ width: 10px;
674
+ height: 10px;
675
+ background: #22c55e;
676
+ border-radius: 50%;
612
677
  }
613
678
 
614
- .legend-name {
615
- font-weight: 600;
679
+ .stats-row {
680
+ display: flex;
681
+ gap: 24px;
682
+ align-items: center;
683
+ }
684
+
685
+ .stat-item {
686
+ display: flex;
687
+ align-items: baseline;
688
+ gap: 6px;
689
+ }
690
+
691
+ .stat-item .value {
692
+ font-size: 20px;
693
+ font-weight: 700;
616
694
  color: var(--text-primary);
617
695
  }
618
696
 
619
- .legend-count {
697
+ .stat-item .label {
620
698
  font-size: 12px;
621
699
  color: var(--text-muted);
700
+ text-transform: uppercase;
622
701
  }
623
702
 
624
- .stats {
625
- display: grid;
626
- grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
627
- gap: 12px;
628
- margin-bottom: 16px;
703
+ .legend-bar {
704
+ background: var(--bg-secondary);
705
+ padding: 12px 24px;
706
+ display: flex;
707
+ flex-wrap: wrap;
708
+ gap: 16px;
709
+ align-items: center;
710
+ border-bottom: 1px solid var(--border-subtle, #e5e5e5);
629
711
  }
630
712
 
631
- .stat-box {
632
- background: var(--bg-secondary);
633
- padding: 16px;
634
- border-radius: 8px;
635
- text-align: center;
713
+ .legend-item {
714
+ display: flex;
715
+ align-items: center;
716
+ gap: 8px;
717
+ font-size: 13px;
636
718
  }
637
719
 
638
- .stat-value {
639
- font-size: 28px;
640
- font-weight: 700;
720
+ .legend-dot {
721
+ width: 20px;
722
+ height: 8px;
723
+ border-radius: 4px;
724
+ }
725
+
726
+ .legend-name {
727
+ font-weight: 600;
641
728
  color: var(--text-primary);
642
729
  }
643
730
 
644
- .stat-label {
645
- font-size: 12px;
731
+ .legend-count {
732
+ font-size: 11px;
646
733
  color: var(--text-muted);
647
- text-transform: uppercase;
648
- letter-spacing: 0.5px;
734
+ background: var(--bg-tertiary);
735
+ padding: 2px 6px;
736
+ border-radius: 10px;
649
737
  }
650
738
 
651
- .root-path {
652
- font-family: var(--font-mono);
739
+ .map-container {
740
+ overflow: auto;
741
+ padding: 24px;
742
+ min-height: calc(100vh - 160px);
743
+ background: var(--subway-bg);
744
+ }
745
+
746
+ .subway-map {
747
+ display: block;
748
+ }
749
+
750
+ .path-bar {
751
+ padding: 8px 24px;
752
+ background: var(--bg-tertiary);
753
+ font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
653
754
  font-size: 12px;
654
755
  color: var(--text-muted);
655
- padding: 8px 12px;
656
- background: var(--bg-tertiary);
657
- border-radius: 6px;
658
- margin-bottom: 16px;
756
+ white-space: nowrap;
659
757
  overflow: hidden;
660
758
  text-overflow: ellipsis;
661
- white-space: nowrap;
662
759
  }
663
760
  </style>
664
761
  </head>
665
762
  <body>
666
- <header class="header">
667
- <div class="header-left">
668
- <h1><span class="status-dot"></span> Codebase Subway Map</h1>
669
- </div>
670
- <div class="header-actions">
671
- ${getThemeToggleHtml()}
672
- </div>
673
- </header>
674
-
675
- <main class="main-content">
676
- <div class="stats">
677
- <div class="stat-box">
678
- <div class="stat-value">${totalStations}</div>
679
- <div class="stat-label">Files</div>
763
+ <div class="top-bar">
764
+ <h1><span class="status-dot"></span> Codebase Subway Map</h1>
765
+ <div class="stats-row">
766
+ <div class="stat-item">
767
+ <span class="value">${totalStations}</span>
768
+ <span class="label">files</span>
680
769
  </div>
681
- <div class="stat-box">
682
- <div class="stat-value">${lines.length}</div>
683
- <div class="stat-label">Lines</div>
770
+ <div class="stat-item">
771
+ <span class="value">${lines.length}</span>
772
+ <span class="label">lines</span>
684
773
  </div>
685
- <div class="stat-box">
686
- <div class="stat-value">${lines.reduce((sum, l) => sum + l.stations.filter((s) => s.isTransfer).length, 0)}</div>
687
- <div class="stat-label">Transfers</div>
774
+ <div class="stat-item">
775
+ <span class="value">${totalTransfers}</span>
776
+ <span class="label">transfers</span>
688
777
  </div>
689
778
  </div>
690
-
691
- <div class="root-path">${escapeHtml(root)}</div>
692
-
693
- <div class="legend">${legendItems}</div>
694
-
695
- <div class="subway-container">
696
- ${svg}
697
- </div>
698
- </main>
779
+ ${getThemeToggleHtml()}
780
+ </div>
781
+
782
+ <div class="path-bar">${escapeHtml(root)}</div>
783
+
784
+ <div class="legend-bar">${legendItems}</div>
785
+
786
+ <div class="map-container">
787
+ ${svg}
788
+ </div>
699
789
 
700
790
  <script>
701
791
  ${getThemeToggleScript()}
792
+
793
+ // Drag and drop functionality for stations
794
+ (function() {
795
+ const svg = document.getElementById('subway-svg');
796
+ if (!svg) return;
797
+
798
+ let isDragging = false;
799
+ let dragTarget = null;
800
+ let dragStartX = 0;
801
+ let dragStartY = 0;
802
+ let originalX = 0;
803
+ let originalY = 0;
804
+
805
+ // Store station positions
806
+ const stationPositions = new Map();
807
+ document.querySelectorAll('.station-group').forEach(g => {
808
+ const id = g.dataset.id;
809
+ const x = parseFloat(g.dataset.x);
810
+ const y = parseFloat(g.dataset.y);
811
+ stationPositions.set(id, { x, y, lineId: g.dataset.line });
812
+ });
813
+
814
+ // Get SVG coordinates from mouse event
815
+ function getSvgPoint(e) {
816
+ const pt = svg.createSVGPoint();
817
+ pt.x = e.clientX;
818
+ pt.y = e.clientY;
819
+ return pt.matrixTransform(svg.getScreenCTM().inverse());
820
+ }
821
+
822
+ // Update a station's visual position
823
+ function updateStationPosition(stationId, x, y) {
824
+ const group = document.getElementById('station-' + stationId);
825
+ if (!group) return;
826
+
827
+ // Update data attributes
828
+ group.dataset.x = x;
829
+ group.dataset.y = y;
830
+ stationPositions.set(stationId, { ...stationPositions.get(stationId), x, y });
831
+
832
+ // Update circles
833
+ group.querySelectorAll('circle').forEach(c => {
834
+ c.setAttribute('cx', x);
835
+ c.setAttribute('cy', y);
836
+ });
837
+
838
+ // Update label
839
+ const label = group.querySelector('.station-label');
840
+ if (label) {
841
+ const r = group.querySelector('.station-outer') ? 18 : 12;
842
+ label.setAttribute('x', x);
843
+ label.setAttribute('y', y - r - 8);
844
+ }
845
+ }
846
+
847
+ // Update line paths that include a station
848
+ function updateLinePaths(stationId) {
849
+ const pos = stationPositions.get(stationId);
850
+ if (!pos) return;
851
+
852
+ // Find and update line paths
853
+ document.querySelectorAll('.line-path, .line-glow').forEach(path => {
854
+ const stationIds = path.dataset.stations.split(',');
855
+ if (!stationIds.includes(stationId)) return;
856
+
857
+ // Rebuild path
858
+ const points = stationIds.map(id => {
859
+ const p = stationPositions.get(id);
860
+ return p ? p.x + ',' + p.y : null;
861
+ }).filter(Boolean);
862
+
863
+ path.setAttribute('d', 'M' + points.join(' L'));
864
+ });
865
+
866
+ // Update transfer connections
867
+ document.querySelectorAll('.transfer-path').forEach(path => {
868
+ const fromId = path.dataset.from;
869
+ const toId = path.dataset.to;
870
+ if (fromId !== stationId && toId !== stationId) return;
871
+
872
+ const p1 = stationPositions.get(fromId);
873
+ const p2 = stationPositions.get(toId);
874
+ if (!p1 || !p2) return;
875
+
876
+ const midY = (p1.y + p2.y) / 2;
877
+ const midX = (p1.x + p2.x) / 2;
878
+ path.setAttribute('d', 'M' + p1.x + ',' + p1.y + ' Q' + p1.x + ',' + midY + ' ' + midX + ',' + midY + ' Q' + p2.x + ',' + midY + ' ' + p2.x + ',' + p2.y);
879
+ });
880
+
881
+ // Update line badge if this is the first station
882
+ document.querySelectorAll('.line-badge').forEach(badge => {
883
+ if (badge.dataset.firstStation !== stationId) return;
884
+ const labelY = pos.y;
885
+ const labelHeight = 36;
886
+ badge.querySelector('.badge-shadow').setAttribute('y', labelY - labelHeight/2 + 2);
887
+ badge.querySelector('.badge-bg').setAttribute('y', labelY - labelHeight/2);
888
+ badge.querySelector('.badge-text').setAttribute('y', labelY + 5);
889
+ });
890
+ }
891
+
892
+ // Mouse down - start drag
893
+ svg.addEventListener('mousedown', function(e) {
894
+ const target = e.target.closest('.station-group');
895
+ if (!target) return;
896
+
897
+ isDragging = true;
898
+ dragTarget = target;
899
+ dragTarget.style.cursor = 'grabbing';
900
+
901
+ const pt = getSvgPoint(e);
902
+ dragStartX = pt.x;
903
+ dragStartY = pt.y;
904
+ originalX = parseFloat(dragTarget.dataset.x);
905
+ originalY = parseFloat(dragTarget.dataset.y);
906
+
907
+ e.preventDefault();
908
+ });
909
+
910
+ // Mouse move - drag
911
+ svg.addEventListener('mousemove', function(e) {
912
+ if (!isDragging || !dragTarget) return;
913
+
914
+ const pt = getSvgPoint(e);
915
+ const dx = pt.x - dragStartX;
916
+ const dy = pt.y - dragStartY;
917
+
918
+ const newX = originalX + dx;
919
+ const newY = originalY + dy;
920
+ const stationId = dragTarget.dataset.id;
921
+
922
+ updateStationPosition(stationId, newX, newY);
923
+ updateLinePaths(stationId);
924
+ });
925
+
926
+ // Mouse up - end drag
927
+ svg.addEventListener('mouseup', function() {
928
+ if (dragTarget) {
929
+ dragTarget.style.cursor = 'grab';
930
+ }
931
+ isDragging = false;
932
+ dragTarget = null;
933
+ });
934
+
935
+ // Mouse leave SVG
936
+ svg.addEventListener('mouseleave', function() {
937
+ if (dragTarget) {
938
+ dragTarget.style.cursor = 'grab';
939
+ }
940
+ isDragging = false;
941
+ dragTarget = null;
942
+ });
943
+
944
+ // Touch support for mobile
945
+ svg.addEventListener('touchstart', function(e) {
946
+ const touch = e.touches[0];
947
+ const target = document.elementFromPoint(touch.clientX, touch.clientY);
948
+ const group = target?.closest('.station-group');
949
+ if (!group) return;
950
+
951
+ isDragging = true;
952
+ dragTarget = group;
953
+
954
+ const pt = getSvgPoint(touch);
955
+ dragStartX = pt.x;
956
+ dragStartY = pt.y;
957
+ originalX = parseFloat(dragTarget.dataset.x);
958
+ originalY = parseFloat(dragTarget.dataset.y);
959
+
960
+ e.preventDefault();
961
+ }, { passive: false });
962
+
963
+ svg.addEventListener('touchmove', function(e) {
964
+ if (!isDragging || !dragTarget) return;
965
+
966
+ const touch = e.touches[0];
967
+ const pt = getSvgPoint(touch);
968
+ const dx = pt.x - dragStartX;
969
+ const dy = pt.y - dragStartY;
970
+
971
+ const newX = originalX + dx;
972
+ const newY = originalY + dy;
973
+ const stationId = dragTarget.dataset.id;
974
+
975
+ updateStationPosition(stationId, newX, newY);
976
+ updateLinePaths(stationId);
977
+
978
+ e.preventDefault();
979
+ }, { passive: false });
980
+
981
+ svg.addEventListener('touchend', function() {
982
+ isDragging = false;
983
+ dragTarget = null;
984
+ });
985
+ })();
702
986
  </script>
703
987
  </body>
704
988
  </html>`;
@@ -1 +1 @@
1
- {"version":3,"file":"codebase-subway-map.js","sourceRoot":"","sources":["../../src/tools/codebase-subway-map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codebase-subway-map.js","sourceRoot":"","sources":["../../src/tools/codebase-subway-map.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "convex-mcp-visual",
3
- "version": "1.3.6",
3
+ "version": "1.3.8",
4
4
  "description": "Visual MCP tools for exploring Convex databases - schema browser, dashboard, ER diagrams. Works as CLI, MCP server, or Claude Code plugin.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",