summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitmodules9
-rw-r--r--Cargo.lock5
-rw-r--r--Cargo.toml60
-rw-r--r--crates/teleia/Cargo.toml48
-rw-r--r--crates/teleia/src/assets/fonts/font1.png (renamed from src/assets/fonts/font1.png)bin1508 -> 1508 bytes
-rw-r--r--crates/teleia/src/assets/fonts/font2.png (renamed from src/assets/fonts/font2.png)bin1883 -> 1883 bytes
-rw-r--r--crates/teleia/src/assets/fonts/simple.png (renamed from src/assets/fonts/simple.png)bin1042 -> 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-rs0
m---------deps/glfw-rs0
m---------deps/gltf0
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
diff --git a/Cargo.lock b/Cargo.lock
index 80d345a..18f2017 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -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",
diff --git a/Cargo.toml b/Cargo.toml
index 38c2063..98dfb24 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -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
index ec06424..ec06424 100644
--- a/src/assets/fonts/font1.png
+++ b/crates/teleia/src/assets/fonts/font1.png
Binary files differ
diff --git a/src/assets/fonts/font2.png b/crates/teleia/src/assets/fonts/font2.png
index 8435cad..8435cad 100644
--- a/src/assets/fonts/font2.png
+++ b/crates/teleia/src/assets/fonts/font2.png
Binary files differ
diff --git a/src/assets/fonts/simple.png b/crates/teleia/src/assets/fonts/simple.png
index 7b1d2a3..7b1d2a3 100644
--- a/src/assets/fonts/simple.png
+++ b/crates/teleia/src/assets/fonts/simple.png
Binary files differ
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