diff --git a/docs/implementation.md b/docs/implementation.md index ef114cc..1aaa3be 100644 --- a/docs/implementation.md +++ b/docs/implementation.md @@ -1083,3 +1083,47 @@ because the same 1,000 bars are 3.5 days. The cap was a literal from the first live-chart commit, never a setting. Snapshot now sends the store (`max_bars_per_tf`). Viewport fetch is the follow-up — do not replace one silent number with another. + +### 2026-08-16 — two-finger pan jittered because it re-read the live price scale + +Mobile pan used `coordinateToPrice` on every move. The first frame shifted +`manualPriceRange`, so the next sample was in a different scale and fought +the previous one. Felt like a touch-sampling bug. Mapping is now frozen at +gesture start (`pricePerPx` from the opening min/max and pane height) and +applied through `requestAnimationFrame`. One-finger is page scroll; two-finger +drag pans both axes; pinch still zooms. + +The current-price pulse is DOM, not a series. After a pan its Y was still +the pre-pan coordinate until the next tick. `applyTouchTwo` now repositions +it from `lastCurrentPrice`. + +### 2026-08-16 — restoring chart scroll after a tool wiped mouse pan + +`armTool` sets `handleScroll`/`handleScale` to `false` so a draw does not +also drag the chart. Disarm used to put back only `{ horzTouchDrag: false, +vertTouchDrag: false }` and `{ pinch: false }`. After a boolean `false`, +that object replaced the whole option, so `pressedMouseMove` and +`axisPressedMouseMove` never returned. Desktop vertical click-drag died +after any tool use. Restore the full mouse-on, touch-off set. + +### 2026-08-16 — the rest of the same session, none of it subtle + +Written because they were skipped the first time and then asked for. + +- Status bar: `BUILD` is the short commit plus container start from + `/api/version` (`dev` locally). Config **Extra detail** (off by default) + hides FEED, LAST BAR and HELD. LAST BAR is age of `last_bar_t`, not + volume; HELD is `bars_held` for the current timeframe. +- Crosshair time includes weekday. A bar under the cursor shows `O H L C` + at the plot's top-left, green/red from close vs open. +- Drawings list is a short resizable pane with a bottom drag handle + (height in `localStorage`). Selecting a drawing on the chart opens the + section and scrolls that row into view. +- Context menu: **Duplicate** (was "Duplicate 10 bars right"). An ended + trendline also gets **Extend trendline**, which PATCHes `cutoff_t: null` + — `exclude_none` used to drop that clear. +- Drawings filter has an All TFs select; the text box placeholder is + "Filter text". +- Daily MA bells in Layers, independent of visibility, cooldown not + one-shot. Watches in `data/user_prefs.json`. See + `docs/plan_dma_alerts.md`.