Robbyant/lingbot-map

[ECCV 2026 Best Paper Award Candidate] LingBot-Map: Geometric Context Transformer for Streaming 3D Reconstruction

Python★ 17,789+110 that day#6 on trending

Analyzed October 10, 2026 at 8fdf984 (main) with jscpd v5 in 1.1s.

D52.4/100
Project health30,056 lines of code (M)
Duplication50
8.9% in python, bash, javascript, perl, cpp
Dead code63
5.1%
Complexity46
58%

The score is jscpd's own --health model: markup, data and text left out, tests kept. The numbers below are the trending scan's.

8.89%duplicated code · 2,671 of 30,056 lines
99clones in code
94code files of 118 scanned
8.42%duplicated over all files · 111 clones

The code number leaves out tests, fixtures, docs, examples, data files, styles, translations and vendored code.

Largest clones in the code

  • 287 lines in 2 placespython1,708 tokens
    527# Phase 1: Process scale frames together
    528# These frames get bidirectional attention among themselves via scale token
    529logger.info(f'Processing {scale_frames} scale frames...')
    530scale_images = images[:, :scale_frames].to(_model_device, non_blocking=True)
    531scale_output = self.forward(
    532    scale_images,
    533    num_frame_for_scale=scale_frames,
    534    num_frame_per_block=scale_frames,  # Process all scale frames as one block
    535    causal_inference=True,
    536)
    

    First 10 of 287 lines.

  • 180 lines in 2 placespython1,411 tokens
    820# Scale from depth — aggregate across all paired keyframes in overlap.
    821s_ab = unit_s.clone()
    822da = prev_pred.get("depth")
    823db = curr_pred.get("depth")
    824if (da is not None and db is not None
    825        and int(prev_depth_idx.max().item()) < da.shape[1]
    826        and int(curr_depth_idx.max().item()) < db.shape[1]):
    827    s_ab = GCTStream._depth_ratio_scale(
    828        da[:, prev_depth_idx, ..., 0],
    829        db[:, curr_depth_idx, ..., 0],
    

    First 10 of 180 lines.

  • 163 lines in 2 placespython1,293 tokens
    346non-keyframe processing in keyframe-based streaming inference.
    347
    348Args:
    349    skip: If True, subsequent forward passes will not append KV to cache.
    350"""
    351if hasattr(self.aggregator, 'kv_cache') and self.aggregator.kv_cache is not None:
    352    self.aggregator.kv_cache["_skip_append"] = skip
    353# FlashInfer manager
    354if hasattr(self.aggregator, 'kv_cache_manager') and self.aggregator.kv_cache_manager is not None:
    355    self.aggregator.kv_cache_manager._skip_append = skip
    

    First 10 of 163 lines.

7 more
Largest clones over all files, tests and data included
By format, code only
FormatFilesLinesClonesDuplicated linesDuplication
python7928,102992,6719.5%
bash12868000%
javascript1829000%
perl1168000%
cpp189000%
By format, all files
FormatFilesLinesClonesDuplicated linesDuplication
python8128,2251012,6869.52%
markdown31,9505552.82%
bash151,0483222.1%
yaml924225221.49%
javascript1829000%
css1477000%
txt1201000%
perl1168000%
text3110000%
cpp189000%

Trending appearances

DayRankStarsFilesLinesClonesAll filesCodeHealthCommit
Oct 10, 2026#617,789 (+110)11833,4421118.42%8.89%D 52.48fdf984

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