Thinner traces — horizontal-only bloom, no vertical bleed
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -5,9 +5,8 @@ import illwill, math
|
|||||||
|
|
||||||
const
|
const
|
||||||
PhosphorDecay* = 0.60 # per-frame persistence (P31 green phosphor)
|
PhosphorDecay* = 0.60 # per-frame persistence (P31 green phosphor)
|
||||||
BeamIntensity* = 0.9 # brightness at beam impact
|
BeamIntensity* = 0.7 # brightness at beam impact
|
||||||
BloomInner* = 0.25 # glow spread to adjacent pixels
|
BloomH* = 0.15 # horizontal glow spread
|
||||||
BloomOuter* = 0.08 # faint halo from electron scatter
|
|
||||||
MinBright* = 0.02 # below this, phosphor is considered off
|
MinBright* = 0.02 # below this, phosphor is considered off
|
||||||
|
|
||||||
type
|
type
|
||||||
@@ -45,20 +44,10 @@ proc plotDot*(pb: var PhosphorBuffer, fx, fy: float) =
|
|||||||
let y = int(fy)
|
let y = int(fy)
|
||||||
if x < 0 or x >= pb.w or y < 0 or y >= pb.pixH: return
|
if x < 0 or x >= pb.w or y < 0 or y >= pb.pixH: return
|
||||||
|
|
||||||
# Beam impact
|
# Beam impact — no vertical bloom, keeps traces thin
|
||||||
pb.add(x, y, BeamIntensity)
|
pb.add(x, y, BeamIntensity)
|
||||||
# Inner bloom — phosphor scatter
|
pb.add(x - 1, y, BloomH)
|
||||||
pb.add(x, y - 1, BloomInner)
|
pb.add(x + 1, y, BloomH)
|
||||||
pb.add(x, y + 1, BloomInner)
|
|
||||||
pb.add(x - 1, y, BloomInner * 0.5)
|
|
||||||
pb.add(x + 1, y, BloomInner * 0.5)
|
|
||||||
# Outer bloom — electron scatter
|
|
||||||
pb.add(x, y - 2, BloomOuter)
|
|
||||||
pb.add(x, y + 2, BloomOuter)
|
|
||||||
pb.add(x - 1, y - 1, BloomOuter)
|
|
||||||
pb.add(x + 1, y - 1, BloomOuter)
|
|
||||||
pb.add(x - 1, y + 1, BloomOuter)
|
|
||||||
pb.add(x + 1, y + 1, BloomOuter)
|
|
||||||
|
|
||||||
proc plotLine*(pb: var PhosphorBuffer, x0, y0, x1, y1: float) =
|
proc plotLine*(pb: var PhosphorBuffer, x0, y0, x1, y1: float) =
|
||||||
## Interpolated line of phosphor dots between two points.
|
## Interpolated line of phosphor dots between two points.
|
||||||
|
|||||||
Reference in New Issue
Block a user