Skip to content

Instantly share code, notes, and snippets.

@robinbraemer
Last active January 12, 2026 22:08
Show Gist options
  • Select an option

  • Save robinbraemer/b340d9a85a64d5a26bb396e7bc12f6f4 to your computer and use it in GitHub Desktop.

Select an option

Save robinbraemer/b340d9a85a64d5a26bb396e7bc12f6f4 to your computer and use it in GitHub Desktop.
Geyserite Java→Rust Porting Progress Badge (auto-updated by port-analyzer)
Display the source blob
Display the rendered blob
Raw
<svg width="600" height="420" viewBox="0 0 600 420" xmlns="http://www.w3.org/2000/svg">
<defs>
<style>
.label { font: 600 11px -apple-system, sans-serif; fill: #8b949e; text-transform: uppercase; letter-spacing: 1.2px; }
.val-huge { font: 800 64px SF Mono, monospace; }
.val-lg { font: 700 38px SF Mono, monospace; }
.val-md { font: 600 22px SF Mono, monospace; }
.desc { font: 400 13px -apple-system, sans-serif; fill: #8b949e; }
.card { fill: #161b22; stroke: #30363d; stroke-width: 1.5; }
</style>
</defs>
<!-- Background -->
<rect width="600" height="420" fill="#0d1117" rx="16"/>
<!-- GRID LAYOUT (24px gutter) -->
<g transform="translate(24, 24)">
<!-- TOP LEFT: COMPLETION (Large Bento) -->
<g>
<rect width="360" height="210" rx="24" class="card"/>
<text x="30" y="45" class="label">Project Completion</text>
<text x="30" y="115" class="val-huge" fill="#2ea043">78%</text>
<g transform="translate(30, 145)">
<rect width="300" height="12" fill="#0d1117" rx="6"/>
<rect width="234" height="12" fill="#2ea043" rx="6">
<animate attributeName="width" from="0" to="234" dur="1s" fill="freeze"/>
</rect>
<text y="40" class="desc" fill="#c9d1d9">
<tspan font-weight="600">490</tspan> of 632 Java files ported
</text>
</g>
</g>
<!-- TOP RIGHT: QUALITY GAIN (Medium Bento) -->
<g transform="translate(384, 0)">
<rect width="168" height="210" rx="24" class="card"/>
<text x="84" y="45" class="label" text-anchor="middle">Quality Gain</text>
<text x="84" y="115" class="val-lg" fill="#388bfd" text-anchor="middle">48x</text>
<text x="84" y="145" class="desc" text-anchor="middle" font-weight="600" fill="#388bfd">More Tests</text>
<g transform="translate(84, 175)">
<text class="desc" text-anchor="middle">1.9K Rust Tests</text>
<text y="16" class="desc" text-anchor="middle" opacity="0.5" font-size="11">vs 40 Upstream</text>
</g>
</g>
<!-- BOTTOM LEFT: CODEBASE SCALE (Small Bento) -->
<g transform="translate(0, 234)">
<rect width="260" height="130" rx="24" class="card"/>
<text x="30" y="40" class="label">Codebase Scale</text>
<text x="30" y="85" class="val-md" fill="#c9d1d9">157.3K <tspan class="desc" font-size="14">Rust LOC</tspan></text>
<text x="30" y="105" class="desc" fill="#388bfd">1.4x denser implementation</text>
</g>
<!-- BOTTOM RIGHT: DEBT TRACKER (Small Bento) -->
<g transform="translate(284, 234)">
<rect width="268" height="130" rx="24" class="card"/>
<text x="30" y="40" class="label" fill="#d29922">Remaining Debt</text>
<g transform="translate(30, 85)">
<text class="val-md" fill="#f85149">295</text>
<text y="22" class="desc">Stubs / TODOs</text>
</g>
<g transform="translate(145, 85)">
<text class="val-md" fill="#d29922">142</text>
<text y="22" class="desc">Unported Files</text>
</g>
</g>
<!-- FOOTER -->
<text x="276" y="385" class="desc" text-anchor="middle" opacity="0.4" font-size="11">
Sync: 2026-01-12 22:08 UTC • tools/port-analyzer • Tracking GeyserMC/Geyser
</text>
</g>
</svg>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment