Skip to content

Release v1.3.0#2

Merged
joaner merged 15 commits into
ioai-tech:mainfrom
joaner:main
May 26, 2026
Merged

Release v1.3.0#2
joaner merged 15 commits into
ioai-tech:mainfrom
joaner:main

Conversation

@joaner
Copy link
Copy Markdown
Contributor

@joaner joaner commented May 26, 2026

Description

Release v1.3.0: H.264 CompressedVideo playback, major Raw Messages performance improvements, MCAP timestamp display, embed/layout enhancements, and DB3/playback/build fixes.

Motivation / related issue

Improve high-frequency topic visualization (especially image/video), expose MCAP clock metadata in Raw Messages, and stabilize playback/data-source behavior ahead of the v1.3.0 release.

Type of change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing behavior to change)
  • Documentation update
  • Refactor / internal cleanup (no behavior change)

Checklist

  • npm run lint passes with no errors
  • npm test passes (unit tests)
  • npm run build and npm run build:lib succeed
  • New behavior is covered by tests (or explain why tests aren't applicable)
  • Documentation updated (README, API.md, EMBEDDING.md) if the public API changed
  • Breaking change: all affected call sites updated and migration path described in PR description

API compatibility

  • New exports (additive): @ioai/rosview/urdf-preview subpath export
  • New props (additive): initialSidebarTab on embedded viewer
  • No removed exports or breaking type changes

Screenshots / recordings

N/A — performance and data-display improvements; no major visual redesign.


Summary of changes

Area Change
Image H.264 CompressedVideo playback, seek repair, auto-layout detection
Raw Messages Ref-based DOM patching (~10Hz UI refresh); log_time / publish_time; 32-byte binary hex preview
Embed / Layout initialSidebarTab; unified tab header actions
DB3 Migrate to official sql.js; fix per-topic frequency
Playback Fix stale async reads overwriting backward seeks
Build / Tooling TS 6 config cleanup; split test TypeScript project

joaner added 15 commits May 26, 2026 17:22
Use ResizeObserver on the tab row instead of tab-group count so panel
headers show icon buttons when wide enough and collapse to a more menu
when narrow. Consolidate tab and sidebar tuning in layoutConstants.ts.
Drop @foxglove/rosbag2-web and add a local SqliteDb adapter on top of @foxglove/rosbag2 so db3 parsing no longer pulls in the unmaintained Foxglove sql.js fork.
Exclude Vitest files from tsconfig.app and typecheck them in tsconfig.test with Node globals so tsc -b no longer fails on node: imports in test-only code.
Query min/max timestamps per topic during db3 initialization so sidebar stats match mcap and bag (Hz plus message count).
Enable foxglove_msgs/msg/CompressedVideo in the Image panel with shared WebCodecs decoding, seek keyframe repair, and 2×3 auto-layout for multi-camera feeds while skipping 3D when no JointState or TF topics exist.
…qljsDb.

Clear inherited app tsconfig excludes so type-checked ESLint covers src tests, and resolve require-await violations in the sql.js db adapter.
…seeks.

Introduce a playback epoch in IterablePlayer so late nextBatch/backfill/cursor work is discarded after seek, and add regression tests for backward seek and out-of-order backfill.
…S 6.

Paths already resolve without baseUrl, which avoids IDE errors on ignoreDeprecations 6.0 and clears TS 7 migration warnings.
Extract processMcapBuffer for in-process Vitest checks instead of
spawning node with mkdtemp under the repo root, and ignore stray
.tmp-urdf-debug-* directories.
…path

Route topic updates through refs and shared scheduleFrame DOM patching so
image topics no longer trigger per-message reconciliation and layouts.
…load

Surface MCAP receive/publish timestamps as top-level rows parallel to
message so topics without headers still expose both clock sources.
…iding

Use a compact hex head for image topics and large Uint8Array fields so
payload format can still be identified without full-buffer formatting.
Update the compact binary preview size to allow for a more comprehensive representation of binary data, enhancing the identification of payload formats for image topics and large Uint8Array fields.
Fix TypeScript and lint blockers that prevented Playwright webServer from starting, and align binary preview tests with the 32-byte compact limit.
@joaner joaner merged commit 50c4eec into ioai-tech:main May 26, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant