Skip to contents

ggWebGL 0.4.0

  • Froze the experimental renderer API around structured ggwebgl_view(), ggwebgl_selection(), and ggwebgl_material() contracts.
  • Extended vector layers to support 3D z/zend coordinates while preserving renderer-owned ids, frame/time metadata, and browser selection behavior.
  • Added distinct orbit and trackball camera control paths with normalized rotation-based camera state.
  • Upgraded mesh and surface payloads with generated normals, Lambert material metadata, picking ids, wireframe/culling controls, and GPU payload caching hooks.
  • Expanded the interaction-frame benchmark artifact schema so fixed frame-rate performance statements require device, browser, GPU, commit, primitive-count, and artifact metadata.
  • Added a guarded optional downstream boids4R animation vignette and htmlwidget example that render renderer-neutral swarm frames as exact-timeline point and vector primitives. The examples keep boids4R as an optional development ecosystem package and avoid attaching its namespace during ggWebGL tests.
  • Reframed the optional boids4R documentation as browser-native swarm art, clarifying that boids4R owns simulation semantics while ggWebGL owns WebGL rendering and timeline interaction.
  • Prepared CRAN self-containment by removing GitHub-only ecosystem packages from DESCRIPTION, gating live optional bridge vignettes behind an explicit development environment variable, and documenting that XGeoRTR, boids4R, and shapViz3D are optional integrations rather than installation requirements.

ggWebGL 0.3.0

  • Added exported ggwebgl_magnify_region() in R/magnify-region.R, with panel and inset modes driven by an exact data-coordinate rectangle.
  • Added experimental vector-arrow rendering through geom_vector_webgl() and ggwebgl_layer_vectors(), using renderer-ready shafts and triangle arrowheads without backend-specific semantics.
  • Added experimental brush and lasso interaction modes that emit selected primitive ids through Shiny inputs or optional JavaScript callbacks.
  • Added experimental timeline controls with frame/time filtering for primitive layers plus play, scrub, speed, and reset UI controls.
  • Added experimental opt-in 3D camera state, 3D point/line support, indexed mesh payloads, geom_mesh_webgl(), geom_surface_webgl(), ggwebgl_layer_mesh(), and ggwebgl_layer_surface().
  • Added a renderer-generic future-work gallery and contract tests covering the new vector, selection, timeline, camera, mesh, and surface paths.
  • Added an interaction-frame benchmark schema for frame-rate statements. Fixed performance numbers remain future-facing until generated benchmark artifacts exist for a named target machine.

ggWebGL 0.2.0

  • Promoted the package from the long-running development scaffold to the 0.2.0 release line.
  • Added large-scene demo support: persistent point buffers for stable large point-cloud interaction, deterministic count-aware density splats, generic hover labels for point primitives, and a reproducible renderer gallery.
  • Added generic downstream adapter helpers for renderer-ready point, line, and raster primitive specs, including exported ggwebgl_layer_*() constructors and ggwebgl_spec().
  • Added package-owned static export surfaces through snapshot_ggwebgl() and compose_ggwebgl_figure(), so publication-style PNG/JPEG captures and simple figure composition can be driven from the package API instead of ad hoc scripts.
  • Added project evidence documentation and machine-readable evidence summaries for internal release validation.
  • Added vignette-local figure copies for website articles that need images without referencing files outside pkgdown’s allowed article asset paths.
  • Tightened the browser-backed static export path around dedicated chromote browser ownership, lighter examples, and explicit optional dependency declarations for export and vignette tooling.
  • Fixed pkgdown/htmlwidget layout containment by restoring the widget CSS dependency and adding inline canvas-stage safeguards, preventing WebGL canvases from stacking at the top of article pages.

ggWebGL 0.1.0

  • Expanded the core renderer beyond the initial scaffold with reusable showcase helpers, manual htmlwidget and Shiny smoke tests, and a stronger pkgdown-facing documentation surface.
  • Implemented and stabilized the main point shader modes: default, density_splat, trajectory_age, and trajectory_age_glow.
  • Added hover-based sample inspection on top of the existing pan and zoom interactions.
  • Added texture-backed raster rendering for geom_raster_webgl().
  • Added fixed-scale facet_wrap() and facet_grid() support through a panel-aware render specification and panel-local interaction state.
  • Added packaged real-data evidence examples covering raster fields, storm trajectories, and dense embeddings.
  • Added a reproducible evaluation suite against ggplot2 and plotly, including machine-readable metrics and benchmark figure scripts under inst/benchmarks/.
  • Froze the XGeoRTR/ggWebGL renderer boundary in RENDERER_CONTRACT.md and added the first as_ggwebgl_spec.xgeo_state() adapter plus renderer contract tests.

ggWebGL 0.0.0.9000

  • Reset package metadata and top-level documentation from the copied scaffold to the ggWebGL package identity.
  • Rewrote the package README, citation, and pkgdown configuration around the intended ggplot2 plus WebGL rendering workflow and companion-package split.
  • Removed imported carryover benchmark content from the copied package tree.
  • Added the first real ggplot_webgl() renderer path for point and line layers, backed by a minimal WebGL htmlwidget.
  • Added the initial showcase vignette and gallery, including dense latent-space, diffusion-trajectory, phase-portrait, and optimization-path examples.
  • Added reusable standard and high_detail showcase presets for the gallery and demo surfaces.