-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
7331e73
commit f03bd74
Showing
97 changed files
with
674 additions
and
209 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,205 @@ | ||
--- | ||
slug: 1.0.4 | ||
title: Posthoc v1.0.4 | ||
authors: [kzheng] | ||
tags: [changelog, v1.0.4] | ||
--- | ||
|
||
## Changes | ||
|
||
### Architecture Changes | ||
|
||
#### UI Overhaul | ||
|
||
Waypoint is completely rebuilt to support dynamic and reconfigurable panels, so you can adjust the UI to fit your workflow or use case. Check out the [use cases](#use-cases) section for examples. | ||
|
||
![aux-1](./assets/22-09-2023/aux-1.png) | ||
|
||
#### Layers | ||
|
||
Visualise what you need by adding it as a layer to the app. | ||
|
||
##### Trace Layer | ||
|
||
The **Trace** layer renders a search trace. Search traces are JSON documents produced by pathfinding solvers that record steps in the search process. | ||
![trace](./assets/22-09-2023/trace.png) | ||
|
||
##### Map Layer | ||
|
||
The **Map** layer renders maps in a supported format. | ||
|
||
![map](./assets/22-09-2023/map.png) | ||
|
||
##### Query Layer | ||
|
||
The **Query** layer interfaces with solvers to display search traces for arbitrary problem instances. | ||
|
||
![query](./assets/22-09-2023/query.png) | ||
|
||
#### Extensible Renderer System | ||
|
||
Renderers (a.k.a. the Viewport panel) can now be added to Waypoint via extensions (the exact implementation is work-in-progress). This will allow for future renderers to be added with ease (for example, a 3D renderer). | ||
|
||
![renderer](./assets/22-09-2023/renderer.png) | ||
|
||
#### Layers Panel | ||
|
||
Manage view layers using the **Layers** panel. | ||
|
||
#### Viewport Panel | ||
|
||
The **Viewport** panel renders your layers by making use of an installed renderer (by default, the 2D renderer). You can choose which layers to render, as well as auto-fit the contents to the viewport, or display the contents at 1:1 scale. | ||
|
||
#### Tree Panel | ||
|
||
If your pathfinding search problem does not have a convenient spatial embedding (or if you just wanted to), you can also visualise any search trace in a hierarchal format with the **Tree** panel. You can choose how many nodes to render at once. | ||
|
||
#### Steps Panel | ||
|
||
View and replay the recorded events of the search process using the **Steps** panel. | ||
|
||
#### Debugger Panel | ||
|
||
Debug a search trace using the **Debugger** panel. This feature is currently non-functional in version 1.0.4. | ||
|
||
#### Settings Panel | ||
|
||
Manage connections to solvers and renderers in the **Settings** panel. | ||
|
||
#### Logs Panel | ||
|
||
Waypoint will keep a record of all alerts in the **Logs** panel. | ||
|
||
### Features | ||
|
||
#### 2D Renderer (Built-in) | ||
|
||
The basic 2D renderer is built to be reliable and highly performant. Internally, it delegates rendering to background processes. The main process figures out which sections of the screen needs to be repainted (and what resolution) and requests those tiles from the subprocesses. | ||
|
||
![renderer](./assets/22-09-2023/renderer.gif?raw=true) | ||
|
||
[Click here for full size](./assets/22-09-2023/renderer.mkv) | ||
|
||
#### Grid, Network (XY), Poly, Mesh Map Support | ||
|
||
There is built-in support for grid (`.grid/.map`), network (`.co/.gr/.xy`), mesh (`.mesh`), and polygon (`.poly`) map files. Conversions may be required. | ||
|
||
| | Grid | Network | Mesh | Poly | | ||
| -------------------- | ------------------------------------- | --------------------------------------------------- | ------------------------------------- | ------------- | | ||
| Conversions required | Rename your `*.map` files to `*.grid` | Use `dimacs2xy` to convert `.co/.gr` files to `.xy` | Update your `.mesh` file to version 3 | None required | | ||
|
||
#### Large Map Rendering Support | ||
|
||
The renderer and map parser performs optimisations to handle the rendering of large maps. | ||
|
||
![large-map-florida](./assets/22-09-2023/large-map-florida.gif?raw=true) | ||
|
||
[Click here for full size](./assets/22-09-2023/large-map-florida.mkv) | ||
|
||
### Use Cases <a id="use-cases"></a> | ||
|
||
#### Visualising a Search Trace | ||
|
||
Load a search trace and map into Waypoint. | ||
|
||
![basic](./assets/22-09-2023/basic.gif?raw=true) | ||
|
||
[Click here for full size](./assets/22-09-2023/basic.mkv) | ||
|
||
#### Interacting with a Search Trace (Viewport, Steps and Tree) | ||
|
||
Move around a search trace through the Viewport, Tree, and Steps panel. | ||
|
||
![interactive](./assets/22-09-2023/interactive.gif?raw=true) | ||
|
||
[Click here for full size](./assets/22-09-2023/interactive.mkv) | ||
|
||
#### Creative Use of the Search Trace Format (Polyanya) | ||
|
||
The example uses the search trace format to tell the renderer to draw each event in the search process as a triangle. | ||
|
||
![polyanya](./assets/22-09-2023/polyanya.png) | ||
|
||
#### Creative Use of the Search Trace Format (9-Tile) | ||
|
||
This example uses the search trace format to tell the renderer how to display the current state of a 9-tile puzzle. | ||
|
||
![nine-tile](./assets/22-09-2023/nine-tile.png) | ||
|
||
#### Running a Search Query | ||
|
||
This example runs a query using Warthog (WebAssembly) over a grid map. | ||
|
||
![query](./assets/22-09-2023/query.gif?raw=true) | ||
|
||
[Click here for full size](./assets/22-09-2023/query.mkv) | ||
|
||
#### Comparison of Two Traces | ||
|
||
This example compares the search process of two A\* implementations, one as a Search Trace file, and another as a query. We display these side-by-side. | ||
|
||
![comparison](./assets/22-09-2023/comparison.gif?raw=true) | ||
|
||
[Click here for full size](./assets/22-09-2023/comparison.mkv) | ||
|
||
### Releases | ||
|
||
#### Waypoint Standalone (Electron) for Windows | ||
|
||
Get Waypoint as a standalone application for Windows. | ||
|
||
[View Releases](https://github.com/path-visualiser/app/releases) | ||
|
||
#### Waypoint Standalone (Electron) for Linux | ||
|
||
Get Waypoint as a standalone application for Linux. | ||
|
||
[View Releases](https://github.com/path-visualiser/app/releases) | ||
|
||
#### Waypoint PWA (Github Pages) | ||
|
||
Use Waypoint in your browser, or install it as a web app. | ||
|
||
[Open Waypoint](https://path-visualiser.github.io/app/) | ||
|
||
#### Warthog (WebAssembly) Solver Adapter | ||
|
||
This is the Warthog solver compiled to WebAssembly. Add this URL as a **Web Worker** connection in Waypoint (it should also be there by default). | ||
|
||
`https://cdn.jsdelivr.net/gh/path-visualiser/app@adapter-warthog-wasm-dist/warthog-wasm.mjs` | ||
|
||
#### Warthog (Socket.io/WebSocket) Solver Adapter | ||
|
||
This is the Warthog solver running behind an adapter server. The adapter translates requests into Warthog problem instances, and converts Warthog output into the search trace format. The visualiser and solver communicates through a WebSocket channel. | ||
|
||
```shell | ||
git clone https://github.com/path-visualiser/app | ||
cd ./app/adapter-warthog-websocket | ||
npm i | ||
npm start | ||
``` | ||
|
||
Then, as prompted, add the server's URL as a **Socket.io** connection in Waypoint. | ||
|
||
#### Iron Harvest Map Adapter | ||
|
||
This is an example adapter that exclusively serves iron harvest grid maps to demonstrate how you could serve maps as well as run search queries. | ||
|
||
```shell | ||
git clone https://github.com/path-visualiser/app | ||
cd ./app/adapter-iron-harvest | ||
npm i | ||
npm start | ||
``` | ||
|
||
Then, as prompted, add the server's URL as a **Socket.io** connection in Waypoint. | ||
|
||
### Known Issues | ||
|
||
#### Freeze on Large Search Traces | ||
|
||
Waypoint may freeze when the search trace contains too many steps. This is due to the inefficient way the path is currently calculated. | ||
|
||
#### Cannot Choose Source and Destination Nodes for Queries on Network Maps | ||
|
||
Currently, queries on the network maps will force the source and destination nodes to be `0`. |
This file was deleted.
Oops, something went wrong.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,116 @@ | ||
--- | ||
slug: 1.2.0 | ||
title: Posthoc v1.2.0 | ||
authors: [kzheng] | ||
tags: [changelog, v1.2.0] | ||
--- | ||
|
||
## UI | ||
|
||
### General UI Improvements | ||
|
||
We generally improved the UI, including the addition of a sidebar, to deliver a sleeker and more comfortable experience. | ||
|
||
![Alt text](./assets/1-03-2024/improved-ui.png) | ||
|
||
We improved the usability of the UI under different conditions like when the window gets too small. | ||
|
||
### Empty Panel Copy | ||
|
||
We added copy and a subtle design to panels that are empty to indicate that an action (like loading a trace) is required before they become active. | ||
|
||
[Clip: Empty Panels](./assets/1-03-2024/1.2.0-empty-panels.mp4) | ||
|
||
### Layer Editor Panel Redesign | ||
|
||
Previously, the layer editor is presented as a modal. It required multiple clicks to load a file and the interface is a bit confusing. In this version, the layer editor is redesigned as a popover and is significantly more usable. | ||
|
||
[Clip: Layer Editor](./assets/1-03-2024/1.2.0-layer-panel.mp4) | ||
|
||
### Steps Panel Redesign | ||
|
||
Previously, the playback controls tend to be hidden from immediate sight due to all controls being on the main toolbar. In this version, the playback controls are separated into their own island. | ||
|
||
![Steps Panel](./assets/1-03-2024/steps-panel.png) | ||
|
||
### Event Properties View | ||
|
||
We added a way to view all of the properties of an event. This can be opened through clicking on **See All Properties** of an event in the Steps panel. | ||
|
||
![Event Properties](./assets/1-03-2024/event-properties.png) | ||
|
||
### Panel Management | ||
|
||
We added the ability reorganise your panels by moving them around. You can do this by dragging the handle in the top left corner. | ||
|
||
## System | ||
|
||
### Error Handling | ||
|
||
We introduced a per-layer error API that displays an error label when a layer encounters a problem. For example, if a map couldn't load correctly. | ||
|
||
[Clip: Error Handling](./assets/1-03-2024/1.2.0-error-handling.mp4) | ||
|
||
### Workspaces | ||
|
||
We introduced a simple import/export mechanism for quickly sharing or restoring your work. This can be found in the title bar menu (**Workspace** > **Open Workspace**, **Workspace** > **Save Workspace**). | ||
|
||
### Publish Workspaces | ||
|
||
We designed a simple way to export your workspaces with metadata. In the future, you'll be able to upload these to a community repository. | ||
|
||
![Publish Workspace](./assets/1-03-2024/publish-workspace.png) | ||
|
||
### Drag and Drop | ||
|
||
You can now drag and drop any assortment of files into the visualiser. | ||
|
||
[Clip: Drag and Drop](./assets/1-03-2024/1.2.0-drag-and-drop.mp4) | ||
|
||
### Filesystem Bridge Adapter (Experimental) | ||
|
||
To help with development and debugging workflows, we provided a way to see live update of search traces. With the right tooling, you'll be able to make changes to your code and then immediately see its visualisation. We're still refining this feature. | ||
|
||
## Features | ||
|
||
### Explore | ||
|
||
We added a hub for new users to try out built-in visualisations. | ||
|
||
![Explore Page](./assets/1-03-2024/explore-page.png) | ||
|
||
For new users, this panel would display on start-up. | ||
|
||
![Explore Page Modal](./assets/1-03-2024/explore-page-modal.png) | ||
|
||
### Fit to Viewport | ||
|
||
We introduced a way to fit specific layers to the viewport. | ||
|
||
[Clip: Fit to Viewport](./assets/1-03-2024/1.2.0-fit.mp4) | ||
|
||
### Filter Steps by Type | ||
|
||
We added the ability to filter events in the Steps view by event type. | ||
|
||
![Steps Filter](./assets/1-03-2024/steps-filter.png) | ||
|
||
### Debugger Improvements | ||
|
||
The debugger was updated with some new features. In the standard editor, you can now specify to break when a value changed from its parent. In the advanced editor, you now get access to `parent` and `children` variables. | ||
|
||
![Debugger](./assets/1-03-2024/debugger.png) | ||
|
||
## 2D Renderer | ||
|
||
### Performance Improvements | ||
|
||
We slightly improved perceived performance by increasing resolution when playback is paused and decreasing resolution when it is playing. We also implement dynamic framerate so the playback should feel more consistent. | ||
|
||
# Known Issues | ||
|
||
See issues on [our bug tracker](https://github.com/path-visualiser/app/issues). | ||
|
||
# Releases | ||
|
||
See releases for v1.2.0 [here](https://github.com/path-visualiser/app/releases/tag/v1.2.0). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
--- | ||
slug: 1.2.4 | ||
title: Posthoc v1.2.4 | ||
authors: [kzheng] | ||
tags: [changelog, v1.2.4] | ||
--- | ||
|
||
[Todo] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
kzheng: | ||
name: Kevin Zheng | ||
title: Visualiser maintainer | ||
title: Posthoc lead developer | ||
url: https://github.com/spaaaacccee | ||
image_url: https://github.com/spaaaacccee.png |
Oops, something went wrong.