pacifio/atlas

Source control for agents. Use multiple coding agents, track their changes and query them in one place

Rust★ 4,712+91 that day#6 on trending

Analyzed September 16, 2026 at 81e6384 (main) with jscpd 5.4.0 in 1.2s. Code duplication went from 1.82% on Sep 3 to 2.03% on Sep 16.

2.03%duplicated code · 4,650 of 229,360 lines
380clones in code
794code files of 1,024 scanned
5.77%duplicated over all files · 776 clones

The code number leaves out tests, fixtures, docs, examples, data files, styles, translations and vendored code, and 1 generated file: crates/atlas-redact/src/vendor_rules.rs.

Largest clones in the code

  • 183 lines in 2 placestsx1,172 tokens
    533  };
    534});
    535
    536// ── Viewport pan / zoom ──────────────────────────────────────
    537// Two pan paths:
    538//   • Middle / right-click drag — goes through pointer events.
    539//   • Space + left-click drag   — flips into a hard "pan mode" that
    540//     removes Matter's MouseConstraint and disables Pixi interaction
    541//     for the duration, then restores both on release.
    542let panStart: { startX: number; startY: number; origX: number; origY: number } | null = null;
    
    519  sceneRef.current = { ...sceneRef.current, draggingId: null, draggingNeighbors: new Set() };
    520});
    521
    522let panStart: { startX: number; startY: number; origX: number; origY: number } | null = null;
    523let panMode = false;
    524let panOrigin: { startX: number; startY: number; origX: number; origY: number } | null = null;
    525let spaceHeld = false;
    526const stageEventMode = app.stage.eventMode;
    527const canvas = app.canvas as HTMLCanvasElement;
    528
    

    First 10 of 183 lines, the second copy on the right.

  • 7 lines in 13 placestsx52 tokens
    49export const CheckedAndUnchecked = () => {
    50  const ref = useOpenAt(60, 13);
    51  return (
    52    <div style={{ height: 200 }}>
    53      <ContextMenu>
    54        <ContextMenuTrigger asChild>
    55          <div ref={ref} style={targetStyle}>
    
  • 118 lines in 2 placestsx489 tokens
    245}, [selectedId, graph.edges]);
    246
    247// Esc deselects (mirrors the "click empty area" affordance).
    248useEffect(() => {
    249  const handler = (e: KeyboardEvent) => {
    250    if (e.key === "Escape" && selectedId !== null) onSelect(null);
    251  };
    252  window.addEventListener("keydown", handler);
    253  return () => window.removeEventListener("keydown", handler);
    254}, [selectedId, onSelect]);
    
    251}, [cutoffMs]);
    252
    253useEffect(() => {
    254  const handler = (e: KeyboardEvent) => {
    255    if (e.key === "Escape" && selectedId !== null) onSelect(null);
    256  };
    257  window.addEventListener("keydown", handler);
    258  return () => window.removeEventListener("keydown", handler);
    259}, [selectedId, onSelect]);
    260
    

    First 10 of 118 lines, the second copy on the right.

7 more
Largest clones over all files, tests and data included
By format, code only
FormatFilesLinesClonesDuplicated linesDuplication
rust224106,0182111,9241.81%
tsx28176,1711402,3703.11%
typescript26640,777232450.6%
bash175,73661111.94%
javascript4293000%
python1191000%
perl1174000%
By format, all files
FormatFilesLinesClonesDuplicated linesDuplication
rust274133,1545164,9083.69%
tsx29177,7461412,3883.07%
typescript34851,141497061.38%
markup44,840433447.11%
css74,268161323.09%
bash195,78761111.92%
json1211,79558,58972.82%
markdown305,304000%
toml222,245000%
yaml5468000%

Trending appearances

DayRankStarsFilesLinesClonesAll filesCodeHealthCommit
Sep 16, 2026#64,712 (+91)1,024297,6217765.77%2.03%—81e6384
Sep 3, 2026#73,011 (+888)804239,5205955.12%1.82%—342ee3e

Want this for your own project? Install jscpd and run jscpd ., or measure it the way the baselines were measured.