diff --git a/Cargo.lock b/Cargo.lock index a96b3b0b..62f0c585 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -164,7 +164,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.33", + "syn 2.0.34", "which", ] @@ -240,9 +240,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.13.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" [[package]] name = "byteorder" @@ -337,7 +337,7 @@ dependencies = [ "sha1", "shell-escape", "strip-ansi-escapes", - "syn 2.0.33", + "syn 2.0.34", "tar", "tempfile", "termcolor", @@ -362,7 +362,7 @@ dependencies = [ [[package]] name = "cargo-playdate" -version = "0.2.1" +version = "0.2.2" dependencies = [ "anyhow", "byteorder", @@ -500,7 +500,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.33", + "syn 2.0.34", ] [[package]] @@ -2544,7 +2544,7 @@ dependencies = [ "proc-macro2", "quote", "semver", - "syn 2.0.33", + "syn 2.0.34", "which", ] @@ -2575,35 +2575,35 @@ dependencies = [ [[package]] name = "playdate-color" -version = "0.1.1" +version = "0.1.2" dependencies = [ "playdate-sys", ] [[package]] name = "playdate-controls" -version = "0.1.2" +version = "0.1.3" dependencies = [ "playdate-sys", ] [[package]] name = "playdate-display" -version = "0.1.0" +version = "0.1.1" dependencies = [ "playdate-sys", ] [[package]] name = "playdate-fs" -version = "0.1.1" +version = "0.1.2" dependencies = [ "playdate-sys", ] [[package]] name = "playdate-graphics" -version = "0.1.2" +version = "0.1.3" dependencies = [ "playdate-color", "playdate-fs", @@ -2612,14 +2612,14 @@ dependencies = [ [[package]] name = "playdate-menu" -version = "0.1.1" +version = "0.1.2" dependencies = [ "playdate-sys", ] [[package]] name = "playdate-sound" -version = "0.1.1" +version = "0.1.2" dependencies = [ "playdate-fs", "playdate-sys", @@ -2627,7 +2627,7 @@ dependencies = [ [[package]] name = "playdate-sys" -version = "0.1.5" +version = "0.1.6" dependencies = [ "heapless", "playdate-bindgen", @@ -2643,7 +2643,7 @@ dependencies = [ [[package]] name = "playdate-tool" -version = "0.1.0" +version = "0.1.1" dependencies = [ "clap", "env_logger", @@ -2700,7 +2700,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" dependencies = [ "proc-macro2", - "syn 2.0.33", + "syn 2.0.34", ] [[package]] @@ -3022,7 +3022,7 @@ checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.33", + "syn 2.0.34", ] [[package]] @@ -3252,9 +3252,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.33" +version = "2.0.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9caece70c63bfba29ec2fed841a09851b14a235c60010fa4de58089b6c025668" +checksum = "88ec6cdb6a4c16306eccf52ccd8d492e4ab64705a15a5016acb205251001bf72" dependencies = [ "proc-macro2", "quote", @@ -3337,7 +3337,7 @@ checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35" dependencies = [ "proc-macro2", "quote", - "syn 2.0.33", + "syn 2.0.34", ] [[package]] @@ -3437,9 +3437,9 @@ checksum = "c8da954976b3cfd8a4d73b3ebb573e4b0f4c92326e5c1366a1c7b11e1eb11745" [[package]] name = "typenum" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "unicase" @@ -3595,7 +3595,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.33", + "syn 2.0.34", "wasm-bindgen-shared", ] @@ -3617,7 +3617,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.33", + "syn 2.0.34", "wasm-bindgen-backend", "wasm-bindgen-shared", ] diff --git a/README.md b/README.md index 47868c54..75c8f8ec 100644 --- a/README.md +++ b/README.md @@ -2,12 +2,7 @@ This project allows you to create games for the [Playdate handheld gaming system][playdate-website] in Rust lang. -There is early development demonstrations of the building process: [bin][video-executable] and [sim][video-simulator] videos originally posted on [dev-forum][post-videos]. - [playdate-website]: https://play.date/ -[post-videos]: https://devforum.play.date/t/sdk-2-0-b2-pdc-produces-pdx-with-broken-binary/11345/37 -[video-executable]: https://www.youtube.com/watch?v=hfFspYbnF5k -[video-simulator]: https://www.youtube.com/watch?v=w-pZrn8qex4 * [Modular build system][support-dir] @@ -18,6 +13,7 @@ There is early development demonstrations of the building process: [bin][video-e - with [examples][ctrl-examples-dir] Welcome to [discussions][] and [issues][] for any questions and suggestions. +Take a look at [videos](#demo) or [do something great](#usage). ## Prerequisites @@ -50,6 +46,14 @@ cargo playdate run -p=playdate-sound --example=sp-simple cargo playdate run -p=playdate-sound --example=sp-simple --device ``` +### Demo + +Early development demonstrations of the building process: [bin][video-bin] and [sim][video-simulator] screencasts originally posted on [dev-forum][video-post]. + +[video-post]: https://devforum.play.date/t/sdk-2-0-b2-pdc-produces-pdx-with-broken-binary/11345/37 +[video-bin]: https://www.youtube.com/watch?v=hfFspYbnF5k +[video-simulator]: https://www.youtube.com/watch?v=w-pZrn8qex4 + ## Modularity diff --git a/api/color/Cargo.toml b/api/color/Cargo.toml index 0f9d3191..c7ef18d8 100644 --- a/api/color/Cargo.toml +++ b/api/color/Cargo.toml @@ -1,12 +1,14 @@ [package] name = "playdate-color" -version = "0.1.1" +version = "0.1.2" edition = "2021" readme = "README.md" license = "MIT OR Apache-2.0" authors = ["Alex Koz <a@koz.email>"] description = "High-level color API built on-top of Playdate API" +keywords = ["playdate", "sdk", "api", "gamedev"] +categories = ["game-development", "api-bindings", "graphics", "no-std"] homepage = "https://github.com/boozook/playdate" repository = "https://github.com/boozook/playdate.git" @@ -37,3 +39,24 @@ version = "0.1" path = "../sys" package = "playdate-sys" default-features = false + + +[package.metadata.docs.rs] +all-features = false +features = [ + "bindings-derive-default", + "bindings-derive-eq", + "bindings-derive-copy", + "bindings-derive-debug", + "bindings-derive-hash", + "bindings-derive-ord", + "bindings-derive-partialeq", + "bindings-derive-partialord", +] +rustdoc-args = ["--cfg", "docsrs", "--show-type-layout"] +default-target = "thumbv7em-none-eabihf" +cargo-args = [ + "-Zunstable-options", + "-Zrustdoc-scrape-examples", + "-Zbuild-std=core,alloc", +] diff --git a/api/ctrl/Cargo.toml b/api/ctrl/Cargo.toml index 18467eea..613c1e5d 100644 --- a/api/ctrl/Cargo.toml +++ b/api/ctrl/Cargo.toml @@ -1,12 +1,14 @@ [package] name = "playdate-controls" -version = "0.1.2" +version = "0.1.3" edition = "2021" readme = "README.md" license = "MIT OR Apache-2.0" authors = ["Alex Koz <a@koz.email>"] description = "High-level controls API built on-top of Playdate API" +keywords = ["playdate", "sdk", "api", "gamedev"] +categories = ["game-development", "api-bindings", "no-std"] homepage = "https://github.com/boozook/playdate" repository = "https://github.com/boozook/playdate.git" @@ -52,3 +54,24 @@ path = "examples/accelerometer.rs" [package.metadata.playdate] bundle-id = "rs.playdate.ctrl" + + +[package.metadata.docs.rs] +all-features = false +features = [ + "bindings-derive-default", + "bindings-derive-eq", + "bindings-derive-copy", + "bindings-derive-debug", + "bindings-derive-hash", + "bindings-derive-ord", + "bindings-derive-partialeq", + "bindings-derive-partialord", +] +rustdoc-args = ["--cfg", "docsrs", "--show-type-layout"] +default-target = "thumbv7em-none-eabihf" +cargo-args = [ + "-Zunstable-options", + "-Zrustdoc-scrape-examples", + "-Zbuild-std=core,alloc", +] diff --git a/api/display/Cargo.toml b/api/display/Cargo.toml index 407aaf45..eef7738c 100644 --- a/api/display/Cargo.toml +++ b/api/display/Cargo.toml @@ -1,12 +1,14 @@ [package] name = "playdate-display" -version = "0.1.0" +version = "0.1.1" edition = "2021" readme = "README.md" license = "MIT OR Apache-2.0" authors = ["Alex Koz <a@koz.email>"] description = "High-level Display API built on-top of Playdate API" +keywords = ["playdate", "sdk", "api", "gamedev"] +categories = ["game-development", "api-bindings", "no-std"] homepage = "https://github.com/boozook/playdate" repository = "https://github.com/boozook/playdate.git" @@ -38,3 +40,24 @@ version = "0.1" path = "../sys" package = "playdate-sys" default-features = false + + +[package.metadata.docs.rs] +all-features = false +features = [ + "bindings-derive-default", + "bindings-derive-eq", + "bindings-derive-copy", + "bindings-derive-debug", + "bindings-derive-hash", + "bindings-derive-ord", + "bindings-derive-partialeq", + "bindings-derive-partialord", +] +rustdoc-args = ["--cfg", "docsrs", "--show-type-layout"] +default-target = "thumbv7em-none-eabihf" +cargo-args = [ + "-Zunstable-options", + "-Zrustdoc-scrape-examples", + "-Zbuild-std=core,alloc", +] diff --git a/api/fs/Cargo.toml b/api/fs/Cargo.toml index eadc773f..cf060668 100644 --- a/api/fs/Cargo.toml +++ b/api/fs/Cargo.toml @@ -1,12 +1,14 @@ [package] name = "playdate-fs" -version = "0.1.1" +version = "0.1.2" edition = "2021" readme = "README.md" license = "MIT OR Apache-2.0" authors = ["Alex Koz <a@koz.email>"] description = "High-level file-system API built on-top of Playdate API" +keywords = ["playdate", "sdk", "api", "gamedev"] +categories = ["game-development", "api-bindings", "filesystem", "no-std"] homepage = "https://github.com/boozook/playdate" repository = "https://github.com/boozook/playdate.git" @@ -47,3 +49,24 @@ path = "examples/simple.rs" [package.metadata.playdate] bundle-id = "rs.playdate.fs" + + +[package.metadata.docs.rs] +all-features = false +features = [ + "bindings-derive-default", + "bindings-derive-eq", + "bindings-derive-copy", + "bindings-derive-debug", + "bindings-derive-hash", + "bindings-derive-ord", + "bindings-derive-partialeq", + "bindings-derive-partialord", +] +rustdoc-args = ["--cfg", "docsrs", "--show-type-layout"] +default-target = "thumbv7em-none-eabihf" +cargo-args = [ + "-Zunstable-options", + "-Zrustdoc-scrape-examples", + "-Zbuild-std=core,alloc", +] diff --git a/api/gfx/Cargo.toml b/api/gfx/Cargo.toml index 727f3632..16f1d956 100644 --- a/api/gfx/Cargo.toml +++ b/api/gfx/Cargo.toml @@ -1,12 +1,14 @@ [package] name = "playdate-graphics" -version = "0.1.2" +version = "0.1.3" edition = "2021" readme = "README.md" license = "MIT OR Apache-2.0" authors = ["Alex Koz <a@koz.email>"] description = "High-level graphics API built on-top of Playdate API" +keywords = ["playdate", "sdk", "api", "gamedev"] +categories = ["game-development", "api-bindings", "rendering::graphics-api", "graphics", "no-std"] homepage = "https://github.com/boozook/playdate" repository = "https://github.com/boozook/playdate.git" @@ -61,3 +63,24 @@ path = "examples/bitmap.rs" [package.metadata.playdate] bundle-id = "rs.playdate.menu" + + +[package.metadata.docs.rs] +all-features = false +features = [ + "bindings-derive-default", + "bindings-derive-eq", + "bindings-derive-copy", + "bindings-derive-debug", + "bindings-derive-hash", + "bindings-derive-ord", + "bindings-derive-partialeq", + "bindings-derive-partialord", +] +rustdoc-args = ["--cfg", "docsrs", "--show-type-layout"] +default-target = "thumbv7em-none-eabihf" +cargo-args = [ + "-Zunstable-options", + "-Zrustdoc-scrape-examples", + "-Zbuild-std=core,alloc", +] diff --git a/api/menu/Cargo.toml b/api/menu/Cargo.toml index f0873e5c..6b33a102 100644 --- a/api/menu/Cargo.toml +++ b/api/menu/Cargo.toml @@ -1,12 +1,14 @@ [package] name = "playdate-menu" -version = "0.1.1" +version = "0.1.2" edition = "2021" readme = "README.md" license = "MIT OR Apache-2.0" authors = ["Alex Koz <a@koz.email>"] description = "High-level system menu API built on-top of Playdate API" +keywords = ["playdate", "sdk", "api", "gamedev"] +categories = ["game-development", "api-bindings", "no-std"] homepage = "https://github.com/boozook/playdate" repository = "https://github.com/boozook/playdate.git" @@ -53,3 +55,24 @@ path = "examples/custom-api-access.rs" [package.metadata.playdate] bundle-id = "rs.playdate.menu" + + +[package.metadata.docs.rs] +all-features = false +features = [ + "bindings-derive-default", + "bindings-derive-eq", + "bindings-derive-copy", + "bindings-derive-debug", + "bindings-derive-hash", + "bindings-derive-ord", + "bindings-derive-partialeq", + "bindings-derive-partialord", +] +rustdoc-args = ["--cfg", "docsrs", "--show-type-layout"] +default-target = "thumbv7em-none-eabihf" +cargo-args = [ + "-Zunstable-options", + "-Zrustdoc-scrape-examples", + "-Zbuild-std=core,alloc", +] diff --git a/api/sound/Cargo.toml b/api/sound/Cargo.toml index 3267ba58..93fcdfde 100644 --- a/api/sound/Cargo.toml +++ b/api/sound/Cargo.toml @@ -1,12 +1,14 @@ [package] name = "playdate-sound" -version = "0.1.1" +version = "0.1.2" edition = "2021" readme = "README.md" license = "MIT OR Apache-2.0" authors = ["Alex Koz <a@koz.email>"] description = "High-level sound API built on-top of Playdate API" +keywords = ["playdate", "sdk", "api", "gamedev"] +categories = ["game-development", "api-bindings", "multimedia::audio", "no-std"] homepage = "https://github.com/boozook/playdate" repository = "https://github.com/boozook/playdate.git" @@ -66,8 +68,27 @@ path = "examples/fp-simple.rs" [package.metadata.playdate] bundle-id = "rs.playdate.sound" -# XXX: really important feature: -# TODO: impl assets for cargo-targets (examples, etc...) -# this should be "dev-assets" in nearest future release +# XXX: this should be "dev-assets" in nearest future release [package.metadata.playdate.assets] "sfx/" = "${PLAYDATE_SDK_PATH}/Examples/Level 1-1/Source/sfx/main_theme.wav" + + +[package.metadata.docs.rs] +all-features = false +features = [ + "bindings-derive-default", + "bindings-derive-eq", + "bindings-derive-copy", + "bindings-derive-debug", + "bindings-derive-hash", + "bindings-derive-ord", + "bindings-derive-partialeq", + "bindings-derive-partialord", +] +rustdoc-args = ["--cfg", "docsrs", "--show-type-layout"] +default-target = "thumbv7em-none-eabihf" +cargo-args = [ + "-Zunstable-options", + "-Zrustdoc-scrape-examples", + "-Zbuild-std=core,alloc", +] diff --git a/api/sys/Cargo.toml b/api/sys/Cargo.toml index b87abb47..911ded25 100644 --- a/api/sys/Cargo.toml +++ b/api/sys/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "playdate-sys" -version = "0.1.5" +version = "0.1.6" edition = "2021" build = "src/build.rs" @@ -9,7 +9,12 @@ license = "MIT OR Apache-2.0" authors = ["Alex Koz <a@koz.email>"] description = "Low-level Playdate API bindings" keywords = ["playdate", "bindings", "ffi", "gamedev"] -categories = ["external-ffi-bindings", "development-tools::ffi"] +categories = [ + "external-ffi-bindings", + "development-tools::ffi", + "game-development", + "no-std" +] homepage = "https://github.com/boozook/playdate" repository = "https://github.com/boozook/playdate.git" documentation = "https://docs.rs/playdate-sys" @@ -38,7 +43,7 @@ bindgen-which-rustfmt = ["bindgen/which-rustfmt"] bindgen-runtime = ["bindgen/runtime"] # runtime linking (dlopen) bindgen-static = ["bindgen/static"] # static linking to clang # parse docs from the SDK, gen doc-comments -bindings-documentation = ["bindgen/documentation"] +bindings-documentation = ["bindgen/documentation"] # generate docs for bindings # derives: bindings-derive-default = [] # ask bindgen to derive `Default` diff --git a/api/system/Cargo.toml b/api/system/Cargo.toml index 8a27bfd6..0370282a 100644 --- a/api/system/Cargo.toml +++ b/api/system/Cargo.toml @@ -7,6 +7,8 @@ readme = "README.md" license = "MIT OR Apache-2.0" authors = ["Alex Koz <a@koz.email>"] description = "High-level System API built on-top of Playdate API" +keywords = ["playdate", "sdk", "api", "gamedev"] +categories = ["game-development", "api-bindings", "no-std"] homepage = "https://github.com/boozook/playdate" repository = "https://github.com/boozook/playdate.git" @@ -38,3 +40,24 @@ version = "0.1" path = "../sys" package = "playdate-sys" default-features = false + + +[package.metadata.docs.rs] +all-features = false +features = [ + "bindings-derive-default", + "bindings-derive-eq", + "bindings-derive-copy", + "bindings-derive-debug", + "bindings-derive-hash", + "bindings-derive-ord", + "bindings-derive-partialeq", + "bindings-derive-partialord", +] +rustdoc-args = ["--cfg", "docsrs", "--show-type-layout"] +default-target = "thumbv7em-none-eabihf" +cargo-args = [ + "-Zunstable-options", + "-Zrustdoc-scrape-examples", + "-Zbuild-std=core,alloc", +] diff --git a/cargo/Cargo.toml b/cargo/Cargo.toml index f77b4bc1..502a465c 100644 --- a/cargo/Cargo.toml +++ b/cargo/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cargo-playdate" -version = "0.2.1" +version = "0.2.2" edition = "2021" readme = "README.md" @@ -9,19 +9,13 @@ authors = ["Alex Koz <a@koz.email>"] description = "Build tool for neat yellow console." homepage = "https://github.com/boozook/playdate" repository = "https://github.com/boozook/playdate.git" -keywords = [ - "playdate", - "build", - "cargo", - "plugin", - "cargo-subcommand", -] +keywords = ["playdate", "build", "cargo", "plugin", "cargo-subcommand"] categories = [ + "game-development", "command-line-utilities", "development-tools", "development-tools::cargo-plugins", "development-tools::build-utils", - # "development-tools::testing", # TODO: uncomment when test command is implemented ] @@ -66,7 +60,7 @@ features = ["assets-report", "toml"] default-features = false [dependencies.tool] -version = "=0.1.0" # TODO: relax semver when tool's api stabilized +version = "=0.1.1" # TODO: relax semver when tool's api stabilized path = "../support/tool" package = "playdate-tool" features = ["clap", "cli"] diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 6763718f..cb5bf8da 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,5 +1,6 @@ [toolchain] channel = "nightly" +profile = "minimal" targets = ["thumbv7em-none-eabihf"] components = [ "rust-src", # for build-std diff --git a/support/tool/Cargo.toml b/support/tool/Cargo.toml index 098fcef9..06cde84a 100644 --- a/support/tool/Cargo.toml +++ b/support/tool/Cargo.toml @@ -1,13 +1,13 @@ [package] name = "playdate-tool" -version = "0.1.0" +version = "0.1.1" edition = "2021" readme = "README.md" license = "MIT OR Apache-2.0" authors = ["Alex Koz <a@koz.email>"] description = "Tool for interaction with Playdate device and sim." -keywords = ["playdate", "usb"] +keywords = ["playdate", "usb", "utility"] categories = ["development-tools", "hardware-support"] homepage = "https://github.com/boozook/playdate" repository = "https://github.com/boozook/playdate.git"