diff options
| author | Elizabeth Alexander Hunt <me@liz.coffee> | 2026-11-12 21:11:08 -0800 |
|---|---|---|
| committer | Elizabeth Alexander Hunt <me@liz.coffee> | 2026-11-12 21:11:08 -0800 |
| commit | 3afb04de43726d71580b626e856c68b6ed79984e (patch) | |
| tree | 33f7bcb227ff8cfcb046a10036d2faa69c2edd1f /gradle | |
| download | rookery-3afb04de43726d71580b626e856c68b6ed79984e.tar.gz rookery-3afb04de43726d71580b626e856c68b6ed79984e.zip | |
Rookery: penguin-themed cubing toolkit, phases 0-1 and GAN BLE
Kotlin Multiplatform + Compose desktop app.
- Sync: per-device append-only op logs (HLC-stamped LWW) in a plain
folder, safe under Syncthing/Drive; content-addressed image blobs.
- Timer: WCA inspection, +2/DNF, solve table, WCA-correct aoN/moN,
per-event lifetime PBs with a pixel-penguin party and synthesized
8-bit chime. Mascot sprite from liz.coffee.
- Scrambles for all WCA events + FTO via tnoodle-lib, with previews.
- Importers: csTimer exports (incl. smart-cube reconstructions and
cube MACs) and the Letter Pair Gym prototype (words, notes, images,
history, practice stats). Idempotent; headless `--import`.
- Letter-pair grid with miss heatmap, glance lookup and editor.
- 3D puzzle engine (polyhedron + cut planes) and Canvas renderer:
NxN 2-7, Pyraminx, Skewb, verified sticker-for-sticker against
tnoodle; 3D replay of smart-cube solves.
- GAN Gen2/3/4 smart-cube protocol (ported from gan-web-bluetooth,
MIT) with a BlueZ D-Bus transport and `--cube scan|monitor` CLI.
Not yet tested against hardware.
- lizCI pipeline (.ci) building a test+package Docker target.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'gradle')
| -rw-r--r-- | gradle/libs.versions.toml | 27 | ||||
| -rw-r--r-- | gradle/wrapper/gradle-wrapper.jar | bin | 0 -> 49154 bytes | |||
| -rw-r--r-- | gradle/wrapper/gradle-wrapper.properties | 9 |
3 files changed, 36 insertions, 0 deletions
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 0000000..afef406 --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,27 @@ +[versions] +kotlin = "2.4.21" +compose = "1.12.2" +coroutines = "1.11.0" +serialization = "1.13.0" +tnoodle = "0.20.0" +dbus-java = "5.2.2" + +[libraries] +coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" } +coroutines-swing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "coroutines" } +coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "coroutines" } +serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "serialization" } +tnoodle-scrambles = { module = "org.worldcubeassociation.tnoodle:lib-scrambles", version.ref = "tnoodle" } +dbus-java-core = { module = "com.github.hypfvieh:dbus-java-core", version.ref = "dbus-java" } +dbus-java-transport-native = { module = "com.github.hypfvieh:dbus-java-transport-native-unixsocket", version.ref = "dbus-java" } +compose-runtime = { module = "org.jetbrains.compose.runtime:runtime", version.ref = "compose" } +compose-foundation = { module = "org.jetbrains.compose.foundation:foundation", version.ref = "compose" } +compose-ui = { module = "org.jetbrains.compose.ui:ui", version.ref = "compose" } +compose-resources = { module = "org.jetbrains.compose.components:components-resources", version.ref = "compose" } + +[plugins] +kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } +kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } +kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } +kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } +compose = { id = "org.jetbrains.compose", version.ref = "compose" } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar Binary files differnew file mode 100644 index 0000000..51cbd2a --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.jar diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..04d7959 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,9 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-9.9.1-bin.zip +networkTimeout=10000 +retries=0 +retryBackOffMs=500 +validateDistributionUrl=true +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists |
