Laegna / Octave Selector Number System
This document describes the JSON format, mathematical structure, and visualization model of the Laegna XYZ octave selector system. It is written for humans, AIs, Copilot, and tools that need to understand or process the format.
Laegna / Octave Selector JSON Format
This document describes the XYZ octave number system and its JSON representation.
5.2 Recomputing zoom from k
The octave multiplier is defined as:
\( \text{zoom} = 2^k \).
This is the fundamental octave relation: each step in k doubles or halves the scale.
# Recompute zoom from k
zoom_from_k(k) = 2.0^k
This is intentionally minimal: it expresses the mathematical essence without implementation overhead. Users can paste it directly into a Julia REPL.
5.3 Projecting a value into the signed Laegna range
Signed Laegna visualization uses the interval \( [-2, -1, 0, 1, 2] \). Projection is linear: \( \text{DigitValue}(x) = x \cdot \text{Num} \).
project_signed(x, Num) = x * Num
5.4 Reading the JSON file
This example shows how to load the octave-selector JSON and iterate through chapters and numbers. It is intentionally short and math-focused.
using JSON
data = JSON.parsefile("octave_xyz.json")
for chapter in data["chapters"]
R = chapter["R"]
for num in chapter["numbers"]
digits = num["Expr"]["Digits"]
zoom = num["Props"]["zoom"]
println("R = $R, digits = $digits, zoom = $zoom")
end
end