Skip to content

Add fireplace app#101

Open
clarmso wants to merge 9 commits into
badger:mainfrom
clarmso:fireplace-badger
Open

Add fireplace app#101
clarmso wants to merge 9 commits into
badger:mainfrom
clarmso:fireplace-badger

Conversation

@clarmso

@clarmso clarmso commented Jul 13, 2026

Copy link
Copy Markdown

Adds a cosy animated fireplace app for the GitHub Universe 2025 badge.

fireplace_badge

The users can adjust the speed of the animation using the up and down arrows.

clarmso and others added 7 commits July 12, 2026 19:33
- 20-frame fireplace animation extracted from Tenor GIF
- Frames stored as 160x120 PNGs in frames/ directory
- Fire emoji icon for menu launcher

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Compress fireplace_badge.jpg: 2.1MB → 740KB
- Convert lenny_fireplace.png → .jpg: 158KB → 8KB

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- fireplace_badge.jpg: 740KB → 142KB
- lenny_fireplace.jpg: 8KB → 1KB

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 13, 2026 01:01
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new “fireplace” app to the Universe 2025 badge app suite, providing a looping animated fireplace with on-device playback speed controls and accompanying documentation/assets.

Changes:

  • Introduces the Fireplace app runtime (update() loop) with UP/DOWN speed adjustment and A/B/C reset, plus an on-screen speed indicator.
  • Adds app documentation (controls, install/simulator instructions) and ships the animation/icon/media assets.

Reviewed changes

Copilot reviewed 2 out of 26 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
badge/apps/fireplace/init.py Implements the animation loop, input handling, and speed label rendering for the Fireplace app.
badge/apps/fireplace/README.md Documents controls, installation steps, simulator invocation, and animation provenance/details.
badge/apps/fireplace/icon.png App icon for the launcher (24×24).
badge/apps/fireplace/assets/fireplace.gif Source GIF asset retained for reference.
badge/apps/fireplace/assets/fireplace_badge.jpg README image asset.
badge/apps/fireplace/assets/lenny_fireplace.jpg README image asset.
badge/apps/fireplace/frames/frame_0000.png Animation frame asset.
badge/apps/fireplace/frames/frame_0001.png Animation frame asset.
badge/apps/fireplace/frames/frame_0002.png Animation frame asset.
badge/apps/fireplace/frames/frame_0003.png Animation frame asset.
badge/apps/fireplace/frames/frame_0004.png Animation frame asset.
badge/apps/fireplace/frames/frame_0005.png Animation frame asset.
badge/apps/fireplace/frames/frame_0006.png Animation frame asset.
badge/apps/fireplace/frames/frame_0007.png Animation frame asset.
badge/apps/fireplace/frames/frame_0008.png Animation frame asset.
badge/apps/fireplace/frames/frame_0009.png Animation frame asset.
badge/apps/fireplace/frames/frame_0010.png Animation frame asset.
badge/apps/fireplace/frames/frame_0011.png Animation frame asset.
badge/apps/fireplace/frames/frame_0012.png Animation frame asset.
badge/apps/fireplace/frames/frame_0013.png Animation frame asset.
badge/apps/fireplace/frames/frame_0014.png Animation frame asset.
badge/apps/fireplace/frames/frame_0015.png Animation frame asset.
badge/apps/fireplace/frames/frame_0016.png Animation frame asset.
badge/apps/fireplace/frames/frame_0017.png Animation frame asset.
badge/apps/fireplace/frames/frame_0018.png Animation frame asset.
badge/apps/fireplace/frames/frame_0019.png Animation frame asset.

Comment thread badge/apps/fireplace/__init__.py Outdated
Comment on lines +75 to +76
init()
run(update)
Comment on lines +27 to +31
fireplace/
├── __init__.py # App code
├── icon.png # Menu icon (24x24)
├── fireplace.gif # Original source GIF
└── frames/ # Extracted PNG frames (frame_0000.png … frame_0019.png)
Comment thread badge/apps/fireplace/__init__.py Outdated
Comment on lines +55 to +63
# Advance frame
if io.ticks - _last_tick >= _frame_duration:
_current_frame = (_current_frame + 1) % FRAME_COUNT
_last_tick = io.ticks

screen.load_into(f"frames/frame_{_current_frame:04d}.png")

# Show speed label if recently changed
if io.ticks < _label_until:
- Update README directory tree to reflect assets/ subdirectory
- Guard run() with __name__ == '__main__' and pass init= parameter,
  matching the standard pattern used by menu and monapet apps
- Only call screen.load_into() when the frame advances or the speed
  label is visible, avoiding redundant surface copies every tick

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.

2 participants