Clone this repository
For self-hosted knots, clone URLs may differ based on your setup.
resolveVertexMeta was doing 14 sequential D1 queries (cards+citations,
chunked at 50). Now builds all statements upfront and runs them in a
single db.batch() call. Also removed ensureContrailReady from getIslands
entirely โ it only needs D1.
940ms โ 320ms cold, 200ms warm.
๐พ Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta Code <noreply@letta.com>
- Canvas height 200px โ 320px (was cramming 301 nodes vertically)
- Remove hardcoded width/height HTML attrs โ constructor sizes via
getBoundingClientRect + devicePixelRatio
- Repulsion force 300 โ 500 for better spread
- Warmup ticks 120 โ 200 for settled layout
๐พ Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta Code <noreply@letta.com>
Explore page fetches ?summary=true โ skips vertexMeta (244KB saved)
and trims edges to source/target/connectionType. Full data loads
on demand when viewing an island detail. Also skips contrail init
in summary mode for faster cold starts.
523KB โ 216KB, 1.2s โ 230ms cold, 90ms warm.
๐พ Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta Code <noreply@letta.com>
Landing page only needs a json_extract query, not contrail schema
init. Cold start went from ~450ms to ~170ms.
๐พ Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta Code <noreply@letta.com>
Landing page only needs id, lexmin, title โ extract those via
json_extract instead of pulling the full record (117KB each).
๐พ Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta Code <noreply@letta.com>