| ▲ | robhati 9 hours ago | |||||||
It's a small too nothing great I just figured others might find it useful too. I kept finding myself needing to visualize database schemas, but most tools had the same problems: paywalls, mandatory signups, or sending your SQL to someone else's server. No backend, no accounts, no data leaving your machine. A few implementation details that were fun: * Built on <canvas> instead of DOM/SVG. Tables are rasterized into cached bitmaps with viewport culling, which keeps things smooth even with hundreds of tables on screen. * The SQL parser tracks source spans for every token. That lets edits stay surgical so a rename a table and only the relevant identifier (and its references) change while comments and formatting remain untouched. * The URL contains the entire schema. Sharing simply serializes the schema into the URL itself, so there's no backend, no stored state, and no account required. * I also experimented with a Rust/WASM version because why not? but the parser was ~37% slower because the JS↔WASM boundary cost outweighed the compute savings but The O(n^2) overlap-resolution pass was about 2.2x faster though * In the end I stuck with plain JavaScript. No framework ~32KB gzipped | ||||||||
| ▲ | Hendrikto 5 hours ago | parent | next [-] | |||||||
> The URL contains the entire schema. Isn’t that going to be a problem due to the URL length limitations? > It is RECOMMENDED that all senders and recipients support, at a minimum, URIs with lengths of 8000 octets in protocol elements. | ||||||||
| ||||||||
| ▲ | __natty__ 5 hours ago | parent | prev [-] | |||||||
Truely good work! It’s responsive, clean and “onboarding” experience without signup walls is great. Good job. | ||||||||