Skip to content

feat(variants): ship Walking's own designer icon - #281

Merged
rryles merged 2 commits into
mainfrom
feat/walking-designer-icon
Aug 12, 2026
Merged

feat(variants): ship Walking's own designer icon#281
rryles merged 2 commits into
mainfrom
feat/walking-designer-icon

Conversation

@rryles

@rryles rryles commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

What

Walking stops borrowing Hiking's icons ("icons": "target") and ships the designer's walking-figure icon — the right-aligned cut, chosen over a centred alternative after simulator comparison. It also gains a real min_target_version.

  • Examples/Apps/Variants/Walking/icon_60x60.png / icon_30x30.png: the 40x40/25x25 artwork composited onto the standard canvases, placed in the same glyph band as the sibling activity icons (big: y 10-50 like Hiking's; small: y 2-27), palette already the standard teal so ABGR2222 quantization matches the other apps.
  • manifest.json: icons switches to the {"normal", "small"} PNG-pair form pack_variants.py already supports, and min_target_version goes 0.0.01.4.0 — Walking's config relies on the 1.4.x Hiking engine's sport parameterization, so the alias should not resolve against an older Hiking. Note the packed field is the A.B.C u32: pre-release suffixes are not representable, so 1.4.0-rc* builds count as 1.4.0 and satisfy the gate.
  • apps-ci.yml: the pack-variants job installs Pillow — the PNG conversion path in make_variant.py needs it, and the workflow comment had explicitly reserved this install for the first custom-icon variant.

Verification

  • Local CI-shape pack (--built-apps with a Hiking_1.4.0-rc2 artifact, --only Walking) reproduces the alias installed and render-verified on a watch running 1.4.0-rc2 — byte-identical except the two minTargetVersion bytes and the trailing CRC (the icon-only build hashed 565ad39d8c45…, matching the on-watch file exactly). Launcher icon, adjacent-row small icon, and titles all checked on-device.
  • Both icon sizes also render-checked in the kernel GUI simulator alongside Hiking/Running for visual consistency.

Summary by CodeRabbit

  • New Features

    • Updated the Walking app variant with separate normal and small icons for improved display across supported contexts.
  • Compatibility

    • The Walking app variant now requires target version 1.4.0 or later. Older target versions are no longer supported.

Walking has so far reused Hiking's icons via icons: "target". The designer's
walking-figure icon (right-aligned cut, chosen over a centred alternative)
now ships instead: the 40x40/25x25 artwork composited onto the standard
60x60/30x30 canvases in the same glyph band as the sibling activity icons.

The manifest switches to the PNG-pair form of "icons", which routes
make_variant.py through its Pillow conversion path, so the pack-variants job
gains the pip install the workflow comment had reserved for this moment.

Verified: the CI-shape pack (fake Hiking_1.4.0-rc2 artifact) produces a
Walking_1.4.0-rc2.uapp byte-identical to the alias bench-installed and
render-checked on a watch (sha256 565ad39d...).
@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 7a02898f-4120-4a43-8e8c-34e966baf354

📥 Commits

Reviewing files that changed from the base of the PR and between f5fd730 and 067c585.

📒 Files selected for processing (1)
  • Examples/Apps/Variants/Walking/manifest.json
🚧 Files skipped from review as they are similar to previous changes (1)
  • Examples/Apps/Variants/Walking/manifest.json

📝 Walkthrough

Walkthrough

The Walking variant manifest now specifies separate normal and small icons and requires target version 1.4.0. The variant-packing CI job installs Pillow for PNG-to-ABGR2222 icon conversion.

Changes

Variant icon packaging

Layer / File(s) Summary
Explicit icons and packing dependency
.github/workflows/apps-ci.yml, Examples/Apps/Variants/Walking/manifest.json
The manifest raises min_target_version to 1.4.0 and defines separate normal and small icon files. The pack-variants job installs Pillow before packing variants.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

  • UNAWatch/una-sdk#256: This PR extends the variant CI packaging and Walking manifest changes from that PR.
  • UNAWatch/una-sdk#257: This PR also modifies the Walking manifest and variant compatibility behavior.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: shipping Walking's own designer icon.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/walking-designer-icon

Comment @coderabbitai help to get the list of available commands.

Walking's config leans on the sport/subSport parameterization the 1.4.x
Hiking engine carries, so gate the alias on it rather than resolving against
any Hiking at all. The packed field is the A.B.C u32, which cannot see
pre-release suffixes: 1.4.0-rc builds count as 1.4.0 and satisfy the gate
(the kernel compares target->version < minTargetVersion, AliasRules.cpp).
@rryles
rryles merged commit edf2fee into main Aug 12, 2026
32 checks passed
@rryles
rryles deleted the feat/walking-designer-icon branch August 12, 2026 12:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant