Remove spacetimedb-core as a dep of cli
Description of Changes
This is possible now that standalone is now a separate binary from cli. This lets us separate concerns, and speed up compilation of the cli.
Expected complexity level and risk
1 - moves some stuff around but otherwise a pretty small change.
Testing
- [x] No functionality change, tests still pass for codegen for our test modules (for rust, csharp modules).
I'm broadly in favor of improving compile times. +1 to Mario's questions.
Dumb question - what exactly is spacetimedb-core? At first glance, it seems entirely reasonable for the CLI to depend on a core spacetimedb library.
I don't personally feel equipped to confirm that the changes don't do something meaningful, particularly around wasmtime. Can you add a bit more detail to the Testing section about the existing test coverage for generate?
spacetimedb-core is the core of the database implementation, and now that is being pulled in by standalone. The CLI only needs to be able to talk to a database, but it doesn't need to run one itself.
I could copy over Mem and MemView from spacetimedb_core::host::wasmtime, but that would mean there's more code and unsafe duplicated overall, and this only uses a small amount of its functionality.
The internal tests are only because Cargo.lock needs regen. I feel like those tests probably shouldn't use --locked