diff options
| -rw-r--r-- | .gitmodules | 9 | ||||
| -rw-r--r-- | Cargo.lock | 5 | ||||
| -rw-r--r-- | Cargo.toml | 60 | ||||
| -rw-r--r-- | crates/teleia/Cargo.toml | 48 | ||||
| -rw-r--r-- | crates/teleia/src/assets/fonts/font1.png (renamed from src/assets/fonts/font1.png) | bin | 1508 -> 1508 bytes | |||
| -rw-r--r-- | crates/teleia/src/assets/fonts/font2.png (renamed from src/assets/fonts/font2.png) | bin | 1883 -> 1883 bytes | |||
| -rw-r--r-- | crates/teleia/src/assets/fonts/simple.png (renamed from src/assets/fonts/simple.png) | bin | 1042 -> 1042 bytes | |||
| -rw-r--r-- | crates/teleia/src/assets/shaders/bitmap/frag.glsl (renamed from src/assets/shaders/bitmap/frag.glsl) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/assets/shaders/bitmap/vert.glsl (renamed from src/assets/shaders/bitmap/vert.glsl) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/assets/shaders/common/frag.glsl (renamed from src/assets/shaders/common/frag.glsl) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/assets/shaders/common/vert.glsl (renamed from src/assets/shaders/common/vert.glsl) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/assets/shaders/scale/frag.glsl (renamed from src/assets/shaders/scale/frag.glsl) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/assets/shaders/scale/vert.glsl (renamed from src/assets/shaders/scale/vert.glsl) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/assets/shaders/scene/frag.glsl (renamed from src/assets/shaders/scene/frag.glsl) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/assets/shaders/scene/vert.glsl (renamed from src/assets/shaders/scene/vert.glsl) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/assets/shaders/test/frag.glsl (renamed from src/assets/shaders/test/frag.glsl) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/assets/shaders/test/vert.glsl (renamed from src/assets/shaders/test/vert.glsl) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/assets/shaders/tiled/frag.glsl (renamed from src/assets/shaders/tiled/frag.glsl) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/assets/shaders/tiled/vert.glsl (renamed from src/assets/shaders/tiled/vert.glsl) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/assets/shaders/truetype/frag.glsl (renamed from src/assets/shaders/truetype/frag.glsl) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/assets/shaders/truetype/vert.glsl (renamed from src/assets/shaders/truetype/vert.glsl) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/audio.rs (renamed from src/audio.rs) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/context.rs (renamed from src/context.rs) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/font.rs (renamed from src/font.rs) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/framebuffer.rs (renamed from src/framebuffer.rs) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/helpers.js (renamed from src/helpers.js) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/js/module.js (renamed from src/js/module.js) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/level2d.rs (renamed from src/level2d.rs) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/level2d/tiled.rs (renamed from src/level2d/tiled.rs) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/lib.rs (renamed from src/lib.rs) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/mesh.rs (renamed from src/mesh.rs) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/net.rs (renamed from src/net.rs) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/net/client.rs (renamed from src/net/client.rs) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/net/client/wasm.rs (renamed from src/net/client/wasm.rs) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/physics.rs (renamed from src/physics.rs) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/save.rs (renamed from src/save.rs) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/scene.rs (renamed from src/scene.rs) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/shader.rs (renamed from src/shader.rs) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/shadow.rs (renamed from src/shadow.rs) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/state.rs (renamed from src/state.rs) | 10 | ||||
| -rw-r--r-- | crates/teleia/src/texture.rs (renamed from src/texture.rs) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/ui.rs (renamed from src/ui.rs) | 0 | ||||
| -rw-r--r-- | crates/teleia/src/utils.rs (renamed from src/utils.rs) | 0 | ||||
| m--------- | deps/directories-rs | 0 | ||||
| m--------- | deps/glfw-rs | 0 | ||||
| m--------- | deps/gltf | 0 |
46 files changed, 70 insertions, 62 deletions
diff --git a/.gitmodules b/.gitmodules index 2317b8f..e69de29 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,9 +0,0 @@ -[submodule "deps/gltf"] - path = deps/gltf - url = https://github.com/lcolonq/gltf -[submodule "deps/glfw-rs"] - path = deps/glfw-rs - url = git@github.com:lcolonq/glfw-rs.git -[submodule "deps/directories-rs"] - path = deps/directories-rs - url = git@github.com:lcolonq/directories-rs.git @@ -635,6 +635,7 @@ checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f" [[package]] name = "directories" version = "6.0.0" +source = "git+https://github.com/lcolonq/directories-rs#164536daab2c07265167715934081cb1942387b0" dependencies = [ "dirs-sys", ] @@ -949,6 +950,7 @@ dependencies = [ [[package]] name = "glfw" version = "0.59.0" +source = "git+https://github.com/lcolonq/glfw-rs#1ce13a2bcf3ef3bf6184bcb4c2a90d9034956841" dependencies = [ "bitflags 1.3.2", "objc2 0.5.2", @@ -978,6 +980,7 @@ dependencies = [ [[package]] name = "gltf" version = "1.4.1" +source = "git+https://github.com/lcolonq/gltf#9763a5abe8c168eb1282a037ff16668542fe2a6d" dependencies = [ "base64 0.13.1", "byteorder", @@ -991,6 +994,7 @@ dependencies = [ [[package]] name = "gltf-derive" version = "1.4.1" +source = "git+https://github.com/lcolonq/gltf#9763a5abe8c168eb1282a037ff16668542fe2a6d" dependencies = [ "inflections", "proc-macro2", @@ -1001,6 +1005,7 @@ dependencies = [ [[package]] name = "gltf-json" version = "1.4.1" +source = "git+https://github.com/lcolonq/gltf#9763a5abe8c168eb1282a037ff16668542fe2a6d" dependencies = [ "gltf-derive", "serde", @@ -1,56 +1,14 @@ -[package] -name = "teleia" +[workspace] +resolver = "2" +members = ["crates/*"] + +[workspace.package] version = "0.1.0" -authors = ["LLLL Colonq <llll@colonq.computer>"] edition = "2021" +authors = ["LLLL Colonq <llll@colonq.computer>"] -[lib] -crate-type = ["cdylib", "rlib"] - -[profile.release] -opt-level = 2 -codegen-units = 1 +[workspace.metadata.crane] +name = "teleia" [profile.dev.package."*"] -opt-level = 2 - -[dependencies] -strum = {version = "*", features = ["derive"]} # utility macros for enums -glow = {version = "=0.13.1", features = []} # rendering -tobj = "*" # loader for .obj meshes loader -gltf = {path = "deps/gltf", features = ["extras", "import", "names", "utils"]} # loader for .gltf scenes -# gltf = {version = "*", features = ["extras", "names"]} # model loader -image = { version = "0.25", default-features = false, features = ["jpeg", "png"] } # texture loader -fontdue = "*" # truetype fonts -glam = "0.29" # linear algebra -log = "*" # logging -rand = {version = "=0.8.5", features = ["small_rng"]} # rng -serde = {version = "*", features = ["derive"]} # serialization -serde_json = "*" # serialize JSON -bincode = {version = "*", features = ["serde"]} # binary serialization -enum-map = "*" # fast maps with enums as keys -bimap = "*" # bijective maps -reqwest = "*" # http requests -bytes = "*" # bytes for http responses -bitflags = "*" # bitwise flags -color-eyre = { version = "*", default-features = false } # error reporting and formatting -rapier3d = "*" # rigid-body physics -parry3d = "*" # collision detection -nalgebra = {version = "0.33.2", features = ["convert-glam029"]} # linear algebra library for rapier3d - -[target.'cfg(target_arch = "wasm32")'.dependencies] -winit = {version = "=0.29.15", features = ["serde"]} # windowing and events -getrandom = {version = "*", features = ["js"]} # rng in the browser -console_log = "*" # log to browser console -console_error_panic_hook = "*" # log to browser console on panic -tracing-wasm = "*" # trace performance in browser -wasm-bindgen = "=0.2.100" # interface with javascript -wasm-bindgen-futures = "*" # interface with async javascript -js-sys = "*" # browser APIs to interact with JS runtime (e.g. run WASM) -web-sys = { version = "*", features = ["Document", "Window", "Element", "HtmlCanvasElement", "WebGl2RenderingContext", "Headers", "Request", "RequestInit", "RequestMode", "Response", "Performance", "PerformanceTiming", "AudioContext", "AudioNode", "AudioDestinationNode", "AudioBuffer", "AudioBufferSourceNode", "BinaryType", "Blob", "CloseEvent", "ErrorEvent", "FileReader", "MessageEvent", "ProgressEvent", "WebSocket", "Storage"] } - -[target.'cfg(not(target_arch = "wasm32"))'.dependencies] -env_logger = "*" # configurable logging to stdout -glfw = { path = "deps/glfw-rs", features = ["serde"] } # window management -kira = { version = "=0.9.6", default-features = false, features = ["cpal", "ogg", "wav"] } # audio -directories = { path = "deps/directories-rs" } # standard system directories
\ No newline at end of file +opt-level = 2
\ No newline at end of file diff --git a/crates/teleia/Cargo.toml b/crates/teleia/Cargo.toml new file mode 100644 index 0000000..849973f --- /dev/null +++ b/crates/teleia/Cargo.toml @@ -0,0 +1,48 @@ +[package] +name = "teleia" +version.workspace = true +edition.workspace = true +authors.workspace = true + +[lib] +crate-type = ["cdylib", "rlib"] + +[dependencies] +strum = {version = "*", features = ["derive"]} # utility macros for enums +glow = {version = "=0.13.1", features = []} # rendering +tobj = "*" # loader for .obj meshes loader +gltf = {git = "https://github.com/lcolonq/gltf", features = ["extras", "import", "names", "utils"]} # loader for .gltf scenes +image = { version = "0.25", default-features = false, features = ["jpeg", "png"] } # texture loader +fontdue = "*" # truetype fonts +glam = "0.29" # linear algebra +log = "*" # logging +rand = {version = "=0.8.5", features = ["small_rng"]} # rng +serde = {version = "*", features = ["derive"]} # serialization +serde_json = "*" # serialize JSON +bincode = {version = "*", features = ["serde"]} # binary serialization +enum-map = "*" # fast maps with enums as keys +bimap = "*" # bijective maps +reqwest = "*" # http requests +bytes = "*" # bytes for http responses +bitflags = "*" # bitwise flags +color-eyre = { version = "*", default-features = false } # error reporting and formatting +rapier3d = "*" # rigid-body physics +parry3d = "*" # collision detection +nalgebra = {version = "0.33.2", features = ["convert-glam029"]} # linear algebra library for rapier3d + +[target.'cfg(target_arch = "wasm32")'.dependencies] +winit = {version = "=0.29.15", features = ["serde"]} # windowing and events +getrandom = {version = "*", features = ["js"]} # rng in the browser +console_log = "*" # log to browser console +console_error_panic_hook = "*" # log to browser console on panic +tracing-wasm = "*" # trace performance in browser +wasm-bindgen = "=0.2.100" # interface with javascript +wasm-bindgen-futures = "*" # interface with async javascript +js-sys = "*" # browser APIs to interact with JS runtime (e.g. run WASM) +web-sys = { version = "*", features = ["Document", "Window", "Element", "HtmlCanvasElement", "WebGl2RenderingContext", "Headers", "Request", "RequestInit", "RequestMode", "Response", "Performance", "PerformanceTiming", "AudioContext", "AudioNode", "AudioDestinationNode", "AudioBuffer", "AudioBufferSourceNode", "BinaryType", "Blob", "CloseEvent", "ErrorEvent", "FileReader", "MessageEvent", "ProgressEvent", "WebSocket", "Storage"] } + +[target.'cfg(not(target_arch = "wasm32"))'.dependencies] +env_logger = "*" # configurable logging to stdout +glfw = { git = "https://github.com/lcolonq/glfw-rs", features = ["serde"] } # window management +kira = { version = "=0.9.6", default-features = false, features = ["cpal", "ogg", "wav"] } # audio +directories = { git = "https://github.com/lcolonq/directories-rs" } # standard system directories
\ No newline at end of file diff --git a/src/assets/fonts/font1.png b/crates/teleia/src/assets/fonts/font1.png Binary files differindex ec06424..ec06424 100644 --- a/src/assets/fonts/font1.png +++ b/crates/teleia/src/assets/fonts/font1.png diff --git a/src/assets/fonts/font2.png b/crates/teleia/src/assets/fonts/font2.png Binary files differindex 8435cad..8435cad 100644 --- a/src/assets/fonts/font2.png +++ b/crates/teleia/src/assets/fonts/font2.png diff --git a/src/assets/fonts/simple.png b/crates/teleia/src/assets/fonts/simple.png Binary files differindex 7b1d2a3..7b1d2a3 100644 --- a/src/assets/fonts/simple.png +++ b/crates/teleia/src/assets/fonts/simple.png diff --git a/src/assets/shaders/bitmap/frag.glsl b/crates/teleia/src/assets/shaders/bitmap/frag.glsl index 7df9a5c..7df9a5c 100644 --- a/src/assets/shaders/bitmap/frag.glsl +++ b/crates/teleia/src/assets/shaders/bitmap/frag.glsl diff --git a/src/assets/shaders/bitmap/vert.glsl b/crates/teleia/src/assets/shaders/bitmap/vert.glsl index 192d4b0..192d4b0 100644 --- a/src/assets/shaders/bitmap/vert.glsl +++ b/crates/teleia/src/assets/shaders/bitmap/vert.glsl diff --git a/src/assets/shaders/common/frag.glsl b/crates/teleia/src/assets/shaders/common/frag.glsl index 26d63fa..26d63fa 100644 --- a/src/assets/shaders/common/frag.glsl +++ b/crates/teleia/src/assets/shaders/common/frag.glsl diff --git a/src/assets/shaders/common/vert.glsl b/crates/teleia/src/assets/shaders/common/vert.glsl index b8e11c5..b8e11c5 100644 --- a/src/assets/shaders/common/vert.glsl +++ b/crates/teleia/src/assets/shaders/common/vert.glsl diff --git a/src/assets/shaders/scale/frag.glsl b/crates/teleia/src/assets/shaders/scale/frag.glsl index 5fce547..5fce547 100644 --- a/src/assets/shaders/scale/frag.glsl +++ b/crates/teleia/src/assets/shaders/scale/frag.glsl diff --git a/src/assets/shaders/scale/vert.glsl b/crates/teleia/src/assets/shaders/scale/vert.glsl index e05bbb6..e05bbb6 100644 --- a/src/assets/shaders/scale/vert.glsl +++ b/crates/teleia/src/assets/shaders/scale/vert.glsl diff --git a/src/assets/shaders/scene/frag.glsl b/crates/teleia/src/assets/shaders/scene/frag.glsl index 81e08b9..81e08b9 100644 --- a/src/assets/shaders/scene/frag.glsl +++ b/crates/teleia/src/assets/shaders/scene/frag.glsl diff --git a/src/assets/shaders/scene/vert.glsl b/crates/teleia/src/assets/shaders/scene/vert.glsl index 64f400c..64f400c 100644 --- a/src/assets/shaders/scene/vert.glsl +++ b/crates/teleia/src/assets/shaders/scene/vert.glsl diff --git a/src/assets/shaders/test/frag.glsl b/crates/teleia/src/assets/shaders/test/frag.glsl index a52aa15..a52aa15 100644 --- a/src/assets/shaders/test/frag.glsl +++ b/crates/teleia/src/assets/shaders/test/frag.glsl diff --git a/src/assets/shaders/test/vert.glsl b/crates/teleia/src/assets/shaders/test/vert.glsl index e324f7e..e324f7e 100644 --- a/src/assets/shaders/test/vert.glsl +++ b/crates/teleia/src/assets/shaders/test/vert.glsl diff --git a/src/assets/shaders/tiled/frag.glsl b/crates/teleia/src/assets/shaders/tiled/frag.glsl index 5fce547..5fce547 100644 --- a/src/assets/shaders/tiled/frag.glsl +++ b/crates/teleia/src/assets/shaders/tiled/frag.glsl diff --git a/src/assets/shaders/tiled/vert.glsl b/crates/teleia/src/assets/shaders/tiled/vert.glsl index 4ff9865..4ff9865 100644 --- a/src/assets/shaders/tiled/vert.glsl +++ b/crates/teleia/src/assets/shaders/tiled/vert.glsl diff --git a/src/assets/shaders/truetype/frag.glsl b/crates/teleia/src/assets/shaders/truetype/frag.glsl index 3f62e01..3f62e01 100644 --- a/src/assets/shaders/truetype/frag.glsl +++ b/crates/teleia/src/assets/shaders/truetype/frag.glsl diff --git a/src/assets/shaders/truetype/vert.glsl b/crates/teleia/src/assets/shaders/truetype/vert.glsl index 192d4b0..192d4b0 100644 --- a/src/assets/shaders/truetype/vert.glsl +++ b/crates/teleia/src/assets/shaders/truetype/vert.glsl diff --git a/src/audio.rs b/crates/teleia/src/audio.rs index 2b4226c..2b4226c 100644 --- a/src/audio.rs +++ b/crates/teleia/src/audio.rs diff --git a/src/context.rs b/crates/teleia/src/context.rs index 9f0d4ad..9f0d4ad 100644 --- a/src/context.rs +++ b/crates/teleia/src/context.rs diff --git a/src/font.rs b/crates/teleia/src/font.rs index e431896..e431896 100644 --- a/src/font.rs +++ b/crates/teleia/src/font.rs diff --git a/src/framebuffer.rs b/crates/teleia/src/framebuffer.rs index db808e4..db808e4 100644 --- a/src/framebuffer.rs +++ b/crates/teleia/src/framebuffer.rs diff --git a/src/helpers.js b/crates/teleia/src/helpers.js index aaaafa1..aaaafa1 100644 --- a/src/helpers.js +++ b/crates/teleia/src/helpers.js diff --git a/src/js/module.js b/crates/teleia/src/js/module.js index f7bff39..f7bff39 100644 --- a/src/js/module.js +++ b/crates/teleia/src/js/module.js diff --git a/src/level2d.rs b/crates/teleia/src/level2d.rs index 8b033ff..8b033ff 100644 --- a/src/level2d.rs +++ b/crates/teleia/src/level2d.rs diff --git a/src/level2d/tiled.rs b/crates/teleia/src/level2d/tiled.rs index 466260a..466260a 100644 --- a/src/level2d/tiled.rs +++ b/crates/teleia/src/level2d/tiled.rs diff --git a/src/lib.rs b/crates/teleia/src/lib.rs index 916a405..916a405 100644 --- a/src/lib.rs +++ b/crates/teleia/src/lib.rs diff --git a/src/mesh.rs b/crates/teleia/src/mesh.rs index 7209de1..7209de1 100644 --- a/src/mesh.rs +++ b/crates/teleia/src/mesh.rs diff --git a/src/net.rs b/crates/teleia/src/net.rs index b9babe5..b9babe5 100644 --- a/src/net.rs +++ b/crates/teleia/src/net.rs diff --git a/src/net/client.rs b/crates/teleia/src/net/client.rs index fcd51b8..fcd51b8 100644 --- a/src/net/client.rs +++ b/crates/teleia/src/net/client.rs diff --git a/src/net/client/wasm.rs b/crates/teleia/src/net/client/wasm.rs index d9936e5..d9936e5 100644 --- a/src/net/client/wasm.rs +++ b/crates/teleia/src/net/client/wasm.rs diff --git a/src/physics.rs b/crates/teleia/src/physics.rs index e69de29..e69de29 100644 --- a/src/physics.rs +++ b/crates/teleia/src/physics.rs diff --git a/src/save.rs b/crates/teleia/src/save.rs index 3f244cc..3f244cc 100644 --- a/src/save.rs +++ b/crates/teleia/src/save.rs diff --git a/src/scene.rs b/crates/teleia/src/scene.rs index 3146b5d..3146b5d 100644 --- a/src/scene.rs +++ b/crates/teleia/src/scene.rs diff --git a/src/shader.rs b/crates/teleia/src/shader.rs index 178833a..178833a 100644 --- a/src/shader.rs +++ b/crates/teleia/src/shader.rs diff --git a/src/shadow.rs b/crates/teleia/src/shadow.rs index f827967..f827967 100644 --- a/src/shadow.rs +++ b/crates/teleia/src/shadow.rs diff --git a/src/state.rs b/crates/teleia/src/state.rs index 09f0f77..78aac91 100644 --- a/src/state.rs +++ b/crates/teleia/src/state.rs @@ -1,5 +1,5 @@ #![allow(dead_code, unused_variables)] -use std::collections::HashMap; +use std::{collections::HashMap, fmt::Display}; use bimap::BiHashMap; use enum_map::{enum_map, Enum, EnumMap}; use serde::{Serialize, Deserialize}; @@ -111,6 +111,12 @@ impl Keycode { pub fn new(kc: glfw::Key) -> Self { Self { kc } } } #[cfg(not(target_arch = "wasm32"))] +impl Display for Keycode { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.kc) + } +} +#[cfg(not(target_arch = "wasm32"))] impl Serialize for Keycode { fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> where S: serde::Serializer { @@ -448,7 +454,7 @@ impl State { /// Return the first keybinding for the given virtual key pub fn keybinding_for(&self, k: &Key) -> Option<String> { if let Some(kc) = self.keybindings.get_by_right(k) { - Some(format!("{:?}", kc)) + Some(format!("{}", kc)) } else { None } diff --git a/src/texture.rs b/crates/teleia/src/texture.rs index 68272cb..68272cb 100644 --- a/src/texture.rs +++ b/crates/teleia/src/texture.rs diff --git a/src/ui.rs b/crates/teleia/src/ui.rs index 09afdf9..09afdf9 100644 --- a/src/ui.rs +++ b/crates/teleia/src/ui.rs diff --git a/src/utils.rs b/crates/teleia/src/utils.rs index 05e9251..05e9251 100644 --- a/src/utils.rs +++ b/crates/teleia/src/utils.rs diff --git a/deps/directories-rs b/deps/directories-rs deleted file mode 160000 -Subproject 164536daab2c07265167715934081cb1942387b diff --git a/deps/glfw-rs b/deps/glfw-rs deleted file mode 160000 -Subproject 1ce13a2bcf3ef3bf6184bcb4c2a90d903495684 diff --git a/deps/gltf b/deps/gltf deleted file mode 160000 -Subproject 9763a5abe8c168eb1282a037ff16668542fe2a6 |
