This has been discussed multiple times, but I pretty much only made this thread to confirm two things.
You can compile Powder Toy if you have Crostini installed using the directions for linux compiling on the Wiki.
https://www.androidcentral.com/how-install-linux-apps-your-chromebook (use the Terminal app in the Chrome OS app menu to copy and paste commands into bash.
https://powdertoy.co.uk/Wiki/W/Compiling_TPT%2B%2B_on_debian/ubuntu.html
The compiled version works fine. crostini GPU acceleration may need to be enabled in about:flags.
Downloading the binary doesn't seem to work because the gnulibc version isn't availible on crostini's version of debian. Plus you need to enable execute on the binary and there's not really a way to get a shortcut in chrome os's menu, unless there's a method i'm not aware of.
Crostini is a method to run linux apps with a vm inside Chrome OS, officially sanctioned by google and can also use GPU acceleration via a virtual GPU. Mouse lock control and sound are not working right now.
You can also install Powder toy from Google Play although it is the android version, it works fine on Chrome OS.
I don't expect this to work for school managed chromebooks because you either need google play or to enable crostini from the settings.
edit: Swapped out the arch wiki link because if anyone followed the directions on that they wouldn't be using debian.
./powder64: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by ./powder64)
Snapshot just gives a wrong SSL version error.
./powder64: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
edit: I mostly suggested enabling GPU acceleration because most games in Crostini tend to be slow.
edit2: Chrome OS crostini is running a VM with Debian 9. I could probably update to Debian 10 but I already have powder toy compiled to run.