ns-ui / loud

Hero ASCII Shock Diamonds

A full-bleed ASCII hero of a supersonic jet plume — a repeating train of oblique shocks reflecting off the jet boundary draws the classic X-crossed Mach diamonds as thin bright lines in an otherwise empty exhaust, with the pointer acting as the throttle that stretches and compresses the shock-cell spacing.

Use when Pick hero-ascii-shock-diamonds when the hero should read as thrust — a horizontal exhaust of bright X-crossings whose spacing the pointer physically throttles apart and back together. hero-ascii-schlieren is the pick when the subject is a knife-edge instrument reading density boundaries of a rising plume rather than a standing shock train; hero-vortex-street for periodic shedding across a flow; hero-ascii-eclipse when the payoff is one alignment event rather than a continuously adjustable parameter.

Install

npx shadcn add https://design.helpmarq.com/r/hero-ascii-shock-diamonds.json
View source and playground
ns-ui / hero-ascii-shock-diamonds

Five cells of standing shock.

An underexpanded jet turns through a fan, overshoots, and is turned back by an oblique shock that leaves the lip at the Mach angle. It reflects off the free boundary and repeats every 1.30 D  √(M²−1) — the two families cross on the centreline and print the diamonds. Move the pointer across the frame to work the throttle: right raises the pressure ratio and pulls the train apart, left compresses it.

Read the docs

Props

PropTypeDefaultDescription
cellSize?numbergrid cell size in px
mach?numberdesign Mach number of the plume at rest
children?ReactNodeheadline / CTA rendered over the plume
className?string