Skip to content

Commit a1c4462

Browse files
authored
chore: update screenshots and device frames for next gen pebbles (#142)
Closes #141
1 parent 8a0e218 commit a1c4462

29 files changed

Lines changed: 336 additions & 76 deletions

.gitignore

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,13 @@ build
1010
src/pkjs/dev-config.js
1111
src/pkjs/active-fixture.generated.js
1212
screenshot/**/*
13-
!screenshot/snowy-red.png
14-
!screenshot/steel-black.png
15-
!screenshot/composite_bw.sh
16-
!screenshot/composite_color.sh
1713
!screenshot/**/
14+
!screenshot/frames/*.svg
15+
!screenshot/v*/*.png
16+
!screenshot/v*/raw/*.png
17+
!screenshot/v*/composite/*.png
18+
screenshot/tmp/**
19+
screenshot/out/**
1820
!.agents
1921
node_modules
2022
package.json

CONTRIBUTING.md

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,9 @@ PEBBLE_EMULATOR=aplite mise install-emulator
172172
# Legacy pass-through separator (still works)
173173
mise install-emulator -- --logs
174174

175+
# Stop running emulator and phone simulator
176+
mise kill-emulator
177+
175178
# Take a screenshot from emulator (default platform: basalt)
176179
mise screenshot-emulator
177180

@@ -258,6 +261,8 @@ Set `FIXTURE=<name>` in `.env` to load deterministic app-state data from `fixtur
258261
Fixtures currently support:
259262

260263
- `watch.now`: local date/time fields used for C-rendered time/date UI.
264+
- `watch.battery.percent`: battery level used for C-rendered battery UI, 0-100.
265+
- `watch.battery.charging`: optional battery charging/plugged state, `true` or `false`.
261266
- `watchSettings.timeFormat`: watch-level time display preference, `"12h"` or `"24h"`.
262267
- `claySettings`: Clay-compatible settings keyed by `messageKey`, such as `"axisTimeFormat": "12h"`. Color settings use Pebble SDK color constants like `"GColorFolly"` from the Rebble color definitions: https://developer.rebble.io/docs/c/Graphics/Graphics_Types/Color_Definitions/
263268
- `weather.city`: weather status city label.
@@ -275,26 +280,14 @@ FIXTURE=readme
275280

276281
Fixture data is tracked in git inside `fixtures/`.
277282

278-
### Emulator time overrides (applied automatically)
279-
280-
`scripts/install-emulator.sh` reads these keys from `dev-config.js` after install:
281-
282-
- `emuTimeFormat`: `12h` or `24h`
283-
- `emuTime`: `HH:MM:SS` or Unix seconds (e.g. `1772870400`)
283+
### Fixture emulator installs
284284

285-
Then run:
285+
Fixture time and battery state are compiled into the app through `watch.now` and `watch.battery`; `scripts/install-emulator.sh` does not call Pebble's emulator setting controls.
286286

287287
```bash
288288
mise install-emulator --logs
289289
```
290290

291-
Reset behavior when keys are removed:
292-
293-
- `emuTimeFormat` defaults to `24h`
294-
- `emuTime` fallback order is:
295-
1. explicit `emuTime` in `dev-config.js`
296-
2. current host time
297-
298291
## Upgrading pebble-tool
299292

300293
This project pins `pipx:pebble-tool` to an exact version in `mise.toml` (fully resolved in `mise.lock`).

README.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,9 @@ The developer, RCY, is nowhere to be found in the Rebble era. I plan to continue
1616

1717
## Screenshots
1818

19-
<div>
20-
<img src="screenshot/v1.14.0/color-composite.png" alt="Color screenshot" style="display:inline-block;vertical-align: middle;">
21-
<img src="screenshot/v1.14.0/bw-composite.png" alt="Black and white screenshot" style="display:inline-block;vertical-align: middle;">
22-
</div>
19+
| Pebble Time | Pebble 2 Duo | Pebble Time 2 |
20+
| --- | --- | --- |
21+
| <img src="screenshot/v1.33.0/composite/pebble-time-red.png" alt="Pebble Time screenshot"> | <img src="screenshot/v1.33.0/composite/pebble2-duo-white.png" alt="Pebble 2 Duo screenshot"> | <img src="screenshot/v1.33.0/composite/pebble-time2-red.png" alt="Pebble Time 2 screenshot"> |
2322

2423
## Features
2524

RELEASE.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,15 @@ Flow:
1919

2020
Device frames and banner templates were originally obtained from [Appstore Assets](https://developer.rebble.io/guides/appstore-publishing/appstore-assets/) in Pebble docs.
2121

22-
Those download links are since broken (see https://github.com/pebble-dev/developer.rebble.io/issues/37), but you can still download from the wayback machine (e.g. [banner templates](https://web.archive.org/web/20161207160612/https://s3.amazonaws.com/developer.getpebble.com/assets/other/banner-templates-design.zip)).
22+
Those download links are since broken (see https://github.com/pebble-dev/developer.rebble.io/issues/37), but you can still download from the wayback machine (e.g. [banner templates](https://web.archive.org/web/20161207160612/https://s3.amazonaws.com/developer.getpebble.com/assets/other/banner-templates-design.zip)).
23+
24+
Composite screenshots with:
25+
26+
```sh
27+
mise composite <version>
28+
mise composite-screenshot <pebble-time-red|pebble2-duo-white|pebble-time2-red> <screenshot.png> <output.png>
29+
```
30+
31+
`mise composite <version>` reads `screenshot/<version>/raw/*.png` and writes the matching framed PNGs to `screenshot/<version>/composite/`.
32+
33+
Some downloaded frame assets used older names. Track them with the modern device names: `core-time2-red.svg` becomes `pebble-time2-red.svg`, and `pebble2-white.svg` becomes `pebble2-duo-white.svg`. The Pebble Time 2 rename is noted in Eric Migicovsky's July Pebble update: https://ericmigi.com/blog/july-pebble-update/

fixtures/readme.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
"hour": 12,
88
"minute": 34,
99
"second": 0
10+
},
11+
"battery": {
12+
"percent": 100
1013
}
1114
},
1215
"watchSettings": {

mise.lock

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

mise.toml

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ deno = "2.1.4"
1515
# https://mise.jdx.dev/dev-tools/backends/aqua.html
1616
"aqua:supabase/cli" = "2.84.2"
1717

18+
# https://github.com/linebender/resvg
19+
# https://mise.jdx.dev/dev-tools/backends/aqua.html
20+
resvg = "0.47.0"
21+
1822
[env]
1923
_.file = ".env"
2024

@@ -53,12 +57,24 @@ description = "Build and install on emulator (default profile: dev, emulator: ba
5357
alias = "emu"
5458
run = "pebble wipe && scripts/install-emulator.sh"
5559

60+
[tasks.kill-emulator]
61+
description = "Stop running emulator and phone simulator"
62+
alias = "kill"
63+
run = "pebble kill"
64+
5665
[tasks.screenshot-phone]
5766
description = "Take a screenshot from phone"
58-
alias = "screenshot"
5967
run = "scripts/screenshot-phone.sh"
6068

6169
[tasks.screenshot-emulator]
6270
description = "Take a screenshot from emulator (default: basalt)"
63-
alias = "screenshot-emu"
71+
alias = "screenshot"
6472
run = "scripts/screenshot-emulator.sh"
73+
74+
[tasks.composite-screenshot]
75+
description = "Composite a screenshot PNG into an SVG Pebble frame"
76+
run = "screenshot/composite_svg.sh"
77+
78+
[tasks.composite]
79+
description = "Composite all raw screenshots for a screenshot version"
80+
run = "scripts/composite-version.sh"

resources/banner.png

61.6 KB
Loading

screenshot/composite_bw.sh

Lines changed: 0 additions & 3 deletions
This file was deleted.

screenshot/composite_color.sh

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)