Carl Bechstrom4k downloadsRe-Supercharged Links is an advanced link-styling plugin for Obsidian that has evolved far beyond the original fork into a substantially redesigned and expanded implementation.
A fast, modern fork of Supercharged Links for Obsidian, rebuilt from the ground up for high-performance rendering.
Style internal links dynamically based on tags, frontmatter attributes, inline fields, and note paths — across reading mode, live preview, and supported UI views without sacrificing your frame rate.
#project, #todo).Re-Supercharged Links.obsidian/plugins/re-supercharged-links/Typical Settings panel
tagattributepathLegacy styling approaches frequently cause micro-stuttering (jank) in large vaults due to continuous layout thrashing and Garbage Collection spikes. Re-Supercharged Links solves this by treating link styling as a high-throughput graphics pipeline.
| Architectural Feature | Legacy Supercharged Links | Re-Supercharged Links (v1.1.2) |
|---|---|---|
| Styling Mechanism | Dynamic injection of generated CSS files | In-memory evaluation mapping directly to DOM tokens |
| DOM Mutation | Immediate, unbatched updates per event | Elastic Time-Slicing via requestAnimationFrame (FRAME_BUDGET_MS = 1.5ms) |
| Memory Management | Heavy allocation of transient Arrays/Objects | Zero-allocation loops using parallel pre-allocated backing store arrays |
| Cache Stratification | Naive path lookups | Uniform O(1) clean-key caching decoupling view context from core metadata |
| CodeMirror Hot Path | Full AST scan on cursor movement | Smart structural DOM-matching barriers and single-sweep in-memory maps |
[User Input / Continuous Fast Scroll / Event]
│
▼
[FlyweightEngine.getResolution(path, text)]
│
├──► Validates config & atom match IDs
└──► Returns lightweight FlyweightResponse
│
▼
[populatePresentationPool(res, skip, skip)]
│
├──► Blasts previous slots clean (0% leak)
└──► Accumulates positive atom classes:
• .data-link-text (Base anchor)
• .scl-with-before (GPU prepend icon)
• .scl-with-after (GPU append icon)
• .scl-composite-X-Y (Static CSS color)
│
┌────────────┴────────────┐
▼ ▼
[DOM / Popup Context] [CM6 Live Preview]
│ │
├──► Ring-Buffer flush ├──► Syntax tree scan
├──► Inline color inject ├──► Flat spec style
└──► Add additive classes └──► Add additive classes
│ │
└────────────┬────────────┘
│
▼
[Hardware Graphics Engine (GPU)]
│
├──► Animates static pseudo-elements
└──► Render frame budget: Flat <1.00ms
new MutationTask) and WeakRef generation during rendering sweeps. Tasks are assigned directly to pre-allocated parallel array slots, eliminating Garbage Collection (GC) churn.1.5ms time-sliced processing boundary. The loop processes as many nodes as your CPU physically allows, then yields thread control back to the browser to enforce fluid 60Hz/120Hz scrolling.querySelectorAll sweeps within the preview mode loop with a single dense pass. Links are aggregated into a local in-memory map, avoiding dynamic layout reflow thrashing.Below are real benchmark profiles taken from extensive testing in a massive production vault following the v1.1.2 zero-allocation and time-sliced architectural overhaul.
Continuous fast scrolling across complex layouts combining File Explorers, core Markdown panes, and active background tabs simultaneously.
First-load initialization of rich Dataview data matrices forcing continuous cache-miss pipeline execution after a fresh vault reload.
While v1.1.2 is engineered for extreme efficiency, overall performance can be influenced by your environment:
I originally undertook this project because I really needed a modern, highly optimized, and robust version of Supercharged Links—one capable of handling a vast array of simultaneous design rules and visual flavors without inducing UI lag. My broader semantic graph ecosystem, myBrain, completely depends on it.
The learning curve for mastering Obsidian's complex internal rendering engine has been steep. However, navigating this journey alongside advanced AI collaborators has been an incredible experience, rewarding me with a much deeper understanding of Obsidian's inner workings than I ever anticipated. It has been a truly rewarding bonus.
As an active project, I welcome your feedback! Please let me know if you encounter any bugs, discover unmapped edge cases, or have feature suggestions that could improve the framework.
If this plugin brings value to your workflow and keeps your vault beautiful, please consider leaving a star ⭐—it means the world to independent developers!