Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add EGraph Visualizations #147

Closed
wants to merge 88 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
799988f
First go at graphviz export
saulshanabrook May 11, 2023
1157020
Skip generated names
saulshanabrook May 11, 2023
2bebd51
Use right hashmap
saulshanabrook May 11, 2023
8018a0a
Expose graph
saulshanabrook May 15, 2023
7123f22
Make graph crate private
saulshanabrook May 15, 2023
3b58630
Clippy fixes
saulshanabrook May 15, 2023
bc4ddd2
Tidy up string generation
saulshanabrook May 15, 2023
df337d8
Add CLI options to output .dot and .svg
saulshanabrook May 16, 2023
70dd9b7
Ignore .DS_Store
saulshanabrook May 16, 2023
d26646e
Add ability to run on all tests
saulshanabrook May 16, 2023
e6816a1
Don't run failing tests
saulshanabrook May 16, 2023
f4e4b14
Fix non primitive builtin sorts
saulshanabrook May 16, 2023
f163daf
Fix extracting Sets with eq sort values
saulshanabrook May 19, 2023
2a335d0
Apply fix for graph
saulshanabrook May 19, 2023
f3a439e
Fix extracting Sets with eq sort values
saulshanabrook May 19, 2023
078375d
Require arcsort in extract
saulshanabrook May 19, 2023
5b67147
Make arcsort required in find_best
saulshanabrook May 19, 2023
e66508d
Merge fix-set-eq-sorts into visualizer
saulshanabrook May 22, 2023
4130b4e
Make makefile iterative
saulshanabrook May 22, 2023
042f591
Add readme description for new CLI commands
saulshanabrook May 22, 2023
9067df7
Move graph to its own folder
saulshanabrook May 22, 2023
141a131
clean up module statements
saulshanabrook May 22, 2023
9279cb0
Remove dead inputs, which removes some duplicates
saulshanabrook May 22, 2023
ffaf490
Make style closer to e-graph website
saulshanabrook May 22, 2023
05e3238
fmt fixes
saulshanabrook May 22, 2023
7fd7f15
Fix wasm build
saulshanabrook May 22, 2023
7d87e76
Order all e-class nodes in same rank
saulshanabrook May 22, 2023
3400b8f
Fix docstrings
saulshanabrook May 23, 2023
5241a5b
Add first working web demo
saulshanabrook May 23, 2023
19f0a69
fmt
saulshanabrook May 23, 2023
e42533b
Make graph fit to box
saulshanabrook May 23, 2023
c09140f
Fix performance
saulshanabrook May 23, 2023
4641509
Animate transitions
saulshanabrook May 23, 2023
a6ce0f6
Add resetting zoom
saulshanabrook May 23, 2023
3b14606
Make primitive nodes have consistent IDs
saulshanabrook May 27, 2023
a0fd023
Refactor and tidy up
saulshanabrook May 27, 2023
2b562b9
Use has value to make IDs stable
saulshanabrook May 27, 2023
db89cc2
Rename to ExportedGraph
saulshanabrook May 27, 2023
ddad72f
Switch to using macros for graphviz gen to make smaller
saulshanabrook May 27, 2023
fc7b81f
Add ports to differentiate arg positions
saulshanabrook May 27, 2023
e9603f2
Test graph generation during tests
saulshanabrook May 29, 2023
4944195
Fix graph generation for proofs by showing temp variables
saulshanabrook May 29, 2023
ac2343a
Clarify cargo req
saulshanabrook May 29, 2023
a17899d
Merge egraphs-good/main into visualizer
saulshanabrook May 29, 2023
caa5285
Typo
saulshanabrook May 29, 2023
e5979fc
Add flag for including temp vars
saulshanabrook May 29, 2023
509e208
Revert "Add flag for including temp vars"
saulshanabrook May 29, 2023
89241a7
Always skip temporary names
saulshanabrook May 29, 2023
f75783d
Switch to grouping all values
saulshanabrook May 31, 2023
038a511
Fix bug in adding container edges
saulshanabrook May 31, 2023
761a0a6
Start trying to remove duplicate values
saulshanabrook May 31, 2023
8db13e2
Refactor graphviz export to struct to make ownership clearer
saulshanabrook Jun 1, 2023
df6e367
Add sorts to graphs
saulshanabrook Jun 1, 2023
c4d4516
Differentiate styles between e-classes and not
saulshanabrook Jun 1, 2023
e7e5451
Add colors to graphs
saulshanabrook Jun 1, 2023
77e80d4
fmt
saulshanabrook Jun 1, 2023
9da623c
Separate unit nodes
saulshanabrook Jun 3, 2023
7ddabb8
Switch to not grouping all equal prim values in cluster
saulshanabrook Jun 5, 2023
37eb6dd
Ignore cykjson when testing graphs, too long
saulshanabrook Jun 5, 2023
4b7cf4b
Don't include unit nodes, redundant with sort
saulshanabrook Jun 5, 2023
60f6b09
Remove displaying sorts for size
saulshanabrook Jun 5, 2023
e3575c5
Try reducing size of generated graphviz to reduce memory
saulshanabrook Jun 6, 2023
b33345c
undo making some things public to the crate
saulshanabrook Jun 6, 2023
8a3b83b
Concentrate nodes
saulshanabrook Jun 6, 2023
810d8e8
Revert changes to foreach_tracked_values to fix tests
saulshanabrook Jun 6, 2023
859dc7c
Changes node fonts to helvetica
saulshanabrook Jun 6, 2023
7302af8
Try limiting the size of the graphs
saulshanabrook Jun 6, 2023
fec5407
Show ports for missing nodes
saulshanabrook Jun 7, 2023
482f0e1
Merge egraphs-good/main into visualizer
saulshanabrook Jun 12, 2023
a745b50
Remove importmap to improve compat
saulshanabrook Jun 12, 2023
f5f26ba
Fix limiting functions and calls
saulshanabrook Jun 12, 2023
10ed0e5
fmt
saulshanabrook Jun 12, 2023
2b68204
Log result from running program
saulshanabrook Jun 12, 2023
dbf9ef9
Re-add accidentally removed import
saulshanabrook Jun 12, 2023
c9de3d5
Add back accidentally remove assert
saulshanabrook Jun 12, 2023
6b271a9
Revert "Revert changes to foreach_tracked_values to fix tests"
saulshanabrook Jun 12, 2023
148be78
Save web artifact on build
saulshanabrook Jun 12, 2023
a891d3a
Upgrade upload artifact
saulshanabrook Jun 12, 2023
453a02b
Fix warning, dont emit colspan if 0
saulshanabrook Jun 12, 2023
5160eb8
Fix edges so they all come from below the node
saulshanabrook Jun 12, 2023
71e98f6
Increase nodesep slightly so that long nodes dont touch
saulshanabrook Jun 12, 2023
1d92c82
Remove margin on outer graph
saulshanabrook Jun 12, 2023
aa7d7ac
Reduce rank sep slightly
saulshanabrook Jun 17, 2023
40c27da
Add another cluster nesting to increase margin
saulshanabrook Jun 17, 2023
4380306
Reduce nodesep
saulshanabrook Jun 17, 2023
5c6aaf9
Revert "Reduce nodesep"
saulshanabrook Jun 17, 2023
7e1b75f
Add outer cluster label to remove warning
saulshanabrook Jun 17, 2023
daa97af
Add support for tooltips in graphviz
saulshanabrook Jun 21, 2023
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
8 changes: 7 additions & 1 deletion .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,17 @@ jobs:
- name: Build
run: make web

- name: Upload web artifact
uses: actions/upload-artifact@v3
with:
name: www
path: target/www

- name: Deploy
uses: peaceiris/actions-gh-pages@v3
# only actually deploy if pushed to main branch
if: ${{ github.ref == 'refs/heads/main' && github.event_name == 'push' }}
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: target/www
force_orphan: true
force_orphan: true
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ profile.json
_scratch.egg
/*.egg
*.log
*.dot
*.svg
*.DS_Store

# racket
scripts/compiled
scripts/compiled
Loading