-
9dc3b1e5e6
fix(render): drop x title rows the chrome clamp cut short
Martino Ferrari
2026-09-28 11:32:54 +02:00
-
e211701d05
fix(render): drop y title columns the chrome clamp cut short
Martino Ferrari
2026-09-28 11:26:24 +02:00
-
daeb31b1ea
feat(plot): vertical y-axis label via a rotated text run
Martino Ferrari
2026-09-28 11:11:52 +02:00
-
1cb5970757
fix(render): environment-aware atlas drift guard, pinned text scale, shipped-atlas coverage
Martino Ferrari
2026-09-28 10:54:00 +02:00
-
5ca3587325
feat(render): anti-aliased embedded Adwaita Mono atlas, generated and committed
Martino Ferrari
2026-09-28 10:40:23 +02:00
-
3ff7b9c978
fix(render): gate TextAtlas::sync on the loader, and cover three review findings
Martino Ferrari
2026-09-28 10:22:38 +02:00
-
e1f6b61b7d
docs: atlases are fixed-cell grids; state the constraint instead of discovering it
Martino Ferrari
2026-09-28 10:10:41 +02:00
-
ffc060d6ca
refactor(render): the atlas is a declared fixed-cell grid, and staging checks it
Martino Ferrari
2026-09-28 10:09:50 +02:00
-
e074f57ddf
refactor(render): TextBackend owns its atlas, and staged glyphs carry a rotation basis
Martino Ferrari
2026-09-28 09:53:28 +02:00
-
90e17a0a11
docs: spec and plan for vertical y label, fonts, legend, draggable areas and synced multi-plot
Martino Ferrari
2026-09-28 09:32:02 +02:00
-
d110bfd459
feat: embeddable OpenGL time-series plotting library (plot)
Martino Ferrari
2026-09-28 08:20:05 +02:00
-
-
a08b184481
fix(plot,render,gl): live streaming measurements, handed-back GL state
Martino Ferrari
2026-09-28 03:42:34 +02:00
-
f363523195
fix(build): keep counter instrumentation out of the installed release library
Martino Ferrari
2026-09-28 03:25:59 +02:00
-
0972903d27
feat(build): install/export rules, umbrella header, verified consumer
Martino Ferrari
2026-09-28 03:17:20 +02:00
-
377cca8e9b
fix(gtk_demo): assert the recompute invariant, not a strip width; make exit idempotent
Martino Ferrari
2026-09-28 03:04:15 +02:00
-
0445a1861b
fix(gtk4): derive the device-pixel factor from GTK's two sizes, and four more review fixes
Martino Ferrari
2026-09-28 02:57:17 +02:00
-
36cd3421f3
feat(gtk4): GtkGLArea-based plot area and demo
Martino Ferrari
2026-09-28 02:09:31 +02:00
-
3c0e7763ab
fix(render): one fence per frame for the vertex ring; two qt6 adapter fixes
Martino Ferrari
2026-09-28 01:38:09 +02:00
-
1ee2dd9c3d
feat(qt6): QOpenGLWidget-based plot widget and demo
Martino Ferrari
2026-09-28 01:16:51 +02:00
-
dc0a977c86
fix(input): refuse a non-finite wheel amount instead of zeroing it
Martino Ferrari
2026-09-28 01:03:07 +02:00
-
b5b9b42be1
fix(imgui): keep the plot inside the child's clip rect and reject unusable input
Martino Ferrari
2026-09-28 00:54:25 +02:00
-
15931a2405
feat(imgui): embeddable plot widget and demo
Martino Ferrari
2026-09-28 00:38:31 +02:00
-
fb2c2f5e4d
fix(data): draw the partial edge buckets at LOD levels, correct the pyramid's memory and precondition docs
Martino Ferrari
2026-09-28 00:19:59 +02:00
-
c8a97e4a1b
fix(glfw): report a zero framebuffer size so the no-drawable guard is reachable
Martino Ferrari
2026-09-28 00:07:51 +02:00
-
0ac5d47fa6
perf(data): absolute-space pyramid so acquire() is O(produced), not O(window)
Martino Ferrari
2026-09-28 00:05:15 +02:00
-
4b649a2783
feat(glfw): adapter and 1 MS/s streaming demo
Martino Ferrari
2026-09-27 23:44:30 +02:00
-
1f5aa11de2
fix(render): floor the axes so chrome cannot erase it, one title row per titled axis
Martino Ferrari
2026-09-27 23:33:06 +02:00
-
8f45108559
fix(render): bind identity into the epoch, titles into reserved strips, one layout per frame
Martino Ferrari
2026-09-27 23:19:31 +02:00
-
3555ab63d7
feat(render): Renderer with LOD selection, 3.3 and 4.3+ upload paths, headless smoke test
Martino Ferrari
2026-09-27 23:02:48 +02:00
-
e0cdd95a3b
fix(input): pan and box zoom through layout().axes, not the viewport
Martino Ferrari
2026-09-27 22:40:40 +02:00
-
5ab854104a
feat(input): host-agnostic events and pan/zoom/cursor controller
Martino Ferrari
2026-09-27 22:34:16 +02:00
-
606e40a9f1
fix(plot): single-rounding clock labels, log-axis fits that refuse non-positive data
Martino Ferrari
2026-09-27 22:28:56 +02:00
-
93fc06f050
feat(plot): nice-number ticks, axes, grid, traces, cursors, measurement queries
Martino Ferrari
2026-09-27 22:21:22 +02:00
-
b4e88fe0c1
fix(render): give degenerate segments area, pin font bit order, clarify vertex_count
Martino Ferrari
2026-09-27 22:10:53 +02:00
-
7cbc1c9955
feat(render): style, GLSL line/text pipelines, staging batches, bitmap font
Martino Ferrari
2026-09-27 22:03:56 +02:00
-
9a086b7d69
test(data): make the push/read race test deterministic
Martino Ferrari
2026-09-27 21:51:26 +02:00
-
8f438b049b
docs: repoint plan call sites off the removed MinMaxPyramid::reduce
Martino Ferrari
2026-09-27 21:45:19 +02:00
-
5f1a4991e2
fix(data): remove MinMaxPyramid::reduce, repoint its two test callers
Martino Ferrari
2026-09-27 21:45:03 +02:00
-
d9909f2115
fix(data): level-per-emission pyramid cover, relaxed-atomic ring slots
Martino Ferrari
2026-09-27 21:42:53 +02:00
-
138fa478c3
feat(data): SPSC ring buffer, incremental min/max LOD pyramid, series types
Martino Ferrari
2026-09-27 21:29:59 +02:00
-
c93c98002b
docs: exact range queries belong on Series, not on the bucket-grained pyramid
Martino Ferrari
2026-09-27 21:20:22 +02:00
-
6866457155
fix(gl): gate fallible constructors on a complete loader table
Martino Ferrari
2026-09-27 21:15:57 +02:00
-
258caa38a7
feat(gl): dependency-free GL loader, RAII handles, caps probe, headless EGL harness
Martino Ferrari
2026-09-27 21:07:10 +02:00
-
ed71719df7
fix(math): keep from_range invertible for collapsed pixel spans
Martino Ferrari
2026-09-27 20:58:37 +02:00
-
8a7e9e97f8
feat: project skeleton, core types and math with transform tests
Martino Ferrari
2026-09-27 20:54:19 +02:00
-
-
e4051bc6b5
docs: design spec and implementation plan for the plot library
Martino Ferrari
2026-09-27 20:50:40 +02:00