pf_app
Server streams rows from a pg cursor in 10k-row batches, building Arrow record batches incrementally and piping them as chunked HTTP response — Node.js heap stays bounded regardless of dataset size. Client fetches as arrayBuffer() and loads directly into Perspective worker (native Arrow path, no JSON deserialization). X-Row-Count header drives a non-blocking banner for datasets >= 500k rows. validCols now derived from col_meta rather than from row keys. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| lib | ||
| public | ||
| routes | ||
| setup_sql | ||
| ui | ||
| .env.example | ||
| .gitignore | ||
| install.sh | ||
| package-lock.json | ||
| package.json | ||
| pf_spec.md | ||
| pf_ux_mockup.md | ||
| server.js | ||