# ruviz v0.2.0

Released: 2026-03-31

## Highlights

- Added experimental browser and `wasm32` support via the `ruviz-web` crate and the public npm `ruviz` SDK.
- Added mixed-coordinate inset rendering so Cartesian plots can embed polar, pie, and radar content.
- Fixed builder chaining parity so common continuations no longer require explicit `end_series()` workarounds.
- Tightened output parity and release confidence with restored visual fixtures, mixed-inset visual coverage, and broader CI checks.

## Browser And Workspace Packages

This release aligns the published workspace packages on one version:

- `ruviz` `0.2.0`
- `ruviz-web` `0.2.0`
- `ruviz-gpui` `0.2.0`
- npm `ruviz` `0.2.0`

Browser-facing additions in this release:

- `ruviz-web` provides the Rust-side browser runtime adapter for canvas rendering.
- The npm `ruviz` package ships the JS/TS browser SDK and wasm packaging flow.
- The JS workspace is Bun-first for install, lint, build, and packaging commands.

## Plotting And Compatibility Notes

- Mixed-coordinate figures can now render polar, pie, and radar series as insets inside Cartesian plots.
- Supported builder continuation gaps such as `.line(...).vline_styled(...)` no longer need an explicit `.end_series()`.
- Typst APIs are now compile-time gated behind `typst-math`.

If Typst is optional in your own crate, forward a local feature and guard `.typst(true)` with `#[cfg(feature = "typst-math")]`.

## Quality And Validation

This release was validated with the standard CI lanes plus release packaging checks:

- Rustfmt
- Clippy
- MSRV (1.87)
- Documentation build
- Test Fast Lane
- Multi-platform build (Linux, macOS, Windows, FreeBSD)
- WASM + Web build
- Release build
- npm tarball validation
- `ruviz-gpui` compile verification

## References

- Changelog: [`CHANGELOG.md`](../../CHANGELOG.md)
- Browser/wasm support PR: [#27](https://github.com/Ameyanagi/ruviz/pull/27)
- Typst gating PR: [#28](https://github.com/Ameyanagi/ruviz/pull/28)
- Builder chaining parity PR: [#29](https://github.com/Ameyanagi/ruviz/pull/29)
- Mixed-coordinate inset rendering PR: [#30](https://github.com/Ameyanagi/ruviz/pull/30)
- Release workflow: [`.github/workflows/release.yml`](../../.github/workflows/release.yml)
