Simulated card. Note the em-dash under "Returned": that fill never recorded a USD price, so no USD figure is printed.
Every terminal in this space has a share card, and every one of them exists to make the poster look good. Ours has a second job that outranks the first: it must never be usable to convince someone that fake money was real money.
Those two goals only conflict if you assume honesty has to be ugly. It does not.
What is on the card
- Token symbol and multiple chip, then a huge ◎ SOL P&L as the hero number.
- Invested / Returned / P&L% columns, each with a USD sub-line.
- The journey line: entry → exit → held. How long you were actually in it, which is the number people quietly omit.
- An After line — "−62% after exit — dodged" — that no other terminal can print, because no other terminal measures what happened after you left.
The em-dash rule
USD sub-lines appear only where the fills genuinely recorded a USD price. When one did not — common on fresh launches, where the first ticks pre-date the USD feed — the card prints an em-dash.
It would be trivial to multiply the SOL figure by today's SOL price and print something. That number would look right and be fabricated, and a fabricated number on a card built for public posting is exactly the thing we refuse to ship.
An em-dash is not a gap in the design. It is the design.
Make it yours
Five built-in looks, plus your own uploads — up to 2 MB each, ten stored, saved between sessions, deletable whenever. The drop zone works and now remembers what you dropped.
Then Customize / Download / Copy: toggle which stats show, pick a trim accent, download a PNG, or copy straight to the clipboard for paste-and-go posting.
The part that is not configurable
The PAPER watermark and the PaperTrench brand bar are drawn last, by a code path that reads no settings at all. There is no toggle to find, because there is no toggle. The customisation options cannot reach that code.
A test drives every combination of the card's options and asserts the branding survives all of them. It is not a promise in a README; it is a failing build if anyone ever wires an option into that path.
Flex the result; never fake it.
Then two follow-ups, straight from live use
v2.5.1 — share an open position
Spotted in the maintainer's stream footage: the real terminals card an open position — the "still holding" flex — and ours only carded closed rounds.
Live open positions on the Overview now carry a Share button. The card states OPEN, the middle column reads POSITION (live value at the last recorded mark), and the journey line claims no EXIT that has not happened. Same gallery, same Customize / Download / Copy, same un-removable branding.
v2.5.2 — flex it from the overlay, wins and losses
The Closed P&L card in the overlay gained a Flex button that opens the composer for that exact result — the newest round, or the open position after a partial exit.
Losses are flexable by design. A share feature that only works when you won is a share feature that manufactures a fake win rate across everyone who uses it. The PAPER watermark rides along either way.
That release also fixed two things the maintainer hit while taking a live trade: the resize grip could latch after a cancelled gesture and keep resizing forever (pointer capture now guarantees a terminal event), and the Closed P&L card was being rebuilt on every heartbeat — re-running its entry animation each time, which read as a blink. It now renders once per close, and only the how-long-ago text updates in place.
v2.7.0 — flex without leaving the terminal
Flexing still cost you your seat: the button bounced you to a dashboard tab, away from the chart you were watching. Now it opens the composer as a floating window centred over the page. Esc or a backdrop click closes it.
It is the same composer, not a cut-down copy — identical card, backgrounds, customize toggles, Copy and Download, and one shared background gallery, so uploads made in the overlay appear in the dashboard composer and vice versa.
The card math now lives in a single shared derivation (pnlcard.js) used by both. A card can never show different numbers depending on where you opened it.
Two code paths computing the same P&L is two chances to disagree, and a share card that disagrees with the dashboard is a share card nobody should trust. The PAPER watermark rides along, as always.
The share card grew up
Terminal-grade composer: token symbol and multiple chip, a huge ◎ SOL P&L, Invested / Returned / P&L% columns with honest USD sub-lines (em-dash when a fill never had a USD price — never a fabricated conversion), the entry→exit→held journey line, and an observed-only After line ("−62% after exit — dodged") no other terminal can print, because no other terminal measures it.
Backgrounds, yours
Five built-in looks plus your own uploads — max 2 MB each, ten stored, saved between sessions, deletable. The drop zone still works and now remembers what you dropped.
Customize / Download / Copy
Toggle which stats show, pick a trim accent, download a PNG, or copy straight to the clipboard for paste-and-go posting.
The non-negotiable, by construction
The PAPER watermark and the PaperTrench brand bar are drawn last by a code path that reads no settings — verified by a test that drives every combination of options and asserts the branding survives all of them. Flex the result; never fake it.
Share an open position
Live open positions on the Overview now carry a Share button. The card states OPEN, the middle column reads POSITION (live value at the last recorded mark), the journey line claims no EXIT that has not happened, and USD figures appear only where fills and marks genuinely recorded them. Same gallery, same Customize/Download/Copy — and the same un-removable PaperTrench branding.
The resize grip can never stick again
A cancelled gesture (misclick, drag out of the window, context menu) used to leave the drag latched — the panel kept resizing with every mouse move. Pointer capture now guarantees a terminal event, and pointercancel ends the drag like pointerup.
Resize from any corner
All four corners are grips. The panel is right/top-anchored, so left corners grow it leftward from the planted right edge, and top corners grow it upward while the bottom edge stays planted.
Flex it — wins AND losses
The Closed P&L card in the overlay now has a Flex button that opens the share composer for that exact result (the newest round, or the open position after a partial exit). Losses are flexable by design; the PAPER watermark rides along either way.
The Closed P&L card stopped blinking
It was being rebuilt on every heartbeat, re-running its entry animation each time. It now renders once per close; only the how-long-ago text updates in place.
Flex without leaving the terminal
The Flex button on the closed P&L card now opens the share composer as a floating window centered over the page — no more bouncing to a dashboard tab. It is the SAME composer: identical card, backgrounds, customize toggles, Copy and Download, and the same shared background gallery (uploads made in the overlay appear in the dashboard composer and vice versa). Esc or a backdrop click closes it. The card math now lives in one shared derivation (pnlcard.js) used by both composers, so a card can never show different numbers depending on where you opened it. The PAPER watermark rides along, as always.