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"
|
|
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(
|
|
438
|
-
const height = Math.max(
|
|
439
|
-
//
|
|
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
|
-
|
|
447
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
482
|
-
|
|
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
|
-
|
|
486
|
-
svgParts.push(`<circle cx="${station.x}" cy="${station.y}" r="
|
|
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
|
-
|
|
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
|
-
//
|
|
494
|
-
|
|
495
|
-
svgParts.push(
|
|
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
|
-
|
|
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 =
|
|
547
|
+
const labelX = 12;
|
|
504
548
|
const labelY = firstStation.y;
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
svgParts.push(`<
|
|
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,
|
|
609
|
+
function buildMapHtml(svg, lines, root, _fileCount) {
|
|
561
610
|
const legendItems = lines
|
|
562
611
|
.map((line) => `<div class="legend-item">
|
|
563
|
-
<span class="legend-
|
|
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}
|
|
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
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
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
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
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
|
-
|
|
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
|
-
|
|
595
|
-
|
|
596
|
-
|
|
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
|
-
.
|
|
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:
|
|
668
|
+
gap: 10px;
|
|
669
|
+
color: var(--text-primary);
|
|
606
670
|
}
|
|
607
671
|
|
|
608
|
-
.
|
|
609
|
-
width:
|
|
610
|
-
height:
|
|
611
|
-
|
|
672
|
+
.top-bar .status-dot {
|
|
673
|
+
width: 10px;
|
|
674
|
+
height: 10px;
|
|
675
|
+
background: #22c55e;
|
|
676
|
+
border-radius: 50%;
|
|
612
677
|
}
|
|
613
678
|
|
|
614
|
-
.
|
|
615
|
-
|
|
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
|
-
.
|
|
697
|
+
.stat-item .label {
|
|
620
698
|
font-size: 12px;
|
|
621
699
|
color: var(--text-muted);
|
|
700
|
+
text-transform: uppercase;
|
|
622
701
|
}
|
|
623
702
|
|
|
624
|
-
.
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
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
|
-
.
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
713
|
+
.legend-item {
|
|
714
|
+
display: flex;
|
|
715
|
+
align-items: center;
|
|
716
|
+
gap: 8px;
|
|
717
|
+
font-size: 13px;
|
|
636
718
|
}
|
|
637
719
|
|
|
638
|
-
.
|
|
639
|
-
|
|
640
|
-
|
|
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
|
-
.
|
|
645
|
-
font-size:
|
|
731
|
+
.legend-count {
|
|
732
|
+
font-size: 11px;
|
|
646
733
|
color: var(--text-muted);
|
|
647
|
-
|
|
648
|
-
|
|
734
|
+
background: var(--bg-tertiary);
|
|
735
|
+
padding: 2px 6px;
|
|
736
|
+
border-radius: 10px;
|
|
649
737
|
}
|
|
650
738
|
|
|
651
|
-
.
|
|
652
|
-
|
|
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
|
-
|
|
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
|
-
<
|
|
667
|
-
<
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
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-
|
|
682
|
-
<
|
|
683
|
-
<
|
|
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-
|
|
686
|
-
<
|
|
687
|
-
<
|
|
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
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
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.
|
|
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",
|