diff --git a/.cargo/config.toml b/.cargo/config.toml index 11e08a77..dc966825 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -1,2 +1,2 @@ [build] -rustflags = ["--cfg", "tokio_unstable", "-Ctarget-cpu=native"] \ No newline at end of file +rustflags = ["--cfg", "tokio_unstable", "-Ctarget-cpu=native"] diff --git a/.devcontainer.json b/.devcontainer.json index 71d53dd9..1b58ce07 100644 --- a/.devcontainer.json +++ b/.devcontainer.json @@ -1,6 +1,8 @@ { "name": "Debian", - "forwardPorts": [25565], + "forwardPorts": [ + 25565 + ], "features": { "ghcr.io/devcontainers/features/rust:1": {} }, diff --git a/.github/chart/pyproject.toml b/.github/chart/pyproject.toml index f2422bba..fa571991 100644 --- a/.github/chart/pyproject.toml +++ b/.github/chart/pyproject.toml @@ -1,10 +1,10 @@ [project] -name = "chart" -version = "0.1.0" +dependencies = [ + "matplotlib>=3.9.2", + "numpy>=2.1.2" +] description = "Add your description here" +name = "chart" readme = "README.md" requires-python = ">=3.12" -dependencies = [ - "matplotlib>=3.9.2", - "numpy>=2.1.2", -] +version = "0.1.0" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 5871ed71..51f13989 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -20,11 +20,31 @@ repos: description: Detects presence of private keys - id: check-yaml description: Validates YAML files + - id: check-toml - id: mixed-line-ending args: [ --fix=lf ] description: Replaces mixed line endings with LF - id: check-executables-have-shebangs description: Ensures executable files have shebangs + - id: pretty-format-json + args: [ --autofix, --no-sort-keys ] + description: Checks that JSON files are properly formatted + + - repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks + rev: v2.12.0 + hooks: + - id: pretty-format-toml + args: [ --autofix ] + description: Formats TOML files + + - repo: https://github.com/Lucas-C/pre-commit-hooks + rev: v1.5.4 + hooks: + - id: forbid-crlf + description: Prevents CRLF line endings + - id: remove-tabs + description: Replaces tabs with spaces + - repo: local hooks: - id: cargo-fmt @@ -55,4 +75,12 @@ repos: entry: cargo deny check language: system types: [rust] - pass_filenames: false \ No newline at end of file + pass_filenames: false + - id: cargo-test + name: cargo test + description: Run cargo tests + entry: cargo nextest run + language: system + types: [ rust ] + pass_filenames: false + stages: [ push ] # Only run on push, not every commit \ No newline at end of file diff --git a/Cargo.toml b/Cargo.toml index 0853059f..41a3c3e0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,4 +1,5 @@ [profile] + [profile.release-debug] debug = true inherits = 'release' @@ -28,7 +29,7 @@ members = [ 'crates/hyperion-utils', 'events/proof-of-concept', 'crates/hyperion-circle-buf', - 'crates/hyperion-permission', + 'crates/hyperion-permission' ] resolver = '2' @@ -38,7 +39,6 @@ approx = '0.5.1' arrayvec = '0.7.4' base64 = '0.22.1' bitfield-struct = '0.9.2' -nom = "8.0.0-alpha2" bitvec = '1.0.1' bumpalo = '3.16' byteorder = '1.5.0' @@ -62,6 +62,7 @@ libdeflater = '1.20.0' memmap2 = '0.9.5' more-asserts = '0.3.1' no_denormals = '0.1.2' +nom = "8.0.0-alpha2" once_cell = '1.19.0' ordered-float = '4.2.0' ouroboros = '0.18.4' @@ -82,7 +83,7 @@ thiserror = '1.0.63' tikv-jemallocator = '0.6.0' tokio = '1.40.0' toml = '0.8.14' -tracing-tracy = { version = "0.11.3", features = ["timer-fallback"] } +tracing-tracy = {version = "0.11.3", features = ["timer-fallback"]} uuid = '1.8.0' [workspace.dependencies.bvh] @@ -219,6 +220,7 @@ branch = 'feat-open' git = 'https://github.com/andrewgazelka/valence' [workspace.lints] + [workspace.lints.clippy] cast_precision_loss = 'allow' future_not_send = 'allow' @@ -254,6 +256,7 @@ level = 'deny' priority = -1 [workspace.lints.rust] + [workspace.lints.rust.future_incompatible] level = 'deny' priority = -1 diff --git a/clippy.toml b/clippy.toml index e3fe8cae..f6814e08 100644 --- a/clippy.toml +++ b/clippy.toml @@ -1,4 +1,5 @@ # https://doc.rust-lang.org/nightly/clippy/lint_configuration.html + cognitive-complexity-threshold = 200 excessive-nesting-threshold = 7 too-many-lines-threshold = 200 diff --git a/crates/bvh-region/Cargo.toml b/crates/bvh-region/Cargo.toml index a898ac90..6b63e837 100644 --- a/crates/bvh-region/Cargo.toml +++ b/crates/bvh-region/Cargo.toml @@ -1,48 +1,48 @@ -[package] -name = "bvh-region" -version = "0.1.0" -edition = "2021" -authors = ["Andrew Gazelka "] -readme = "README.md" -publish = false +[[bench]] +harness = false +name = "sort" -[features] -plot = ["dep:plotters", "dep:plotters-bitmap"] -default = [] +[[bench]] +harness = false +name = "bvh" + +[[bench]] +harness = false +name = "side_by_side" [dependencies] -fastrand.workspace = true -glam = { workspace = true, features = ["serde"] } -rayon.workspace = true +glam = {workspace = true, features = ["serde"]} +plotters = {workspace = true, features = [ + "plotters-bitmap", + "image" +], optional = true} +plotters-bitmap = {workspace = true, optional = true} +serde = {workspace = true, features = ["derive"]} arrayvec.workspace = true -ordered-float.workspace = true +fastrand.workspace = true itertools.workspace = true -plotters = { workspace = true, features = [ - "plotters-bitmap", - "image", -], optional = true } -plotters-bitmap = { workspace = true, optional = true } +ordered-float.workspace = true +rayon.workspace = true tracing.workspace = true -serde = { workspace = true, features = ["derive"] } [dev-dependencies] -divan.workspace = true criterion.workspace = true +divan.workspace = true rand.workspace = true tango-bench.workspace = true tracing-subscriber.workspace = true -[[bench]] -name = "sort" -harness = false - -[[bench]] -name = "bvh" -harness = false - -[[bench]] -name = "side_by_side" -harness = false +[features] +default = [] +plot = ["dep:plotters", "dep:plotters-bitmap"] [lints] workspace = true + +[package] +authors = ["Andrew Gazelka "] +edition = "2021" +name = "bvh-region" +publish = false +readme = "README.md" +version = "0.1.0" diff --git a/crates/hyperion-circle-buf/Cargo.toml b/crates/hyperion-circle-buf/Cargo.toml index 9db9c221..a53d754a 100644 --- a/crates/hyperion-circle-buf/Cargo.toml +++ b/crates/hyperion-circle-buf/Cargo.toml @@ -1,12 +1,12 @@ -[package] -name = "hyperion-circle-buf" -version = "0.1.0" -edition = "2021" -authors = ["Andrew Gazelka "] -readme = "README.md" -publish = false - [dependencies] [lints] workspace = true + +[package] +authors = ["Andrew Gazelka "] +edition = "2021" +name = "hyperion-circle-buf" +publish = false +readme = "README.md" +version = "0.1.0" diff --git a/crates/hyperion-crafting/Cargo.toml b/crates/hyperion-crafting/Cargo.toml index 3064534b..99900a82 100644 --- a/crates/hyperion-crafting/Cargo.toml +++ b/crates/hyperion-crafting/Cargo.toml @@ -1,17 +1,17 @@ -[package] -name = "hyperion-crafting" -version = "0.1.0" -edition = "2021" -authors = ["Andrew Gazelka "] -readme = "README.md" -publish = false - [dependencies] -valence_protocol.workspace = true anyhow.workspace = true -flecs_ecs.workspace = true derive-build.workspace = true +flecs_ecs.workspace = true slotmap.workspace = true +valence_protocol.workspace = true [lints] workspace = true + +[package] +authors = ["Andrew Gazelka "] +edition = "2021" +name = "hyperion-crafting" +publish = false +readme = "README.md" +version = "0.1.0" diff --git a/crates/hyperion-event-macros/Cargo.toml b/crates/hyperion-event-macros/Cargo.toml index 5159f1ac..17b53f27 100644 --- a/crates/hyperion-event-macros/Cargo.toml +++ b/crates/hyperion-event-macros/Cargo.toml @@ -1,23 +1,23 @@ -[package] -name = "hyperion-event-macros" -version = "0.1.0" -edition = "2021" -authors = ["Andrew Gazelka "] -readme = "README.md" -publish = false - -[lib] -proc-macro = true - [dependencies] -quote = "1.0.37" -syn = "2.0.79" convert_case = "0.6.0" proc-macro2 = "1.0.88" +quote = "1.0.37" +syn = "2.0.79" [dev-dependencies] trybuild = "1.0.100" hyperion.workspace = true +[lib] +proc-macro = true + [lints] workspace = true + +[package] +authors = ["Andrew Gazelka "] +edition = "2021" +name = "hyperion-event-macros" +publish = false +readme = "README.md" +version = "0.1.0" diff --git a/crates/hyperion-inventory/Cargo.toml b/crates/hyperion-inventory/Cargo.toml index f783f6e5..cbc84ad3 100644 --- a/crates/hyperion-inventory/Cargo.toml +++ b/crates/hyperion-inventory/Cargo.toml @@ -1,17 +1,17 @@ -[package] -name = "hyperion-inventory" -version = "0.1.0" -edition = "2021" -authors = ["Andrew Gazelka "] -readme = "README.md" -publish = false - [dependencies] -valence_protocol.workspace = true flecs_ecs.workspace = true -snafu.workspace = true hyperion-crafting.workspace = true roaring.workspace = true +snafu.workspace = true +valence_protocol.workspace = true [lints] workspace = true + +[package] +authors = ["Andrew Gazelka "] +edition = "2021" +name = "hyperion-inventory" +publish = false +readme = "README.md" +version = "0.1.0" diff --git a/crates/hyperion-minecraft-proto/Cargo.toml b/crates/hyperion-minecraft-proto/Cargo.toml index 1f4a145b..a3803feb 100644 --- a/crates/hyperion-minecraft-proto/Cargo.toml +++ b/crates/hyperion-minecraft-proto/Cargo.toml @@ -1,12 +1,12 @@ -[package] -name = "hyperion-minecraft-proto" -version = "0.1.0" -edition = "2021" -authors = ["Andrew Gazelka "] -readme = "README.md" -publish = false - [dependencies] [lints] workspace = true + +[package] +authors = ["Andrew Gazelka "] +edition = "2021" +name = "hyperion-minecraft-proto" +publish = false +readme = "README.md" +version = "0.1.0" diff --git a/crates/hyperion-nerd-font/Cargo.toml b/crates/hyperion-nerd-font/Cargo.toml index eaeac684..530ee739 100644 --- a/crates/hyperion-nerd-font/Cargo.toml +++ b/crates/hyperion-nerd-font/Cargo.toml @@ -1,12 +1,12 @@ -[package] -name = "hyperion-nerd-font" -version = "0.1.0" -edition = "2021" -authors = ["Andrew Gazelka "] -readme = "README.md" -publish = false - [dependencies] [lints] workspace = true + +[package] +authors = ["Andrew Gazelka "] +edition = "2021" +name = "hyperion-nerd-font" +publish = false +readme = "README.md" +version = "0.1.0" diff --git a/crates/hyperion-palette/Cargo.toml b/crates/hyperion-palette/Cargo.toml index e98aaf2e..b75d85f6 100644 --- a/crates/hyperion-palette/Cargo.toml +++ b/crates/hyperion-palette/Cargo.toml @@ -1,15 +1,15 @@ -[package] -name = "hyperion-palette" -version = "0.1.0" -edition = "2021" -authors = ["Andrew Gazelka "] -readme = "README.md" -publish = false - [dependencies] -roaring.workspace = true anyhow.workspace = true +roaring.workspace = true valence_protocol.workspace = true [lints] workspace = true + +[package] +authors = ["Andrew Gazelka "] +edition = "2021" +name = "hyperion-palette" +publish = false +readme = "README.md" +version = "0.1.0" diff --git a/crates/hyperion-permission/Cargo.toml b/crates/hyperion-permission/Cargo.toml index e793ec18..2b1e0047 100644 --- a/crates/hyperion-permission/Cargo.toml +++ b/crates/hyperion-permission/Cargo.toml @@ -1,22 +1,22 @@ -[package] -name = "hyperion-permission" -version = "0.1.0" -edition = "2021" -authors = ["Andrew Gazelka "] -readme = "README.md" -publish = false - [dependencies] -num-traits = "0.2.19" +heed = "0.20.5" num-derive = "0.4.2" +num-traits = "0.2.19" anyhow.workspace = true -uuid.workspace = true flecs_ecs.workspace = true -tracing.workspace = true -nom.workspace = true hyperion.workspace = true +nom.workspace = true +tracing.workspace = true +uuid.workspace = true valence_protocol.workspace = true -heed = "0.20.5" [lints] workspace = true + +[package] +authors = ["Andrew Gazelka "] +edition = "2021" +name = "hyperion-permission" +publish = false +readme = "README.md" +version = "0.1.0" diff --git a/crates/hyperion-proto/Cargo.toml b/crates/hyperion-proto/Cargo.toml index 2ec7955f..4c980188 100644 --- a/crates/hyperion-proto/Cargo.toml +++ b/crates/hyperion-proto/Cargo.toml @@ -1,18 +1,18 @@ -[package] -name = "hyperion-proto" -version = "0.1.0" -edition = "2021" -authors = ["Andrew Gazelka "] -readme = "README.md" -publish = false +[build-dependencies] [dependencies] -rkyv = { version = "0.8.8" } +rkyv = {version = "0.8.8"} [lints] workspace = true -[build-dependencies] +[package] +authors = ["Andrew Gazelka "] +edition = "2021" +name = "hyperion-proto" +publish = false +readme = "README.md" +version = "0.1.0" [package.metadata.cargo-machete] ignored = ["prost"] diff --git a/crates/hyperion-proto/rustfmt.toml b/crates/hyperion-proto/rustfmt.toml index eea6c34d..2531e139 100644 --- a/crates/hyperion-proto/rustfmt.toml +++ b/crates/hyperion-proto/rustfmt.toml @@ -1,5 +1,5 @@ combine_control_expr = true -comment_width = 100 # https://lkml.org/lkml/2020/5/29/1038 +comment_width = 100 # https://lkml.org/lkml/2020/5/29/1038 condense_wildcard_suffixes = true control_brace_style = "AlwaysSameLine" edition = "2021" diff --git a/crates/hyperion-proxy/Cargo.toml b/crates/hyperion-proxy/Cargo.toml index 522d3e8b..9cc83de6 100644 --- a/crates/hyperion-proxy/Cargo.toml +++ b/crates/hyperion-proxy/Cargo.toml @@ -1,33 +1,33 @@ -[package] -name = "hyperion-proxy" -version = "0.1.0" -edition = "2021" -authors = ["Andrew Gazelka "] -readme = "README.md" -publish = false - [dependencies] +colored = "2.1.0" +kanal = "0.1.0-pre8" +papaya = "0.1.4" +rkyv = "0.8.8" +rustc-hash = "2.0.0" +tokio = {workspace = true, features = ["full", "tracing"]} +tokio-util = {version = "0.7.12", features = ["full"]} anyhow.workspace = true bvh.workspace = true bytes.workspace = true clap.workspace = true -colored = "2.1.0" glam.workspace = true heapless.workspace = true hyperion-proto.workspace = true -kanal = "0.1.0-pre8" more-asserts.workspace = true -papaya = "0.1.4" -rkyv = "0.8.8" -rustc-hash = "2.0.0" slotmap.workspace = true -tokio = { workspace = true, features = ["full", "tracing"] } -tokio-util = { version = "0.7.12", features = ["full"] } -tracing-subscriber.workspace = true tracing.workspace = true - -[target.'cfg(not(target_os = "windows"))'.dependencies] -tikv-jemallocator.workspace = true +tracing-subscriber.workspace = true [lints] workspace = true + +[package] +authors = ["Andrew Gazelka "] +edition = "2021" +name = "hyperion-proxy" +publish = false +readme = "README.md" +version = "0.1.0" + +[target.'cfg(not(target_os = "windows"))'.dependencies] +tikv-jemallocator.workspace = true diff --git a/crates/hyperion-scheduled/Cargo.toml b/crates/hyperion-scheduled/Cargo.toml index 801fea77..24daff0f 100644 --- a/crates/hyperion-scheduled/Cargo.toml +++ b/crates/hyperion-scheduled/Cargo.toml @@ -1,12 +1,12 @@ -[package] -name = "hyperion-scheduled" -version = "0.1.0" -edition = "2021" -authors = ["Andrew Gazelka "] -readme = "README.md" -publish = false - [dependencies] [lints] workspace = true + +[package] +authors = ["Andrew Gazelka "] +edition = "2021" +name = "hyperion-scheduled" +publish = false +readme = "README.md" +version = "0.1.0" diff --git a/crates/hyperion-stats/Cargo.toml b/crates/hyperion-stats/Cargo.toml index f737826f..6ffffb0f 100644 --- a/crates/hyperion-stats/Cargo.toml +++ b/crates/hyperion-stats/Cargo.toml @@ -1,21 +1,21 @@ -[package] -name = "hyperion-stats" -version = "0.1.0" -edition = "2021" -authors = ["Andrew Gazelka "] -readme = "README.md" -publish = false +[[bench]] +harness = false +name = "parallel_stats" [dependencies] [dev-dependencies] +rand = "0.9.0-alpha.2" approx.workspace = true divan.workspace = true -rand = "0.9.0-alpha.2" [lints] workspace = true -[[bench]] -name = "parallel_stats" -harness = false +[package] +authors = ["Andrew Gazelka "] +edition = "2021" +name = "hyperion-stats" +publish = false +readme = "README.md" +version = "0.1.0" diff --git a/crates/hyperion-text/Cargo.toml b/crates/hyperion-text/Cargo.toml index a4b91889..d4e9c55c 100644 --- a/crates/hyperion-text/Cargo.toml +++ b/crates/hyperion-text/Cargo.toml @@ -1,17 +1,17 @@ -[package] -name = "hyperion-text" -version = "0.1.0" -edition = "2021" -authors = ["Andrew Gazelka "] -readme = "README.md" -publish = false - [dependencies] -serde = { version = "1.0.214", features = ["derive"] } +serde = {version = "1.0.214", features = ["derive"]} +serde_json = "1.0.128" thiserror = "1.0.64" -uuid = { version = "1.10.0", features = ["v4", "serde"] } +uuid = {version = "1.10.0", features = ["v4", "serde"]} valence_protocol.workspace = true -serde_json = "1.0.128" [lints] workspace = true + +[package] +authors = ["Andrew Gazelka "] +edition = "2021" +name = "hyperion-text" +publish = false +readme = "README.md" +version = "0.1.0" diff --git a/crates/hyperion-utils/Cargo.toml b/crates/hyperion-utils/Cargo.toml index 6eb9b6cd..9aa87a09 100644 --- a/crates/hyperion-utils/Cargo.toml +++ b/crates/hyperion-utils/Cargo.toml @@ -1,13 +1,13 @@ -[package] -name = "hyperion-utils" -version = "0.1.0" -edition = "2021" -authors = ["Andrew Gazelka "] -readme = "README.md" -publish = false - [dependencies] flecs_ecs.workspace = true [lints] workspace = true + +[package] +authors = ["Andrew Gazelka "] +edition = "2021" +name = "hyperion-utils" +publish = false +readme = "README.md" +version = "0.1.0" diff --git a/crates/hyperion/Cargo.toml b/crates/hyperion/Cargo.toml index 208ec430..e7991998 100644 --- a/crates/hyperion/Cargo.toml +++ b/crates/hyperion/Cargo.toml @@ -1,12 +1,24 @@ -[package] -name = "hyperion" -version = "0.1.0" -edition = "2021" -authors = ["Andrew Gazelka "] -readme = "README.md" -publish = false +[[bench]] +harness = false +name = "set" + +[[bench]] +harness = false +name = "atomic" + +[build-dependencies] +rustc_version.workspace = true [dependencies] +colored = "2.1.0" +flate2 = {workspace = true, features = ["zlib-ng"]} +glam = {workspace = true, features = ["serde"]} +rkyv = "0.8.8" +roaring = {workspace = true, features = ["simd"]} +serde = {workspace = true, features = ["derive"]} +tokio = {workspace = true, features = ["full", "tracing"]} +tracing = {workspace = true} +uuid = {workspace = true, features = ["v3"]} anyhow.workspace = true base64.workspace = true bitfield-struct.workspace = true @@ -17,20 +29,16 @@ bytemuck.workspace = true byteorder.workspace = true bytes.workspace = true derive_more.workspace = true -hyperion-event-macros.workspace = true -colored = "2.1.0" dirs-next.workspace = true enumset.workspace = true fastrand.workspace = true -flate2 = { workspace = true, features = ["zlib-ng"] } flecs_ecs.workspace = true -valence_ident.workspace = true -rustc-hash.workspace = true -glam = { workspace = true, features = ["serde"] } heapless.workspace = true heed.workspace = true hyperion-crafting.workspace = true +hyperion-event-macros.workspace = true hyperion-inventory.workspace = true +hyperion-nerd-font.workspace = true hyperion-palette.workspace = true hyperion-proto.workspace = true hyperion-text.workspace = true @@ -49,20 +57,15 @@ ouroboros.workspace = true parking_lot.workspace = true rayon.workspace = true reqwest.workspace = true -roaring = { workspace = true, features = ["simd"] } -hyperion-nerd-font.workspace = true -serde = { workspace = true, features = ["derive"] } +rustc-hash.workspace = true serde_json.workspace = true sha2.workspace = true tar.workspace = true thiserror.workspace = true -tokio = { workspace = true, features = ["full", "tracing"] } toml.workspace = true -tracing = { workspace = true } -rkyv = "0.8.8" -uuid = { workspace = true, features = ["v3"] } valence_anvil.workspace = true valence_generated.workspace = true +valence_ident.workspace = true valence_nbt.workspace = true valence_protocol.workspace = true valence_registry.workspace = true @@ -75,19 +78,14 @@ fastrand.workspace = true hex.workspace = true rustc_version.workspace = true tango-bench.workspace = true -#tracing-subscriber.workspace = true - -[[bench]] -name = "set" -harness = false - -[[bench]] -name = "atomic" -harness = false [lints] workspace = true - -[build-dependencies] -rustc_version.workspace = true +[package] +authors = ["Andrew Gazelka "] +edition = "2021" +name = "hyperion" +publish = false +readme = "README.md" +version = "0.1.0" diff --git a/crates/hyperion/src/egress/player_join/data/tags.json b/crates/hyperion/src/egress/player_join/data/tags.json index 364a1036..2413422d 100644 --- a/crates/hyperion/src/egress/player_join/data/tags.json +++ b/crates/hyperion/src/egress/player_join/data/tags.json @@ -5666,4 +5666,4 @@ 33 ] } -} \ No newline at end of file +} diff --git a/deny.toml b/deny.toml index 6c2e0cf0..ba8a3b11 100644 --- a/deny.toml +++ b/deny.toml @@ -1,26 +1,90 @@ # This template contains all of the possible sections and their default values -# Note that all fields that take a lint level have these possible values: -# * deny - An error will be produced and the check will fail -# * warn - A warning will be produced, but the check will not fail -# * allow - No warning or error will be produced, though in some cases a note -# will be - -# The values provided in this template are the default values that will be used -# when any section or field is not specified in your own configuration +# This section is considered when running `cargo deny check advisories` +# More documentation for the advisories section can be found here: +# https://embarkstudios.github.io/cargo-deny/checks/advisories/cfg.html +[advisories] +# The path where the advisory databases are cloned/fetched into +# db-path = "$CARGO_HOME/advisory-dbs" +# The url(s) of the advisory databases to use +# db-urls = ["https://github.com/rustsec/advisory-db"] +# A list of advisory IDs to ignore. Note that ignored advisories will still +# output a note when they are encountered. +ignore = [ +] -# Root options +# This section is considered when running `cargo deny check bans`. +# More documentation about the 'bans' section can be found here: +# https://embarkstudios.github.io/cargo-deny/checks/bans/cfg.html +[bans] +# List of crates that are allowed. Use with care! +allow = [ +] +# List of crates to deny +deny = [ +] +# The default lint level for `default` features for external crates that are not +# members of the workspace. This can be overridden by allowing/denying `default` +# on a crate-by-crate basis if desired. +external-default-features = "allow" +# The graph highlighting used when creating dotgraphs for crates +# with multiple versions +# * lowest-version - The path to the lowest versioned duplicate is highlighted +# * simplest-path - The path to the version with the fewest edges is highlighted +# * all - Both lowest-version and simplest-path are used +highlight = "all" +# Lint level for when multiple versions of the same crate are detected +multiple-versions = "warn" +# Certain crates/versions that will be skipped when doing duplicate detection. +skip = [ + "smallvec", + "syn", + "futures-lite", + "fastrand", + "event-listener", + "base64", + "regex-syntax", + "regex-automata", + "bitflags", + "toml_edit", + "parking_lot_core", + "parking_lot", + "indexmap", + "hashbrown", + "winnow", + "derive_more", + "bitfield-struct", + "heck", + "idna", + "strsim", + "socket2", + "semver", + "rustls-pemfile", + "rustc_version", + "compact_str", + "zerocopy", + "clap", + "itertools", + "miniz_oxide", + "rustc-hash", + "nom" +] +# Similarly to `skip` allows you to skip certain crates during duplicate +# detection. Unlike skip, it also includes the entire tree of transitive +# dependencies starting at the specified crate, up to a certain depth, which is +# by default infinite. +skip-tree = [ +] +# Lint level for when a crate version requirement is `*` +wildcards = "allow" +# The default lint level for `default` features for crates that are members of +# the workspace that is being checked. This can be overridden by allowing/denying +# `default` on a crate-by-crate basis if desired. +workspace-default-features = "allow" # The graph table configures how the dependency graph is constructed and thus # which crates the checks are performed against [graph] -targets = [ - "aarch64-apple-darwin", - "x86_64-apple-darwin", - "aarch64-unknown-linux-gnu", - "x86_64-unknown-linux-gnu", -] - # When creating the dependency graph used as the source of truth when checks are # executed, this field can be used to prune crates from the graph, removing them # from the view of cargo-deny. This is an extremely heavy hammer, as if a crate @@ -28,7 +92,7 @@ targets = [ # they are connected to another crate in the graph that hasn't been pruned, # so it should be used with care. The identifiers are [Package ID Specifications] # (https://doc.rust-lang.org/cargo/reference/pkgid-spec.html) -#exclude = [] +# exclude = [] # If true, metadata will be collected with `--all-features`. Note that this can't # be toggled off if true, if you want to conditionally enable `--all-features` it # is recommended to pass `--all-features` on the cmd line instead @@ -36,46 +100,17 @@ all-features = false # If true, metadata will be collected with `--no-default-features`. The same # caveat with `all-features` applies no-default-features = false -# If set, these feature will be enabled when collecting metadata. If `--features` -# is specified on the cmd line they will take precedence over this option. -#features = [] - -# The output table provides options for how/if diagnostics are outputted -[output] -# When outputting inclusion graphs in diagnostics that include features, this -# option can be used to specify the depth at which feature edges will be added. -# This option is included since the graphs can be quite large and the addition -# of features from the crate(s) to all of the graph roots can be far too verbose. -# This option can be overridden via `--feature-depth` on the cmd line -feature-depth = 1 - -# This section is considered when running `cargo deny check advisories` -# More documentation for the advisories section can be found here: -# https://embarkstudios.github.io/cargo-deny/checks/advisories/cfg.html -[advisories] -# The path where the advisory databases are cloned/fetched into -#db-path = "$CARGO_HOME/advisory-dbs" -# The url(s) of the advisory databases to use -#db-urls = ["https://github.com/rustsec/advisory-db"] -# A list of advisory IDs to ignore. Note that ignored advisories will still -# output a note when they are encountered. -ignore = [ - #"RUSTSEC-0000-0000", - #{ id = "RUSTSEC-0000-0000", reason = "you can specify a reason the advisory is ignored" }, - #"a-crate-that-is-yanked@0.1.1", # you can also ignore yanked crate versions if you wish - #{ crate = "a-crate-that-is-yanked@0.1.1", reason = "you can specify why you are ignoring the yanked crate" }, +targets = [ + "aarch64-apple-darwin", + "x86_64-apple-darwin", + "aarch64-unknown-linux-gnu", + "x86_64-unknown-linux-gnu" ] -# If this is true, then cargo deny will use the git executable to fetch advisory database. -# If this is false, then it uses a built-in git library. -# Setting this to true can be helpful if you have special authentication requirements that cargo-deny does not support. -# See Git Authentication for more information about setting up git authentication. -#git-fetch-with-cli = true # This section is considered when running `cargo deny check licenses` # More documentation for the licenses section can be found here: # https://embarkstudios.github.io/cargo-deny/checks/licenses/cfg.html [licenses] -unused-allowed-license = "allow" # List of explicitly allowed licenses # See https://spdx.org/licenses/ for list of possible licenses # [possible values: any SPDX 3.11 short identifier (+ optional exception)]. @@ -90,7 +125,7 @@ allow = [ "OpenSSL", "ISC", "MPL-2.0", - "BSD-2-Clause", + "BSD-2-Clause" ] # The confidence threshold for detecting a license from license text. # The higher the value, the more closely the license text must be to the @@ -102,30 +137,13 @@ confidence-threshold = 0.6 exceptions = [ # Each entry is the crate and version constraint, and its specific allow # list - #{ allow = ["Zlib"], crate = "adler32" }, + # { allow = ["Zlib"], crate = "adler32" }, # TODO: this is an OR clause I am confused I think we are taking the MPL verion - { allow = [ - "ISC", - ], crate = "libloading" }, + {allow = [ + "ISC" + ], crate = "libloading"} ] - -# Some crates don't have (easily) machine readable licensing information, -# adding a clarification entry for it allows you to manually specify the -# licensing information -#[[licenses.clarify]] -# The package spec the clarification applies to -#crate = "ring" -# The SPDX expression for the license requirements of the crate -#expression = "MIT AND ISC AND OpenSSL" -# One or more files in the crate's source used as the "source of truth" for -# the license expression. If the contents match, the clarification will be used -# when running the license check, otherwise the clarification will be ignored -# and the crate will be checked normally, which may produce warnings or errors -# depending on the rest of your configuration -#license-files = [ -# Each entry is a crate relative path, and the (opaque) hash of its contents -#{ path = "LICENSE", hash = 0xbd0eed23 } -#] +unused-allowed-license = "allow" [licenses.private] # If true, ignores workspace crates that aren't published, or are only @@ -137,137 +155,41 @@ ignore = true # is only published to private registries, and ignore is true, the crate will # not have its license(s) checked registries = [ - #"https://sekretz.com/registry ] -# This section is considered when running `cargo deny check bans`. -# More documentation about the 'bans' section can be found here: -# https://embarkstudios.github.io/cargo-deny/checks/bans/cfg.html -[bans] -# Lint level for when multiple versions of the same crate are detected -multiple-versions = "warn" -# Lint level for when a crate version requirement is `*` -wildcards = "allow" -# The graph highlighting used when creating dotgraphs for crates -# with multiple versions -# * lowest-version - The path to the lowest versioned duplicate is highlighted -# * simplest-path - The path to the version with the fewest edges is highlighted -# * all - Both lowest-version and simplest-path are used -highlight = "all" -# The default lint level for `default` features for crates that are members of -# the workspace that is being checked. This can be overridden by allowing/denying -# `default` on a crate-by-crate basis if desired. -workspace-default-features = "allow" -# The default lint level for `default` features for external crates that are not -# members of the workspace. This can be overridden by allowing/denying `default` -# on a crate-by-crate basis if desired. -external-default-features = "allow" -# List of crates that are allowed. Use with care! -allow = [ - #"ansi_term@0.11.0", - #{ crate = "ansi_term@0.11.0", reason = "you can specify a reason it is allowed" }, -] -# List of crates to deny -deny = [ - #"ansi_term@0.11.0", - #{ crate = "ansi_term@0.11.0", reason = "you can specify a reason it is banned" }, - # Wrapper crates can optionally be specified to allow the crate when it - # is a direct dependency of the otherwise banned crate - #{ crate = "ansi_term@0.11.0", wrappers = ["this-crate-directly-depends-on-ansi_term"] }, -] - -# List of features to allow/deny -# Each entry the name of a crate and a version range. If version is -# not specified, all versions will be matched. -#[[bans.features]] -#crate = "reqwest" -# Features to not allow -#deny = ["json"] -# Features to allow -#allow = [ -# "rustls", -# "__rustls", -# "__tls", -# "hyper-rustls", -# "rustls", -# "rustls-pemfile", -# "rustls-tls-webpki-roots", -# "tokio-rustls", -# "webpki-roots", -#] -# If true, the allowed features must exactly match the enabled feature set. If -# this is set there is no point setting `deny` -#exact = true - -# Certain crates/versions that will be skipped when doing duplicate detection. -skip = [ - "smallvec", - "syn", - "futures-lite", - "fastrand", - "event-listener", - "base64", - "regex-syntax", - "regex-automata", - "bitflags", - "toml_edit", - "parking_lot_core", - "parking_lot", - "indexmap", - "hashbrown", - "winnow", - "derive_more", - "bitfield-struct", - "heck", - "idna", - "strsim", - "socket2", - "semver", - "rustls-pemfile", - "rustc_version", - "compact_str", - "zerocopy", - "clap", - "itertools", - "miniz_oxide", - "rustc-hash", - "nom" - - #{ crate = "ansi_term@0.11.0", reason = "you can specify a reason why it can't be updated/removed" }, -] -# Similarly to `skip` allows you to skip certain crates during duplicate -# detection. Unlike skip, it also includes the entire tree of transitive -# dependencies starting at the specified crate, up to a certain depth, which is -# by default infinite. -skip-tree = [ - #"ansi_term@0.11.0", # will be skipped along with _all_ of its direct and transitive dependencies - #{ crate = "ansi_term@0.11.0", depth = 20 }, -] +# The output table provides options for how/if diagnostics are outputted +[output] +# When outputting inclusion graphs in diagnostics that include features, this +# option can be used to specify the depth at which feature edges will be added. +# This option is included since the graphs can be quite large and the addition +# of features from the crate(s) to all of the graph roots can be far too verbose. +# This option can be overridden via `--feature-depth` on the cmd line +feature-depth = 1 # This section is considered when running `cargo deny check sources`. # More documentation about the 'sources' section can be found here: # https://embarkstudios.github.io/cargo-deny/checks/sources/cfg.html [sources] -# Lint level for what to happen when a crate from a crate registry that is not -# in the allow list is encountered -unknown-registry = "warn" -# Lint level for what to happen when a crate from a git repository that is not -# in the allow list is encountered -unknown-git = "warn" -# List of URLs for allowed crate registries. Defaults to the crates.io index -# if not specified. If it is specified but empty, no registries are allowed. -allow-registry = ["https://github.com/rust-lang/crates.io-index"] # List of URLs for allowed Git repositories allow-git = [ "https://github.com/andrewgazelka/valence", "https://github.com/andrewgazelka/bvh-data", - "https://github.com/Indra-db/Flecs-Rust", + "https://github.com/Indra-db/Flecs-Rust" ] +# List of URLs for allowed crate registries. Defaults to the crates.io index +# if not specified. If it is specified but empty, no registries are allowed. +allow-registry = ["https://github.com/rust-lang/crates.io-index"] +# Lint level for what to happen when a crate from a git repository that is not +# in the allow list is encountered +unknown-git = "warn" +# Lint level for what to happen when a crate from a crate registry that is not +# in the allow list is encountered +unknown-registry = "warn" [sources.allow-org] +# 1 or more bitbucket.org organizations to allow git sources for +bitbucket = [] # 1 or more github.com organizations to allow git sources for github = [] # 1 or more gitlab.com organizations to allow git sources for gitlab = [] -# 1 or more bitbucket.org organizations to allow git sources for -bitbucket = [] diff --git a/events/proof-of-concept/Cargo.toml b/events/proof-of-concept/Cargo.toml index fb032cfb..68624d1a 100644 --- a/events/proof-of-concept/Cargo.toml +++ b/events/proof-of-concept/Cargo.toml @@ -1,40 +1,40 @@ -[package] -name = "proof-of-concept" -version = "0.1.0" -edition = "2021" -authors = ["Andrew Gazelka "] -readme = "README.md" -publish = false - [dependencies] +# console-subscriber = "0.4.0" +clap = {workspace = true, features = ["derive"]} +dotenvy = "0.15.7" +ndarray = "0.16.1" +serde_json = "1.0.128" anyhow.workspace = true -#console-subscriber = "0.4.0" -clap = { workspace = true, features = ["derive"] } compact_str.workspace = true -dotenvy = "0.15.7" fastrand.workspace = true flecs_ecs.workspace = true +hyperion.workspace = true hyperion-inventory.workspace = true +hyperion-permission.workspace = true hyperion-scheduled.workspace = true hyperion-text.workspace = true hyperion-utils.workspace = true -hyperion-permission.workspace = true -roaring.workspace = true -hyperion.workspace = true -ndarray = "0.16.1" nom.workspace = true +roaring.workspace = true rustc-hash.workspace = true -serde_json = "1.0.128" -tracing-subscriber.workspace = true tracing.workspace = true +tracing-subscriber.workspace = true tracing-tracy.workspace = true [dev-dependencies] -tokio = { workspace = true, features = ["full"] } -tracing = { workspace = true, features = ["release_max_level_info"] } - -[target.'cfg(not(target_os = "windows"))'.dependencies] -tikv-jemallocator.workspace = true +tokio = {workspace = true, features = ["full"]} +tracing = {workspace = true, features = ["release_max_level_info"]} [lints] workspace = true + +[package] +authors = ["Andrew Gazelka "] +edition = "2021" +name = "proof-of-concept" +publish = false +readme = "README.md" +version = "0.1.0" + +[target.'cfg(not(target_os = "windows"))'.dependencies] +tikv-jemallocator.workspace = true diff --git a/events/proof-of-concept/src/zombie_skin.json b/events/proof-of-concept/src/zombie_skin.json index 605126aa..8df89928 100644 --- a/events/proof-of-concept/src/zombie_skin.json +++ b/events/proof-of-concept/src/zombie_skin.json @@ -1,4 +1,4 @@ { "textures": "ewogICJ0aW1lc3RhbXAiIDogMTcxNDMzMjc5NjIyMSwKICAicHJvZmlsZUlkIiA6ICJjMGI1ZWNhODUwMDA0MTAxYjUxMTQ0YTUzMjEzMGFiZiIsCiAgInByb2ZpbGVOYW1lIiA6ICJWbUNvbVZCIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzQyYjQzYWM4NGY5MDBhMjQxNDZmYTUyYWI5NTk3N2ZlYzJmNmEzZmIwOTczZWQxZDQ3MTMxZTFjZWZhNGU5NzIiCiAgICB9CiAgfQp9", "signature": "Csf9mmuJicYFKfS0Zlt7M9shuBRAurGhaIkVyDOsqzkXPuHELy1d8ETv+vriATzzlzuGVG8sJe5mIQ7qrxOCK42+nopsBDTSGMLoGA+F2XbdK8ZR5Yt2+/0srZvvj5n2813cge4EzQ8eFqL/Xx4csH9mVG9lYCA1V0qsI5hU5/PM6PxXvvbRcOchT5yZWUqrjyPOOwgxrJSmhSQsjVXYQRzKgnNNqWJLTtYoIvi5NlIhSg/vVEoz3sW7Ceoh4WjQVHvQQ9JbW4NAD5MzOkTmnf6RL5om4PYK8YLghujXoDNI1nDbYnMMNtHTkCV0pGF2iB8e64ufjY6NDkRYWg8j7CLm05eFud+Gme/FWNuBoRwIuoJjWFnYlOyj/liO58vhFIgdSJXXabni14LEeeGZX+k9PBeedCvcGzu0yi9sQcOMzJKay00VqPwIe5FEZv+Xq14t6DqpoTXyuy+DCVXF58Bwy0G5B/y5eIU/s3HP68JpzGrhHKCKqF/DK6fOy1YCsVzwE1uXFXTMoHr3SFskP98Ws1AWgfkfYu347g7gKElMqGCQ88+7UfwZvVLWA8hJ6BsAQhmeywoW+qP/H3MeaRh1tDqbpAXoqJHDT07l3dR0s3+/C4IJAunFxV1FtCUZe4lJ4hhjQheRHpBpOovZCfshgh6/XXwHZ1BE0WmKCkI=" -} \ No newline at end of file +} diff --git a/rustfmt.toml b/rustfmt.toml index 6262f382..c833d770 100644 --- a/rustfmt.toml +++ b/rustfmt.toml @@ -1,5 +1,5 @@ combine_control_expr = true -comment_width = 100 # https://lkml.org/lkml/2020/5/29/1038 +comment_width = 100 # https://lkml.org/lkml/2020/5/29/1038 condense_wildcard_suffixes = true control_brace_style = "AlwaysSameLine" edition = "2021" @@ -17,4 +17,5 @@ overflow_delimited_expr = true reorder_impl_items = true reorder_imports = true unstable_features = true -#wrap_comments = true + +# wrap_comments = true