SunPlanner · Dashboard Power Bar · Concept 3 + Motion
Same engraved ramp the owner picked. Now the bright "now" line is the moving part: on load it starts small on the left and sweeps right, growing, until it reaches the current reading. Crucially it rides the ramp silhouette — it sits a constant gap above whatever slash it is currently on, so it is short over the short left slashes and tall over the tall right ones. As the front passes, each slash ignites in sequence like a fuse lighting the scale, then the line settles with one soft glow pulse. Colorblind-safe: the read is the line's height and how far the lit region reaches. The MID phone is the representative ~1.8 kW (~55%) reading.
prefers-reduced-motion (jumps to a
clean settled state, no animation).
reanimated shared value p in [0,1] driven by
withTiming(target, { duration: 1050, easing: Easing.out(Easing.quint) }). The riding
line's height is derived from the same slash-height curve:
heightAt(p) + OFFSET, evaluated on the UI thread. Slashes are
react-native-svg <Rect>s; each one's lit/ignite state is
useDerivedValue comparing its t to p. The tallest
right-most slash maps to peakKw (3.3 kW); the line position maps to
currentKw / peakKw. Dark UI #0B1014, Solar Flare gold
#FFB81C, IBM Plex Mono numerals — the live v15 tokens.