PLATE9 1.2.0 — THE NINTH EMBER EXCHANGE

Cards and controls
- Redrawn regular/gold fronts and all four back finishes as clean vector plates.
- Angular rank paths do not depend on installed Windows fonts. Larger corner
  ranks and a dedicated lower band keep the underlying rank visible on reveals.
- Rebuilt nine-plate crest; higher-resolution SVG rendering in cards, the
  title bar and other crest placements. Matching artwork in the offline guide.
- Choice icons are 32 px. Guest/Ting rails are 48 px wide with 34 px icons,
  hover labels, accessibility names and their existing C/T shortcuts.
- Commit and memory replacement cards slide into place in 320 ms. These effects
  do not defer game actions or extend memory time. Privacy pause and timer expiry
  cancel exposed replacement flights. Reduced motion skips them.

Ninth Ember Exchange
- New graph button immediately beside Career; Ctrl+E opens/closes the exchange.
- 60 fictional issuers, six in each of ten sectors, with club/spaceport links.
- Search, sector filtering, movers, watchlist, holdings and saved trade receipts.
- Line/candle charts, price crosshair, OHLC, volume, and 10/30/80-minute ranges.
- Fresh independent market randomness, variable regimes, correlated sector
  activity, individual shocks and irregular company news. No repeating waves.
- Quotes every 20 seconds while the application runs, even with the table paused.
  No offline catch-up; at most one update after system sleep. History is bounded
  to 240 quotes per issuer, with a 120-quote simulated archive on first opening.
- Exact integer hundredths of credits; fee 0.35%, minimum 0.05 C. Whole shares,
  no short selling or borrowing; maximum 100,000 shares per company.
- Review/confirm orders; reject expired or changed quotes. Atomic career/share
  persistence with rollback on failed save. The latest 200 receipts are retained;
  cumulative realized results and fees survive receipt rollover.
- Table stakes, XP, card RNG and opponent memory remain independent of trading.

Windows audio
- Native asynchronous filename cues replace the persistent Qt sound-effect
  output on Windows. A cue opens playback anew; the newest cue takes priority.
- Game volume is applied to cached temporary PCM copies, without changing the
  Windows mixer. No new dependency or background audio stream.
- Output failures clear the failed player, report unavailable audio, and retry
  on the next cue. Mute and volume preferences remain intact.
- Table menu > Test sound checks playback while the table is paused.
- The Windows API boundary is regression-tested with simulated failures;
  sustained audibility on the owner's Windows device still needs playtesting.

Compatibility and packaging
- Existing 1.1.4 table/career saves migrate without replacing cards or progress.
  The original save is retained beside it as *.pre-1.2.0.json on first upgrade.
  Older builds cannot read the new schema; the preserved backup supports rollback.
- All 40 guest portraits, eye textures, Ting programs and card/wager rules remain.
- Complete wheel and source distribution; no PyPI publication performed.
- Python 3.11–3.13, with the existing PySide6/NumPy/Numba requirements.

