|
2026-09-24
v7.1.0 • Latest
|
Added
Desktop Auto-Preview, Telemetry Streaming & Fortran fpm Parity
-
Desktop Auto-Preview (
svgopen / svg_open):
Automatically launches the generated plot in the user's default desktop web browser or system SVG viewer using native operating system dispatch (open on macOS, start on Windows, xdg-open on Linux). Passing svgopen(NULL) automatically opens the companion HTML viewer (myplot.html) with mouse-wheel zoom, drag-to-pan, and live auto-updating. Passing a filename opens the raw .svg directly. Full parity across C, Fortran (gpc_svgopen), Python (fig.svgopen()), and Java (GraphiC.svgopen()).
-
Live Plot Initialization Auto-Preview (
GPC_AUTOPREVIEW=1):
Setting the environment variable GPC_AUTOPREVIEW=1 automatically calls svgopen(NULL) immediately upon bgnplot(), launching the companion browser viewer as soon as plotting begins without interrupting execution.
-
Network Telemetry Push (
svgpush / svg_push):
Transmits rendered SVG plots over the network to remote HTTP/HTTPS ingest endpoints or live telemetry dashboards using standard POST requests with Content-Type: image/svg+xml. Supersedes historical socket streaming (tkfpush), enabling cloud compute clusters and IoT devices (such as live water temperature monitors) to stream plots directly without shell scripts.
-
Comprehensive SVG Parity Test Suite (
svgtest / §9.24):
Added new multi-language test program (Svgtest.c, svgtest.f90, svgtest.py, Svgtest.java) verifying tight bounding-box cropping, telemetry push, and desktop auto-preview. Added Section 9.24 to the Visual Gallery in the reference manual.
-
Dedicated Architecture Guide (§2.6 "How You See GraphiC Plots"):
Comprehensive standalone section and comparison table in the reference manual detailing dual-file output (myplot.svg vs myplot.html), viewer target matrix, and OS launch mechanisms.
-
Fortran Package Manager (
fpm) Integration:
Added root fpm.toml manifest allowing GraphiC to be consumed as a direct git or path dependency in modern Fortran workflows.
-
Master Function Index Parity (191 Routines):
Section 10 expanded to 191 library routines, all cross-referenced with 100% multi-language parity across C, Python, Java 22, and Fortran 2003.
|
|
2026-09-10
v7.0.1
|
Added
SVG Auto-Cropping & Typography Precision
-
SVG Tight Bounding-Box Auto-Cropping (
svgcrop / svg_crop):
Dynamic bounding-box tracking across all 2D and 3D graphics operations. ANSI C tmpfile() stream buffering in Source/gpc_driver_svg.c to defer <svg> header generation until plot completion. Default 0.25 inch margin surrounding all drawn elements. Configurable API across C (svgcrop), Fortran (gpc_svgcrop), Python (fig.svgcrop()), and Java (GraphiC.svgcrop()). Negative margin (svgcrop(-1.0f)) restores standard 8.5" × 11" landscape canvas.
-
Typography Architecture & Counter Documentation:
Detailed architectural differences between open vector stroke fonts (simplex, duplex, triplex), multi-piece closed-loop outline fonts (swiss, news), and TrueType closed Bézier contours with fill-rule="evenodd".
Changed & Verified
Auto-Crop Default & Test Suite Audit
-
Default SVG export automatically crops to plot bounding box + 0.25" margin, eliminating excess letter-sized white space when embedding into papers, Word, or web pages.
-
Recompiled and verified all example test suites across C (35 examples), Fortran (19 examples), Python (25 examples), and Java (19 examples). Audited all 191 production SVGs repository-wide with XML validation.
|
|
2026-09-07
v7.0.0 • Initial
|
Added
Initial Modern Release of GraphiC 2026
-
64-Bit Multi-Platform Engine: Full native 64-bit portability for macOS (Apple Silicon ARM64 & Intel), Linux (x86_64 & AArch64), and 64-bit Windows. Zero-dependency architecture (standard libc/libm; no X11, Qt, or OpenGL). Sub-millisecond cold start (<0.002s).
-
Zero-Dependency Vector SVG 1.1 Driver: High-throughput driver with 256-color palettes, 16 hatch/cross-hatch fill patterns, line attributes, and Hershey vector stroke text. Paired with lightweight HTML5 interactive pan/zoom viewers.
-
Modern TrueType Outline Engine: Native Bézier B-spline curve tessellation, UTF-8 multi-byte decoding (Greek, math symbols, °C, ±), Unicode BMP resolution, and
evenodd fill rule for counter holes in letters (O, B, 8, R, e, a, %, Δ, θ).
-
First-Class Polyglot Bindings: Modern Fortran 2003+ (
iso_c_binding), Python 3 (procedural + object-oriented Figure + NumPy + Jupyter), and Java 22 (Panama Foreign Function & Memory API with zero JNI).
-
Specialized Scientific Visualizations: RF Smith charts (
smdraw), chemical ternary phase diagrams (trigrid), 3D hidden-surface perspective meshes (surmatr), 2D contouring (conmatr), polar plots, and simultaneous axes. 23 classic Hershey vector font plates.
-
Complete Documentation & Reference Manual: Modern reference manual featuring Section 10 Master Function Index (188+ routines with full parity across all 4 languages) and 14 Hershey font plate tables.
|
Add new comment