Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 7 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,18 @@ Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how

## [Unreleased]

## [0.0.16] - 2025-05-07

### Added

- Pan & zoom for the graphs in both the IDE extensions and the web version
- Documentation now renders `dot` and `dot-cfg` (CFG-styled DOT diagrams)
- Documentation about our usage of Graphviz
- Documentation about the representation of control flow in the graph
- Added docs about GraphViz tips and tricks
- Added docs about our choices of visuals
- Added support for "special" function detection and process-terminating nodes in the graph.
This is currently only enabled in the `/render` page to slowly build up a collection of
functions to match and confidence in the representation before adding to the main tool.
- When changing the code language, the URL is updated to reflect that.
- Pan & zoom for the graphs in both the IDE extensions and the web version
- In the web demo, URL now updates to reflect the selected language.

### Fixed

Expand All @@ -31,8 +33,7 @@ Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how
with unexpected recursion in the command. It is also a nicer name.
- Language definitions are now more unified, making it easier to add new languages.
- `language` URL query parameter now takes language name instead of index.
- Sharing now shares full config in addition to code.
- Sharing now uses the `compressed=` query parameter for all information.
- Sharing now includes configuration (color scheme, switch handling, highlighting) in addition to the code.
- Migrated from Bun Test to Vitest. Tests are now run using `bun vitest`.
- Web version layout changed to always fit in one screen (no scrollbar).

Expand Down
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,14 @@ Custom color schemes are created via the [interactive demo](https://tmr232.githu
4. Paste the config into the `Custom Color Scheme` field in the VSCode extension settings.<br/>
![The Custom Color Scheme field in the settings](media/screenshots/color-scheme/settings-custom.png)

## Pan & Zoom

If the graph is too small, enable the "Pan & Zoom" checkbox.
You can zoom with the mouse wheel, and pan by dragging the mouse.
Additionally, the view will automatically pan to the highlighted node when it changes.

![Demonstration of pan & zoom in VSCode](media/gif/panzoom-demo.gif)

## Supported Languages

- [Go](https://tmr232.github.io/function-graph-overview/?language=go)
Expand Down
Binary file added media/gif/panzoom-demo.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@
"//": "START EXTENSION ATTRIBUTES",
"publisher": "tamir-bahar",
"name": "function-graph-overview",
"version": "0.0.15",
"version": "0.0.16",
"description": "Function Graph Overview",
"displayName": "Function Graph Overview",
"icon": "./media/icon.png",
Expand Down
1 change: 1 addition & 0 deletions src/components/PanzoomComp.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ const zoomable: Action<HTMLElement, ZoomConfig> = (
minScale: 1,
contain: "outside",
cursor: "default",
duration: 300,
});
node.parentElement?.addEventListener("wheel", panzoom.zoomWithWheel);
registerPanzoomOnclick(
Expand Down
Loading