Skip to content

v0.5.3

Choose a tag to compare

@cmj0121 cmj0121 released this 04 May 06:26
· 63 commits to main since this release

Highlights

  • Open-market OHLC bar refresh — while a session is still open, the OHLC bar drops its C glyph and bullish/bearish body fill, and the OCP data row renders C: - in place of the live close. Today's open hasn't actually closed yet, so claiming a closing price would assert a value the data doesn't carry. With the body fill gone, the L..H span gains a / frame (U+27E6 / U+27E7) just outside the markers so the day's range still reads as a single bracketed unit; literal [ / ] would re-frame the bar row as a pylon nested element, so the white-square pair is a pylon-safe visual substitute.
  • Asymmetric price band — each half of each bar (OHLC and MA) is now fit independently to its own widest marker × 1.10. On a gap-down day where low and open sit near -5% while high is only modestly above price, both halves of the bar use their full width instead of compressing the quieter side toward center. Previously the band was symmetric and fit to the largest single offset. The 0.5% per-side floor is also gone, so a tight day where every offset is under a percent fits exactly to the markers instead of clustering near center.
  • O always draws on the bar — the prior gate skipped the open marker when today's open rounded to the same column as the live price (a near-doji on a quiet day, or /stock?region=tw when TWII's open ≈ live index). O now wins over C on the shared column; the close value is still readable from the OCP data row.

Other changes

  • L is now drawn unconditionally on the open-market path (it gated on lowBarCol < leftCol previously, which silently hid the marker when the day's low fell inside the would-be open-close body span). On the open-market path, L and H also win over O on shared columns so a gap-down day where low == open still shows the L letter.
  • The MA bar keeps its C glyph at the center column regardless of market state — the bar's C is purely positional (the OHLC bar's C: - already conveys close-not-finalized), and without it the bar collapses to floating MA labels when both M5 / M10 cluster on one side of price.
  • Saturated sides (where / already signal off-screen) skip the / frame; each bracket also skips when its target column would clobber O.
  • New render.PriceBand{Lower, Upper} struct replaces the band float64 parameter on render.OHLCBar, render.MAPositionBar, and render.PriceBandFor. A render.SymmetricBand(b) helper expresses the legacy "same width both sides" form for tests and ad-hoc invocations.

Container image

ghcr.io/cmj0121/imagelet:0.5.3