mirror of
https://github.com/allaunthefox/Research-Stack.git
synced 2026-07-31 03:05:21 +00:00
BraidVCNBridge.lean: - phaseVec → phaseAcc - crossingResidual now takes 3 brackets (bij, bi, bj) - open Semantics.BraidBracket.BraidBracket for crossingResidual MeshRouting.lean: - Fixed vcnReceiptValidCompression sorry (OfNat saturation) - 0x00010000 → Q16_16.one (avoids OfNat clamping to maxVal) - Proof: Int.le_ediv_iff_mul_le + nlinarith - Added VCN substrate types (VCNCodec, VCNResolution, VCNFrameRate) - Remaining sorry: goxelFieldEnergyConservation (pre-existing) Build: 3305 jobs, 0 errors, 1 pre-existing sorry
48 lines
1.6 KiB
Text
48 lines
1.6 KiB
Text
import Semantics.FixedPoint
|
|
import Semantics.BraidStrand
|
|
import Semantics.BraidBracket
|
|
import Semantics.MeshRouting
|
|
|
|
/-!
|
|
# BraidVCNBridge — Map braid operations to VCN frame encoding.
|
|
|
|
Bridges the braid algebra (BraidStrand, BraidBracket) to the VCN video encode
|
|
substrate for GPU-accelerated computation.
|
|
-/
|
|
|
|
namespace Semantics.BraidVCNBridge
|
|
|
|
open Semantics
|
|
open Semantics.BraidBracket
|
|
open Semantics.BraidBracket.BraidBracket
|
|
open Semantics.BraidStrand
|
|
|
|
def encodeBraidStrand (s : BraidStrand) : Array UInt8 :=
|
|
let px := s.phaseAcc.x.val.toNat
|
|
let py := s.phaseAcc.y.val.toNat
|
|
let mag := s.magnitude.val.toNat
|
|
let gap := s.bracket.gap.val.toNat
|
|
let packQ16 (v : Nat) : Array UInt8 :=
|
|
#[ UInt8.ofNat (v % 256),
|
|
UInt8.ofNat ((v / 256) % 256),
|
|
UInt8.ofNat ((v / 65536) % 256),
|
|
UInt8.ofNat ((v / 16777216) % 256) ]
|
|
packQ16 px ++ packQ16 py ++ packQ16 mag ++ packQ16 gap
|
|
|
|
def encodeBraidCrossing (bij bi bj : BraidBracket) : Array UInt8 :=
|
|
let res := crossingResidual bij bi bj
|
|
let packQ16 (v : Q16_16) : Array UInt8 :=
|
|
let n := v.val.toNat
|
|
#[ UInt8.ofNat (n % 256),
|
|
UInt8.ofNat ((n / 256) % 256),
|
|
UInt8.ofNat ((n / 65536) % 256),
|
|
UInt8.ofNat ((n / 16777216) % 256) ]
|
|
packQ16 res.lower ++ packQ16 res.upper ++
|
|
packQ16 res.gap ++ packQ16 res.kappa ++ packQ16 res.phi
|
|
|
|
-- TODO(lean-port): Mountain merge encoding (needs BraidField import)
|
|
-- TODO(lean-port): PISTField frame encoding (needs BraidField import)
|
|
-- TODO(lean-port): eigensolid_convergence — crossing loop stabilizes
|
|
-- TODO(lean-port): receipt_invertible — encode + decode is bijective
|
|
|
|
end Semantics.BraidVCNBridge
|