https://github.com/bioinformatist/ctrl-watchface
iKun-themed Garmin fēnix 7X Connect IQ watch face with a monochrome wake-only CTRL dance animation and glanceable metrics.
https://github.com/bioinformatist/ctrl-watchface
bitmap-animation connect-iq ctrl fenix7x garmin ikun monkey-c nix watchface
Last synced: 8 days ago
JSON representation
iKun-themed Garmin fēnix 7X Connect IQ watch face with a monochrome wake-only CTRL dance animation and glanceable metrics.
- Host: GitHub
- URL: https://github.com/bioinformatist/ctrl-watchface
- Owner: bioinformatist
- Created: 2026-02-26T07:56:55.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-07-01T06:53:08.000Z (25 days ago)
- Last Synced: 2026-07-18T10:35:28.716Z (8 days ago)
- Topics: bitmap-animation, connect-iq, ctrl, fenix7x, garmin, ikun, monkey-c, nix, watchface
- Language: Nix
- Homepage:
- Size: 258 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
# ctrl-watchface
> [!TIP]
> `ctrl` 在中文语境中取自“唱、跳、rap、篮球”的首字母。
iKun-themed Garmin fēnix 7X Connect IQ watch face with a monochrome wake-only CTRL dance animation and glanceable metrics.
The animation is intentionally committed as fixed PNG frames under [`resources/drawables/images/`](resources/drawables/images/). The original GIF is not needed to build or maintain this watch face.
## Rendering Notes
The checked-in animation uses 16 two-color PNG frames, about 16 KB total. The frames are loaded once during layout and reused during updates, so each animation tick draws a single bitmap.
The README preview is generated as [`docs/preview.gif`](docs/preview.gif) for presentation only. The watch face runtime uses the PNG frames directly.
NES-style decomposition was considered, but these frames do not have a stable base layer: frame-to-frame changes usually cover most of the figure, and tile reuse is low. Base-plus-diff or tile-atlas encodings would save only a few kilobytes while replacing one bitmap draw with many line or tile draws per frame. A hand-built puppet sprite system could be smaller, but it would be a redraw of the animation rather than a faithful version of these frames.
## Development
See [`CONTRIBUTING.md`](CONTRIBUTING.md) for the repo-local Nix development shell, Connect IQ setup, simulator workflow, physical-device debugging, and Store publication notes.