dsigns BrightSign SD-card pilot 0.2.0-pilot.3

This is a hardware-test package. No BrightSign model has yet passed physical
validation with this release. Use administrator-managed test accounts only;
subscription/trial enforcement is not included. Keep a working backup SD card.

Requires an HTML-capable video player with Node.js 14 or newer, Chromium 87 or
newer and the @brightsign/htmlwidget API. BrightSignOS 8.5.31+ is a starting
point for testing, not a guarantee for every model. Audio-only players do not
work. The player must permit booting from its SD card. Firmware and network
configuration are unchanged by this package.

NEW PLAYER
1. Extract the ZIP contents into the root of a fresh SD card.
2. Connect Ethernet, HDMI and power. Wait for the five-letter dsigns code.
3. Sign in at https://dsigns.bitprecision.com and open Players > Add player.
4. Enter the code, select the customer/group and approve the player.
5. Assign one landscape HDMI output. Save and publish its playlist or layout.

UPDATE AN EXISTING DSIGNS CARD
1. Power the player off cleanly and back up the complete SD card privately.
2. Extract the new package over the app files at the card root.
3. Preserve dsigns-data exactly: it contains pairing credentials and cached
   content. Do not format the card, delete this folder or share its contents.
4. Reinsert the card and power on. Check the reported version and layout
   capability in the dashboard before publishing a layout.
5. If the new app fails, restore the backed-up app files. Keep dsigns-data.
There is no dashboard or automatic BrightSign app update in this pilot.

CONTENT
Fullscreen image/video playlists and saved multi-region layouts use the same
renderer as the other new dsigns players. Layouts include playlist/media
regions, backgrounds, clocks, weather, feed/list tickers, notices, QR codes
with optional logos, countdowns, rotating announcements and isolated HTML/JS.
PDF and PowerPoint imports must first be converted in the dashboard.

JPEG, PNG, static WebP, BMP and device-supported MP4 are accepted. Test the
actual codec, simultaneous video count and performance on your model. One
independent landscape display is supported; rotation and video walls are not.
A complete cached publication can reopen offline. Feeds need internet for
refreshes and use their configured cached-data limits. Custom HTML has no
Node.js, BrightSign API, filesystem or player-token access. It cannot load
arbitrary external scripts; feed data uses the configured dashboard URL.

BACKUP PAIRING
If screen-code setup cannot be used, save a new manual setup code from the
same website as setup-code.txt at the card root. Do not share this file. It
is removed after successful enrolment. Remove it to return to screen pairing.

CHECK BEFORE USE
Verify pairing, physical layout, font sizes, QR scanning, video/audio,
playlist timing, custom HTML isolation, offline power-on, feed expiry and
long playback. Test one video first, then add regions. No hardware validation,
SD power-loss durability or unattended recovery guarantee is claimed.

The trusted Node process manages credentials and the verified media cache.
The visible browser disables Node.js and BrightSign APIs. A local renderer
watchdog can reopen its browser when health reports stop; this is not a
hardware watchdog or an OS reboot. Remote commands support Sync only.
