(stash)
This commit is contained in:
parent
d7b4221727
commit
222459f828
31 changed files with 870 additions and 135 deletions
|
|
@ -1 +1,2 @@
|
||||||
jong-db
|
jong-db
|
||||||
|
bevy_spacetimedb
|
||||||
|
|
|
||||||
247
Cargo.lock
generated
247
Cargo.lock
generated
|
|
@ -500,7 +500,7 @@ dependencies = [
|
||||||
"derive_more 2.1.1",
|
"derive_more 2.1.1",
|
||||||
"downcast-rs 2.0.2",
|
"downcast-rs 2.0.2",
|
||||||
"either",
|
"either",
|
||||||
"petgraph",
|
"petgraph 0.8.3",
|
||||||
"ron",
|
"ron",
|
||||||
"serde",
|
"serde",
|
||||||
"smallvec",
|
"smallvec",
|
||||||
|
|
@ -1303,7 +1303,7 @@ dependencies = [
|
||||||
"glam",
|
"glam",
|
||||||
"indexmap 2.13.0",
|
"indexmap 2.13.0",
|
||||||
"inventory",
|
"inventory",
|
||||||
"petgraph",
|
"petgraph 0.8.3",
|
||||||
"serde",
|
"serde",
|
||||||
"smallvec",
|
"smallvec",
|
||||||
"smol_str",
|
"smol_str",
|
||||||
|
|
@ -2153,6 +2153,18 @@ dependencies = [
|
||||||
"portable-atomic",
|
"portable-atomic",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "console"
|
||||||
|
version = "0.15.11"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8"
|
||||||
|
dependencies = [
|
||||||
|
"encode_unicode",
|
||||||
|
"libc",
|
||||||
|
"once_cell",
|
||||||
|
"windows-sys 0.59.0",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "console_error_panic_hook"
|
name = "console_error_panic_hook"
|
||||||
version = "0.1.7"
|
version = "0.1.7"
|
||||||
|
|
@ -2733,6 +2745,12 @@ version = "1.0.20"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555"
|
checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ecow"
|
||||||
|
version = "0.2.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "78e4f79b296fbaab6ce2e22d52cb4c7f010fe0ebe7a32e34fa25885fd797bd02"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "either"
|
name = "either"
|
||||||
version = "1.15.0"
|
version = "1.15.0"
|
||||||
|
|
@ -2770,6 +2788,12 @@ dependencies = [
|
||||||
"syn 2.0.117",
|
"syn 2.0.117",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "encode_unicode"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "enum-as-inner"
|
name = "enum-as-inner"
|
||||||
version = "0.6.1"
|
version = "0.6.1"
|
||||||
|
|
@ -2782,6 +2806,26 @@ dependencies = [
|
||||||
"syn 2.0.117",
|
"syn 2.0.117",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "enum-map"
|
||||||
|
version = "2.7.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "6866f3bfdf8207509a033af1a75a7b08abda06bbaaeae6669323fd5a097df2e9"
|
||||||
|
dependencies = [
|
||||||
|
"enum-map-derive",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "enum-map-derive"
|
||||||
|
version = "0.17.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn 2.0.117",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "env_filter"
|
name = "env_filter"
|
||||||
version = "0.1.4"
|
version = "0.1.4"
|
||||||
|
|
@ -3751,6 +3795,22 @@ dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "insta"
|
||||||
|
version = "1.46.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e82db8c87c7f1ccecb34ce0c24399b8a73081427f3c7c50a5d597925356115e4"
|
||||||
|
dependencies = [
|
||||||
|
"console",
|
||||||
|
"once_cell",
|
||||||
|
"regex",
|
||||||
|
"serde",
|
||||||
|
"similar",
|
||||||
|
"tempfile",
|
||||||
|
"toml_edit",
|
||||||
|
"toml_writer",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "instability"
|
name = "instability"
|
||||||
version = "0.3.11"
|
version = "0.3.11"
|
||||||
|
|
@ -4819,15 +4879,6 @@ dependencies = [
|
||||||
"num-traits",
|
"num-traits",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "ordered-float"
|
|
||||||
version = "5.0.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "e2c1f9f56e534ac6a9b8a4600bdf0f530fb393b5f393e7b4d03489c3cf0c3f01"
|
|
||||||
dependencies = [
|
|
||||||
"num-traits",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "owned_ttf_parser"
|
name = "owned_ttf_parser"
|
||||||
version = "0.25.1"
|
version = "0.25.1"
|
||||||
|
|
@ -4927,6 +4978,16 @@ dependencies = [
|
||||||
"sha2",
|
"sha2",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "petgraph"
|
||||||
|
version = "0.6.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db"
|
||||||
|
dependencies = [
|
||||||
|
"fixedbitset 0.4.2",
|
||||||
|
"indexmap 2.13.0",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "petgraph"
|
name = "petgraph"
|
||||||
version = "0.8.3"
|
version = "0.8.3"
|
||||||
|
|
@ -5772,6 +5833,15 @@ dependencies = [
|
||||||
"zmij",
|
"zmij",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde_spanned"
|
||||||
|
version = "1.0.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776"
|
||||||
|
dependencies = [
|
||||||
|
"serde_core",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde_with"
|
name = "serde_with"
|
||||||
version = "3.16.1"
|
version = "3.16.1"
|
||||||
|
|
@ -5887,6 +5957,12 @@ version = "0.3.8"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2"
|
checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "similar"
|
||||||
|
version = "2.7.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "siphasher"
|
name = "siphasher"
|
||||||
version = "1.0.2"
|
version = "1.0.2"
|
||||||
|
|
@ -5980,9 +6056,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "spacetimedb"
|
name = "spacetimedb"
|
||||||
version = "1.11.3"
|
version = "1.12.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "83af98280374b59796296f512f7855fd19e19240a358bb7706a54f1c4e4e7dff"
|
checksum = "503ac8c991a76998d4ba699ef9b7f0085d3d7c363d1fcce4219314f909746bca"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bytemuck",
|
"bytemuck",
|
||||||
|
|
@ -5998,13 +6074,14 @@ dependencies = [
|
||||||
"spacetimedb-bindings-sys",
|
"spacetimedb-bindings-sys",
|
||||||
"spacetimedb-lib",
|
"spacetimedb-lib",
|
||||||
"spacetimedb-primitives",
|
"spacetimedb-primitives",
|
||||||
|
"spacetimedb-query-builder",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "spacetimedb-bindings-macro"
|
name = "spacetimedb-bindings-macro"
|
||||||
version = "1.11.3"
|
version = "1.12.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "4d8dbedaa26e2e59d886a19bd2b784356d8d008274046f735c9185f9943bd912"
|
checksum = "1214628a7c29ee58255d511b7c4dbaaa463bc5022dba9401f264c1c85b5a891c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"heck 0.4.1",
|
"heck 0.4.1",
|
||||||
"humantime",
|
"humantime",
|
||||||
|
|
@ -6016,18 +6093,18 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "spacetimedb-bindings-sys"
|
name = "spacetimedb-bindings-sys"
|
||||||
version = "1.11.3"
|
version = "1.12.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "5a0d30e1655731b1564b7094a6213ef6c354ea920e3c04424e55ad377a1bc3e2"
|
checksum = "d4777d90692bade6601887a21a074b71c157b34a92a5cfc8d5ecb46a0c571094"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"spacetimedb-primitives",
|
"spacetimedb-primitives",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "spacetimedb-client-api-messages"
|
name = "spacetimedb-client-api-messages"
|
||||||
version = "1.11.3"
|
version = "1.12.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "93dac13fc3dbd43698823c287c3839a3c13391dd9b33414a724c85335d1aa966"
|
checksum = "745d7ab0f81e3f6333d3ee353ce314b73841fbfe06adad69ab43efa791301da3"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"bytestring",
|
"bytestring",
|
||||||
|
|
@ -6047,12 +6124,13 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "spacetimedb-data-structures"
|
name = "spacetimedb-data-structures"
|
||||||
version = "1.11.3"
|
version = "1.12.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "43d5d42998701abb5fd4878e0ceac31bf208caccc453491620f0ff59e2e75de9"
|
checksum = "b5d85162537b1eeb6eac39383e34ca27aafcbf26987753172ca3de1de1e3a838"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ahash",
|
"ahash",
|
||||||
"crossbeam-queue",
|
"crossbeam-queue",
|
||||||
|
"either",
|
||||||
"hashbrown 0.16.1",
|
"hashbrown 0.16.1",
|
||||||
"nohash-hasher",
|
"nohash-hasher",
|
||||||
"smallvec",
|
"smallvec",
|
||||||
|
|
@ -6061,9 +6139,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "spacetimedb-lib"
|
name = "spacetimedb-lib"
|
||||||
version = "1.11.3"
|
version = "1.12.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "6f7284d48bcfddc7c091756c6d5d3cc9a847b95778c636fdd03b9538d74a57c7"
|
checksum = "6c5e91c66b10dc38cce01928d3f77313276e34c635504e54afdec6f186a2fc9c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bitflags 2.11.0",
|
"bitflags 2.11.0",
|
||||||
|
|
@ -6071,6 +6149,7 @@ dependencies = [
|
||||||
"chrono",
|
"chrono",
|
||||||
"derive_more 0.99.20",
|
"derive_more 0.99.20",
|
||||||
"enum-as-inner",
|
"enum-as-inner",
|
||||||
|
"enum-map",
|
||||||
"hex",
|
"hex",
|
||||||
"itertools 0.12.1",
|
"itertools 0.12.1",
|
||||||
"log",
|
"log",
|
||||||
|
|
@ -6083,10 +6162,20 @@ dependencies = [
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "spacetimedb-metrics"
|
name = "spacetimedb-memory-usage"
|
||||||
version = "1.11.3"
|
version = "1.12.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "9a759e05414bd0f41a1bd498173c3cc2aa94d83b37e564dd0f597aa5c026f3ad"
|
checksum = "eb9c081d3ffafa9c2fa11194b4ea3329773d979e342944b0128282bcbf5d3343"
|
||||||
|
dependencies = [
|
||||||
|
"decorum",
|
||||||
|
"ethnum",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "spacetimedb-metrics"
|
||||||
|
version = "1.12.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "985858969f693529c8624ce195cb747a34f7c84f3097418f595f795c0559fbd1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrayvec",
|
"arrayvec",
|
||||||
"itertools 0.12.1",
|
"itertools 0.12.1",
|
||||||
|
|
@ -6096,22 +6185,32 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "spacetimedb-primitives"
|
name = "spacetimedb-primitives"
|
||||||
version = "1.11.3"
|
version = "1.12.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ff2dc124963dd166ecde2b4d8f0e5ed4cfd27a20d7f6bb9e84d7eff46cc520b5"
|
checksum = "8f0321a161fa39f0937aceb436b47115cd811212799ddaf7996a8ecac3476d8d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 2.11.0",
|
"bitflags 2.11.0",
|
||||||
"either",
|
"either",
|
||||||
"enum-as-inner",
|
"enum-as-inner",
|
||||||
"itertools 0.12.1",
|
"itertools 0.12.1",
|
||||||
"nohash-hasher",
|
"nohash-hasher",
|
||||||
|
"spacetimedb-memory-usage",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "spacetimedb-query-builder"
|
||||||
|
version = "1.12.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "9df8137b6dc2739d4efbc6218c5fb106f1e105a1345819a74053b677bd38c429"
|
||||||
|
dependencies = [
|
||||||
|
"spacetimedb-lib",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "spacetimedb-sats"
|
name = "spacetimedb-sats"
|
||||||
version = "1.11.3"
|
version = "1.12.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "df06586ffc862efd795425854cc2469c561aca5b95f5df2212aa29ef14a56f8a"
|
checksum = "f4e07b1bc933156b0cbe6b6c759e57381ce95df52c4522d9c3d71df59c01cf20"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"arrayvec",
|
"arrayvec",
|
||||||
|
|
@ -6132,6 +6231,7 @@ dependencies = [
|
||||||
"sha3",
|
"sha3",
|
||||||
"smallvec",
|
"smallvec",
|
||||||
"spacetimedb-bindings-macro",
|
"spacetimedb-bindings-macro",
|
||||||
|
"spacetimedb-memory-usage",
|
||||||
"spacetimedb-metrics",
|
"spacetimedb-metrics",
|
||||||
"spacetimedb-primitives",
|
"spacetimedb-primitives",
|
||||||
"thiserror 1.0.69",
|
"thiserror 1.0.69",
|
||||||
|
|
@ -6139,10 +6239,40 @@ dependencies = [
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "spacetimedb-sdk"
|
name = "spacetimedb-schema"
|
||||||
version = "1.11.3"
|
version = "1.12.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b12876a6ebba7685ad52bcd1b540cd4d220bd4cf37746b3a776cb140ebc52483"
|
checksum = "c2763b4769028f111032f00b35635f6cbb0562f54a59d05775f5ea66d7b8f8d2"
|
||||||
|
dependencies = [
|
||||||
|
"anyhow",
|
||||||
|
"derive_more 0.99.20",
|
||||||
|
"ecow",
|
||||||
|
"enum-as-inner",
|
||||||
|
"enum-map",
|
||||||
|
"indexmap 2.13.0",
|
||||||
|
"insta",
|
||||||
|
"itertools 0.12.1",
|
||||||
|
"lazy_static",
|
||||||
|
"petgraph 0.6.5",
|
||||||
|
"serde_json",
|
||||||
|
"smallvec",
|
||||||
|
"spacetimedb-data-structures",
|
||||||
|
"spacetimedb-lib",
|
||||||
|
"spacetimedb-memory-usage",
|
||||||
|
"spacetimedb-primitives",
|
||||||
|
"spacetimedb-sats",
|
||||||
|
"spacetimedb-sql-parser",
|
||||||
|
"termcolor",
|
||||||
|
"thiserror 1.0.69",
|
||||||
|
"unicode-ident",
|
||||||
|
"unicode-normalization",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "spacetimedb-sdk"
|
||||||
|
version = "1.12.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "243f7b433aa0ba1d665aeb9db397b9bd40698d80817840d8fa8d8bfe74e99f00"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anymap",
|
"anymap",
|
||||||
"base64 0.21.7",
|
"base64 0.21.7",
|
||||||
|
|
@ -6161,12 +6291,26 @@ dependencies = [
|
||||||
"spacetimedb-data-structures",
|
"spacetimedb-data-structures",
|
||||||
"spacetimedb-lib",
|
"spacetimedb-lib",
|
||||||
"spacetimedb-metrics",
|
"spacetimedb-metrics",
|
||||||
|
"spacetimedb-query-builder",
|
||||||
"spacetimedb-sats",
|
"spacetimedb-sats",
|
||||||
|
"spacetimedb-schema",
|
||||||
"thiserror 1.0.69",
|
"thiserror 1.0.69",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tokio-tungstenite",
|
"tokio-tungstenite",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "spacetimedb-sql-parser"
|
||||||
|
version = "1.12.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "98cd63f69d4d6b074771830d8f8d12ce52c253179940c1bd02a50adeba7a9485"
|
||||||
|
dependencies = [
|
||||||
|
"derive_more 0.99.20",
|
||||||
|
"spacetimedb-lib",
|
||||||
|
"sqlparser",
|
||||||
|
"thiserror 1.0.69",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "spin"
|
name = "spin"
|
||||||
version = "0.10.0"
|
version = "0.10.0"
|
||||||
|
|
@ -6185,6 +6329,15 @@ dependencies = [
|
||||||
"bitflags 2.11.0",
|
"bitflags 2.11.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "sqlparser"
|
||||||
|
version = "0.38.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0272b7bb0a225320170c99901b4b5fb3a4384e255a7f2cc228f61e2ba3893e75"
|
||||||
|
dependencies = [
|
||||||
|
"log",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "stable_deref_trait"
|
name = "stable_deref_trait"
|
||||||
version = "1.2.1"
|
version = "1.2.1"
|
||||||
|
|
@ -6410,7 +6563,7 @@ dependencies = [
|
||||||
"nix 0.29.0",
|
"nix 0.29.0",
|
||||||
"num-derive",
|
"num-derive",
|
||||||
"num-traits",
|
"num-traits",
|
||||||
"ordered-float 4.6.0",
|
"ordered-float",
|
||||||
"pest",
|
"pest",
|
||||||
"pest_derive",
|
"pest_derive",
|
||||||
"phf",
|
"phf",
|
||||||
|
|
@ -6631,8 +6784,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269"
|
checksum = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"indexmap 2.13.0",
|
"indexmap 2.13.0",
|
||||||
|
"serde_core",
|
||||||
|
"serde_spanned",
|
||||||
"toml_datetime",
|
"toml_datetime",
|
||||||
"toml_parser",
|
"toml_parser",
|
||||||
|
"toml_writer",
|
||||||
"winnow",
|
"winnow",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
@ -6645,6 +6801,12 @@ dependencies = [
|
||||||
"winnow",
|
"winnow",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "toml_writer"
|
||||||
|
version = "1.0.6+spec-1.1.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tracing"
|
name = "tracing"
|
||||||
version = "0.1.44"
|
version = "0.1.44"
|
||||||
|
|
@ -6832,6 +6994,15 @@ version = "0.1.5"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f"
|
checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "unicode-normalization"
|
||||||
|
version = "0.1.25"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8"
|
||||||
|
dependencies = [
|
||||||
|
"tinyvec",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "unicode-script"
|
name = "unicode-script"
|
||||||
version = "0.5.8"
|
version = "0.5.8"
|
||||||
|
|
@ -7251,7 +7422,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "5f2ab60e120fd6eaa68d9567f3226e876684639d22a4219b313ff69ec0ccd5ac"
|
checksum = "5f2ab60e120fd6eaa68d9567f3226e876684639d22a4219b313ff69ec0ccd5ac"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"log",
|
"log",
|
||||||
"ordered-float 4.6.0",
|
"ordered-float",
|
||||||
"strsim",
|
"strsim",
|
||||||
"thiserror 1.0.69",
|
"thiserror 1.0.69",
|
||||||
"wezterm-dynamic-derive",
|
"wezterm-dynamic-derive",
|
||||||
|
|
@ -7399,7 +7570,7 @@ dependencies = [
|
||||||
"ndk-sys 0.6.0+11769913",
|
"ndk-sys 0.6.0+11769913",
|
||||||
"objc",
|
"objc",
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"ordered-float 5.0.0",
|
"ordered-float",
|
||||||
"parking_lot",
|
"parking_lot",
|
||||||
"portable-atomic",
|
"portable-atomic",
|
||||||
"portable-atomic-util",
|
"portable-atomic-util",
|
||||||
|
|
@ -8317,7 +8488,3 @@ name = "zmij"
|
||||||
version = "1.0.21"
|
version = "1.0.21"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
|
checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
|
||||||
|
|
||||||
[[patch.unused]]
|
|
||||||
name = "bevy_ratatui"
|
|
||||||
version = "0.10.0"
|
|
||||||
|
|
|
||||||
|
|
@ -12,10 +12,10 @@ bevy.default-features = false
|
||||||
bevy_ratatui = "0.11.1"
|
bevy_ratatui = "0.11.1"
|
||||||
bevy_spacetimedb = "0.7"
|
bevy_spacetimedb = "0.7"
|
||||||
|
|
||||||
spacetimedb.version = "1.11.*"
|
spacetimedb.version = "1.12.*"
|
||||||
spacetimedb.features = ["unstable"]
|
spacetimedb.features = ["unstable"]
|
||||||
|
|
||||||
spacetimedb-sdk = "1.11.*"
|
spacetimedb-sdk = "1.12.*"
|
||||||
|
|
||||||
strum.version = "0.27.2"
|
strum.version = "0.27.2"
|
||||||
strum.features = ["derive"]
|
strum.features = ["derive"]
|
||||||
|
|
|
||||||
|
|
@ -125,10 +125,10 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771642886,
|
"lastModified": 1771729765,
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "85078369717bdbe1f266c9eaad5e66956fb6feea",
|
"rev": "be926cb1a76e8450ab2b92121b2e88d09fa4d41c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@
|
||||||
# spacetimedb
|
# spacetimedb
|
||||||
openssl
|
openssl
|
||||||
binaryen
|
binaryen
|
||||||
spacetimedb
|
# spacetimedb
|
||||||
|
|
||||||
# bevy Linux
|
# bevy Linux
|
||||||
# Audio (Linux only)
|
# Audio (Linux only)
|
||||||
|
|
|
||||||
|
|
@ -142,3 +142,19 @@ impl<'ctx> BotIdUnique<'ctx> {
|
||||||
self.imp.find(col_val)
|
self.imp.find(col_val)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(non_camel_case_types)]
|
||||||
|
/// Extension trait for query builder access to the table `Bot`.
|
||||||
|
///
|
||||||
|
/// Implemented for [`__sdk::QueryTableAccessor`].
|
||||||
|
pub trait botQueryTableAccess {
|
||||||
|
#[allow(non_snake_case)]
|
||||||
|
/// Get a query builder for the table `Bot`.
|
||||||
|
fn bot(&self) -> __sdk::__query_builder::Table<Bot>;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl botQueryTableAccess for __sdk::QueryTableAccessor {
|
||||||
|
fn bot(&self) -> __sdk::__query_builder::Table<Bot> {
|
||||||
|
__sdk::__query_builder::Table::new("bot")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,3 +21,47 @@ pub struct Bot {
|
||||||
impl __sdk::InModule for Bot {
|
impl __sdk::InModule for Bot {
|
||||||
type Module = super::RemoteModule;
|
type Module = super::RemoteModule;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Column accessor struct for the table `Bot`.
|
||||||
|
///
|
||||||
|
/// Provides typed access to columns for query building.
|
||||||
|
pub struct BotCols {
|
||||||
|
pub id: __sdk::__query_builder::Col<Bot, u32>,
|
||||||
|
pub lobby_id: __sdk::__query_builder::Col<Bot, u32>,
|
||||||
|
pub turn_state: __sdk::__query_builder::Col<Bot, TurnState>,
|
||||||
|
pub hand: __sdk::__query_builder::Col<Bot, Vec<DbTile>>,
|
||||||
|
pub pond: __sdk::__query_builder::Col<Bot, Vec<DbTile>>,
|
||||||
|
pub working_tile: __sdk::__query_builder::Col<Bot, Option<DbTile>>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl __sdk::__query_builder::HasCols for Bot {
|
||||||
|
type Cols = BotCols;
|
||||||
|
fn cols(table_name: &'static str) -> Self::Cols {
|
||||||
|
BotCols {
|
||||||
|
id: __sdk::__query_builder::Col::new(table_name, "id"),
|
||||||
|
lobby_id: __sdk::__query_builder::Col::new(table_name, "lobby_id"),
|
||||||
|
turn_state: __sdk::__query_builder::Col::new(table_name, "turn_state"),
|
||||||
|
hand: __sdk::__query_builder::Col::new(table_name, "hand"),
|
||||||
|
pond: __sdk::__query_builder::Col::new(table_name, "pond"),
|
||||||
|
working_tile: __sdk::__query_builder::Col::new(table_name, "working_tile"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Indexed column accessor struct for the table `Bot`.
|
||||||
|
///
|
||||||
|
/// Provides typed access to indexed columns for query building.
|
||||||
|
pub struct BotIxCols {
|
||||||
|
pub id: __sdk::__query_builder::IxCol<Bot, u32>,
|
||||||
|
pub lobby_id: __sdk::__query_builder::IxCol<Bot, u32>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl __sdk::__query_builder::HasIxCols for Bot {
|
||||||
|
type IxCols = BotIxCols;
|
||||||
|
fn ix_cols(table_name: &'static str) -> Self::IxCols {
|
||||||
|
BotIxCols {
|
||||||
|
id: __sdk::__query_builder::IxCol::new(table_name, "id"),
|
||||||
|
lobby_id: __sdk::__query_builder::IxCol::new(table_name, "lobby_id"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,3 +16,37 @@ pub struct DbTile {
|
||||||
impl __sdk::InModule for DbTile {
|
impl __sdk::InModule for DbTile {
|
||||||
type Module = super::RemoteModule;
|
type Module = super::RemoteModule;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Column accessor struct for the table `DbTile`.
|
||||||
|
///
|
||||||
|
/// Provides typed access to columns for query building.
|
||||||
|
pub struct DbTileCols {
|
||||||
|
pub id: __sdk::__query_builder::Col<DbTile, u32>,
|
||||||
|
pub tile: __sdk::__query_builder::Col<DbTile, Tile>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl __sdk::__query_builder::HasCols for DbTile {
|
||||||
|
type Cols = DbTileCols;
|
||||||
|
fn cols(table_name: &'static str) -> Self::Cols {
|
||||||
|
DbTileCols {
|
||||||
|
id: __sdk::__query_builder::Col::new(table_name, "id"),
|
||||||
|
tile: __sdk::__query_builder::Col::new(table_name, "tile"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Indexed column accessor struct for the table `DbTile`.
|
||||||
|
///
|
||||||
|
/// Provides typed access to indexed columns for query building.
|
||||||
|
pub struct DbTileIxCols {
|
||||||
|
pub id: __sdk::__query_builder::IxCol<DbTile, u32>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl __sdk::__query_builder::HasIxCols for DbTile {
|
||||||
|
type IxCols = DbTileIxCols;
|
||||||
|
fn ix_cols(table_name: &'static str) -> Self::IxCols {
|
||||||
|
DbTileIxCols {
|
||||||
|
id: __sdk::__query_builder::IxCol::new(table_name, "id"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,3 +16,37 @@ pub struct DbWall {
|
||||||
impl __sdk::InModule for DbWall {
|
impl __sdk::InModule for DbWall {
|
||||||
type Module = super::RemoteModule;
|
type Module = super::RemoteModule;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Column accessor struct for the table `DbWall`.
|
||||||
|
///
|
||||||
|
/// Provides typed access to columns for query building.
|
||||||
|
pub struct DbWallCols {
|
||||||
|
pub lobby_id: __sdk::__query_builder::Col<DbWall, u32>,
|
||||||
|
pub tiles: __sdk::__query_builder::Col<DbWall, Vec<DbTile>>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl __sdk::__query_builder::HasCols for DbWall {
|
||||||
|
type Cols = DbWallCols;
|
||||||
|
fn cols(table_name: &'static str) -> Self::Cols {
|
||||||
|
DbWallCols {
|
||||||
|
lobby_id: __sdk::__query_builder::Col::new(table_name, "lobby_id"),
|
||||||
|
tiles: __sdk::__query_builder::Col::new(table_name, "tiles"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Indexed column accessor struct for the table `DbWall`.
|
||||||
|
///
|
||||||
|
/// Provides typed access to indexed columns for query building.
|
||||||
|
pub struct DbWallIxCols {
|
||||||
|
pub lobby_id: __sdk::__query_builder::IxCol<DbWall, u32>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl __sdk::__query_builder::HasIxCols for DbWall {
|
||||||
|
type IxCols = DbWallIxCols;
|
||||||
|
fn ix_cols(table_name: &'static str) -> Self::IxCols {
|
||||||
|
DbWallIxCols {
|
||||||
|
lobby_id: __sdk::__query_builder::IxCol::new(table_name, "lobby_id"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -171,3 +171,19 @@ impl<'ctx> GameTimerLobbyIdUnique<'ctx> {
|
||||||
self.imp.find(col_val)
|
self.imp.find(col_val)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(non_camel_case_types)]
|
||||||
|
/// Extension trait for query builder access to the table `GameTimer`.
|
||||||
|
///
|
||||||
|
/// Implemented for [`__sdk::QueryTableAccessor`].
|
||||||
|
pub trait game_timerQueryTableAccess {
|
||||||
|
#[allow(non_snake_case)]
|
||||||
|
/// Get a query builder for the table `GameTimer`.
|
||||||
|
fn game_timer(&self) -> __sdk::__query_builder::Table<GameTimer>;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl game_timerQueryTableAccess for __sdk::QueryTableAccessor {
|
||||||
|
fn game_timer(&self) -> __sdk::__query_builder::Table<GameTimer> {
|
||||||
|
__sdk::__query_builder::Table::new("game_timer")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,3 +15,41 @@ pub struct GameTimer {
|
||||||
impl __sdk::InModule for GameTimer {
|
impl __sdk::InModule for GameTimer {
|
||||||
type Module = super::RemoteModule;
|
type Module = super::RemoteModule;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Column accessor struct for the table `GameTimer`.
|
||||||
|
///
|
||||||
|
/// Provides typed access to columns for query building.
|
||||||
|
pub struct GameTimerCols {
|
||||||
|
pub id: __sdk::__query_builder::Col<GameTimer, u64>,
|
||||||
|
pub lobby_id: __sdk::__query_builder::Col<GameTimer, u32>,
|
||||||
|
pub scheduled_at: __sdk::__query_builder::Col<GameTimer, __sdk::ScheduleAt>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl __sdk::__query_builder::HasCols for GameTimer {
|
||||||
|
type Cols = GameTimerCols;
|
||||||
|
fn cols(table_name: &'static str) -> Self::Cols {
|
||||||
|
GameTimerCols {
|
||||||
|
id: __sdk::__query_builder::Col::new(table_name, "id"),
|
||||||
|
lobby_id: __sdk::__query_builder::Col::new(table_name, "lobby_id"),
|
||||||
|
scheduled_at: __sdk::__query_builder::Col::new(table_name, "scheduled_at"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Indexed column accessor struct for the table `GameTimer`.
|
||||||
|
///
|
||||||
|
/// Provides typed access to indexed columns for query building.
|
||||||
|
pub struct GameTimerIxCols {
|
||||||
|
pub id: __sdk::__query_builder::IxCol<GameTimer, u64>,
|
||||||
|
pub lobby_id: __sdk::__query_builder::IxCol<GameTimer, u32>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl __sdk::__query_builder::HasIxCols for GameTimer {
|
||||||
|
type IxCols = GameTimerIxCols;
|
||||||
|
fn ix_cols(table_name: &'static str) -> Self::IxCols {
|
||||||
|
GameTimerIxCols {
|
||||||
|
id: __sdk::__query_builder::IxCol::new(table_name, "id"),
|
||||||
|
lobby_id: __sdk::__query_builder::IxCol::new(table_name, "lobby_id"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -142,3 +142,19 @@ impl<'ctx> LobbyIdUnique<'ctx> {
|
||||||
self.imp.find(col_val)
|
self.imp.find(col_val)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(non_camel_case_types)]
|
||||||
|
/// Extension trait for query builder access to the table `Lobby`.
|
||||||
|
///
|
||||||
|
/// Implemented for [`__sdk::QueryTableAccessor`].
|
||||||
|
pub trait lobbyQueryTableAccess {
|
||||||
|
#[allow(non_snake_case)]
|
||||||
|
/// Get a query builder for the table `Lobby`.
|
||||||
|
fn lobby(&self) -> __sdk::__query_builder::Table<Lobby>;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl lobbyQueryTableAccess for __sdk::QueryTableAccessor {
|
||||||
|
fn lobby(&self) -> __sdk::__query_builder::Table<Lobby> {
|
||||||
|
__sdk::__query_builder::Table::new("lobby")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,3 +20,43 @@ pub struct Lobby {
|
||||||
impl __sdk::InModule for Lobby {
|
impl __sdk::InModule for Lobby {
|
||||||
type Module = super::RemoteModule;
|
type Module = super::RemoteModule;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Column accessor struct for the table `Lobby`.
|
||||||
|
///
|
||||||
|
/// Provides typed access to columns for query building.
|
||||||
|
pub struct LobbyCols {
|
||||||
|
pub id: __sdk::__query_builder::Col<Lobby, u32>,
|
||||||
|
pub players: __sdk::__query_builder::Col<Lobby, Vec<PlayerOrBot>>,
|
||||||
|
pub dealer_idx: __sdk::__query_builder::Col<Lobby, u8>,
|
||||||
|
pub current_idx: __sdk::__query_builder::Col<Lobby, u8>,
|
||||||
|
pub game_state: __sdk::__query_builder::Col<Lobby, GameState>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl __sdk::__query_builder::HasCols for Lobby {
|
||||||
|
type Cols = LobbyCols;
|
||||||
|
fn cols(table_name: &'static str) -> Self::Cols {
|
||||||
|
LobbyCols {
|
||||||
|
id: __sdk::__query_builder::Col::new(table_name, "id"),
|
||||||
|
players: __sdk::__query_builder::Col::new(table_name, "players"),
|
||||||
|
dealer_idx: __sdk::__query_builder::Col::new(table_name, "dealer_idx"),
|
||||||
|
current_idx: __sdk::__query_builder::Col::new(table_name, "current_idx"),
|
||||||
|
game_state: __sdk::__query_builder::Col::new(table_name, "game_state"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Indexed column accessor struct for the table `Lobby`.
|
||||||
|
///
|
||||||
|
/// Provides typed access to indexed columns for query building.
|
||||||
|
pub struct LobbyIxCols {
|
||||||
|
pub id: __sdk::__query_builder::IxCol<Lobby, u32>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl __sdk::__query_builder::HasIxCols for Lobby {
|
||||||
|
type IxCols = LobbyIxCols;
|
||||||
|
fn ix_cols(table_name: &'static str) -> Self::IxCols {
|
||||||
|
LobbyIxCols {
|
||||||
|
id: __sdk::__query_builder::IxCol::new(table_name, "id"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -173,3 +173,19 @@ impl<'ctx> LoggedOutPlayerIdentityUnique<'ctx> {
|
||||||
self.imp.find(col_val)
|
self.imp.find(col_val)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(non_camel_case_types)]
|
||||||
|
/// Extension trait for query builder access to the table `Player`.
|
||||||
|
///
|
||||||
|
/// Implemented for [`__sdk::QueryTableAccessor`].
|
||||||
|
pub trait logged_out_playerQueryTableAccess {
|
||||||
|
#[allow(non_snake_case)]
|
||||||
|
/// Get a query builder for the table `Player`.
|
||||||
|
fn logged_out_player(&self) -> __sdk::__query_builder::Table<Player>;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl logged_out_playerQueryTableAccess for __sdk::QueryTableAccessor {
|
||||||
|
fn logged_out_player(&self) -> __sdk::__query_builder::Table<Player> {
|
||||||
|
__sdk::__query_builder::Table::new("logged_out_player")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
|
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
|
||||||
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
|
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
|
||||||
|
|
||||||
// This was generated using spacetimedb cli version 1.11.3 (commit 02449737ca3b29e7e39679fccbef541a50f32094).
|
// This was generated using spacetimedb cli version 1.12.0 (commit 4fdb8d923f39ed592931ad4c7e6391ed99b9fe3a).
|
||||||
|
|
||||||
#![allow(unused, clippy::all)]
|
#![allow(unused, clippy::all)]
|
||||||
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
|
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
|
||||||
|
|
@ -37,6 +37,7 @@ pub mod suit_type;
|
||||||
pub mod tile_table;
|
pub mod tile_table;
|
||||||
pub mod tile_type;
|
pub mod tile_type;
|
||||||
pub mod turn_state_type;
|
pub mod turn_state_type;
|
||||||
|
pub mod view_hand_table;
|
||||||
pub mod wall_table;
|
pub mod wall_table;
|
||||||
pub mod wind_type;
|
pub mod wind_type;
|
||||||
|
|
||||||
|
|
@ -73,6 +74,7 @@ pub use suit_type::Suit;
|
||||||
pub use tile_table::*;
|
pub use tile_table::*;
|
||||||
pub use tile_type::Tile;
|
pub use tile_type::Tile;
|
||||||
pub use turn_state_type::TurnState;
|
pub use turn_state_type::TurnState;
|
||||||
|
pub use view_hand_table::*;
|
||||||
pub use wall_table::*;
|
pub use wall_table::*;
|
||||||
pub use wind_type::Wind;
|
pub use wind_type::Wind;
|
||||||
|
|
||||||
|
|
@ -188,6 +190,7 @@ pub struct DbUpdate {
|
||||||
player_clock: __sdk::TableUpdate<PlayerClock>,
|
player_clock: __sdk::TableUpdate<PlayerClock>,
|
||||||
player_hand: __sdk::TableUpdate<PlayerHand>,
|
player_hand: __sdk::TableUpdate<PlayerHand>,
|
||||||
tile: __sdk::TableUpdate<DbTile>,
|
tile: __sdk::TableUpdate<DbTile>,
|
||||||
|
view_hand: __sdk::TableUpdate<PlayerHand>,
|
||||||
wall: __sdk::TableUpdate<DbWall>,
|
wall: __sdk::TableUpdate<DbWall>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -221,6 +224,9 @@ impl TryFrom<__ws::DatabaseUpdate<__ws::BsatnFormat>> for DbUpdate {
|
||||||
"tile" => db_update
|
"tile" => db_update
|
||||||
.tile
|
.tile
|
||||||
.append(tile_table::parse_table_update(table_update)?),
|
.append(tile_table::parse_table_update(table_update)?),
|
||||||
|
"view_hand" => db_update
|
||||||
|
.view_hand
|
||||||
|
.append(view_hand_table::parse_table_update(table_update)?),
|
||||||
"wall" => db_update
|
"wall" => db_update
|
||||||
.wall
|
.wall
|
||||||
.append(wall_table::parse_table_update(table_update)?),
|
.append(wall_table::parse_table_update(table_update)?),
|
||||||
|
|
@ -277,6 +283,7 @@ impl __sdk::DbUpdate for DbUpdate {
|
||||||
diff.wall = cache
|
diff.wall = cache
|
||||||
.apply_diff_to_table::<DbWall>("wall", &self.wall)
|
.apply_diff_to_table::<DbWall>("wall", &self.wall)
|
||||||
.with_updates_by_pk(|row| &row.lobby_id);
|
.with_updates_by_pk(|row| &row.lobby_id);
|
||||||
|
diff.view_hand = cache.apply_diff_to_table::<PlayerHand>("view_hand", &self.view_hand);
|
||||||
|
|
||||||
diff
|
diff
|
||||||
}
|
}
|
||||||
|
|
@ -294,6 +301,7 @@ pub struct AppliedDiff<'r> {
|
||||||
player_clock: __sdk::TableAppliedDiff<'r, PlayerClock>,
|
player_clock: __sdk::TableAppliedDiff<'r, PlayerClock>,
|
||||||
player_hand: __sdk::TableAppliedDiff<'r, PlayerHand>,
|
player_hand: __sdk::TableAppliedDiff<'r, PlayerHand>,
|
||||||
tile: __sdk::TableAppliedDiff<'r, DbTile>,
|
tile: __sdk::TableAppliedDiff<'r, DbTile>,
|
||||||
|
view_hand: __sdk::TableAppliedDiff<'r, PlayerHand>,
|
||||||
wall: __sdk::TableAppliedDiff<'r, DbWall>,
|
wall: __sdk::TableAppliedDiff<'r, DbWall>,
|
||||||
__unused: std::marker::PhantomData<&'r ()>,
|
__unused: std::marker::PhantomData<&'r ()>,
|
||||||
}
|
}
|
||||||
|
|
@ -324,6 +332,7 @@ impl<'r> __sdk::AppliedDiff<'r> for AppliedDiff<'r> {
|
||||||
);
|
);
|
||||||
callbacks.invoke_table_row_callbacks::<PlayerHand>("player_hand", &self.player_hand, event);
|
callbacks.invoke_table_row_callbacks::<PlayerHand>("player_hand", &self.player_hand, event);
|
||||||
callbacks.invoke_table_row_callbacks::<DbTile>("tile", &self.tile, event);
|
callbacks.invoke_table_row_callbacks::<DbTile>("tile", &self.tile, event);
|
||||||
|
callbacks.invoke_table_row_callbacks::<PlayerHand>("view_hand", &self.view_hand, event);
|
||||||
callbacks.invoke_table_row_callbacks::<DbWall>("wall", &self.wall, event);
|
callbacks.invoke_table_row_callbacks::<DbWall>("wall", &self.wall, event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1042,6 +1051,7 @@ impl __sdk::SpacetimeModule for RemoteModule {
|
||||||
type DbUpdate = DbUpdate;
|
type DbUpdate = DbUpdate;
|
||||||
type AppliedDiff<'r> = AppliedDiff<'r>;
|
type AppliedDiff<'r> = AppliedDiff<'r>;
|
||||||
type SubscriptionHandle = SubscriptionHandle;
|
type SubscriptionHandle = SubscriptionHandle;
|
||||||
|
type QueryBuilder = __sdk::QueryBuilder;
|
||||||
|
|
||||||
fn register_tables(client_cache: &mut __sdk::ClientCache<Self>) {
|
fn register_tables(client_cache: &mut __sdk::ClientCache<Self>) {
|
||||||
bot_table::register_table(client_cache);
|
bot_table::register_table(client_cache);
|
||||||
|
|
@ -1052,6 +1062,7 @@ impl __sdk::SpacetimeModule for RemoteModule {
|
||||||
player_clock_table::register_table(client_cache);
|
player_clock_table::register_table(client_cache);
|
||||||
player_hand_table::register_table(client_cache);
|
player_hand_table::register_table(client_cache);
|
||||||
tile_table::register_table(client_cache);
|
tile_table::register_table(client_cache);
|
||||||
|
view_hand_table::register_table(client_cache);
|
||||||
wall_table::register_table(client_cache);
|
wall_table::register_table(client_cache);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -171,3 +171,19 @@ impl<'ctx> PlayerClockPlayerIdUnique<'ctx> {
|
||||||
self.imp.find(col_val)
|
self.imp.find(col_val)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(non_camel_case_types)]
|
||||||
|
/// Extension trait for query builder access to the table `PlayerClock`.
|
||||||
|
///
|
||||||
|
/// Implemented for [`__sdk::QueryTableAccessor`].
|
||||||
|
pub trait player_clockQueryTableAccess {
|
||||||
|
#[allow(non_snake_case)]
|
||||||
|
/// Get a query builder for the table `PlayerClock`.
|
||||||
|
fn player_clock(&self) -> __sdk::__query_builder::Table<PlayerClock>;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl player_clockQueryTableAccess for __sdk::QueryTableAccessor {
|
||||||
|
fn player_clock(&self) -> __sdk::__query_builder::Table<PlayerClock> {
|
||||||
|
__sdk::__query_builder::Table::new("player_clock")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,3 +16,43 @@ pub struct PlayerClock {
|
||||||
impl __sdk::InModule for PlayerClock {
|
impl __sdk::InModule for PlayerClock {
|
||||||
type Module = super::RemoteModule;
|
type Module = super::RemoteModule;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Column accessor struct for the table `PlayerClock`.
|
||||||
|
///
|
||||||
|
/// Provides typed access to columns for query building.
|
||||||
|
pub struct PlayerClockCols {
|
||||||
|
pub id: __sdk::__query_builder::Col<PlayerClock, u32>,
|
||||||
|
pub player_id: __sdk::__query_builder::Col<PlayerClock, u32>,
|
||||||
|
pub renewable: __sdk::__query_builder::Col<PlayerClock, u16>,
|
||||||
|
pub total: __sdk::__query_builder::Col<PlayerClock, u16>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl __sdk::__query_builder::HasCols for PlayerClock {
|
||||||
|
type Cols = PlayerClockCols;
|
||||||
|
fn cols(table_name: &'static str) -> Self::Cols {
|
||||||
|
PlayerClockCols {
|
||||||
|
id: __sdk::__query_builder::Col::new(table_name, "id"),
|
||||||
|
player_id: __sdk::__query_builder::Col::new(table_name, "player_id"),
|
||||||
|
renewable: __sdk::__query_builder::Col::new(table_name, "renewable"),
|
||||||
|
total: __sdk::__query_builder::Col::new(table_name, "total"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Indexed column accessor struct for the table `PlayerClock`.
|
||||||
|
///
|
||||||
|
/// Provides typed access to indexed columns for query building.
|
||||||
|
pub struct PlayerClockIxCols {
|
||||||
|
pub id: __sdk::__query_builder::IxCol<PlayerClock, u32>,
|
||||||
|
pub player_id: __sdk::__query_builder::IxCol<PlayerClock, u32>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl __sdk::__query_builder::HasIxCols for PlayerClock {
|
||||||
|
type IxCols = PlayerClockIxCols;
|
||||||
|
fn ix_cols(table_name: &'static str) -> Self::IxCols {
|
||||||
|
PlayerClockIxCols {
|
||||||
|
id: __sdk::__query_builder::IxCol::new(table_name, "id"),
|
||||||
|
player_id: __sdk::__query_builder::IxCol::new(table_name, "player_id"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -173,3 +173,19 @@ impl<'ctx> PlayerHandPlayerIdUnique<'ctx> {
|
||||||
self.imp.find(col_val)
|
self.imp.find(col_val)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(non_camel_case_types)]
|
||||||
|
/// Extension trait for query builder access to the table `PlayerHand`.
|
||||||
|
///
|
||||||
|
/// Implemented for [`__sdk::QueryTableAccessor`].
|
||||||
|
pub trait player_handQueryTableAccess {
|
||||||
|
#[allow(non_snake_case)]
|
||||||
|
/// Get a query builder for the table `PlayerHand`.
|
||||||
|
fn player_hand(&self) -> __sdk::__query_builder::Table<PlayerHand>;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl player_handQueryTableAccess for __sdk::QueryTableAccessor {
|
||||||
|
fn player_hand(&self) -> __sdk::__query_builder::Table<PlayerHand> {
|
||||||
|
__sdk::__query_builder::Table::new("player_hand")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,3 +21,47 @@ pub struct PlayerHand {
|
||||||
impl __sdk::InModule for PlayerHand {
|
impl __sdk::InModule for PlayerHand {
|
||||||
type Module = super::RemoteModule;
|
type Module = super::RemoteModule;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Column accessor struct for the table `PlayerHand`.
|
||||||
|
///
|
||||||
|
/// Provides typed access to columns for query building.
|
||||||
|
pub struct PlayerHandCols {
|
||||||
|
pub id: __sdk::__query_builder::Col<PlayerHand, u32>,
|
||||||
|
pub player_id: __sdk::__query_builder::Col<PlayerHand, u32>,
|
||||||
|
pub turn_state: __sdk::__query_builder::Col<PlayerHand, TurnState>,
|
||||||
|
pub pond: __sdk::__query_builder::Col<PlayerHand, Vec<DbTile>>,
|
||||||
|
pub hand: __sdk::__query_builder::Col<PlayerHand, Vec<DbTile>>,
|
||||||
|
pub working_tile: __sdk::__query_builder::Col<PlayerHand, Option<DbTile>>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl __sdk::__query_builder::HasCols for PlayerHand {
|
||||||
|
type Cols = PlayerHandCols;
|
||||||
|
fn cols(table_name: &'static str) -> Self::Cols {
|
||||||
|
PlayerHandCols {
|
||||||
|
id: __sdk::__query_builder::Col::new(table_name, "id"),
|
||||||
|
player_id: __sdk::__query_builder::Col::new(table_name, "player_id"),
|
||||||
|
turn_state: __sdk::__query_builder::Col::new(table_name, "turn_state"),
|
||||||
|
pond: __sdk::__query_builder::Col::new(table_name, "pond"),
|
||||||
|
hand: __sdk::__query_builder::Col::new(table_name, "hand"),
|
||||||
|
working_tile: __sdk::__query_builder::Col::new(table_name, "working_tile"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Indexed column accessor struct for the table `PlayerHand`.
|
||||||
|
///
|
||||||
|
/// Provides typed access to indexed columns for query building.
|
||||||
|
pub struct PlayerHandIxCols {
|
||||||
|
pub id: __sdk::__query_builder::IxCol<PlayerHand, u32>,
|
||||||
|
pub player_id: __sdk::__query_builder::IxCol<PlayerHand, u32>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl __sdk::__query_builder::HasIxCols for PlayerHand {
|
||||||
|
type IxCols = PlayerHandIxCols;
|
||||||
|
fn ix_cols(table_name: &'static str) -> Self::IxCols {
|
||||||
|
PlayerHandIxCols {
|
||||||
|
id: __sdk::__query_builder::IxCol::new(table_name, "id"),
|
||||||
|
player_id: __sdk::__query_builder::IxCol::new(table_name, "player_id"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -173,3 +173,19 @@ impl<'ctx> PlayerIdentityUnique<'ctx> {
|
||||||
self.imp.find(col_val)
|
self.imp.find(col_val)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(non_camel_case_types)]
|
||||||
|
/// Extension trait for query builder access to the table `Player`.
|
||||||
|
///
|
||||||
|
/// Implemented for [`__sdk::QueryTableAccessor`].
|
||||||
|
pub trait playerQueryTableAccess {
|
||||||
|
#[allow(non_snake_case)]
|
||||||
|
/// Get a query builder for the table `Player`.
|
||||||
|
fn player(&self) -> __sdk::__query_builder::Table<Player>;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl playerQueryTableAccess for __sdk::QueryTableAccessor {
|
||||||
|
fn player(&self) -> __sdk::__query_builder::Table<Player> {
|
||||||
|
__sdk::__query_builder::Table::new("player")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,3 +18,49 @@ pub struct Player {
|
||||||
impl __sdk::InModule for Player {
|
impl __sdk::InModule for Player {
|
||||||
type Module = super::RemoteModule;
|
type Module = super::RemoteModule;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Column accessor struct for the table `Player`.
|
||||||
|
///
|
||||||
|
/// Provides typed access to columns for query building.
|
||||||
|
pub struct PlayerCols {
|
||||||
|
pub id: __sdk::__query_builder::Col<Player, u32>,
|
||||||
|
pub identity: __sdk::__query_builder::Col<Player, __sdk::Identity>,
|
||||||
|
pub name: __sdk::__query_builder::Col<Player, Option<String>>,
|
||||||
|
pub lobby_id: __sdk::__query_builder::Col<Player, u32>,
|
||||||
|
pub ready: __sdk::__query_builder::Col<Player, bool>,
|
||||||
|
pub sort: __sdk::__query_builder::Col<Player, bool>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl __sdk::__query_builder::HasCols for Player {
|
||||||
|
type Cols = PlayerCols;
|
||||||
|
fn cols(table_name: &'static str) -> Self::Cols {
|
||||||
|
PlayerCols {
|
||||||
|
id: __sdk::__query_builder::Col::new(table_name, "id"),
|
||||||
|
identity: __sdk::__query_builder::Col::new(table_name, "identity"),
|
||||||
|
name: __sdk::__query_builder::Col::new(table_name, "name"),
|
||||||
|
lobby_id: __sdk::__query_builder::Col::new(table_name, "lobby_id"),
|
||||||
|
ready: __sdk::__query_builder::Col::new(table_name, "ready"),
|
||||||
|
sort: __sdk::__query_builder::Col::new(table_name, "sort"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Indexed column accessor struct for the table `Player`.
|
||||||
|
///
|
||||||
|
/// Provides typed access to indexed columns for query building.
|
||||||
|
pub struct PlayerIxCols {
|
||||||
|
pub id: __sdk::__query_builder::IxCol<Player, u32>,
|
||||||
|
pub identity: __sdk::__query_builder::IxCol<Player, __sdk::Identity>,
|
||||||
|
pub lobby_id: __sdk::__query_builder::IxCol<Player, u32>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl __sdk::__query_builder::HasIxCols for Player {
|
||||||
|
type IxCols = PlayerIxCols;
|
||||||
|
fn ix_cols(table_name: &'static str) -> Self::IxCols {
|
||||||
|
PlayerIxCols {
|
||||||
|
id: __sdk::__query_builder::IxCol::new(table_name, "id"),
|
||||||
|
identity: __sdk::__query_builder::IxCol::new(table_name, "identity"),
|
||||||
|
lobby_id: __sdk::__query_builder::IxCol::new(table_name, "lobby_id"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -141,3 +141,19 @@ impl<'ctx> TileIdUnique<'ctx> {
|
||||||
self.imp.find(col_val)
|
self.imp.find(col_val)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(non_camel_case_types)]
|
||||||
|
/// Extension trait for query builder access to the table `DbTile`.
|
||||||
|
///
|
||||||
|
/// Implemented for [`__sdk::QueryTableAccessor`].
|
||||||
|
pub trait tileQueryTableAccess {
|
||||||
|
#[allow(non_snake_case)]
|
||||||
|
/// Get a query builder for the table `DbTile`.
|
||||||
|
fn tile(&self) -> __sdk::__query_builder::Table<DbTile>;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl tileQueryTableAccess for __sdk::QueryTableAccessor {
|
||||||
|
fn tile(&self) -> __sdk::__query_builder::Table<DbTile> {
|
||||||
|
__sdk::__query_builder::Table::new("tile")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
113
jong-db/src/db/view_hand_table.rs
Normal file
113
jong-db/src/db/view_hand_table.rs
Normal file
|
|
@ -0,0 +1,113 @@
|
||||||
|
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
|
||||||
|
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
|
||||||
|
|
||||||
|
#![allow(unused, clippy::all)]
|
||||||
|
use super::db_tile_type::DbTile;
|
||||||
|
use super::player_hand_type::PlayerHand;
|
||||||
|
use super::turn_state_type::TurnState;
|
||||||
|
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
|
||||||
|
|
||||||
|
/// Table handle for the table `view_hand`.
|
||||||
|
///
|
||||||
|
/// Obtain a handle from the [`ViewHandTableAccess::view_hand`] method on [`super::RemoteTables`],
|
||||||
|
/// like `ctx.db.view_hand()`.
|
||||||
|
///
|
||||||
|
/// Users are encouraged not to explicitly reference this type,
|
||||||
|
/// but to directly chain method calls,
|
||||||
|
/// like `ctx.db.view_hand().on_insert(...)`.
|
||||||
|
pub struct ViewHandTableHandle<'ctx> {
|
||||||
|
imp: __sdk::TableHandle<PlayerHand>,
|
||||||
|
ctx: std::marker::PhantomData<&'ctx super::RemoteTables>,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[allow(non_camel_case_types)]
|
||||||
|
/// Extension trait for access to the table `view_hand`.
|
||||||
|
///
|
||||||
|
/// Implemented for [`super::RemoteTables`].
|
||||||
|
pub trait ViewHandTableAccess {
|
||||||
|
#[allow(non_snake_case)]
|
||||||
|
/// Obtain a [`ViewHandTableHandle`], which mediates access to the table `view_hand`.
|
||||||
|
fn view_hand(&self) -> ViewHandTableHandle<'_>;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl ViewHandTableAccess for super::RemoteTables {
|
||||||
|
fn view_hand(&self) -> ViewHandTableHandle<'_> {
|
||||||
|
ViewHandTableHandle {
|
||||||
|
imp: self.imp.get_table::<PlayerHand>("view_hand"),
|
||||||
|
ctx: std::marker::PhantomData,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub struct ViewHandInsertCallbackId(__sdk::CallbackId);
|
||||||
|
pub struct ViewHandDeleteCallbackId(__sdk::CallbackId);
|
||||||
|
|
||||||
|
impl<'ctx> __sdk::Table for ViewHandTableHandle<'ctx> {
|
||||||
|
type Row = PlayerHand;
|
||||||
|
type EventContext = super::EventContext;
|
||||||
|
|
||||||
|
fn count(&self) -> u64 {
|
||||||
|
self.imp.count()
|
||||||
|
}
|
||||||
|
fn iter(&self) -> impl Iterator<Item = PlayerHand> + '_ {
|
||||||
|
self.imp.iter()
|
||||||
|
}
|
||||||
|
|
||||||
|
type InsertCallbackId = ViewHandInsertCallbackId;
|
||||||
|
|
||||||
|
fn on_insert(
|
||||||
|
&self,
|
||||||
|
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
|
||||||
|
) -> ViewHandInsertCallbackId {
|
||||||
|
ViewHandInsertCallbackId(self.imp.on_insert(Box::new(callback)))
|
||||||
|
}
|
||||||
|
|
||||||
|
fn remove_on_insert(&self, callback: ViewHandInsertCallbackId) {
|
||||||
|
self.imp.remove_on_insert(callback.0)
|
||||||
|
}
|
||||||
|
|
||||||
|
type DeleteCallbackId = ViewHandDeleteCallbackId;
|
||||||
|
|
||||||
|
fn on_delete(
|
||||||
|
&self,
|
||||||
|
callback: impl FnMut(&Self::EventContext, &Self::Row) + Send + 'static,
|
||||||
|
) -> ViewHandDeleteCallbackId {
|
||||||
|
ViewHandDeleteCallbackId(self.imp.on_delete(Box::new(callback)))
|
||||||
|
}
|
||||||
|
|
||||||
|
fn remove_on_delete(&self, callback: ViewHandDeleteCallbackId) {
|
||||||
|
self.imp.remove_on_delete(callback.0)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[doc(hidden)]
|
||||||
|
pub(super) fn register_table(client_cache: &mut __sdk::ClientCache<super::RemoteModule>) {
|
||||||
|
let _table = client_cache.get_or_make_table::<PlayerHand>("view_hand");
|
||||||
|
}
|
||||||
|
|
||||||
|
#[doc(hidden)]
|
||||||
|
pub(super) fn parse_table_update(
|
||||||
|
raw_updates: __ws::TableUpdate<__ws::BsatnFormat>,
|
||||||
|
) -> __sdk::Result<__sdk::TableUpdate<PlayerHand>> {
|
||||||
|
__sdk::TableUpdate::parse_table_update(raw_updates).map_err(|e| {
|
||||||
|
__sdk::InternalError::failed_parse("TableUpdate<PlayerHand>", "TableUpdate")
|
||||||
|
.with_cause(e)
|
||||||
|
.into()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
#[allow(non_camel_case_types)]
|
||||||
|
/// Extension trait for query builder access to the table `PlayerHand`.
|
||||||
|
///
|
||||||
|
/// Implemented for [`__sdk::QueryTableAccessor`].
|
||||||
|
pub trait view_handQueryTableAccess {
|
||||||
|
#[allow(non_snake_case)]
|
||||||
|
/// Get a query builder for the table `PlayerHand`.
|
||||||
|
fn view_hand(&self) -> __sdk::__query_builder::Table<PlayerHand>;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl view_handQueryTableAccess for __sdk::QueryTableAccessor {
|
||||||
|
fn view_hand(&self) -> __sdk::__query_builder::Table<PlayerHand> {
|
||||||
|
__sdk::__query_builder::Table::new("view_hand")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -141,3 +141,19 @@ impl<'ctx> WallLobbyIdUnique<'ctx> {
|
||||||
self.imp.find(col_val)
|
self.imp.find(col_val)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(non_camel_case_types)]
|
||||||
|
/// Extension trait for query builder access to the table `DbWall`.
|
||||||
|
///
|
||||||
|
/// Implemented for [`__sdk::QueryTableAccessor`].
|
||||||
|
pub trait wallQueryTableAccess {
|
||||||
|
#[allow(non_snake_case)]
|
||||||
|
/// Get a query builder for the table `DbWall`.
|
||||||
|
fn wall(&self) -> __sdk::__query_builder::Table<DbWall>;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl wallQueryTableAccess for __sdk::QueryTableAccessor {
|
||||||
|
fn wall(&self) -> __sdk::__query_builder::Table<DbWall> {
|
||||||
|
__sdk::__query_builder::Table::new("wall")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
pub mod db;
|
pub mod db;
|
||||||
|
|
||||||
|
pub use conversions::*;
|
||||||
pub use db::*;
|
pub use db::*;
|
||||||
|
|
||||||
mod conversions {
|
mod conversions {
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,8 @@ pub fn advance_game(ctx: &ReducerContext, mut game_timer: GameTimer) -> Result<(
|
||||||
_ => Err(format!("lobby {} in impossible state", lobby.id))?,
|
_ => Err(format!("lobby {} in impossible state", lobby.id))?,
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx.db.game_timer().id().update(game_timer);
|
// ctx.db.game_timer().id().update(game_timer);
|
||||||
|
ctx.db.lobby().id().update(lobby);
|
||||||
} else {
|
} else {
|
||||||
ctx.db.game_timer().id().delete(game_timer.id);
|
ctx.db.game_timer().id().delete(game_timer.id);
|
||||||
Err(format!(
|
Err(format!(
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,8 @@ pub fn join_or_create_lobby(ctx: &ReducerContext, mut lobby_id: u32) -> Result<(
|
||||||
.ok_or(format!("cannot find player {}", ctx.sender))?;
|
.ok_or(format!("cannot find player {}", ctx.sender))?;
|
||||||
|
|
||||||
if lobby_id == 0 {
|
if lobby_id == 0 {
|
||||||
|
// TODO check first if player is already in a lobby
|
||||||
|
|
||||||
let lobby = ctx.db.lobby().insert(Lobby {
|
let lobby = ctx.db.lobby().insert(Lobby {
|
||||||
id: 0,
|
id: 0,
|
||||||
players: vec![PlayerOrBot::Player { id: player.id }],
|
players: vec![PlayerOrBot::Player { id: player.id }],
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,4 @@
|
||||||
use std::time::Instant;
|
use spacetimedb::{SpacetimeType, ViewContext, table, view};
|
||||||
|
|
||||||
use spacetimedb::{SpacetimeType, table};
|
|
||||||
|
|
||||||
use jong_types::{
|
use jong_types::{
|
||||||
states::{GameState, TurnState},
|
states::{GameState, TurnState},
|
||||||
|
|
@ -47,7 +45,6 @@ pub enum PlayerOrBot {
|
||||||
Bot { id: u32 },
|
Bot { id: u32 },
|
||||||
}
|
}
|
||||||
|
|
||||||
// FIXME this shant be public, use views
|
|
||||||
#[table(name = player, public)]
|
#[table(name = player, public)]
|
||||||
#[table(name = logged_out_player)]
|
#[table(name = logged_out_player)]
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
|
|
@ -98,7 +95,7 @@ pub struct PlayerHand {
|
||||||
pub working_tile: Option<DbTile>,
|
pub working_tile: Option<DbTile>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[table(name = bot)]
|
#[table(name = bot, public)]
|
||||||
pub struct Bot {
|
pub struct Bot {
|
||||||
#[primary_key]
|
#[primary_key]
|
||||||
#[auto_inc]
|
#[auto_inc]
|
||||||
|
|
@ -126,3 +123,12 @@ pub struct GameTimer {
|
||||||
|
|
||||||
pub scheduled_at: spacetimedb::ScheduleAt,
|
pub scheduled_at: spacetimedb::ScheduleAt,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[view(name = view_hand, public)]
|
||||||
|
fn view_hand(ctx: &ViewContext) -> Option<PlayerHand> {
|
||||||
|
ctx.db
|
||||||
|
.player()
|
||||||
|
.identity()
|
||||||
|
.find(ctx.sender)
|
||||||
|
.and_then(|p| ctx.db.player_hand().player_id().find(p.id))
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,10 @@ use bevy_spacetimedb::{
|
||||||
ReadInsertUpdateMessage, ReadStdbConnectedMessage, ReadStdbDisconnectedMessage, StdbPlugin,
|
ReadInsertUpdateMessage, ReadStdbConnectedMessage, ReadStdbDisconnectedMessage, StdbPlugin,
|
||||||
};
|
};
|
||||||
|
|
||||||
use jong_db::{self, DbConnection, LobbyTableAccess, PlayerTableAccess, RemoteTables};
|
use jong_db::{
|
||||||
|
self, DbConnection, LobbyTableAccess, PlayerHand, PlayerTableAccess, RemoteTables,
|
||||||
|
ViewHandTableAccess as _,
|
||||||
|
};
|
||||||
use jong_db::{add_bot, set_ready};
|
use jong_db::{add_bot, set_ready};
|
||||||
use jong_types::*;
|
use jong_types::*;
|
||||||
|
|
||||||
|
|
@ -19,11 +22,10 @@ impl Plugin for Riichi {
|
||||||
.with_uri("http://localhost:3000")
|
.with_uri("http://localhost:3000")
|
||||||
.with_module_name("jong-line")
|
.with_module_name("jong-line")
|
||||||
.with_run_fn(DbConnection::run_threaded)
|
.with_run_fn(DbConnection::run_threaded)
|
||||||
// TODO why don't I need to call add_reducer?
|
|
||||||
|
|
||||||
// TODO do these need to be subscription & vice-versa?
|
|
||||||
.add_table(RemoteTables::player)
|
.add_table(RemoteTables::player)
|
||||||
.add_table(RemoteTables::lobby)
|
.add_table(RemoteTables::lobby)
|
||||||
|
// TODO check bevy_spacetimedb PR status
|
||||||
|
.add_view_with_pk(RemoteTables::view_hand, |p| p.id)
|
||||||
|
|
||||||
// semicolon stopper
|
// semicolon stopper
|
||||||
;
|
;
|
||||||
|
|
@ -87,104 +89,70 @@ fn subscriptions(stdb: SpacetimeDB) {
|
||||||
.on_applied(|_| trace!("made all subs!"))
|
.on_applied(|_| trace!("made all subs!"))
|
||||||
.on_error(|_, err| error!("sub failed: {err}"))
|
.on_error(|_, err| error!("sub failed: {err}"))
|
||||||
.subscribe([
|
.subscribe([
|
||||||
// TODO until views work
|
// TODO change these to sub/unsub based on being in lobby and some such
|
||||||
format!(
|
format!(
|
||||||
"SELECT * FROM player p WHERE p.identity = '{}'",
|
"SELECT * FROM player p WHERE p.identity = '{}'",
|
||||||
stdb.identity()
|
stdb.identity()
|
||||||
),
|
),
|
||||||
"SELECT l.* FROM lobby l JOIN player p ON l.host_player_id = p.id".to_string(),
|
"SELECT l.* FROM lobby l JOIN player p ON l.id = p.lobby_id".to_string(),
|
||||||
|
"SELECT c.* FROM player_clock c JOIN player p ON c.player_id = p.id".to_string(),
|
||||||
|
"SELECT * FROM view_hand".to_string(),
|
||||||
|
"SELECT b.* FROM bot b JOIN lobby l ON l.id = b.lobby_id".to_string(),
|
||||||
]);
|
]);
|
||||||
// .subscribe_to_all_tables();
|
// .subscribe_to_all_tables();
|
||||||
}
|
}
|
||||||
|
|
||||||
fn on_player_insert_update(
|
fn on_view_hand_insert_update(
|
||||||
mut messages: ReadInsertUpdateMessage<jong_db::Player>,
|
stdb: SpacetimeDB,
|
||||||
|
mut messages: ReadInsertUpdateMessage<jong_db::PlayerHand>,
|
||||||
|
|
||||||
mut commands: Commands,
|
mut commands: Commands,
|
||||||
|
mut hand: Option<Single<&mut Children, With<Hand>>>,
|
||||||
pond: Option<Single<Entity, With<Pond>>>,
|
tiles: Query<&Tile>,
|
||||||
hand: Option<Single<Entity, With<Hand>>>,
|
mut next_turnstate: ResMut<NextState<jong_types::states::TurnState>>,
|
||||||
tiles: Query<(Entity, &TileId)>,
|
|
||||||
) {
|
) {
|
||||||
let hand = if hand.is_none() {
|
|
||||||
let hand = commands.spawn(Hand).id();
|
|
||||||
commands.spawn(Pond);
|
|
||||||
hand
|
|
||||||
} else {
|
|
||||||
*hand.unwrap()
|
|
||||||
};
|
|
||||||
let pond = if pond.is_none() {
|
|
||||||
let pond = commands.spawn(Pond).id();
|
|
||||||
commands.spawn(Pond);
|
|
||||||
pond
|
|
||||||
} else {
|
|
||||||
*pond.unwrap()
|
|
||||||
};
|
|
||||||
|
|
||||||
for msg in messages.read() {
|
for msg in messages.read() {
|
||||||
/* match msg.new.turn_state {
|
if hand.is_none() {
|
||||||
jong_db::TurnState::None => {}
|
let hand_tiles: Vec<_> = msg
|
||||||
jong_db::TurnState::Tsumo => {
|
.new
|
||||||
stdb.reducers().draw_tile().unwrap();
|
.hand
|
||||||
}
|
.iter()
|
||||||
jong_db::TurnState::Menzen => todo!(),
|
.map(|dbt| commands.spawn((Tile::from(&dbt.tile), TileId(dbt.id))).id())
|
||||||
jong_db::TurnState::RiichiKan => todo!(),
|
.collect();
|
||||||
jong_db::TurnState::RonChiiPonKan => {
|
commands.spawn(Hand).add_children(&hand_tiles);
|
||||||
stdb.reducers().skip_call().unwrap();
|
|
||||||
}
|
|
||||||
jong_db::TurnState::End => todo!(),
|
|
||||||
}
|
}
|
||||||
let hand_tiles: Vec<_> = msg
|
|
||||||
.new
|
|
||||||
.hand
|
|
||||||
.iter()
|
|
||||||
.map(|dbt| {
|
|
||||||
tiles
|
|
||||||
.iter()
|
|
||||||
.find_map(|(e, t)| if *t == TileId(dbt.id) { Some(e) } else { None })
|
|
||||||
.or_else(|| Some(commands.spawn((Tile::from(&dbt.tile), TileId(dbt.id))).id()))
|
|
||||||
.unwrap()
|
|
||||||
})
|
|
||||||
.collect();
|
|
||||||
|
|
||||||
let pond_tiles: Vec<_> = msg
|
// match msg.new.turn_state {
|
||||||
.new
|
// jong_db::TurnState::None => todo!(),
|
||||||
.pond
|
// jong_db::TurnState::Tsumo => todo!(),
|
||||||
.iter()
|
// jong_db::TurnState::Menzen => todo!(),
|
||||||
.map(|dbt| {
|
// jong_db::TurnState::RiichiKan => todo!(),
|
||||||
tiles
|
// jong_db::TurnState::RonChiiPonKan => todo!(),
|
||||||
.iter()
|
// jong_db::TurnState::End => todo!(),
|
||||||
.find_map(|(e, t)| if *t == TileId(dbt.id) { Some(e) } else { None })
|
// }
|
||||||
.expect(&format!(
|
|
||||||
"dealt tiles should still be around, couldn't find {:?}. Tiles: {:?}",
|
|
||||||
dbt,
|
|
||||||
tiles.iter().map(|(_, t)| t).collect::<Vec<_>>()
|
|
||||||
))
|
|
||||||
})
|
|
||||||
.collect();
|
|
||||||
|
|
||||||
debug!("hand_tiles: {hand_tiles:?}");
|
next_turnstate.set(msg.new.turn_state.into());
|
||||||
|
|
||||||
commands.entity(hand).replace_children(&hand_tiles);
|
|
||||||
commands.entity(pond).replace_children(&pond_tiles);
|
|
||||||
|
|
||||||
// drawn tile is always a new tile to us until wall isn't fake
|
|
||||||
if let Some(dbt) = &msg.new.drawn_tile {
|
|
||||||
debug!("drew tile with id: {}", dbt.id);
|
|
||||||
commands.spawn((Tile::from(&dbt.tile), TileId(dbt.id), Drawn));
|
|
||||||
} */
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn on_player_insert_update(
|
||||||
|
stdb: SpacetimeDB,
|
||||||
|
mut messages: ReadInsertUpdateMessage<jong_db::Player>,
|
||||||
|
|
||||||
|
mut commands: Commands,
|
||||||
|
) {
|
||||||
|
for msg in messages.read() {}
|
||||||
|
}
|
||||||
|
|
||||||
fn on_lobby_insert_update(
|
fn on_lobby_insert_update(
|
||||||
stdb: SpacetimeDB,
|
stdb: SpacetimeDB,
|
||||||
mut messages: ReadInsertUpdateMessage<jong_db::Lobby>,
|
mut messages: ReadInsertUpdateMessage<jong_db::Lobby>,
|
||||||
|
|
||||||
commands: Commands,
|
commands: Commands,
|
||||||
mut next_gamestate: ResMut<NextState<jong_types::states::GameState>>,
|
mut next_gamestate: ResMut<NextState<jong_types::states::GameState>>,
|
||||||
mut next_turnstate: ResMut<NextState<jong_types::states::TurnState>>,
|
|
||||||
) {
|
) {
|
||||||
for msg in messages.read() {
|
for msg in messages.read() {
|
||||||
// trace!("on_lobby_insert_update msg:\n{:#?}", msg.new);
|
trace!("on_lobby_insert_update msg:\n{:#?}", msg.new);
|
||||||
|
|
||||||
let player = stdb
|
let player = stdb
|
||||||
.db()
|
.db()
|
||||||
|
|
@ -205,12 +173,10 @@ fn on_lobby_insert_update(
|
||||||
stdb.reducers().add_bot(player.lobby_id).unwrap();
|
stdb.reducers().add_bot(player.lobby_id).unwrap();
|
||||||
}
|
}
|
||||||
stdb.reducers().set_ready(true).unwrap();
|
stdb.reducers().set_ready(true).unwrap();
|
||||||
// stdb.reducers().start_game().unwrap();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
jong_db::GameState::Setup => {
|
jong_db::GameState::Setup => {
|
||||||
trace!("game entered setup");
|
trace!("game entered setup");
|
||||||
// stdb.reducers().shuffle_deal(player.lobby_id).unwrap();
|
|
||||||
}
|
}
|
||||||
jong_db::GameState::Deal => {
|
jong_db::GameState::Deal => {
|
||||||
trace!("game entered deal");
|
trace!("game entered deal");
|
||||||
|
|
|
||||||
|
|
@ -97,9 +97,8 @@ impl Plugin for TuiPlugin {
|
||||||
fn discard_tile(
|
fn discard_tile(
|
||||||
stdb: SpacetimeDB,
|
stdb: SpacetimeDB,
|
||||||
|
|
||||||
mut selected: MessageReader<ConfirmSelect>,
|
|
||||||
|
|
||||||
mut commands: Commands,
|
mut commands: Commands,
|
||||||
|
mut selected: MessageReader<ConfirmSelect>,
|
||||||
drawn: Single<(Entity, &TileId), With<Drawn>>,
|
drawn: Single<(Entity, &TileId), With<Drawn>>,
|
||||||
tiles: Query<&TileId>,
|
tiles: Query<&TileId>,
|
||||||
) {
|
) {
|
||||||
|
|
|
||||||
7
justfile
7
justfile
|
|
@ -8,8 +8,6 @@ default:
|
||||||
just --list
|
just --list
|
||||||
|
|
||||||
run-tui:
|
run-tui:
|
||||||
just spacetime_restart_dev
|
|
||||||
sleep 3sec
|
|
||||||
cargo run -- run-tui
|
cargo run -- run-tui
|
||||||
|
|
||||||
update:
|
update:
|
||||||
|
|
@ -27,3 +25,8 @@ spacetime_generate-bindings:
|
||||||
|
|
||||||
spacetime_restart_dev:
|
spacetime_restart_dev:
|
||||||
mprocs -s localhost:4050 --ctl $"({c: restart-proc, name: spacetimedb_dev} | to yaml)"
|
mprocs -s localhost:4050 --ctl $"({c: restart-proc, name: spacetimedb_dev} | to yaml)"
|
||||||
|
|
||||||
|
rrt:
|
||||||
|
just spacetime_restart_dev
|
||||||
|
sleep 3sec
|
||||||
|
just run-tui
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue