Skip to content

feat: add ship receipts app shell#18

Draft
Pro777 wants to merge 24 commits into
mainfrom
ship-receipts-app
Draft

feat: add ship receipts app shell#18
Pro777 wants to merge 24 commits into
mainfrom
ship-receipts-app

Conversation

@Pro777
Copy link
Copy Markdown

@Pro777 Pro777 commented May 30, 2026

Summary

  • add a dedicated SHIP.RECEIPTS StackChan app instead of wiring Ship Receipts semantics into core firmware
  • introduce an app-local scene contract for card/avatar beats, metadata, sequencing state, and control commands
  • add checked-in examples plus a tiny helper script for emitting supported scene/control payloads

Why this shape

Ship Receipts should live as an app on top of StackChan core.

Core stays responsible for:

  • transport
  • motion/audio/LED device capabilities
  • diagnostics/logging
  • generic renderer primitives

The app owns:

  • scene semantics
  • mode/content logic
  • sequencing policy
  • app-local commands
  • Ship Receipts-specific orchestration

Included app-local capabilities

  • scene fields: id, mode, title, line, speaker, presentation_type, visual_template, emotion, duration_ms, motion, led, play_notification, sticky
  • sequence states:
    • DemoRotation
    • LiveOverride
    • LiveSticky
  • control commands:
    • shipReceiptsResumeDemo
    • shipReceiptsShowStatus
    • shipReceiptsSetMode

Artifacts

  • app shell and parser under firmware/main/apps/app_ship_receipts/
  • example payloads under firmware/main/apps/app_ship_receipts/examples/
  • helper script:
    • firmware/main/apps/app_ship_receipts/tools/emit_ship_receipts_scene.py

Notes

  • this PR intentionally keeps Ship Receipts semantics app-local
  • no firmware flash/live hardware verification was required yet for this architecture slice

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