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

Exposes visualizations in CLI and in the web #186

Merged
merged 118 commits into from
Aug 17, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
118 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
79f1c88
Fix Vec sort registration
saulshanabrook Jun 15, 2023
7ae6456
Add vec tests
saulshanabrook Jun 15, 2023
9af9be7
Add vec get and length
saulshanabrook Jun 15, 2023
de202c4
Merge patch-1 into main
saulshanabrook Jun 16, 2023
a5e3963
Add string concatenation
saulshanabrook Jun 16, 2023
7b572a0
Merge string-concat into main
saulshanabrook Jun 16, 2023
9ebc4f9
Fix vec extract call
saulshanabrook Jun 17, 2023
989f052
Merge patch-1 into main
saulshanabrook Jun 17, 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
e53df33
Merge visualizer into main
saulshanabrook Jun 17, 2023
5c6aaf9
Revert "Reduce nodesep"
saulshanabrook Jun 17, 2023
7e1b75f
Add outer cluster label to remove warning
saulshanabrook Jun 17, 2023
4b7ec0a
Merge visualizer into main
saulshanabrook Jun 17, 2023
daa97af
Add support for tooltips in graphviz
saulshanabrook Jun 21, 2023
844b104
Add support for publicly registering sorts
saulshanabrook Jul 4, 2023
3c45348
Merge visualizer into main
saulshanabrook Jul 4, 2023
804cd8c
Merge add-sort into main
saulshanabrook Jul 4, 2023
02cc751
Switch to add arcsort and make eval_expr public
saulshanabrook Jul 4, 2023
7b72666
Merge add-sort into main
saulshanabrook Jul 4, 2023
5a171b0
Merge egraphs-good/main into visualizer
saulshanabrook Jul 11, 2023
ca66e3c
Remove graph code
saulshanabrook Aug 8, 2023
da560a6
Merge egraphs-good/main into visualizer
saulshanabrook Aug 8, 2023
d240be4
Get working with serialize
saulshanabrook Aug 8, 2023
875df81
Fix graphviz for web
saulshanabrook Aug 8, 2023
4484d83
Remove unused change
saulshanabrook Aug 8, 2023
98464b5
Tidy up export code
saulshanabrook Aug 8, 2023
ae1462b
Remove another func tion
saulshanabrook Aug 8, 2023
dba22c6
Rename commands to `--to-...` to go with `--to-json`
saulshanabrook Aug 8, 2023
0775209
bump serialize version
saulshanabrook Aug 11, 2023
99c62fc
Fix web demo
saulshanabrook Aug 11, 2023
945441b
Fix tests
saulshanabrook Aug 11, 2023
be19ef1
Format
saulshanabrook Aug 11, 2023
2f983c7
Fix typo added to URL
saulshanabrook Aug 14, 2023
26c80f5
Add to describe why we upload an artifact
saulshanabrook Aug 14, 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
16 changes: 15 additions & 1 deletion .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,25 @@ jobs:
- name: Build
run: make web

# Upload the built website as an artifact, so that runs which are not deployed
# (i.e. other branches and PRs) to Github Pages can be be downloaded
# (https://docs.github.com/en/actions/managing-workflow-runs/downloading-workflow-artifacts)
# and viewed locally.
#
# When Github adds support for PR Github Pages previews
# (https://github.com/orgs/community/discussions/7730)
# this can be removed.
- name: Upload web artifact
uses: actions/upload-artifact@v3
with:
name: www
path: target/www

saulshanabrook marked this conversation as resolved.
Show resolved Hide resolved
- 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