Skip to content

feat: source init progress and RawMessages improvements (v1.8.0) - #49

Merged
joaner merged 5 commits into
ioai-tech:mainfrom
joaner:release/1.8.0
Aug 19, 2026
Merged

feat: source init progress and RawMessages improvements (v1.8.0)#49
joaner merged 5 commits into
ioai-tech:mainfrom
joaner:release/1.8.0

Conversation

@joaner

@joaner joaner commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Description

Release v1.8.0 with backward-compatible player/UI improvements and a dependency refresh.

  • Source workers (MCAP, bag, db3, HDF5, BVH) report initialization progress (connecting / downloading / opening) with throttled updates. The loading overlay shows source name, transferred bytes, speed, and ETA.
  • Raw Messages can expand typed arrays (including Float64Array). Adding a panel from a topic now uses extractPrimaryTopicFromConfig so tab titles pick the primary topic from Image/Audio/Raw/Plot/3D/Align configs.
  • Dependency updates and a Collada parse failure now throws instead of continuing with an invalid mesh.

Motivation / related issue

Remote and large local files can sit on a spinner with no feedback while HTTP Range reads and format parsing run. Operators also need clearer Raw Messages inspection and more reliable topic names when adding panels.

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

Unit coverage includes worker progress aggregation, CachedFilelike / BrowserHttpReader transfer reporting, loading overlay, ETA formatting, topic extraction, and Raw Messages typed-array expansion. SPA/lib builds are left to CI.

API compatibility

  • Changed types (additive, non-breaking): exported PlayerState.progress gains optional initPhase, loadedBytes, and transferredBytes. Existing consumers do not need to change.
  • No exports added or removed from src/entrypoints/index.ts.

Screenshots / recordings

N/A — overlay copy/progress bar is covered by LoadingOverlay.test.tsx.

joaner added 5 commits August 19, 2026 19:10
- Updated various package dependencies in package.json and package-lock.json to their latest versions, including @playwright/test, @radix-ui/react components, and others.
- Enhanced error handling in renderables.ts by adding a check for Collada parsing failure, throwing an error if parsing fails.
…ility

- Introduced `extractPrimaryTopicFromConfig` function to streamline topic extraction from panel configurations.
- Updated `PanelTabHeader` to utilize the new topic extraction logic when adding panels.
- Enhanced `RawMessagesPanel` and related utilities to support expandable arrays, including Float64Array handling.
- Added tests for the new topic extraction function and updated existing tests to cover new functionality.
- Added support for tracking initialization progress in various worker sources, including Bag, Bvh, Db3, Hdf5, and Mcap workers.
- Introduced `SourceInitProgress` type and `SourceInitProgressCallback` for reporting progress updates.
- Enhanced `initialize` methods to accept a progress callback, allowing for real-time updates during source loading.
- Implemented throttling for progress updates to prevent flooding the main thread with frequent callbacks.
- Updated tests to verify the correct aggregation of progress from multiple sources.
@joaner
joaner merged commit 0a30d37 into ioai-tech:main Aug 19, 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