Module: Legion::Extensions::Agentic::Attention::Lens::Helpers::Constants

Included in:
Lens, LensEngine, LensStack
Defined in:
lib/legion/extensions/agentic/attention/lens/helpers/constants.rb

Constant Summary collapse

LENS_TYPES =
%i[magnifying wide_angle fish_eye polarized telescopic microscopic].freeze
DISTORTION_TYPES =
%i[none barrel pincushion mustache wave spiral].freeze
MAX_LENSES =
8
CLARITY_LABELS =
[
  [0.0..0.2,  :opaque],
  [0.2..0.4,  :foggy],
  [0.4..0.6,  :hazy],
  [0.6..0.8,  :clear],
  [0.8..1.0,  :crystal]
].freeze
MAGNIFICATION_LABELS =
[
  [0.1..0.5,  :micro],
  [0.5..1.0,  :normal],
  [1.0..2.0,  :zoom],
  [2.0..5.0,  :telephoto],
  [5.0..10.0, :extreme]
].freeze
LENS_DEFAULTS =

Default optical properties per lens type

{
  magnifying:  { magnification: 2.0, aperture: 0.6, distortion: 0.1 },
  wide_angle:  { magnification: 0.5, aperture: 0.9, distortion: 0.2 },
  fish_eye:    { magnification: 0.3, aperture: 1.0, distortion: 0.8 },
  polarized:   { magnification: 1.0, aperture: 0.4, distortion: 0.0 },
  telescopic:  { magnification: 8.0, aperture: 0.3, distortion: 0.15 },
  microscopic: { magnification: 9.0, aperture: 0.5, distortion: 0.05 }
}.freeze
SMUDGE_RATE_DEFAULT =

Smudge degrades clarity; clean restores it

0.05
CLEAN_BOOST_DEFAULT =
0.1
CLARITY_SHARP_THRESHOLD =
0.7
CLARITY_BLURRY_THRESHOLD =
0.35
STACK_MAGNIFICATION_EXPONENT =

Stack combination weights

0.8
STACK_DISTORTION_BLEND =

sub-linear compounding prevents extremes

0.6
STACK_CLARITY_DECAY =

weight toward worst distortion

0.9