Skip to main content

Module pga

Module pga 

Source
Expand description

3D PGA motors as dual quaternions — CPU oracle for projector.wgsl Phase 2b+.

Motor { r, d } packs the even subalgebra: rotation (r) + translation (d). When d == 0, sandwich_point reduces to the Phase 1 quaternion path. Phase 2c: bilateral T_pull via motor_translate composed after intrinsic R_w · R_q. Phase 3: v-band topology (R_toroidal, T_radial, T_anchor) inside intrinsic stack.

Structs§

Motor
PGA motor — matches WGSL Motor { r: vec4, d: vec4 }.

Functions§

bilateral_pull_active
Bilateral T_pull magnitude gate — node lane + authenticated Human-Centric standpoint.
blade4_to_quat
Map motor r or d vec4 (s, e12, e13, e23) → quaternion (w, x, y, z).
cluster_centroid_lattice
Deterministic centroid lattice for boundary cliques — matches WGSL (no extra SSBO in Phase 3).
cluster_id_from_sigma
Boundary-clique cluster slot derived from tensor.sigma (spectral class index).
legacy_rotor_apply_vector
Phase 1 quaternion sandwich — regression baseline when d = 0.
motor_mul
Dual-quaternion product (qr1, qd1) ⊗ (qr2, qd2).
motor_reverse
PGA reversion: flip bivector signs; scalar + pseudoscalar stay positive.
motor_rq
motor_rq_gated
motor_rw
motor_to_mat4_col
Column-major affine mat4 (WGSL mat4x4<f32>) for a rigid motor (rotation + translation). Built by sending the origin (→ translation) and the basis vectors (→ rotation columns) through the sandwich product, so the matrix reproduces sandwich_point exactly. Used as the per-artefact model transform in the mesh shader (Phase 2 kinematic joints).
motor_translate
Pure translation motor — dual part encodes v/2 through quat_to_blade4.
motor_v_band
Phase 3 v-band intrinsic motor: Euclidean / cyclic / hyperbolic / boundary clique.
pull_vector
Pull vector toward camera eye: direction · (0.12 · α · epistemic_q).
quat_to_blade4
Inverse of blade4_to_quat.
rotor_from_axis_angle
rotor_mul
sandwich_point
Null-vector sandwich on euclidean (x, y, z)P' = Ω P Ω̃.
semantic_motor
semantic_motor_intrinsic
semantic_motor_phase2c
Phase 2c semantic motor: Ω = T_pull · (R_w · R_q).
tensor_deontic_lane
Per-node deontic lane encoded in Tensor10D::mu (metadata carrier).