densa

Roadmap

From the data stream to the pixel.

densa is becoming an open, native platform for real-time data applications: the engine that keeps live data in order, and the interface that shows it, in one Rust stack.

Each phase ends with something usable, measured and documented. Nothing marked next or planned is available yet.

01 — Phases

Each phase ends in something usable.

  1. FoundationsDone

    The core

    GPU canvas and data grid, paragraphs, selection, editing with input methods, wait-free data hand-off, Apache Arrow tables in the grid.

  2. Phase ADone

    Live data and widgets

    Keyed tables, incrementally maintained views and grouped aggregates. Flexbox layout, events, focus and themes, docking, screen reader support, text in every script.

  3. Phase BIn progress

    Grid, charts and connectors

    The data grid as a widget over live views, GPU charts linked to tables, and connectors for files, WebSocket streams, Arrow Flight and DataFusion (all available). Next: DuckDB and Polars.

  4. Phase CIn progress

    densa Studio 0.1

    The flagship application, started: files and WebSocket streams in grids that keep up, SQL over all of them, run again as they change, a chart of the result linked to its grid, a workspace kept between runs. Next: Arrow Flight sources, and full documentation here.

  5. Phase DPlanned

    Web and plugins

    The same applications in the browser through WebAssembly and WebGPU, and a plugin system.

02 — Layers

Four layers, each usable on its own.

  1. 01

    Interface

    GPU rendering, real text in every script, widgets with flexbox layout, docking, menus, undo and the clipboard, saved layouts, screen reader support, the data grid as a widget. Next: floating panels.

    In progress
  2. 02

    Live data engine

    Arrow-native tables updated by key, with sorting, filtering, grouping and aggregates that follow each change. Next: time windows and joins.

    In progress
  3. 03

    Visualization

    GPU charts for millions of points: time series, candlesticks and volume, fed by live tables and linked to the grid. Next: heatmaps and depth.

    In progress
  4. 04

    Connectors

    Parquet and CSV files, WebSocket streams, Arrow Flight and DataFusion today; then DuckDB, Polars, Kafka, NATS, and the engines that already speak Arrow: DataFusion, Polars, DuckDB.

    In progress

03 — Status

What exists today, and what comes next.

Available Today

  • GPU canvas, data grid and charts (wgpu)
  • Widgets with flexbox layout, events, focus and Tab order
  • Buttons, text inputs with undo and the clipboard, scroll views, splitters, panels
  • Docking workspaces whose layout is saved and restored
  • Menu bars, menus with submenus and check marks, context menus
  • The data grid as a widget: scrolling, selecting and copying rows, sorting, frozen columns
  • Live tables in the grid, with the selection kept on its row
  • Charts of lines, candles and volume, fed by live tables
  • CSV and Parquet files, read in the background
  • WebSocket streams of JSON or Arrow IPC, reconnecting on their own
  • Arrow Flight and Flight SQL results, read as they arrive
  • SQL over Parquet, CSV and live tables as they change, with DataFusion
  • Every crate on crates.io, gathered under densa
  • Paragraphs, selection and editing with input methods
  • Screen readers on Windows, macOS and Linux (AccessKit)
  • Live tables: keyed upserts, sorted and filtered views, grouped aggregates
  • Wait-free data hand-off, CPU pinning and thread priority (Windows)

Planned Next

  • DuckDB and Polars; then Kafka and NATS
  • Floating panels in windows of their own
  • Time windows and joins in live tables
  • Pinning and priority on Linux and macOS

04 — Flagship

densa Studio.

An open-source application built on the platform: open a Parquet file, a CSV or a live stream and explore it at once, in grids and charts that keep up with the data. It proves the platform in daily use.

Open anything

Parquet and CSV files of millions of rows open in tabs while they load; WebSocket streams keep up as rows come. Arrow Flight next.

Explore live

Sort, select and copy rows, run SQL over every source, again each second as they change, and chart the result, linked to its rows.

Make it yours

A workspace arranged as you left it. Plugins later, built only on public densa APIs.

Version 0.1 is out, experimental: densa Studio on GitHub.

Follow along

Watch it grow, or help build it.