Skip to content

Commit 3d0fd38

Browse files
committed
release: rosview 1.0.0
0 parents  commit 3d0fd38

397 files changed

Lines changed: 58763 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.env.example

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Optional: URDF package base for 3D panel
2+
# VITE_ROSVIEW_URDF_PACKAGE_BASE=
3+
4+
# Same as LeRobot — sample list manifest (schemaVersion: 1)
5+
# VITE_SAMPLES_BASE_URL=https://your-cdn.example.com/samples/
6+
# VITE_SAMPLE_DATASETS_MANIFEST_URL=https://your-cdn.example.com/samples/sample-datasets.manifest.json
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
name: Bug Report
2+
description: Report a reproducible issue with ROSView
3+
labels: ["bug", "triage"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for taking the time to file a bug report. Please fill out the form below as completely as possible.
9+
10+
- type: dropdown
11+
id: format
12+
attributes:
13+
label: File format
14+
description: Which file format were you using when the issue occurred?
15+
options:
16+
- MCAP (.mcap)
17+
- ROS 1 bag (.bag)
18+
- ROS 2 db3 (.db3)
19+
- HDF5 (.h5 / .hdf5)
20+
- BVH (.bvh)
21+
- Not file-format specific
22+
validations:
23+
required: true
24+
25+
- type: dropdown
26+
id: delivery
27+
attributes:
28+
label: Delivery mode
29+
options:
30+
- SPA (rosview.com or self-hosted)
31+
- Embedded npm package
32+
validations:
33+
required: true
34+
35+
- type: input
36+
id: version
37+
attributes:
38+
label: Package version
39+
description: What version of @ioai/rosview are you using? (run `npm list @ioai/rosview`)
40+
placeholder: "1.0.0"
41+
validations:
42+
required: true
43+
44+
- type: dropdown
45+
id: browser
46+
attributes:
47+
label: Browser
48+
options:
49+
- Chrome / Chromium
50+
- Edge
51+
- Firefox
52+
- Safari
53+
- Other
54+
validations:
55+
required: true
56+
57+
- type: input
58+
id: os
59+
attributes:
60+
label: Operating system
61+
placeholder: "macOS 14, Windows 11, Ubuntu 24.04, …"
62+
validations:
63+
required: true
64+
65+
- type: textarea
66+
id: description
67+
attributes:
68+
label: Description
69+
description: A clear and concise description of the bug.
70+
validations:
71+
required: true
72+
73+
- type: textarea
74+
id: steps
75+
attributes:
76+
label: Steps to reproduce
77+
description: Numbered steps to reliably reproduce the issue.
78+
placeholder: |
79+
1. Open rosview.com
80+
2. Load a .mcap file via drag-and-drop
81+
3. Click Play
82+
4. …
83+
validations:
84+
required: true
85+
86+
- type: textarea
87+
id: expected
88+
attributes:
89+
label: Expected behavior
90+
description: What did you expect to happen?
91+
validations:
92+
required: true
93+
94+
- type: textarea
95+
id: actual
96+
attributes:
97+
label: Actual behavior
98+
description: What actually happened? Include error messages from the browser console if available.
99+
validations:
100+
required: true
101+
102+
- type: textarea
103+
id: logs
104+
attributes:
105+
label: Browser console errors
106+
description: Paste any relevant errors from the browser DevTools console (F12 → Console).
107+
render: text
108+
109+
- type: textarea
110+
id: context
111+
attributes:
112+
label: Additional context
113+
description: Screenshots, screen recordings, sample files (if shareable), or any other context.

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: "Documentation"
4+
url: https://github.com/ioai-tech/rosview/tree/main/docs
5+
about: "Read the API reference, embedding guide, and development docs"
6+
- name: "Security vulnerability"
7+
url: https://github.com/ioai-tech/rosview/security/advisories/new
8+
about: "Report a security vulnerability privately"
9+
- name: "GitHub Discussions"
10+
url: https://github.com/ioai-tech/rosview/discussions
11+
about: "Ask questions or share ideas"
12+
- name: "Live Demo"
13+
url: https://rosview.com
14+
about: "Try ROS View online"
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Feature Request
2+
description: Suggest a new feature or improvement
3+
labels: ["enhancement"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for suggesting an improvement! Please provide as much context as possible so we can evaluate the request.
9+
10+
- type: dropdown
11+
id: area
12+
attributes:
13+
label: Area
14+
description: Which part of the product does this request relate to?
15+
options:
16+
- File format support
17+
- Visualization panel (Image / 3D / Plot / etc.)
18+
- Playback controls
19+
- Layout / UI
20+
- Embedding / npm API
21+
- Annotation system
22+
- Performance
23+
- Documentation
24+
- Other
25+
validations:
26+
required: true
27+
28+
- type: textarea
29+
id: problem
30+
attributes:
31+
label: Problem / motivation
32+
description: What are you trying to accomplish? What is the current limitation or pain point?
33+
validations:
34+
required: true
35+
36+
- type: textarea
37+
id: solution
38+
attributes:
39+
label: Proposed solution
40+
description: Describe what you would like to see implemented.
41+
validations:
42+
required: true
43+
44+
- type: textarea
45+
id: alternatives
46+
attributes:
47+
label: Alternatives considered
48+
description: Have you considered any alternative solutions or workarounds?
49+
50+
- type: textarea
51+
id: context
52+
attributes:
53+
label: Additional context
54+
description: Mockups, links to related issues, reference implementations, or any other context.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
## Description
2+
3+
<!-- A clear, concise summary of the changes in this PR. -->
4+
5+
## Motivation / related issue
6+
7+
<!-- Why is this change needed? Link any related issues: "Closes #123" or "Fixes #456" -->
8+
9+
## Type of change
10+
11+
- [ ] Bug fix (non-breaking change that fixes an issue)
12+
- [ ] New feature (non-breaking change that adds functionality)
13+
- [ ] Breaking change (fix or feature that would cause existing behavior to change)
14+
- [ ] Documentation update
15+
- [ ] Refactor / internal cleanup (no behavior change)
16+
17+
## Checklist
18+
19+
- [ ] `npm run lint` passes with no errors
20+
- [ ] `npm test` passes (unit tests)
21+
- [ ] `npm run build` and `npm run build:lib` succeed
22+
- [ ] New behavior is covered by tests (or explain why tests aren't applicable)
23+
- [ ] Documentation updated (README, API.md, EMBEDDING.md) if the public API changed
24+
- [ ] **Breaking change**: all affected call sites updated and migration path described in PR description
25+
26+
## API compatibility
27+
28+
<!-- If this PR modifies any exported symbols in src/entrypoints/index.ts, describe the impact: -->
29+
<!-- - New exports (additive, non-breaking) -->
30+
<!-- - Changed types (breaking if consuming code must change) -->
31+
<!-- - Removed exports (breaking) -->
32+
33+
N/A
34+
35+
## Screenshots / recordings
36+
37+
<!-- If the PR changes visible UI behavior, include a screenshot or short recording. -->

.github/workflows/ci.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
build-test:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
- uses: actions/setup-node@v4
15+
with:
16+
node-version: '24'
17+
cache: 'npm'
18+
- run: npm ci
19+
- run: npm run lint
20+
- run: npm run build
21+
- run: npm run test
22+
23+
e2e:
24+
runs-on: ubuntu-latest
25+
steps:
26+
- uses: actions/checkout@v4
27+
- uses: actions/setup-node@v4
28+
with:
29+
node-version: '24'
30+
cache: 'npm'
31+
- run: npm ci
32+
- run: npx playwright install chromium --with-deps
33+
- name: Generate E2E MCAP fixture
34+
run: node scripts/gen-test-mcap.mjs
35+
- run: npm run test:e2e
36+
env:
37+
CI: true

.github/workflows/release.yml

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
jobs:
9+
validate:
10+
name: Validate
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
15+
- uses: actions/setup-node@v4
16+
with:
17+
node-version: '24'
18+
cache: 'npm'
19+
20+
- run: npm ci
21+
- run: npm run lint
22+
- run: npm test
23+
- run: npm run build
24+
- run: npm run build:lib
25+
26+
- name: Upload library artifact
27+
uses: actions/upload-artifact@v4
28+
with:
29+
name: dist-lib
30+
path: dist-lib/
31+
retention-days: 1
32+
33+
publish-npm:
34+
name: Publish to npm
35+
needs: validate
36+
runs-on: ubuntu-latest
37+
permissions:
38+
id-token: write
39+
steps:
40+
- uses: actions/checkout@v4
41+
42+
- uses: actions/setup-node@v4
43+
with:
44+
node-version: '24'
45+
registry-url: 'https://registry.npmjs.org'
46+
cache: 'npm'
47+
48+
- run: npm ci
49+
50+
- name: Download library artifact
51+
uses: actions/download-artifact@v4
52+
with:
53+
name: dist-lib
54+
path: dist-lib/
55+
56+
- name: Publish
57+
run: npm publish --access public
58+
env:
59+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
60+
61+
github-release:
62+
name: Create GitHub Release
63+
needs: publish-npm
64+
runs-on: ubuntu-latest
65+
permissions:
66+
contents: write
67+
steps:
68+
- uses: actions/checkout@v4
69+
with:
70+
fetch-depth: 0
71+
72+
- name: Create release
73+
uses: softprops/action-gh-release@v2
74+
with:
75+
name: ${{ github.ref_name }}
76+
generate_release_notes: true
77+
draft: false
78+
prerelease: ${{ contains(github.ref_name, '-') }}

.gitignore

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
pnpm-debug.log*
8+
lerna-debug.log*
9+
10+
node_modules
11+
dist
12+
dist-ssr
13+
dist-lib
14+
*.local
15+
16+
# Track package-lock.json for GitHub Actions (npm ci + setup-node cache: npm).
17+
yarn.lock
18+
19+
# Editor directories and files
20+
.vscode/*
21+
!.vscode/extensions.json
22+
.idea
23+
.DS_Store
24+
*.suo
25+
*.ntvs*
26+
*.njsproj
27+
*.sln
28+
*.sw?
29+
30+
# wrangler files
31+
.wrangler
32+
.dev.vars*
33+
!.dev.vars.example
34+
.env*
35+
!.env.example
36+
37+
# test files
38+
/public/examples/
39+
/test-results/
40+
/playwright-report/
41+

.nvmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
24

0 commit comments

Comments
 (0)