HIERONYMUS

Documentation

Technical reference for the Hieronymus observation engine, domain encoders, and shader pipeline.

Engine API

ObservationEngine

The core class that manages the WebGL2 pipeline. It compiles all shaders, creates framebuffers, and runs the multi-pass observation sequence.

class ObservationEngine {
  constructor(canvas: OffscreenCanvas | HTMLCanvasElement, width?: number, height?: number)
  observe(imageData: ArrayBuffer, width: number, height: number): ObservationResult
  match(imageDataA: ArrayBuffer, imageDataB: ArrayBuffer, w: number, h: number): MatchResult
  setUniforms(uniforms: Record<string, number>): void
  destroy(): void
}

useObservation Hook

React hook that manages the Web Worker lifecycle. Initialises the observation engine in a worker thread and provides methods to observe images and match image pairs.

const {
  ready,           // boolean — engine initialised
  loading,         // boolean — observation in progress
  result,          // ObservationResult | null
  matchResult,     // MatchResult | null
  error,           // string | null
  observe,         // (imageData: ArrayBuffer, w: number, h: number, encoder?: string) => void
  match,           // (dataA: ArrayBuffer, dataB: ArrayBuffer, w: number, h: number) => void
} = useObservation();

Result Types

interface ObservationResult {
  S_k: number;           // Kinetic entropy component
  S_t: number;           // Thermal entropy component
  S_e: number;           // Emission entropy component
  conservation: number;  // |S_k + S_t + S_e - 1| (should be ~0)
  partitionDepth: number;
  sharpness: number;
  noise: number;
  coherence: number;
  visibility: number;
  elapsed_ms: number;
}

interface MatchResult {
  score: number;         // Overall match score [0,1]
  visibility: number;    // Interference visibility
  circuits: number;      // Number of matching circuits detected
  S_distance: number;    // Distance on entropy simplex
  elapsed_ms: number;
  imageA: { S_k: number; S_t: number; S_e: number };
  imageB: { S_k: number; S_t: number; S_e: number };
}

Default Uniforms

UniformDefaultDescription
epsilon0.15Consistency threshold for dual-pixel agreement
J1.0Coupling constant for inter-modal interaction
beta2.0Inverse temperature for Boltzmann weighting
nmax8Maximum principal quantum number for partition depth
Aeg2.58Einstein A coefficient for spontaneous emission
alpha0.5Information transfer efficiency between modalities