Skip to content

DEV-6449: Add the static player.show Berry plugin - #5

Closed
immakermatty wants to merge 6 commits into
codex/DEV-6448-examples-native-timed-sebfrom
codex/DEV-6449-examples-player-bundle
Closed

DEV-6449: Add the static player.show Berry plugin#5
immakermatty wants to merge 6 commits into
codex/DEV-6448-examples-native-timed-sebfrom
codex/DEV-6449-examples-player-bundle

Conversation

@immakermatty

@immakermatty immakermatty commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Outcome

  • publish the canonical copy-ready Project Berry plugin at data/v2/examples/player-show-complete-cue-tracks/player.be
  • replace the unreleased A/B/generation prototype with one static player.show and deterministic per-ID SEB chains
  • keep ID255 automatic, local IDs explicit, and all pause/resume/seek/rewind/loop/checkpoint policy in optional Project Berry
  • include a public synthetic corpus plus host-Berry lifecycle and hard TNGL-size gates
  • pin compatibility to firmware 0.12.11 and WASM DEBUG_UNIVERSAL_0.12.11_20260808

How authors use it

Copy player.be into the Controller Project as a Berry Script block and call Player({"base":"player","ids":[1]}). Studio links to this canonical example. Upload writes deterministic NetworkStorage files only; it does not install or replace the Project plugin.

The supported operator flow is pause, upload, wait for ordinary NetworkStorage propagation, rewind, then play. Hot update, generations and simultaneous writers for the same base are intentionally outside v1.

Dependencies

Verification

  • host Berry lifecycle: PASS for per-ID filtering, pause/resume, projection retry, missing-file retry, seek, 24-hour wrap, delayed catch-up and Cue held through pause
  • TNGL size gate: 3,789 / 4,096 bytes
  • Examples production build: PASS
  • canonical firmware mirror: byte-for-byte equal
  • safe ASCII base and 23-byte generated filename contract: covered
  • focused auto-review: safe-base finding fixed; no accepted architectural expansion
  • git diff --check: PASS

No merge, release, deployment, WASM publication or customer Controller mutation is part of this PR.

@spectoda-dev spectoda-dev left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Exact-head Productionspace review: 900bafc9ecddaf7d7fd3acf0b30ebf8d27440655.

APPROVED.

Verified locally:

  • Examples v2 tsc -b + Vite production build pass.
  • Public A/B corpus is decoded with exact @spectoda/js/v012 Player Bundle codec: all 7 checked SPM/SPT artifacts pass fingerprint and format validation.
  • Source review confirms the Berry Player validates namespace/local IDs, reads bounded ranges, honors preferred/fallback A/B activation, uses one SEB.land call per plugin turn, and keeps SPM-last publication semantics.
  • git diff --check passes.

Execution limit recorded: the repo ships a host-Berry lifecycle smoke and hardware DevKit smoke source, but this checkout has neither the host Berry interpreter nor ESP/WASM toolchain/hardware. No source defect was found; that runtime path remains unexecuted locally. The companion release chain must still wait for firmware #29 P1 executable QA coverage.

@immakermatty immakermatty changed the title DEV-6449: Add the A/B snapshot Track Player example DEV-6449: Add the A/B complete Cue Track Player example Aug 6, 2026
@immakermatty
immakermatty force-pushed the codex/DEV-6449-examples-player-bundle branch from cc925bb to 7c21c40 Compare August 8, 2026 12:50
@immakermatty
immakermatty requested review from spectoda-dev and removed request for spectoda-dev August 8, 2026 13:36
@immakermatty

Copy link
Copy Markdown
Contributor Author

Exact-head re-review requested for b8080e7. The existing approval targets an older commit. This head is the single editable Project Berry plugin source and pins DEBUG_UNIVERSAL_0.12.11_20260808.

Publish a copy-ready firmware 0.12.11 Berry Player that validates SPM/SPT generations and follows the shared timeline while keeping EventStore authoritative.

Include synthetic bundle fixtures, deterministic host regressions, and an isolated-DEVKIT runner with exact WASM, TNGL, NetworkStorage, causal-clock, and A/B readback gates. The Examples catalog now renders the TypeScript runner alongside the public project files.
Rename the unpublished public Player example around complete Cues and per-ID Tracks. Public copy now treats event labels as tracked events within a Track, keeps Capture in native WASM, and presents SEB only as compiled binary.

The SPM/SPT fixture bytes and Berry playback policy remain unchanged.
Move the public SPM/SPT Player to the released timeline.at API and keep pause/resume timing terminology aligned with the firmware's causal projection.

Declare one stable canonical source path for Studio, Documentation, and generated Creator Kit releases, and pin the DEVKIT instructions to the final 0.12.11 WASM.
Add an explicit fail-closed export sidecar to the canonical Player example. Creator Kit can now copy only the setup guide, metadata, and Berry source from an exact Examples commit without maintaining another editable script.
Replace the unreleased generation-based Player example with one copy-ready firmware 0.12.11 plugin for a static Show Index and deterministic per-ID SEB chains. The example documents the pause, propagation, rewind and play workflow while keeping ID255 global and local IDs explicit.\n\nAdd a public synthetic corpus plus host-Berry lifecycle and size gates for reconciliation, pause/resume, retry, seek, 24-hour wrap, delayed catch-up and the 4 KiB TNGL budget.
@immakermatty
immakermatty force-pushed the codex/DEV-6449-examples-player-bundle branch from b8080e7 to 32d283b Compare August 8, 2026 16:32
@immakermatty immakermatty changed the title DEV-6449: Add the A/B complete Cue Track Player example DEV-6449: Add the static player.show Berry plugin Aug 8, 2026
@immakermatty
immakermatty deleted the branch codex/DEV-6448-examples-native-timed-seb August 8, 2026 19:12
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