Release notes5 min read
Release notes: TradeClip desktop 0.1 for macOS
The first TradeClip desktop release: automatic per-trade recording from a TradingView window, a local clip library, a timeline editor and FFmpeg export.
By TradeClip Team · Published

TradeClip desktop 0.1 is the first release of the macOS app. These notes list what the release does, in the same terms the app's own documentation uses, and then list the limitations we know about. A release note that only records what works is a brochure; this one is meant to be a field manual.
Requirements#
- macOS 13 or later on Apple Silicon. Recording ships on macOS only in this release, and the packaged app is built for Apple Silicon only.
- A Screen Recording grant for TradeClip Capture, the app's capture helper, in System Settings under Privacy and Security. macOS applies a new grant only to a process started after it, so quit and reopen TradeClip once after enabling it.
- The TradingView desktop app. The detector is tuned to its active-position label.
Recording#
Source discovery. The app lists capturable windows with their owning app, title and bounds. TradingView windows are listed first; TradeClip's own windows and system chrome are excluded. An empty list is never returned silently.
Live preview. The capture helper emits downscaled preview frames while capturing, so a selected source is only treated as working once the preview visibly updates.
Chart-only trade detection. On-device text recognition plus pixel and layout analysis of TradingView's active-position label, with an explicit rejection table for Buy and Sell quote buttons, stop, limit and target orders, attached stop rows, Long and Short Position drawing tools and order toasts.
A debounced state machine for entry, add, partial exit, sign-flip reversal and confirmed close.
A close guard. A flat reading is held for twelve seconds; if the position is read again inside that window the flat is discarded and the session continues. A confirmed close is dated to the moment flat was first seen, so the exit marker and post-roll do not drift. The overlay's Finish button ends a recording by hand.
Two recording modes. On-trade starts the writer at confirmed entry and has no pre-roll; rolling keeps an on-disk ring with pre-roll. Both retain post-roll and write atomic per-trade manifests.
A per-clip vault. When a trade ends, its fragments, their initialization
segment and the session's camera recording are moved into
~/Movies/TradeClip/Clips/<clipId>/, so a clip owns its footage outside the
rolling buffer's eviction.
Interrupted-recording recovery. Startup scans native manifests, requires every fragment to exist and verifies each against the byte count the helper recorded before importing it. Deleted clips leave durable tombstones so a surviving manifest cannot resurrect them.
A capture region. A shaded rectangle with draggable corners and Desktop 16:9 and Mobile 9:16 presets defines how clips are framed. The stream itself is never cropped; the region is applied at render time and stamped on each clip.
A floating overlay that is excluded from capture and says "In trade" only when the native watcher confirmed a position.
A diagnostics panel with permission state, helper identity, capture FPS and last-frame age, text observations with bounding boxes, per-candidate rejection reasons, debounce counters, buffer state and helper errors, plus "Save diagnostic frame" and "Copy diagnostics".
Library, editor and export#
Source-timeline editor with cut, reorder and speed controls, plus independent text, webcam and region rows. Opening a raw clip lazily materializes its fragments as a source-resolution preview.
Region elements. Drag a rectangle over the recording and the selected pixels become a synchronized crop on their own timeline row, following the main video through cuts, speed changes and reordering.
Layouts on three canvases, 16:9, 9:16 and 1:1, each with a shipped starter. Starters are overlay designs: the chart fills the frame and the camera, symbol, size, P&L, timer and levels float on top.
Caption variables. symbol, upnl, side, quantity, pnl, tp, sl
and elapsed, resolved identically in the editor preview and the export.
{upnl} holds the last recorded sample and never interpolates; an unobserved
fact renders as an em dash.
Export shapes. Vertical 9:16, Portrait 4:5, Square 1:1, Landscape 16:9 and Original size, at 1080p, 1440p or 2160p on the short side. A resolution the footage cannot fill is reported as capped.
Local FFmpeg export that applies the edit plan and verifies codec, geometry and duration with ffprobe. A truncated or empty output is reported as a failure. A repeat export never overwrites an earlier file.
Thumbnails for every clip, including recovered ones, generated from a single representative fragment without joining the whole recording.
There is no simulated trade, mock window, sample clip or placeholder P&L in the shipping path.
Known limitations#
These are open in 0.1. Each is reproducible by reading the code, and each is tracked.
- Not notarized. The app and helper are signed with a Developer ID certificate and the hardened runtime, but the build is not notarized, so Gatekeeper warns on a machine that receives the app through a download. The notarization path exists and will be used for a later build.
- Windows is not shipped. A Windows capture helper exists in the repository but is not wired to the app, not built and has never been run. The app runs on Windows only as a library and editor without recording.
- Level changes are recorded but not drawn. Confirmed take-profit and
stop-loss changes during a trade are saved as a timeline, but
{tp}and{sl}still render the clip's single static levels. - Region export is not native-resolution in every path. Built-in and template exports shape the base picture to the named aspect before cropping the region, so a small readout enlarged in a closest-call or square export can be softer than a direct crop.
- Region elements are omitted from "Export with layout". Only the built-in and template export path draws them; the editor shows a warning rather than claiming they were included.
- A recovered clip can default its size. If no live reading survives recovery, the clip is reconstructed as a long position of size one, which is a guess the app should not make. The footage, dates and duration still come from the verified manifest.
- A failed raw-preview preparation has no in-editor retry. Close and reopen the editor to trigger it again.
- Recovered thumbnails are not fully lifecycle-managed. They live in a shared thumbnail folder and are not removed with a deleted clip.
- The layout final-P&L element assumes a currency when the chart did not
show one, where the
{pnl}caption shows the bare number. The caption is the one that never assumes. - Export verification is video-only. An export asked to carry camera sound that produced none still passes verification.
- Exports are software-encoded. There is no hardware encoder in the export path, so 2160p exports take real time on any machine.
Accounts and plans#
0.1 is the desktop recording and editing release. Account sign-in, the free trial, plan enforcement and the opt-in cloud library are being rolled out with the TradeClip platform; the app's plan catalog is a copy of the same catalog the website reads, used for display only. Until account gating ships in the app, nothing about your recordings leaves this computer.



