diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..b58b603
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,5 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
deleted file mode 100644
index da8fac3..0000000
--- a/.idea/workspace.xml
+++ /dev/null
@@ -1,317 +0,0 @@
-
-
-
-
-
-
-
-
-
-<<<<<<< Updated upstream
-
-
-
-
-=======
-
->>>>>>> Stashed changes
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {
- "associatedIndex": 8
-}
-
-
-
-
-
- {
- "keyToString": {
- "Cargo.Build `Run emmagui`.executor": "Run",
- "Cargo.Build `Run gemmaegui_viewer`.executor": "Run",
- "Cargo.Build `Run gemmaegui`.executor": "Run",
- "Cargo.Build `Run gemmaimgui`.executor": "Run",
- "Cargo.Build `Run trevors_chip8_toy`.executor": "Run",
- "Cargo.Build `Test chip8::computer::test::cls_test`.executor": "Run",
- "Cargo.Build `Test chip8::instructions::test::LdStVx_test`.executor": "Run",
- "Cargo.Build `Test chip8::instructions::test::random_produces_different_numbers`.executor": "Run",
- "Cargo.Build `Test chip8::instructions::test::series8xy6_corex_tests`.executor": "Run",
- "Cargo.Build `Test chip8::instructions::test::shl_vx_vy_test`.executor": "Run",
- "Cargo.Build `Test chip8::util::test::byte_to_bool_changes`.executor": "Run",
- "Cargo.Build `Test chip8::util::test::ubln`.executor": "Run",
- "Cargo.Build `Test chip8::video::test::poke_byte_test`.executor": "Run",
- "Cargo.Build `Test chip8::video::test::poke_byte`.executor": "Run",
- "Cargo.Build `Test chip8::video::test::scroll_down_1_row_test`.executor": "Run",
- "Cargo.Build `Test computer::test`.executor": "Run",
-<<<<<<< Updated upstream
- "Cargo.Build `Test instructions::test (1)`.executor": "Run",
- "Cargo.Build `Test instructions::test`.executor": "Run",
- "Cargo.Build `Test video::test`.executor": "Run",
- "Cargo.Build gemma.executor": "Run",
- "Cargo.Run ch8asm.executor": "Run",
-=======
- "Cargo.Build `Test computer_dump_registers_to_string`.executor": "Run",
- "Cargo.Build `Test instructions::test (1)`.executor": "Run",
- "Cargo.Build `Test instructions::test`.executor": "Run",
- "Cargo.Build `Test instructions_name_tests`.executor": "Run",
- "Cargo.Build `Test video::test`.executor": "Run",
- "Cargo.Build gemma.executor": "Run",
->>>>>>> Stashed changes
- "Cargo.Run emmagui.executor": "Run",
- "Cargo.Run gemmaegui.executor": "Debug",
- "Cargo.Run gemmaegui_viewer.executor": "Debug",
- "Cargo.Run gemmaimgui.executor": "Debug",
- "Cargo.Run trevors_chip8_toy.executor": "Debug",
-<<<<<<< Updated upstream
- "Cargo.Test ch8asm::test.executor": "Debug",
-=======
->>>>>>> Stashed changes
- "Cargo.Test chip8::computer::test::cls_test.executor": "Run",
- "Cargo.Test chip8::computer::test::decoder_test_valid_instructions.executor": "Run",
- "Cargo.Test chip8::instructions::test::LdStVx_test.executor": "Run",
- "Cargo.Test chip8::instructions::test::LdVxDt_test.executor": "Run",
- "Cargo.Test chip8::instructions::test::LdiAddr_test.executor": "Run",
- "Cargo.Test chip8::instructions::test::RndVxByte_test.executor": "Run",
- "Cargo.Test chip8::instructions::test::ShrVxVy_test.executor": "Run",
- "Cargo.Test chip8::instructions::test::SneVxVy_test.executor": "Run",
- "Cargo.Test chip8::instructions::test::decoder_test_invalid_instructions.executor": "Run",
- "Cargo.Test chip8::instructions::test::draw_nibble_vx_vy_n_test.executor": "Debug",
- "Cargo.Test chip8::instructions::test::encode_decode_test.executor": "Run",
- "Cargo.Test chip8::instructions::test::random_produces_different_numbers.executor": "Run",
- "Cargo.Test chip8::instructions::test::series4000_corex_tests.executor": "Run",
- "Cargo.Test chip8::instructions::test::series8xy4_corex_tests.executor": "Run",
- "Cargo.Test chip8::instructions::test::series8xy6_corex_tests.executor": "Run",
- "Cargo.Test chip8::instructions::test::shl_vx_vy_test.executor": "Run",
- "Cargo.Test chip8::instructions::test::subn_vx_vy_test.executor": "Run",
- "Cargo.Test chip8::util::test::bool_to_byte_changes.executor": "Run",
- "Cargo.Test chip8::util::test::byte_to_bool_changes.executor": "Run",
- "Cargo.Test chip8::util::test::ubln.executor": "Run",
- "Cargo.Test chip8::video::test::poke_byte.executor": "Run",
- "Cargo.Test chip8::video::test::poke_byte_test.executor": "Run",
- "Cargo.Test chip8::video::test::poke_sprite_test.executor": "Debug",
- "Cargo.Test chip8::video::test::reset_test.executor": "Run",
- "Cargo.Test chip8::video::test::scroll_down_10_row_test.executor": "Run",
- "Cargo.Test chip8::video::test::scroll_down_1_row_test.executor": "Run",
- "Cargo.Test chip8::video::test::write_checkboard.executor": "Run",
- "Cargo.Test computer::test.executor": "Debug",
-<<<<<<< Updated upstream
- "Cargo.Test instruction_tests.executor": "Run",
- "Cargo.Test instructions::test (1).executor": "Debug",
- "Cargo.Test instructions::test.executor": "Debug",
-=======
- "Cargo.Test computer_dump_registers_to_string.executor": "Run",
- "Cargo.Test encode_decode_name_test.executor": "Debug",
- "Cargo.Test instructions::test (1).executor": "Debug",
- "Cargo.Test instructions::test.executor": "Debug",
- "Cargo.Test instructions_name_tests.executor": "Run",
->>>>>>> Stashed changes
- "Cargo.Test sound_timer::test.executor": "Run",
- "Cargo.Test util::test.executor": "Run",
- "Cargo.Test video::test.executor": "Debug",
- "RunOnceActivity.ShowReadmeOnStart": "true",
- "RunOnceActivity.rust.reset.selective.auto.import": "true",
- "git-widget-placeholder": "master",
- "last_opened_file_path": "/home/tmerritt/Projects/chip8_toy/gemmaimgui",
- "node.js.detected.package.eslint": "true",
- "node.js.selected.package.eslint": "(autodetect)",
- "nodejs_package_manager_path": "npm",
- "org.rust.cargo.project.model.PROJECT_DISCOVERY": "true",
- "org.rust.cargo.project.model.impl.CargoExternalSystemProjectAware.subscribe.first.balloon": "",
- "org.rust.first.attach.projects": "true",
- "settings.editor.selected.configurable": "advanced.settings"
- },
- "keyToStringList": {
- "com.intellij.ide.scratch.ScratchImplUtil$2/New Scratch File": [
- "TEXT"
- ]
- }
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1725298979064
-
-
- 1725298979064
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<<<<<<< Updated upstream
-
-
-
-=======
-
-
->>>>>>> Stashed changes
-
-
-
-
-
-
-
-
-
-
-
-
-
- file://$PROJECT_DIR$/emma/src/chip8/system_memory.rs
- 46
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.vscode/launch.json b/.vscode/launch.json
deleted file mode 100644
index 30aaa82..0000000
--- a/.vscode/launch.json
+++ /dev/null
@@ -1,83 +0,0 @@
-{
- // Use IntelliSense to learn about possible attributes.
- // Hover to view descriptions of existing attributes.
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
- "version": "0.2.0",
- "configurations": [
- {
- "type": "lldb",
- "request": "launch",
- "name": "Debug unit tests in library 'trevors_chip8_toy'",
- "cargo": {
- "args": [
- "test",
- "--no-run",
- "--lib",
- "--package=trevors_chip8_toy"
- ],
- "filter": {
- "name": "trevors_chip8_toy",
- "kind": "lib"
- }
- },
- "args": [],
- "cwd": "${workspaceFolder}"
- },
- {
- "type": "lldb",
- "request": "launch",
- "name": "Debug executable 'trevors_chip8_toy'",
- "cargo": {
- "args": [
- "build",
- "--bin=trevors_chip8_toy",
- "--package=trevors_chip8_toy"
- ],
- "filter": {
- "name": "trevors_chip8_toy",
- "kind": "bin"
- }
- },
- "args": [],
- "cwd": "${workspaceFolder}"
- },
- {
- "type": "lldb",
- "request": "launch",
- "name": "Debug unit tests in executable 'trevors_chip8_toy'",
- "cargo": {
- "args": [
- "test",
- "--no-run",
- "--bin=trevors_chip8_toy",
- "--package=trevors_chip8_toy"
- ],
- "filter": {
- "name": "trevors_chip8_toy",
- "kind": "bin"
- }
- },
- "args": [],
- "cwd": "${workspaceFolder}"
- },
- {
- "type": "lldb",
- "request": "launch",
- "name": "Debug unit tests in library 'trevors_chip8_core'",
- "cargo": {
- "args": [
- "test",
- "--no-run",
- "--lib",
- "--package=trevors_chip8_core"
- ],
- "filter": {
- "name": "trevors_chip8_core",
- "kind": "lib"
- }
- },
- "args": [],
- "cwd": "${workspaceFolder}"
- }
- ]
-}
\ No newline at end of file
diff --git a/Cargo.lock b/Cargo.lock
index bb4c37b..c08abba 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -50,9 +50,9 @@ dependencies = [
[[package]]
name = "accesskit_macos"
-version = "0.17.3"
+version = "0.17.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49509c722e8da39e6c569f7d13ec51620208988913e738abbc67e3c65f06e6d5"
+checksum = "bfc6c1ecd82053d127961ad80a8beaa6004fb851a3a5b96506d7a6bd462403f6"
dependencies = [
"accesskit",
"accesskit_consumer",
@@ -96,9 +96,9 @@ dependencies = [
[[package]]
name = "accesskit_winit"
-version = "0.22.3"
+version = "0.22.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9987e852fe7e4e5a493f8c8af0b729b47da2750f0dea10a4c8984fe1117ebaec"
+checksum = "aea3522719f1c44564d03e9469a8e2f3a98b3a8a880bd66d0789c6b9c4a669dd"
dependencies = [
"accesskit",
"accesskit_macos",
@@ -228,9 +228,9 @@ dependencies = [
[[package]]
name = "anstream"
-version = "0.6.15"
+version = "0.6.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526"
+checksum = "23a1e53f0f5d86382dafe1cf314783b2044280f406e7e1506368220ad11b1338"
dependencies = [
"anstyle",
"anstyle-parse",
@@ -243,43 +243,43 @@ dependencies = [
[[package]]
name = "anstyle"
-version = "1.0.8"
+version = "1.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1"
+checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9"
[[package]]
name = "anstyle-parse"
-version = "0.2.5"
+version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb"
+checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9"
dependencies = [
"utf8parse",
]
[[package]]
name = "anstyle-query"
-version = "1.1.1"
+version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a"
+checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c"
dependencies = [
- "windows-sys 0.52.0",
+ "windows-sys 0.59.0",
]
[[package]]
name = "anstyle-wincon"
-version = "3.0.4"
+version = "3.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8"
+checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125"
dependencies = [
"anstyle",
- "windows-sys 0.52.0",
+ "windows-sys 0.59.0",
]
[[package]]
name = "anyhow"
-version = "1.0.89"
+version = "1.0.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6"
+checksum = "74f37166d7d48a0284b99dd824694c26119c700b53bf0d1540cdb147dbdaaf13"
[[package]]
name = "arboard"
@@ -434,7 +434,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
@@ -469,7 +469,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
@@ -656,7 +656,7 @@ checksum = "bcfcc3cd946cb52f0bbfdbbcfa2f4e24f75ebb6c0e1002f7c25904fada18b9ec"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
@@ -673,9 +673,9 @@ checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495"
[[package]]
name = "bytes"
-version = "1.7.2"
+version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3"
+checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da"
[[package]]
name = "calloop"
@@ -728,7 +728,7 @@ dependencies = [
"calloop 0.12.4",
"rustix",
"wayland-backend",
- "wayland-client 0.31.6",
+ "wayland-client 0.31.7",
]
[[package]]
@@ -740,7 +740,7 @@ dependencies = [
"calloop 0.13.0",
"rustix",
"wayland-backend",
- "wayland-client 0.31.6",
+ "wayland-client 0.31.7",
]
[[package]]
@@ -754,9 +754,9 @@ dependencies = [
[[package]]
name = "cc"
-version = "1.1.30"
+version = "1.1.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b16803a61b81d9eabb7eae2588776c4c1e584b738ede45fdbb4c972cec1e9945"
+checksum = "67b9470d453346108f93a59222a9a1a5724db32d0a4727b7ab7ace4b4d822dc9"
dependencies = [
"jobserver",
"libc",
@@ -847,7 +847,7 @@ dependencies = [
"heck",
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
@@ -948,9 +948,9 @@ checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
[[package]]
name = "colorchoice"
-version = "1.0.2"
+version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0"
+checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990"
[[package]]
name = "com"
@@ -1503,7 +1503,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
@@ -1618,9 +1618,9 @@ checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6"
[[package]]
name = "fdeflate"
-version = "0.3.5"
+version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8090f921a24b04994d9929e204f50b498a33ea6ba559ffaa05e04f7ee7fb5ab"
+checksum = "07c6f4c64c1d33a3111c4466f7365ebdcc37c5bd1ea0d62aae2e3d722aacbedb"
dependencies = [
"simd-adler32",
]
@@ -1668,7 +1668,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
@@ -1728,9 +1728,9 @@ checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
[[package]]
name = "futures-lite"
-version = "2.3.0"
+version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5"
+checksum = "3f1fa2f9765705486b33fd2acf1577f8ec449c2ba1f318ae5447697b7c08d210"
dependencies = [
"fastrand",
"futures-core",
@@ -1747,7 +1747,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
@@ -1784,10 +1784,15 @@ name = "gemma"
version = "0.1.0"
dependencies = [
"chrono",
+ "clap",
"dimensioned",
+ "flate2",
+ "hex",
"log",
"pretty_env_logger",
"rand 0.9.0-alpha.2",
+ "serde",
+ "serde_json",
]
[[package]]
@@ -2351,9 +2356,9 @@ dependencies = [
[[package]]
name = "immutable-chunkmap"
-version = "2.0.5"
+version = "2.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4419f022e55cc63d5bbd6b44b71e1d226b9c9480a47824c706e9d54e5c40c5eb"
+checksum = "12f97096f508d54f8f8ab8957862eee2ccd628847b6217af1a335e1c44dee578"
dependencies = [
"arrayvec 0.7.6",
]
@@ -2397,6 +2402,12 @@ version = "1.70.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
+[[package]]
+name = "itoa"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
+
[[package]]
name = "jni"
version = "0.21.1"
@@ -2477,9 +2488,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
[[package]]
name = "libc"
-version = "0.2.160"
+version = "0.2.161"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0b21006cd1874ae9e650973c565615676dc4a274c965bb0a73796dac838ce4f"
+checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1"
[[package]]
name = "libloading"
@@ -2894,7 +2905,7 @@ dependencies = [
"proc-macro-crate 3.2.0",
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
@@ -3260,7 +3271,7 @@ dependencies = [
"pest_meta",
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
@@ -3276,29 +3287,29 @@ dependencies = [
[[package]]
name = "pin-project"
-version = "1.1.6"
+version = "1.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf123a161dde1e524adf36f90bc5d8d3462824a9c43553ad07a8183161189ec"
+checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95"
dependencies = [
"pin-project-internal",
]
[[package]]
name = "pin-project-internal"
-version = "1.1.6"
+version = "1.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4502d8515ca9f32f1fb543d987f63d95a14934883db45bdb48060b6b69257f8"
+checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
name = "pin-project-lite"
-version = "0.2.14"
+version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
+checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff"
[[package]]
name = "pin-utils"
@@ -3415,9 +3426,9 @@ dependencies = [
[[package]]
name = "proc-macro2"
-version = "1.0.88"
+version = "1.0.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c3a7fc5db1e57d5a779a352c8cdb57b29aa4c40cc69c3a68a7fedc815fbf2f9"
+checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e"
dependencies = [
"unicode-ident",
]
@@ -3587,9 +3598,9 @@ dependencies = [
[[package]]
name = "regex"
-version = "1.11.0"
+version = "1.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8"
+checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
dependencies = [
"aho-corasick",
"memchr",
@@ -3634,9 +3645,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
[[package]]
name = "rustix"
-version = "0.38.37"
+version = "0.38.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811"
+checksum = "aa260229e6538e52293eeb577aabd09945a09d6d9cc0fc550ed7529056c2e32a"
dependencies = [
"bitflags 2.6.0",
"errno",
@@ -3645,6 +3656,12 @@ dependencies = [
"windows-sys 0.52.0",
]
+[[package]]
+name = "ryu"
+version = "1.0.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
+
[[package]]
name = "safe_arch"
version = "0.5.2"
@@ -3745,22 +3762,34 @@ dependencies = [
[[package]]
name = "serde"
-version = "1.0.210"
+version = "1.0.214"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a"
+checksum = "f55c3193aca71c12ad7890f1785d2b73e1b9f63a0bbc353c08ef26fe03fc56b5"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.210"
+version = "1.0.214"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f"
+checksum = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.132"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03"
+dependencies = [
+ "itoa",
+ "memchr",
+ "ryu",
+ "serde",
]
[[package]]
@@ -3771,7 +3800,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
@@ -3897,9 +3926,9 @@ dependencies = [
"rustix",
"thiserror",
"wayland-backend",
- "wayland-client 0.31.6",
+ "wayland-client 0.31.7",
"wayland-csd-frame",
- "wayland-cursor 0.31.6",
+ "wayland-cursor 0.31.7",
"wayland-protocols 0.31.2",
"wayland-protocols-wlr 0.2.0",
"wayland-scanner 0.31.5",
@@ -3922,11 +3951,11 @@ dependencies = [
"rustix",
"thiserror",
"wayland-backend",
- "wayland-client 0.31.6",
+ "wayland-client 0.31.7",
"wayland-csd-frame",
- "wayland-cursor 0.31.6",
- "wayland-protocols 0.32.4",
- "wayland-protocols-wlr 0.3.4",
+ "wayland-cursor 0.31.7",
+ "wayland-protocols 0.32.5",
+ "wayland-protocols-wlr 0.3.5",
"wayland-scanner 0.31.5",
"xkeysym",
]
@@ -4007,9 +4036,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.79"
+version = "2.0.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590"
+checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d"
dependencies = [
"proc-macro2",
"quote",
@@ -4046,22 +4075,22 @@ dependencies = [
[[package]]
name = "thiserror"
-version = "1.0.64"
+version = "1.0.66"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84"
+checksum = "5d171f59dbaa811dbbb1aee1e73db92ec2b122911a48e1390dfe327a821ddede"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.64"
+version = "1.0.66"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3"
+checksum = "b08be0f17bd307950653ce45db00cd31200d82b624b36e181337d9c7d92765b5"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
@@ -4187,7 +4216,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
@@ -4349,7 +4378,7 @@ dependencies = [
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
"wasm-bindgen-shared",
]
@@ -4383,7 +4412,7 @@ checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@@ -4426,9 +4455,9 @@ dependencies = [
[[package]]
name = "wayland-client"
-version = "0.31.6"
+version = "0.31.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3f45d1222915ef1fd2057220c1d9d9624b7654443ea35c3877f7a52bd0a5a2d"
+checksum = "b66249d3fc69f76fd74c82cc319300faa554e9d865dab1f7cd66cc20db10b280"
dependencies = [
"bitflags 2.6.0",
"rustix",
@@ -4472,12 +4501,12 @@ dependencies = [
[[package]]
name = "wayland-cursor"
-version = "0.31.6"
+version = "0.31.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a94697e66e76c85923b0d28a0c251e8f0666f58fc47d316c0f4da6da75d37cb"
+checksum = "32b08bc3aafdb0035e7fe0fdf17ba0c09c268732707dca4ae098f60cb28c9e4c"
dependencies = [
"rustix",
- "wayland-client 0.31.6",
+ "wayland-client 0.31.7",
"xcursor",
]
@@ -4501,19 +4530,19 @@ checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4"
dependencies = [
"bitflags 2.6.0",
"wayland-backend",
- "wayland-client 0.31.6",
+ "wayland-client 0.31.7",
"wayland-scanner 0.31.5",
]
[[package]]
name = "wayland-protocols"
-version = "0.32.4"
+version = "0.32.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b5755d77ae9040bb872a25026555ce4cb0ae75fd923e90d25fba07d81057de0"
+checksum = "7cd0ade57c4e6e9a8952741325c30bf82f4246885dca8bf561898b86d0c1f58e"
dependencies = [
"bitflags 2.6.0",
"wayland-backend",
- "wayland-client 0.31.6",
+ "wayland-client 0.31.7",
"wayland-scanner 0.31.5",
]
@@ -4525,21 +4554,21 @@ checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479"
dependencies = [
"bitflags 2.6.0",
"wayland-backend",
- "wayland-client 0.31.6",
+ "wayland-client 0.31.7",
"wayland-protocols 0.31.2",
"wayland-scanner 0.31.5",
]
[[package]]
name = "wayland-protocols-plasma"
-version = "0.3.4"
+version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a0a41a6875e585172495f7a96dfa42ca7e0213868f4f15c313f7c33221a7eff"
+checksum = "9b31cab548ee68c7eb155517f2212049dc151f7cd7910c2b66abfd31c3ee12bd"
dependencies = [
"bitflags 2.6.0",
"wayland-backend",
- "wayland-client 0.31.6",
- "wayland-protocols 0.32.4",
+ "wayland-client 0.31.7",
+ "wayland-protocols 0.32.5",
"wayland-scanner 0.31.5",
]
@@ -4551,21 +4580,21 @@ checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6"
dependencies = [
"bitflags 2.6.0",
"wayland-backend",
- "wayland-client 0.31.6",
+ "wayland-client 0.31.7",
"wayland-protocols 0.31.2",
"wayland-scanner 0.31.5",
]
[[package]]
name = "wayland-protocols-wlr"
-version = "0.3.4"
+version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dad87b5fd1b1d3ca2f792df8f686a2a11e3fe1077b71096f7a175ab699f89109"
+checksum = "782e12f6cd923c3c316130d56205ebab53f55d6666b7faddfad36cecaeeb4022"
dependencies = [
"bitflags 2.6.0",
"wayland-backend",
- "wayland-client 0.31.6",
- "wayland-protocols 0.32.4",
+ "wayland-client 0.31.7",
+ "wayland-protocols 0.32.5",
"wayland-scanner 0.31.5",
]
@@ -4865,7 +4894,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
@@ -4876,7 +4905,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
@@ -5227,7 +5256,7 @@ dependencies = [
"wasm-bindgen",
"wasm-bindgen-futures",
"wayland-backend",
- "wayland-client 0.31.6",
+ "wayland-client 0.31.7",
"wayland-protocols 0.31.2",
"wayland-protocols-plasma 0.2.0",
"web-sys",
@@ -5279,9 +5308,9 @@ dependencies = [
"wasm-bindgen",
"wasm-bindgen-futures",
"wayland-backend",
- "wayland-client 0.31.6",
- "wayland-protocols 0.32.4",
- "wayland-protocols-plasma 0.3.4",
+ "wayland-client 0.31.7",
+ "wayland-protocols 0.32.5",
+ "wayland-protocols-plasma 0.3.5",
"web-sys",
"web-time 1.1.0",
"windows-sys 0.52.0",
@@ -5477,7 +5506,7 @@ checksum = "709ab20fc57cb22af85be7b360239563209258430bccf38d8b979c5a2ae3ecce"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
"zbus-lockstep",
"zbus_xml",
"zvariant",
@@ -5492,7 +5521,7 @@ dependencies = [
"proc-macro-crate 3.2.0",
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
"zvariant_utils",
]
@@ -5538,7 +5567,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
@@ -5563,7 +5592,7 @@ dependencies = [
"proc-macro-crate 3.2.0",
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
"zvariant_utils",
]
@@ -5575,5 +5604,5 @@ checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
diff --git a/Cargo.toml b/Cargo.toml
index fa81538..0d87745 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,13 +1,23 @@
[workspace]
-members = ["gemma", "gemmaegui", "gemmaimgui", "gemmatelnet", "gemmasdl2", "gemmautil" ]
+members = [
+ "gemma",
+ "gemmaegui",
+ "gemmaimgui",
+ "gemmatelnet",
+ "gemmasdl2",
+ "gemmautil",
+]
resolver = "2"
[workspace.dependencies]
-pretty_env_logger = { version = "0.5.0" }
-log = { version = "0.4.22" }
+pretty_env_logger = { version = "0.5" }
+log = { version = "0.4" }
rand = { version = "0.9.0-alpha.2" }
-chrono = { version = "0.4.38" }
-dimensioned = { version = "0.8.0" }
+chrono = { version = "0.4" }
+dimensioned = { version = "0.8" }
+serde = { version = "1.0", features = ["derive"] }
+serde_json = { version = "1.0" }
+clap = { version = "4.5", features = ["derive"] }
# EGUI
egui = { version = "0.29" }
diff --git a/coverage/tarpaulin-report.html b/coverage/tarpaulin-report.html
index 091a6a7..83440b3 100644
--- a/coverage/tarpaulin-report.html
+++ b/coverage/tarpaulin-report.html
@@ -118,8 +118,8 @@