Learning objectives
- Explain why thermodynamics appears in a Vulkan renderer as accounting, not calorimetry.
- Name Phi, Thermo, Flow roles and bindings 8–10.
- Describe per-texel evolution in CANVAS.comp and stability clamps.
- Operate AnalogFields knobs and predict CFL guard behavior.
- Relate Energy can be moved to FieldCoupling cross-channel exchange.
- Run mouse-inject drill and grep THERMO receipts.
On the way — what you will learn
Thermodynamics here is honest bookkeeping — not a calorimeter on the GPU package. On the way you will move energy through Phi, Thermo, and Flow; operate AnalogFields knobs; respect CFL guards; and grep receipts that prove irreversibility without billing joules from proxy integrals.

- Three fabric channels and cross-coupling
- Per-texel evolution and stability clamps
- Sealed time and linear dispatch
- Mouse-inject lab and THERMO discipline
Why thermodynamics in a renderer?
Every frame destroys information — noise injection, probes, diffusion steps, maintenance preserving coherence with the previous frame. The engine tracks that cost the way a power meter tracks joules: as accounting, not as a laboratory calorimeter taped to the GPU package.
Energy can be moved. Chapter 3 is thermodynamics as honest bookkeeping — tracking where irreversibility goes, labeling proxy integrals before newcomers confuse them with billing data.
Rendering textbooks rarely discuss entropy. Security textbooks rarely discuss diffusion. Field Technology discusses both because the same fabric stores Phi beauty and Thermo cost — holographic boundary from Chapter 1 and Chapter 17.

The three fabric channels
Created in RayCanvas::createAnalogFieldFabric(), bound at Vulkan slots 8, 9, 10:

| Fabric | Role | Binding |
|---|---|---|
| Phi (Φ) | Wave / gate potential | 8 — fieldPhi |
| Thermo | Heat + entropy density | 9 — fieldThermo |
| Flow | Advection / momentum | 10 — fieldFlow (.gb = gradients) |
Cross-coupling: FieldCoupling links all three — electrical activity heats the die; heat affects flow; flow sharpens or softens gates through GateFidelity. Maxwell's neighborhood on a grid — Chapter 15 tribute.
Phi evolution — wave step
Discrete Laplacian + WaveSpeed + propalacticScale forcing. CANVAS.comp
Thermo evolution — diffusion
ThermoAlpha diffusivity, entropy floor, coupling to Phi. Seeded minimum in clearFieldImages() ~0.015 — second-law bias against unphysical reversibility.
Flow evolution — advection story
Gradient magnitude mixed with GateFidelity + Tesla relaxation. Directional bias in data_bus — Chapter 9.
Per-texel evolution — CANVAS.comp ritual
- Phi — discrete Laplacian wave step + WaveSpeed + propalacticScale forcing
- Thermo — diffusion with ThermoAlpha, entropy floor, coupling to Phi
- Flow — gradient magnitude mixed with GateFidelity + Tesla relaxation
newPhi ∈ [-2.0, 2.0] · newThermo ∈ [0.0, 1.5] · newFlow ∈ [0.0, 1.0]
Clamps are numerical ethics — the kitchen cannot invent infinite temperature because the UI got excited.
Control knobs — Options::AnalogFields
| Knob | Effect |
|---|---|
TimeScale | Global Δt multiplier |
ThermoAlpha | Thermal diffusivity α |
WaveSpeed | Phi propagation speed c |
GateFidelity | 0 = soft analog … 1 = sharp gate |
EntropyFloor | Minimum irreversible noise |
InjectStrength | Mouse/probe energy injection |
PropalacticScale | Large-wavelength forcing on Phi |
FieldCoupling | Thermo ↔ Phi ↔ Flow coupling strength |
Prompt terminal set AnalogFields.* — Chapter 7 and 11. CFL may scale your ambition down before dispatch.
Time is linear — dispatch and sealed time
dispatch_canvas() advances one tick at a time. TotalTime::seal() locks session genesis into FieldSocket::sealed_time. Frame-rate jitter cannot rewrite physics time. Energy accounting is per-frame, not retroactive myth. Chapter 19 extends posture across hosts.
CFL guard — host refuses NaN theology
waveCFL = c·Δt/Δx ≤ 1 · thermoCFL = α·Δt/Δx² ≤ 1
Before fabric evolution, host computes CFL. If violated, parameters scale down. Hard caps on waveSpeed and per-step dT.

Energy accounting versus measurement
ThermoAccountant binding 2 — preview Chapter 4. Comparative receipts detect runaway dispatch, stuck entropy, broken coupling. Lab calorimetry is not replaced — honesty is.
Coupling narrative — worked example
Raise FieldCoupling and InjectStrength; move mouse on Classic canvas. Expect Phi ripples, Thermo rise, Flow structure change, stderr THERMO motion, spiderweb throttle hints — Chapter 10. If fabric moves and entropy stays zero, dispatch failed.
Operator drill
./linux.sh run # Swipe to energy or Classic if needed; move mouse 60s grep -E 'THERMO|entropy|Boundary' run.log
Boundary thermo and entropy proxy should move. If not, physics refuses to lie — fix dispatch path.

Failure modes
| Mode | Symptom | Fix |
|---|---|---|
| Joule fantasy | Billing from stderr thermo | Label proxy — Ch. 4 |
| CFL ignore | NaN fabric, crash | Host guard — Ch. 9 |
| Decoupled teaching | FieldCoupling 0 forever | Couple for full story |
| Canvas confusion | Thermo drill on x86 HUD only | Swipe Classic for visible fabric |
Chapter summary
Thermodynamics here is irreversibility accounting on Phi/Thermo/Flow — bindings 8–10, coupled by FieldCoupling, evolved in CANVAS.comp, guarded by CFL, receipted in ThermoAccountant. Energy can be moved between channels; measurement stays honestly proxy. Chapter 4 names entropy layers.
Tribute: Clausius & Boltzmann
Study questions
- Why thermodynamics in a renderer — one paragraph.
- Write CFL inequalities and explain host action when violated.
- Map each AnalogFields knob to effect.
- What clamps bound newPhi, newThermo, newFlow?
- Run mouse drill — paste one THERMO line and interpret.
- How does FieldCoupling express Energy can be moved?
- Why is body-temperature seeding labeled meta?
- Cross-link chapters for entropy floor and Tesla bias.
Chapter 4 — Irreversibility & Receipts →
Maxwell neighborhood on a grid — Chapter 15 preview
Phi couples to Thermo across texels — electrical metaphor heats; heat biases flow; flow sharpens gates. This is Maxwell's lesson in discrete form: local neighbors exchange influence. Not a claim the GPU solves cosmos EM — local coupling implemented, .
Tesla relaxation in Flow channel
Directional bias appears in Flow evolution and in data_bus[31,34] — forward ease, reverse resist. Chapter 9 full Tesla valve treatment. Thermodynamics chapter names it as directional thermodynamic story in fabric.
InjectStrength and probe ethics
Mouse injection is intentional offense — energy inserted by operator. Probes accrue dissipation in ThermoAccountant. Ethics: you caused the heat story; grep owns it. Do not inject then blame daemon.
EntropyFloor knob versus fabric seed
EntropyFloor knob and clearFieldImages() seed cooperate — minimum irreversible noise. Second law as engineering bias. You cannot run reversible universe in silicon demo; you can label noise honestly.
Classic versus x86 thermo visibility
Classic canvas shows thermo heatmaps obviously; x86 Big Grin HUD hides heatmap behind OS chrome. ThermoAccountant still runs — canvas-agnostic. Drill on Classic if eyes need color; trust stderr on x86 default.
Headless dispatch thermo
CI headless paths still dispatch — valid THERMO signal per Chapter 12. Screenshots optional; entropy receipt not optional.
Analog FCC in data_bus
When FieldSocket active, floats land in data_bus[16–23] — TimeScale, ThermoAlpha, WaveSpeed, GateFidelity, EntropyFloor, InjectStrength, PropalacticScale, FieldCoupling. Host and shader agree on knobs; disagreement is bug, not interpretation.
Energy.comp and specialty swipes
Swipe to energy emphasizes coupled channels pedagogically. Knobs still map to same AnalogFields namespace. Pedagogy changes emphasis, not truth surface.
Thermodynamics and Landauer — handoff to Chapter 4
Every destroy-information event trends toward receipt in entropyThisFrame. Landauer bound is theory floor; proxy is comparative integral. Chapter 4 splits layers; Chapter 3 ensures you feel motion before algebra of receipts.
Extended treatment — cross-coupling mathematics in plain English
FieldCoupling is the dial that makes thermodynamics felt across channels. When coupling is zero, Phi, Thermo, and Flow may still evolve independently — pedagogically useful to isolate channels. When coupling rises, electrical metaphor in Phi warms Thermo; warmed Thermo biases Flow; Flow sharpens or softens gates through GateFidelity. This is the engine’s story of energy can be moved — not a claim of calorimetric accuracy, but a claim of coupled dynamics you can grep.
Discrete Laplacian on Phi measures neighborhood average difference — cells hotter than neighbors cool toward neighbors in wave step intuition; Thermo diffusion similarly redistributes heat. Flow reads gradients — where change is steep, flow magnitude responds. Tesla relaxation adds directional bias — forward ease, reverse resistance — published also to data_bus for HUD and Chapter 9 stability narrative.
Operators should run coupling sweep experiments: coupling 0.0, 0.3, 0.6, 0.9 with moderate InjectStrength, same mouse pattern, same duration — compare THERMO slopes. Comparative science without SI units — the receipt is slope change, not absolute joule.
Extended treatment — CFL and operator trust
CFL violations do not always explode immediately — sometimes they degrade into slow NaN rot. Host guard scales waveSpeed and dt before dispatch when violation detected. Trust the guard — fighting it with manual max knobs is how sessions end in grep embarrassment. waveCFL and thermoCFL inequalities appear in Chapter 9 with Tesla parallel; Chapter 3 installs intuition: guard is care, not censorship.
Hard caps waveSpeed ∈ [0.01, 2.0] and dT ≤ 0.033 bound operator enthusiasm even when prompt allows higher. Caps are product safety for long sessions, not insult to expert users.
Extended treatment — AnalogFields as FCC floats
Analog field control constants pack into data_bus[16–23] on x86 path — TimeScale, ThermoAlpha, WaveSpeed, GateFidelity, EntropyFloor, InjectStrength, PropalacticScale, FieldCoupling. Host and shader agree on these floats each dispatch. If list AnalogFields disagrees with shader behavior, suspect layout version skew or stale push path — desynchronized reality per Chapter 7.
Extended treatment — thermodynamics and dispatch canvas ritual
dispatch_canvas() order matters: seal time, CFL guard, layer pump, ThermoAccountant population, analog FCC pack, guest boot paths, hardware mirror, vkCmdDispatch. Thermodynamics is not a side shader — accountant is populated every dispatch regardless of canvas kind. x86 Big Grin may hide heatmap; stderr THERMO still speaks.
Extended lab — 60-minute thermo session protocol
Minute 0–10: baseline grep THERMO. Minute 10–20: InjectStrength up, mouse pattern A. Minute 20–30: FieldCoupling up, same pattern. Minute 30–40: GateFidelity sweep. Minute 40–50: WaveSpeed test with CFL awareness. Minute 50–60: restore defaults, archive grep tail. Write six sentences what moved — lab report discipline.
Chapter 3 lecture — heat as information destruction narrative
Every shader step that collapses uncertainty — sharpening gates, mixing channels, injecting noise — participates in information destruction story thermodynamics names heat. The engine does not measure heat with a thermometer on the GPU package. It accounts for irreversibility in proxy space because operators still need to know the kitchen warmed when burners ran.
Phi wave step spreads curvature — information about local potential redistributes — Thermo diffusion spreads heat density — Flow carries gradients — coupling exchanges stories. None of this replaces laboratory physics; all of it replaces silent demos that pretend evolution is free.
Mouse injection via InjectStrength is deliberate information insertion — you increased state complexity locally; coupling diffuses that complexity; accountant records cost. Ethics: you did it; grep owns it.
Classic canvas thermo visibility is training wheels. x86 default hides heatmap under OS chrome — training wheels off, stderr mandatory. Competent operators grep on default product, not only on pedagogy swipe.
Headless CI dispatch still produces THERMO — proof dispatch alive without window. Screenshot culture dies here; receipt culture begins.
Energy.comp swipe is coupled channel laboratory — run one hour with FieldCoupling 0.7 and journal slopes — graduate exercise before Chapter 4 entropy algebra.
Tesla relaxation in Flow links thermodynamics chapter to stability chapter — forward ease, reverse drag — energy can be moved directionally in metaphor space.
Body-temperature seeding is labeled meta — not BIOS sensor — repeat until newcomers stop citing seed as hardware truth.
AnalogFields TimeScale is global tempo — not wall clock override — sealed time still linear in session genesis.
CFL wave and diffusion inequalities are Courant-Friedrichs-Lewy legacy — host enforces before dispatch — numerical ethics, not optional.
Chapter 3 summary sentence: thermodynamics here is honest bookkeeping of irreversibility in Phi/Thermo/Flow with proxy receipts and CFL guards — read Chapter 4 for entropy layer separation.
Thermodynamics glossary in chapter
ThermoAlpha: diffusivity alpha. WaveSpeed: c in wave CFL. GateFidelity: soft vs sharp gates. EntropyFloor: minimum noise. InjectStrength: probe power. PropalacticScale: large Phi forcing. FieldCoupling: cross channel. TimeScale: global dt multiplier.
Every term is knob in headers and often in prompt — literacy is spelling plus effect.
Chapter 3 extended — thermodynamic storyboard frame by frame
Frame N begins with Phi field carrying potential from frame N-1 plus forcing. Thermo field carries heat density seeded above entropy floor. Flow field carries gradients from prior advection. Host sealed time advances; CFL guard approves dt. Shader runs Phi Laplacian step — neighbors exchange potential information — Thermo diffuses — Flow relaxes with Tesla bias — coupling terms exchange energy stories between channels. ThermoAccountant integrates proxy entropy from work done. Host mirrors to data_bus and stderr. Frame N+1 begins — linear time, no rewind.
Storyboard discipline trains operators to narrate dispatch without mysticism. Each frame is receipt. Long sessions are novels of receipts — grep tail is last paragraph, not whole book.
Knobs alter storyboard: high FieldCoupling makes chapters bleed together — Phi motion immediately warms Thermo; low coupling isolates chapters for pedagogy. High InjectStrength makes mouse protagonist; high GateFidelity makes gates snap digital; low fidelity keeps analog softness. PropalacticScale adds large wavelength weather on Phi — cosmic naming, local effect.
Thermodynamics laboratory ethics: always note starting knob state in lab journal; always restore defaults after session; always label proxy when sharing screenshots externally. Science reputation is honesty reputation.
Coupling to Chapter 4 entropy layers preview
Frame proxy entropy rises when storyboard work rises — Chapter 4 names layers. Fabric floor ensures Thermo never pretends zero — Chapter 4 second law. File oracle unrelated to frame storyboard unless you conflate — Chapter 4 forbids. Chapter 3 moves energy; Chapter 4 records irreversibility receipts. Read order sacred.
Introduction — thermodynamics as accounting, not calorimetry
Every frame destroys information — diffusion, probes, maintenance, optional host assist. AMOURANTHRTX tracks that cost as accounting with honest labels, not as a laboratory calorimeter pretending to be nvidia-smi. Chapter 3 teaches Energy can be moved on the analog fabric: Phi whispers to Thermo through coupling; Flow carries gradients; CFL guards refuse numerical arson. This is Maxwell’s neighborhood on a grid — Chapter 15 goes long; here you learn to move knobs and read receipts.
Prior: Chapter 2 — Three Scales. Next: Chapter 4 — Entropy Receipts. Dispatch placement: Chapter 7. CFL deep dive: Chapter 9. Creditor: Clausius.
Learning objectives
- Explain CFL inequalities as mesh-speed ethics, not bureaucracy.
- Apply
WaveSpeedcaps and read clamp stderr. - Interpret
avgBoundaryThermoand mouse inject boundary stories. - Separate host x86 heat from GPU fabric proxy in ThermoAccountant.
- Run coupling sweep lab on Classic and compare die-default stderr.
- Articulate Clausius spirit beside entropy floor without joule fraud.
- Contrast thermo pedagogy on
Flowers/GreenWavesversus x86 HUD.

Fabric channels — bindings 8, 9, 10
| Fabric | Binding | Evolution sketch |
|---|---|---|
| Phi | 8 fieldPhi | Laplacian wave + WaveSpeed + PropalacticScale |
| Thermo | 9 fieldThermo | Diffusion ThermoAlpha + floor + coupling |
| Flow | 10 fieldFlow | Gradients + GateFidelity + Tesla relaxation |
newPhi ∈ [-2.0, 2.0] · newThermo ∈ [0.0, 1.5] · newFlow ∈ [0.0, 1.0]
Clamps are numerical embodiment of kitchen realism — the shader refuses infinite temperature because the UI got excited. Host CFL guard and shader clamps are coupled defenses (Chapter 9).
CFL derivation intuition — why explicit schemes demand humility
Explicit time stepping updates each texel from neighbor information that arrived at time t. If information travels farther than one cell per step — wave speed × Δt > Δx — the scheme invents neighbors that have not spoken yet. That is NaN theology. Courant, Friedrichs, and Lewy named the inequality operators inherit as CFL condition.
Wave channel intuition: disturbance crosses grid at speed c. One step advances Δt. Distance traveled c·Δt must not exceed cell spacing Δx — else dependency graph lies.
Thermo channel intuition: diffusion spreads heat wider each step — parabolic scaling. Distance grows like √(α·Δt), leading to:
Chapter 9 owns constants; Chapter 7 owns placement — CFL runs before vkCmdDispatch every frame. Intuition operators need: finer mesh (smaller Δx) tightens allowed Δt or forces lower c and α. Adaptive resolution (Chapter 2) therefore interacts with thermo headroom — not vanity scaling.
WaveSpeed caps — offense within mesh ethics
Options::AnalogFields::WaveSpeed maps to FCC slot data_bus[18] on x86 path. Host enforces hard caps (e.g. waveSpeed ∈ [0.01, 2.0], dT ≤ 0.033) before fabric sees operator enthusiasm. Caps are not punishment — they preserve fabric existence for next tick.
| Knob | Risk when cranked | Guard response |
|---|---|---|
WaveSpeed | waveCFL > 1 | Scale c or Δt down; stderr note |
ThermoAlpha | thermoCFL > 1 | Scale α or Δt down |
InjectStrength | Boundary spikes + NaN colors | Scale inject; clamp in shader |
TimeScale | Effective Δt inflation | CFL recomputed on scaled dt |
set AnalogFields.WaveSpeed 2.5 set AnalogFields.TimeScale 2.0 list AnalogFields grep -i 'CFL\|clamp\|wave' run.log | tail -15
Expect host to pull effective wave speed below operator request — list readback shows scaled truth. Screenshot of pretty waves without this grep is incomplete testimony.
Boundary thermo — perimeter heat is not background mood
avgBoundaryThermo in ThermoAccountant (binding 2, mirror data_bus[25]) summarizes mean boundary temperature / entropy density — where fabric meets edges and probes inject. Mouse movement is boundary offense: InjectStrength writes energy at probe positions carried through FieldSocket push constants.
Rising boundary thermo with flat interior averages tells a story: perimeter work without bulk equilibration — common in high inject sessions. Flat boundary with rising interior suggests diffusion catching up — different narrative, same grep discipline.
Chapter 4 names full ThermoAccountant fields; Chapter 3 teaches you to move mouse and expect boundary line to speak in THERMO stderr. Die-default x86 hides heatmap — boundary thermo still moves if coupling alive; enable debug HUD or trust log.
Host x86 heat versus GPU fabric heat — two witnesses, one proxy ledger
Default execution path is GPU interpretation via x86.comp — fat GPU, thin host. Optional ControlHostCpu enables FieldX86Emu assist; host cycles last frame can add terms to entropyThisFrame through FieldX86Emu::hostCyclesLastFrame(). Both paths remain — not junction calorimetry.
| Source | When active | Witness |
|---|---|---|
| GPU fabric work | Every dispatch | THERMO + coupling terms |
| Probe inject | Mouse / FieldSocket probe | Boundary thermo rise |
| Host x86 assist | ControlHostCpu set | Extra proxy contribution in entropy |
| Maintenance | High fidelity sessions | prevMaintCost — Chapter 4 |
Category error: claiming nvidia-smi power draw equals entropyThisFrame. Category error: disabling GPU path to “save thermo” while claiming field evolution — offense requires dispatch.
Flowers and GreenWaves — Classic swipes for thermo pedagogy
Flowers and GreenWaves swipes emphasize organic flow and interference patterns on Classic canvas — curriculum shaders where thermo and Phi coupling is visible in ways Big Grin chrome suppresses. Week-one pattern: afternoon on Flowers with inject lab; return to die default for week-two operations.
| Swipe | Visual emphasis | Lab use |
|---|---|---|
Flowers | Organic advection patterns | Flow + coupling narrative |
GreenWaves | Interference, propagation | WaveSpeed + Phi forcing |
energy | Heat map obvious | FieldCoupling sweeps — Ch. 2 lab |
x86 default | Chrome forward | stderr + debug HUD thermo |
ThermoAccountant populates every swipe — canvas-agnostic obligation from Chapter 7. Flowers beauty does not excuse skipping THERMO grep.
Coupling sweep laboratory — structured knob narrative
# Swipe Flowers or energy; baseline 120s log segment set AnalogFields.FieldCoupling 0.1 set AnalogFields.GateFidelity 0.3 set AnalogFields.EntropyFloor 0.01 # Record THERMO tail; then sweep: set AnalogFields.FieldCoupling 0.9 set AnalogFields.GateFidelity 0.85 set AnalogFields.InjectStrength 4.0 grep -E 'THERMO|entropy|Boundary|prevMaint' run.log | tail -30
Journal template per sweep row:
| Step | FieldCoupling | GateFidelity | entropyThisFrame | avgBoundaryThermo | Notes |
|---|---|---|---|---|---|
| Baseline | 0.1 | 0.3 | (grep) | (grep) | Low bleed between channels |
| Aggressive | 0.9 | 0.85 | (grep) | (grep) | Expect higher proxy + maintenance |
Restore defaults after lab — operator ethics. Chapter 4 exam afterward: which layer is ThermoAccountant versus oracle — do not conflate sweep results with Shannon H on zip files.
RTXProbe — optional dispatch timing witness
RTXPROBE ELLIE category activates with RTX_PROBES=1 — GPU timestamps and invocation counts with zero cost when off (Chapter 7). Use when coupling sweeps cause latency spikes without obvious CFL clamp lines — distinguishes dispatch-bound fabric work from logging volume or accidental host CPU path.
RTX_PROBES=1 ./linux.sh run 2>&1 | tee /tmp/probe-thermo.log grep -E 'RTXPROBE|THERMO|CFL' /tmp/probe-thermo.log | tail -25
RTXProbe does not measure joules — it measures time discipline. Pair with STATUS block GPU ms line for week-three health narrative.
Maintenance cost — coherence tax each frame
prevMaintCost (Chapter 4 preview) rises when field state becomes expensive to remember — high GateFidelity, aggressive coupling, resolution jumps. Chapter 3 connects maintenance to thermo pedagogy: Flowers session at fidelity 0.9 should show higher maintenance than baseline 0.3 — not moral judgment, coherence accounting.
Maintenance is why “same looking” frames can cost different entropy — prior frame complexity matters. Clausius spirit: nature taxes irreversibility; engine taxes coherence.
Clausius spirit — irreversibility named, not faked
Rudolf Clausius gave operators language: entropy of universe tends upward; heat flows with direction. Field Technology honors spirit via entropy floor seed ~0.015 at clearFieldImages() and minimum noise in diffusion — fabric refuses pretend reversibility.
Clausius tribute humanizes creditor; EntropyFloor knob and floor seed humanize implementation. on proxy — spirit without calorimeter fraud. Chapter 13 Landauer adds erasure floor vocabulary; Chapter 3 adds heat movement vocabulary — same table, different plates (Chapter 4 seating).
Thermo on die versus Classic — same accountant, different costume
Die-default x86.comp evolves bindings 8–10 every dispatch — thermo exists under AmmoOS chrome whether you see heatmap or not. Classic CANVAS.comp swipes exist because human eyes learn coupling faster with color. Product truth on die; pedagogy truth on Classic — compromise this book teaches.
| Aspect | Die default x86 | Classic Flowers/GreenWaves |
|---|---|---|
| ThermoAccountant | Populated every dispatch | Same — canvas-agnostic |
| Visual thermo | Hidden behind chrome | Obvious heatmap |
| Debug path | ControlFieldDebugHud | Swipe itself |
| Honest testimony | stderr THERMO + bus hex | stderr + screenshot |
| Category error | “No thermo on die” | “Thermo only on Classic” |
# Segment A: x86 default 90s mouse move — grep THERMO # Segment B: swipe GreenWaves 90s same knobs — grep THERMO # Compare entropyThisFrame distributions — both must be non-silent
Silence on either segment is failed path — binding 2 or dispatch broken, not “die has no physics.”
AnalogFields knobs — FCC mirror quick reference
| Knob | Bus slot | Chapter 3 focus |
|---|---|---|
TimeScale | [16] | Effective Δt — CFL interaction |
ThermoAlpha | [17] | Diffusion rate — thermoCFL |
WaveSpeed | [18] | Wave propagation — waveCFL |
GateFidelity | [19] | Analog vs sharp gates — maintenance |
EntropyFloor | [20] | Minimum irreversible noise |
InjectStrength | [21] | Probe boundary offense |
PropalacticScale | [22] | Large-scale Phi forcing |
FieldCoupling | [23] | Phi ↔ Thermo ↔ Flow bleed |
Prompt set AnalogFields.* changes host state; CFL guard may scale before GPU sees values — numerical ethics, not censorship.
Maxwell neighborhood preview — coupling before Chapter 15
James Clerk Maxwell taught that fields talk to neighbors — electrical potential and heat exchange stories are coupled, not isolated channels on a grid. AMOURANTHRTX implements neighborhood whispers as discrete Laplacian on Phi, diffusion on Thermo, gradient-driven Flow with FieldCoupling mixing strengths. This is Implemented shader arithmetic on bindings 8–10 — not a claim the engine solved Maxwell’s equations in full analytical glory.
Preview intuition for coupling lab: when Phi develops sharp spatial features, Thermo at neighboring texels warms when coupling is high — energy can be moved, axiom three. When coupling is low, channels evolve as parallel homework problems — useful pedagogy, incomplete product story. Chapter 15 creditor page goes historical; Chapter 3 demands you see the consequence in THERMO grep when coupling sweeps.
Do not quote Maxwell to justify ionosphere colors from planetary weave — that is Chapter 6 Visual category error. Quote Maxwell when discrete Laplacian and coupling knobs have stderr witnesses.
Sealed time on fabric — linear physics before sovereign sync
TotalTime::seal() writes monotonic session genesis into FieldSocket::sealed_time before fabric evolves. Thermodynamics without sealed time would let frame-rate jitter rewrite effective Δt stories retroactively — logs would lie. Chapter 3 connects seal to thermo receipts: freeEnergyIncome (Chapter 4) treats sealed time as living-world potential feeding the ledger.
Operators comparing week-one to week-six sessions should compare THERMO against rising steps counter and sealed genesis, not wall clock alone. Chapter 19 sovereign pulses extend the discipline across hosts; session seal is prerequisite intuition — local physics clock before planetary sync narrative.
Failure catalog — thermodynamics edition
| Failure mode | Symptom | Fix |
|---|---|---|
| Joule fantasy | Bill from THERMO lines | — Ch. 4 |
| CFL ignorance | NaN colors instant | Read clamp grep; Ch. 9 |
| Die thermo denial | “Heat only on Classic” | Drill 3.C; debug HUD |
| Oracle merge | Zip H tied to boundary thermo | Layer exam — Ch. 4 |
| nvidia-smi equivalence | GPU power = entropyThisFrame | Host vs GPU table above |
| Zero floor myth | EntropyFloor 0 “for clean run” | Clausius spirit; reseed |
| Screenshot-only lab | Flowers pretty, THERMO silent | Binding 2 checklist — Ch. 7 |
Chapter summary
Chapter 3 teaches thermodynamics as honest accounting on Phi/Thermo/Flow bindings 8–10. CFL wave and thermo inequalities express mesh-speed ethics; WaveSpeed caps enforce them before dispatch. Boundary thermo narrates probe offense; host x86 heat adds optional proxy terms separate from GPU fabric work. Coupling sweep lab on Flowers/GreenWaves/energy swipes produces grep journals; die-default path shares ThermoAccountant with hidden heatmaps — stderr remains scripture. Clausius spirit lives in entropy floor and irreversibility language without joule fraud. RTXProbe optional timing complements THERMO receipts.
Next: Chapter 4 — Entropy. Dispatch: Chapter 7. CFL constants: Chapter 9. Maxwell: Maxwell.
Deep dive — thermodynamics travels through field layers
Guest RAM, VGA, FAT, and audio layers (Chapter 8) pump telemetry into data_bus before fabric evolves. Thermodynamics on the fabric is not isolated from die activity — guest execution raises host pump work, layer sync costs, and optional FieldX86Emu assist heat. Literate operators correlate rising entropyThisFrame with rising pump generation in slot 0 without claiming a single causal line — correlation is human narrative; receipts are grep lines.
When AmmoOS chrome animates on binding 11–14 textures, presentation work still rides the same dispatch loop that populates ThermoAccountant. Chrome is not “outside thermo.” If chrome moves and THERMO is flat, suspect dispatch failure or logging category filters — not “OS mode is free.”
Field layers L0–L9 exist so DOS-shaped universes remain addressable to shaders. Each layer pump is a host obligation in dispatch_canvas() — thermodynamics begins on the host timeline before vkCmdDispatch writes GPU texels. Skip pump literacy and you will misread thermo spikes as fabric bugs when they are guest sync stories.
Deep dive — prompt terminal AnalogFields as live FCC
The in-engine prompt exposes set AnalogFields.TimeScale, ThermoAlpha, WaveSpeed, and siblings — the same namespace mirrored to data_bus[16–23] on the x86 path. Treat prompt changes as offensive writes to boundary conditions: you are not “adjusting graphics,” you are changing the next tick’s PDE parameters subject to CFL guard.
| Prompt command | Immediate effect | Grep witness |
|---|---|---|
set AnalogFields.FieldCoupling 0.8 | Cross-channel bleed rises | THERMO slope vs prior session |
set AnalogFields.InjectStrength 1.2 | Mouse probe heats boundary | avgBoundaryThermo lines |
set AnalogFields.GateFidelity 0.95 | Sharper gates, higher maintenance | prevMaintCost — Ch. 4 |
set AnalogFields.WaveSpeed 1.8 | CFL may clamp before dispatch | harmonics guard stderr |
Document knob state in lab journals. Future-you comparing week-six grep to week-one without knob notes will invent myths about “mysterious drift.”
Deep dive — week-two thermo journal template
Operators who graduate Chapter 3 keep a running thermo journal — not for publication, for comparative honesty:
- Session ID — date, canvas kind (Classic / x86 / energy), swipe name.
- Knob baseline — list AnalogFields values before drill.
- CFL events — note any clamp messages; they explain “why my knob did not stick.”
- THERMO tail — paste last ten THERMO lines; circle
entropyThisFrameandavgBoundaryThermo. - One sentence — what moved and what did not; no joule claims.
After four sessions, plot steps versus cumulative proxy entropy trend in a spreadsheet if you must — comparative slopes only. Chapter 4 owns formal entropy layers; Chapter 3 owns the habit of writing receipts down before arguments start.
Study questions
- State wave and thermo CFL inequalities and intuition for each.
- What happens when WaveSpeed 2.5 is requested?
- Define avgBoundaryThermo and how mouse inject affects it.
- When does host x86 heat enter the proxy ledger?
- Run Lab 3.B; record two sweep rows with grep numbers.
- Why do Flowers and GreenWaves exist if die evolves thermo?
- What does RTX_PROBE env var enable?
- Explain Clausius spirit versus entropy floor implementation.
- Complete Drill 3.C; did both segments emit THERMO?
- Which failure mode matches nvidia-smi equivalence?
CFL derivation intuition
Wave CFL: information cannot cross more than one cell per step for explicit wave stability. Diffusion CFL: parabolic scaling with dx². Host enforces before dispatch — numerical ethics from Courant-Friedrichs-Lewy creditors.
WaveSpeed cap [0.01, 2.0]
Hard caps prevent operator knob enthusiasm from outrunning guard — even when prompt allows high ambition, host may clamp.
dT cap 0.033
Per-step dt ceiling keeps fabric inside stable envelope — ties to frame timing without rewriting sealed time.
Body-temperature seeding labeled meta
Normalized simulation flavor for thermo seed — not BIOS reading. Chapter 12 rock; repeated here because newcomers confuse seed with sensor.
GreenWaves and Flowers swipes
Specialty canvases demonstrate Flow and Phi aesthetics — coupling knobs still apply. Beauty is not free; check THERMO after pretty swipe.
RTXProbe during thermo drill
RTX_PROBES=1 adds GPU timestamps when thermo spikes — distinguish dispatch cost from host logging flood.
Boundary thermo interpretation
avgBoundaryThermo summarizes edge behavior — where fabric meets presentation boundary. Useful when center calm but boundary hot — probe leak or HDR coupling story.
Host x86 heat in accountant
When ControlHostCpu assist runs, host cycles contribute — still proxy, still grep. Know your execution path when interpreting entropy.
Thermodynamics lab exercise — coupling sweep
Sweep FieldCoupling 0→0.9 in steps, log entropy slope per setting. Comparative receipt science without joule claims.
Clausius inequality spirit
Entropy of isolated system tends non-decrease — fabric floor and maintenance cost echo spirit in silicon story. Not claiming GPU proves Clausius — honoring creditor.
Thermodynamic metaphor versus SI units — extended rock
Every knob name evokes physics — ThermoAlpha, WaveSpeed, EntropyFloor. Evocation is pedagogy; SI claim is fraud unless measured. Chapter 12 table is legal contract; Chapter 3 is physics classroom with honest labels.
Mouse probe as intentional boundary condition
InjectStrength translates pointer motion into fabric forcing — offense operator practice. Coupled with FieldCoupling, mouse becomes local weather god with stderr receipts.
Diffusion intuition on 2D grid
Heat spreads to neighbors proportional to ThermoAlpha — discrete diffusion on grid. CFL limits step size so spread remains stable. Visualize on Classic; trust math on x86.
Wave step intuition on 2D grid
Phi Laplacian measures how Phi differs from neighborhood average — waves propagate curvature. WaveSpeed scales propagation; CFL limits it.
GateFidelity analog-to-digital story
Low fidelity softens gates — analog computing metaphor. High fidelity sharpens — approaching digital gates. Thermo and Flow feel fidelity in coupling.
PropalacticScale cosmic forcing
Large-wavelength forcing on Phi — named cosmic knob with metaphor label. Useful for visible large patterns in pedagogy swipes.
TimeScale global dt
TimeScale multiplies effective dt in guard and evolution — global tempo knob. Sealed time still linear; TimeScale is physics rate not wall clock rewrite.
Thermo chapter creditor bridge
Clausius and Boltzmann gave language for irreversibility; Landauer gave floor for erasure; engine gives proxy receipts. Read Chapter 4 next with labels loaded.
Exercise 3.B — parameter journal
Keep lab journal: knob change, THERMO line before/after, qualitative fabric difference. Science without joule lies.
Evidence anchor — grep and sources
Major claims in this chapter anchored for reproducibility. Implemented = grep today; = intuition; Philosophy = discipline.
| Claim | Statement | Label | Evidence |
|---|---|---|---|
| Cross-coupling | Energy moves between channels | Implemented | FieldCoupling in fabric evolution |
| CFL wave guard | c·Δt/Δx ≤ 1 | Implemented | Host harmonics before dispatch |
| Thermo proxy | entropyThisFrame | Proxy — not package joules | |
| Sealed time | Linear session clock | Implemented | TotalTime::seal() each frame |
c·Δt/Δx ≤ 1 | α·Δt/Δx² ≤ 1 | Ṡ_proxy ≈ fieldWork + probeDiss + prevMaint
./linux.sh run 2>&1 | grep -E 'THERMO|CFL|harmonics'
Source paths
Navigator/engine/Pipeline.cppNavigator/shaders/CANVAS.compNavigator/engine/AnalogFields.hpp
Chapter summary — before you turn the page
Thermodynamics in this stack is proxy accounting on coupled fabric channels — CFL ethics, sealed time, honest clamps. You can move energy in shaders; you cannot bill joules from THERMO without a rock. Chapter 4 names the receipts.