DossGrid
High-performance data grid SDK with zero-copy Arrow Flight SQL. 100 rows to 100 million.
Six-layer system. Data flows down, interactions flow up. Only L3 and above depend on React — everything below is pure TypeScript.
For Arrow-native backends like ZebraDB, the grid bypasses the API server entirely. One hop, zero serialization — the same Arrow bytes that DataFusion produces are what the DataBus consumes.
Four steps from browser to data. Handshake establishes a session-scoped JWT auth context. Schema discovery is optional — Arrow schema arrives with every response anyway.
| Metric | Proxied | FlightSQL | Delta |
|---|---|---|---|
| Latency — 100 rows | 50–80ms | 15–25ms | 3× |
| Latency — 10K rows | 200–400ms | 40–80ms | 4–5× |
| Network hops | 2 | 1 | −1 |
| Serialization | JSON→SQL→rows→Arrow | Arrow end-to-end | ~0 |
| Browser CPU | JSON parse + Arrow encode | Arrow decode only | ~50% less |
| Memory | 2× (JSON + Arrow) | 1× (Arrow only) | 50% less |
UDS maps Doss column types to Arrow types. The schema arrives with every response — no separate discovery call needed.
| Doss type | Arrow DataType | Grid display |
|---|---|---|
| String | Utf8 | text |
| Number | Float64 | number |
| Boolean | Boolean | checkbox |
| Date | Date32 | date picker |
| DateTime | Timestamp(µs) | datetime |
| Enum | Utf8 + metadata{enum} | dropdown |
| User | Struct{id, email, first_name, last_name} | user chip |
| Array<String> | List<Utf8> | tag list |
| FileUrl | Struct{id, name, storage_path} | file link |
Six-Layer Architecture
Data flows down through L0 DataSource → L1 DataBus → L2 Virtualizer → L3 React Core → L4 Plugin Kernel → L5 UI Shell. Everything below L3 is pure TypeScript — no React dependency.
Arrow IPC Native
The DataBus, Worker, and store all consume Arrow RecordBatches natively. No intermediate JSON, no row-to-columnar conversion. The wire format is the in-memory format.
FlightSQL Bypass (T1)
For ZebraDB and any FlightSQL-compatible backend: browser talks directly to the FlightSQL endpoint over gRPC-Web. One hop, zero serialization. DataFusion produces Arrow, Flight streams Arrow, DataBus consumes Arrow — same bytes end to end.
Transport Adapter Tiers
T1: Arrow end-to-end (zebradb, flightsql). T2: Proxied via API (postgres, snowflake, bigquery, clickhouse, sheets). T3: Client-side engine via DuckDB-WASM (parquet, csv). One grid, any backend.
Fenwick Tree Virtualizer
Framework-agnostic virtualizer using Fenwick prefix-sum trees for O(log n) row position lookups. No React dependency. Targets ≥55fps scroll at 100K rows with DOM recycling and content-visibility.
Real-Time Collaboration
Yjs CRDT bridge for multi-user editing. WebSocket-based delta channel for live row updates. Undo/redo via Immer patch pipeline in the DataBus.
Performance
Scroll 100K rows ≥55fps · Arrow IPC decode (10MB) ≤20ms · Patch 1000 cells ≤5ms · View switch (100K rows) <80ms · Fast scroll stop <40ms.