Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
3a6cf8b
Make lines truly instanced (#246)
davidswinegar Oct 7, 2019
35898d8
Fix minor Worldview issues and release new version (#249)
davidswinegar Oct 8, 2019
2d4f677
Update packages/webviz-core from internal repo (#251)
janpaul123 Oct 17, 2019
3755339
Update packages/webviz-core from internal repo (#257)
vidaaudrey Oct 29, 2019
253a628
Add monaco editor fix (#261)
troygibb Oct 29, 2019
d01b28e
Show /tf in the 3D panel topicTree (#263)
vidaaudrey Nov 2, 2019
ecdfdb8
Add option to only render triangles in the hitmap (#266)
davidswinegar Nov 11, 2019
1261960
A first take on stopPropagation within worldview (#268)
robin-pham Nov 20, 2019
de0db28
Move setupTestFramework.js to webviz-core package (#272)
janpaul123 Nov 21, 2019
a38a4d3
Update packages/webviz-core from internal repo (#273)
janpaul123 Nov 21, 2019
ef3d91a
Capture error in requestAnimationFrame (#265)
troygibb Nov 22, 2019
fed8546
enable nullish coalescing operator (#276)
jtbandes Nov 27, 2019
7464556
enable optional chaining (#277)
jtbandes Nov 27, 2019
18f4558
enable optional chaining in Flow (#278)
jtbandes Nov 28, 2019
b19b7bb
fix jest config for CSS files imported from node_modules (#279)
jtbandes Dec 2, 2019
72ece33
Update packages/webviz-core from internal repo (#283)
janpaul123 Dec 3, 2019
fbea603
Update packages/webviz-core from internal repo (#284)
jtbandes Dec 4, 2019
a2a31c0
Update worldview hitmap docs (#285)
davidswinegar Dec 12, 2019
2e7db3a
Update packages/webviz-core from internal repo (#289)
davidcrawford Dec 18, 2019
d041d4d
Fix ColorPicker screenshots by upgrading styled-components (#292)
vidaaudrey Dec 18, 2019
ca00cd7
Worldview: add GLText command (#291)
jtbandes Dec 18, 2019
e9835e5
GLText cleanup & review feedback (#295)
jtbandes Dec 19, 2019
e42aa83
Update packages/webviz-core from internal repo (#299)
janpaul123 Dec 26, 2019
e763134
Add info about connecting to rosbridge_server (#300)
janpaul123 Dec 28, 2019
4c76bcb
Update packages/webviz-core from internal repo (#301)
janpaul123 Dec 28, 2019
6764c16
Rename /try to /app (#302)
janpaul123 Dec 30, 2019
e57b3a1
Update packages/webviz-core from internal repo (#303)
janpaul123 Dec 31, 2019
66968f9
Note about customizing Webviz #304 (#306)
janpaul123 Dec 31, 2019
1d71c18
Title capitalization (#305)
janpaul123 Dec 31, 2019
75bfe9b
Update packages/webviz-core from internal repo (#307)
janpaul123 Jan 2, 2020
1acbdae
Add flow typing to Worldview Command (#308)
davidswinegar Jan 3, 2020
557ece3
<GLText /> Highlighted (#296)
troygibb Jan 6, 2020
5d02e66
Update packages/webviz-core from internal repo (#313)
janpaul123 Jan 7, 2020
6540d25
Assert on type string in GLText (#311)
troygibb Jan 8, 2020
f9a6894
Add bz2 decompression support with compressjs (#316)
jtbandes Jan 9, 2020
3bea414
chore: remove workspace key (#322)
wuweiweiwu Jan 10, 2020
bffa37a
Worldview: fix hitmap bug (#326)
davidswinegar Jan 15, 2020
953cd05
<GLText /> Add custom highlight color prop (#315)
troygibb Jan 15, 2020
92c23fd
Update Worldview to 0.3.2 (#330)
davidswinegar Jan 16, 2020
e1123dc
Release regl-worldview v0.4.0 (#333)
troygibb Jan 17, 2020
26dfdfd
Update enzyme-adapter-react-16 to latest version (#334)
janpaul123 Jan 23, 2020
4406c8f
RosOut: add TopicToRenderMenu (#335)
jtbandes Jan 27, 2020
42a2172
Update jest config (#340)
davidswinegar Feb 10, 2020
5a3c875
Fix worker loader (#342)
troygibb Feb 10, 2020
4aa0a4b
Mock all workers in jest (#343)
davidswinegar Feb 10, 2020
e70c549
Add stories setup config flow for webviz-core (#345)
trevorarmstrong Feb 25, 2020
5565770
Create main.yml
Warpoe Mar 7, 2020
e5d5a83
Update webpack.config.js
Warpoe Mar 7, 2020
c76e4b3
Update main.yml
Warpoe Mar 7, 2020
3afbb52
Updated elgohr/Publish-Docker-Github-Action to a supported version (v5)
elgohr Mar 28, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 3 additions & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,9 @@ jobs:
- run: .circleci/find-screenshots-compare-commit.sh
- run: echo $REG_SUIT_EXPECTED_KEY

- run: docker run -v `pwd`:`pwd` -w `pwd` -it --rm -e CI -e CIRCLE_SHA1 -e REG_SUIT_EXPECTED_KEY -e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY -e AWS_DEFAULT_REGION cruise/webviz-ci:0.0.8 npm run ci
- run:
command: docker run -v `pwd`:`pwd` -w `pwd` -it --rm -e CI -e CIRCLE_SHA1 -e REG_SUIT_EXPECTED_KEY -e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY -e AWS_DEFAULT_REGION cruise/webviz-ci:0.0.8 npm run ci
no_output_timeout: 30m

- save_cache:
paths: ["node_modules"]
Expand Down
11 changes: 11 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# http://editorconfig.org

root = true

[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
1 change: 1 addition & 0 deletions .flowconfig
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ dist
emoji=true
esproposal.class_static_fields=enable
esproposal.class_instance_fields=enable
esproposal.optional_chaining=enable
# Cheap workaround to make flow typechecking work across packages in the monorepo
module.system.node.resolve_dirname=node_modules
module.system.node.resolve_dirname=./packages
Expand Down
31 changes: 31 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
on: [push]

jobs:
build:

runs-on: ubuntu-latest

strategy:
matrix:
node-version: [10.x]

steps:
- uses: actions/checkout@v1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: npm bootstrap & build
run: |
npm run bootstrap
npm run build --if-present
#npm run docs (runs webserver)
env:
CI: true
- uses: elgohr/Publish-Docker-Github-Action@v5
with:
name: cruise-automation/webviz/webwiz:latest
registry: docker.pkg.github.com
dockerfile: Dockerfile
username: warpoe
password: ${{ secrets.GITHUB_TOKEN }}
4 changes: 2 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"editor.formatOnSave": true,
"eslint.autoFixOnSave": true,
"flow.useNPMPackagedFlow": true,
"javascript.validate.enable": false,
"typescript.validate.enable": false,
"files.associations": {
"*.mdx": "markdown"
},
"editor.codeActionsOnSave": {
"source.organizeImports": false
"source.organizeImports": false,
"source.fixAll.eslint": true
}
}
10 changes: 6 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# [Webviz](https://webviz.io/) [![CircleCI](https://circleci.com/gh/cruise-automation/webviz.svg?style=svg)](https://circleci.com/gh/cruise-automation/webviz)

**Drag and drop your own bag files into [Webviz](https://webviz.io/try/) to explore your robotics data.**
**Drag and drop your own bag files into [Webviz](https://webviz.io/app/) to explore your robotics data, or connect to a live robot or simulation using the [rosbridge_server](http://wiki.ros.org/rosbridge_suite/Tutorials/RunningRosbridge).**

**View a demo of Webviz in action [here](https://webviz.io/try/?demo).**
**View a demo of Webviz in action [here](https://webviz.io/app/?demo).**

**Webviz** is a web-based application for playback and visualization of [ROS](http://www.ros.org/) [bag files](http://wiki.ros.org/Bags). This repository also contains some libraries that can be used independently to build web-based visualization tools.

- **webviz-core** ([homepage](https://webviz.io/), [tool](https://webviz.io/try), [github](https://github.com/cruise-automation/webviz/tree/master/packages/webviz-core)): A tool to inspect [ROS bags](http://wiki.ros.org/ROS/Tutorials/Recording%20and%20playing%20back%20data).
- **webviz-core** ([homepage](https://webviz.io/), [tool](https://webviz.io/app), [github](https://github.com/cruise-automation/webviz/tree/master/packages/webviz-core)): A tool to inspect [ROS bags](http://wiki.ros.org/ROS/Tutorials/Recording%20and%20playing%20back%20data).
- **regl-worldview** ([homepage](https://webviz.io/worldview/), [npm](https://www.npmjs.com/package/regl-worldview), [github](https://github.com/cruise-automation/webviz/tree/master/packages/regl-worldview)): React library for rendering 2D and 3D scenes using [regl](https://github.com/regl-project/regl).
- **react-key-listener** ([npm](https://www.npmjs.com/package/react-key-listener), [github](https://github.com/cruise-automation/webviz/tree/master/packages/react-key-listener)): React component for handling keyboard events, without interfering with editable fields and buttons.
- **@cruise-automation/hooks** ([npm](https://www.npmjs.com/package/@cruise-automation/hooks), [github](https://github.com/cruise-automation/webviz/tree/master/packages/@cruise-automation/hooks)): A list of resusable React hooks.
Expand All @@ -19,7 +19,7 @@ Please see the individual package READMEs for details on how to install and use

- `npm run bootstrap` in the root directory to install dependencies.
- `npm run build` to run a single build or `npm run watch` to watch and build.
- `npm run docs` to run the docs app (e.g. go to http://localhost:8080/try to open Webviz). Requires `build` to be run first.
- `npm run docs` to run the docs app (e.g. go to http://localhost:8080/app to open Webviz). Requires `build` to be run first.
- `npm run storybook` to run storybook. Requires `build` to be run first.
- `npm run screenshot-debug` to generate screenshots from stories.
- `npm run lint` to run the linters (and `npm run lint:fix` to automatically fix issues).
Expand All @@ -35,3 +35,5 @@ If you have the right permissions, you can publish:
## Contributing

PRs, bug reports, and feature requests are welcome! Please observe [CONTRIBUTING.md](CONTRIBUTING.md) and [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) when making a contribution.

Note that while it's possible to fork Webviz to make your own custom version, we'd encourage you to use webviz.io/app and propose generic solutions that everyone would benefit from. Cruise also still has its own fork of Webviz, but long term we'd like to move away from that. For examples of generic features, see the Node Playground panel, using generic RViz markers in the 3d panel, streaming in bags from any cloud service, loading layouts hosted on arbitrary URLs, and so on. We'd love your creative ideas for making Webviz widely useful!
2 changes: 2 additions & 0 deletions babel.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ module.exports = {
plugins: [
"@babel/plugin-transform-modules-commonjs",
"@babel/plugin-proposal-class-properties",
"@babel/plugin-proposal-nullish-coalescing-operator",
"@babel/plugin-proposal-optional-chaining",
"@babel/plugin-syntax-dynamic-import",
["@babel/plugin-proposal-object-rest-spread", { useBuiltIns: true }],
],
Expand Down
Binary file added docs/public/app/favicon.ico
Binary file not shown.
1 change: 1 addition & 0 deletions docs/public/app/index.html
24 changes: 17 additions & 7 deletions docs/public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,24 @@
<html lang="en">

<head>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-82819136-10"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-82819136-10');
</script>

<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="theme-color" content="#000000" />
<meta name="viewport" content="width=device-width, initial-scale = 1.0,
maximum-scale=1.0, user-scalable=no" />
<meta name="description" content="Visualizing robotics data in the browser">
<title>Webviz</title>
<title>webviz</title>
<link href="https://fonts.googleapis.com/css?family=Roboto|Roboto+Mono&display=swap" rel="stylesheet">
<meta property="og:title" content="Webviz" />
<meta property="og:title" content="webviz" />
<meta property="og:description" content="Visualizing robotics data in the browser" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://webviz.io" />
Expand Down Expand Up @@ -563,7 +572,7 @@
<body>
<div class="container-overflow">
<header>
<a target="_blank" href="https://webviz.io/try/">Use Webviz</a>
<a target="_blank" href="app/">Use Webviz</a>
<a target="_blank" href="https://github.com/cruise-automation/webviz">Github</a>
<a target="_blank" href="https://getcruise.com/">Cruise</a>
</header>
Expand All @@ -573,7 +582,7 @@
<p id="text-webviz">WEBVIZ</p>
<h1>Visualizing robotics data in the browser</h1>
<div style="width: 100%; display: flex">
<a target="_blank" href="https://webviz.io/try/?demo">
<a target="_blank" href="app/?demo">
<button>
View demo
</button>
Expand All @@ -595,7 +604,8 @@ <h2>
Cruise uses Webviz to visualize thousands of complex decisions our vehicles make–both on the road and in
simulation.
Drag and drop your own <a target="_blank" class="in-copy" href="http://wiki.ros.org/Bags">ROS bag
files</a> into Webviz to get immediate visual insight into your robotics data.
files</a> into Webviz to get immediate visual insight into your robotics data. Or even connect to
a <a target="_blank" class="in-copy" href="http://wiki.ros.org/rosbridge_suite/Tutorials/RunningRosbridge">live robot or simulation</a>.
</h2>

<h2>
Expand Down Expand Up @@ -681,7 +691,7 @@ <h2>
Engineering Productivity team.
</h2>
<div style="width: 100%; justify-content: start; display: flex ; max-width: 720px;">
<a target="_blank" href="https://webviz.io/try/?demo">
<a target="_blank" href="app/?demo">
<button>
View demo
</button>
Expand All @@ -690,7 +700,7 @@ <h2>
</section>

<footer>
<a target="_blank" href="https://webviz.io/try/">Use Webviz</a>
<a target="_blank" href="app/">Use Webviz</a>
<a target="_blank" href="https://github.com/cruise-automation/webviz">Github</a>
<a target="_blank" href="https://getcruise.com/">Cruise</a>
</footer>
Expand Down
1 change: 0 additions & 1 deletion docs/public/try/index.html

This file was deleted.

23 changes: 23 additions & 0 deletions docs/public/try/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<!--
Copyright (c) 2018-present, Cruise LLC

This source code is licensed under the Apache License, Version 2.0,
found in the LICENSE file in the root directory of this source tree.
You may not use this file except in compliance with the License.
-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="theme-color" content="#000000" />
<title>webviz</title>
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
<script>
window.location.href = "/app" + window.location.search;
</script>
</head>
<body>
<noscript> You need to enable JavaScript to run this app. </noscript>
</body>
</html>
9 changes: 9 additions & 0 deletions docs/public/worldview/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,15 @@
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-82819136-10"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-82819136-10');
</script>

<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="theme-color" content="#000000" />
Expand Down
6 changes: 3 additions & 3 deletions docs/src/2.4.ManagingTheCamera.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import CodeSandboxEmbed from './jsx/utils/CodeSandboxEmbed.js';
import { MoveCamea, FollowObject, FollowObjectOrientation } from './jsx/allLiveEditors'
import CodeSandboxEmbed from "./jsx/utils/CodeSandboxEmbed.js";
import { MoveCamera, FollowObject, FollowObjectOrientation } from "./jsx/allLiveEditors";

# Managing the Camera

Expand Down Expand Up @@ -33,7 +33,7 @@ import duckModel from "common/fixtures/Duck.glb"; // Webpack magic: we actually

To move the camera, we'll use a handy [useAnimationFrame](https://github.com/cruise-automation/webviz/tree/master/packages/%40cruise-automation/hooks) hook that accepts a callback which will be called at each browser repaint. In our case, whenever the callback is called, we'll increase a `count` state by 1, and use the `count` state to adjust the camera's `phi` and `thetaOffset`.

<MoveCamea />
<MoveCamera />

Now the camera is moving around the scene, giving us a 360° view of the duck model!

Expand Down
Loading