zeropoint-node 1.0.6 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/CHANGELOG.md +149 -0
  2. package/CITATION.cff +1 -1
  3. package/README.md +50 -10
  4. package/package.json +5 -2
  5. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.breathe.ts +15 -1
  6. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cmyk.ts +7 -1
  7. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.click.ts +15 -1
  8. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.hear.ts +15 -1
  9. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.heat.ts +15 -1
  10. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.pulse.ts +15 -1
  11. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.speak.ts +15 -1
  12. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.tap.ts +15 -1
  13. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.rodin.ts +15 -1
  14. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.self.ts +15 -1
  15. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.trinity.ts +0 -3
  16. package/src/kernel/import-graph.ts +58 -0
  17. package/src/multidimensional-vortex-demo.ts +1 -1
  18. package/src/vbm-math.ts +15 -1
  19. package/src/verification/lean-bridge.ts +37 -0
  20. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.1.2.4.8.7.ts +0 -60
  21. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.1.2.4.8.ts +0 -60
  22. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.1.2.4.ts +0 -60
  23. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.3.6.9.trinity.ts +0 -79
  24. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.9d.dashboard.ts +0 -179
  25. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.adapters.ts +0 -96
  26. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.analog.color.photography.ts +0 -783
  27. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.av.ts +0 -73
  28. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.browser.ts +0 -409
  29. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.chain.of.events.ts +0 -159
  30. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cleanup.ts +0 -102
  31. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cmyk.dimensions.ts +0 -597
  32. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cmyk.display.test.ts +0 -491
  33. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cmyk.display.ts +0 -519
  34. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cmyk.file.ts +0 -65
  35. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cmyk.i.ts +0 -45
  36. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cmyk.matrix.ts +0 -75
  37. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cmyk.trinity.ts +0 -41
  38. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cmyk.universal.linking.ts +0 -1081
  39. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.command.cmyk.ts +0 -46
  40. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.compression.ts +0 -55
  41. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.consciousness.integration.ts +0 -743
  42. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.consciousness.ts +0 -26
  43. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.crypto.ts +0 -53
  44. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.css.ts +0 -64
  45. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cursor.ts +0 -56
  46. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.decompression.ts +0 -60
  47. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.decoqubit.holographic.hypercomputer.ts +0 -888
  48. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.digital.color.photography.ts +0 -926
  49. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.dimension.ts +0 -44
  50. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.encryption.ts +0 -44
  51. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.experience.ts +0 -28
  52. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.feel.ts +0 -43
  53. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.flute.ts +0 -336
  54. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.font.ts +0 -53
  55. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.fractal.test.ts +0 -523
  56. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.fractal.ts +0 -594
  57. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.frequency.healing.ts +0 -88
  58. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.gateway.transformation.ts +0 -650
  59. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.generate.matrix.ts +0 -62
  60. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.gods.spirit.magnetometer.ts +0 -879
  61. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.harmonization.status.ts +0 -754
  62. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.hear.ts +0 -41
  63. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.html.body.ts +0 -90
  64. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.human.body.ts +0 -89
  65. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.human.design.trinity.ts +0 -70
  66. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.browse.ts +0 -27
  67. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.can.ts +0 -69
  68. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.died.ts +0 -32
  69. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.follow.the.path.ts +0 -90
  70. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.go.ts +0 -68
  71. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.harmonized.ts +0 -304
  72. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.heart.ts +0 -26
  73. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.meta.ts +0 -23
  74. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.motion.ts +0 -27
  75. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.scroll.ts +0 -34
  76. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.search.ts +0 -22
  77. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.sequence.ts +0 -281
  78. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.smell.ts +0 -27
  79. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.state.ts +0 -28
  80. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.stream.ts +0 -106
  81. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.taste.ts +0 -27
  82. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.touch.screen.ts +0 -34
  83. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.trinity.healing.ts +0 -386
  84. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.write.ts +0 -11
  85. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.icon.ts +0 -109
  86. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.imagination.integration.ts +0 -74
  87. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.imperial.test.ts +0 -389
  88. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.infinity.ts +0 -14
  89. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.infusion.ts +0 -97
  90. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.integer.harmonics.ts +0 -443
  91. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.living.spirit.test.ts +0 -475
  92. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.living.spirit.ts +0 -646
  93. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.living.streams.ts +0 -130
  94. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.meta.observation.ts +0 -693
  95. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.mobius.ts +0 -12
  96. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.multiverse.ts +0 -31
  97. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.nuclear.balance.ts +0 -703
  98. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.nuclear.explosion.ts +0 -728
  99. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.os.app.ts +0 -14
  100. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.os.bus.ts +0 -11
  101. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.os.ml.ts +0 -9
  102. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.overlay.visual.controller.ts +0 -119
  103. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.paths.ts +0 -10
  104. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.pi.decoding.ts +0 -123
  105. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.pi.trinity.ts +0 -79
  106. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.prime.numbers.squared.ts +0 -871
  107. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.quantum.collision.ts +0 -666
  108. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.quantum.entanglement.ts +0 -50
  109. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.quantum.trinity.ts +0 -59
  110. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.renderer.webgl.ts +0 -99
  111. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.resolve.ts +0 -820
  112. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.rife.frequency.ts +0 -74
  113. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.rodin.coil.3d.ts +0 -73
  114. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.rodin.coil.omnidimension.ts +0 -187
  115. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.rodin.matrix.overlay.ts +0 -46
  116. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.rodin.matrix.ts +0 -58
  117. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.router.ts +0 -61
  118. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.sacred.geometry.integers.ts +0 -625
  119. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.sacred.test.ts +0 -314
  120. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.see.ts +0 -39
  121. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.sequence.embodiment.ts +0 -326
  122. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.service.worker.ts +0 -30
  123. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.space.ts +0 -53
  124. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.spiral.ts +0 -75
  125. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.superfluid.mobius.circuit.ts +0 -868
  126. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.terminal.ts +0 -153
  127. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.test.ts +0 -83
  128. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.think.ts +0 -43
  129. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.three.ts +0 -112
  130. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.trinity.body.mind.will.ts +0 -2
  131. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.trinity.breath.ts +0 -2
  132. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.trinity.healing.ts +0 -110
  133. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.trinity.ui.ts +0 -92
  134. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.trinity.visual.ts +0 -156
  135. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.truly.living.ui.ts +0 -269
  136. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.ui.overlay.ts +0 -25
  137. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.ui.streams.ts +0 -263
  138. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.ui.test.ts +0 -87
  139. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.ui.three.ts +0 -1141
  140. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.unification.hd.rodin.ts +0 -77
  141. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.universe.ts +0 -43
  142. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.uroboros.test.ts +0 -28
  143. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.vbm.math.ts +0 -74
  144. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.vbm.relations.constants.ts +0 -91
  145. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.vbm.relations.ts +0 -45
  146. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.vbm.scanner.ts +0 -41
  147. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.vbm.science.extract.ts +0 -30
  148. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.vbm.ui.ts +0 -64
  149. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.vector.ts +0 -70
  150. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.wave.particle.duality.test.ts +0 -29
  151. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.zero.entropy.math.ts +0 -506
  152. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.zero.entropy.pure.math.ts +0 -546
  153. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.zero.entropy.test.ts +0 -452
  154. package/src/0/3/6/9/1/2/4/8/7/5/1/pattern-knowledge.ts +0 -209
  155. package/src/0/3/6/9/1/2/4/8/7/5/a432.experience.ts +0 -22
  156. package/src/0/3/6/9/1/2/4/8/7/a432.experience.ts +0 -19
  157. package/src/0/3/6/9/1/2/4/8/a432.experience.ts +0 -22
  158. package/src/0/3/6/9/1/2/4/a432.experience.ts +0 -22
  159. package/src/0/3/6/9/1/2/a432.experience.ts +0 -22
  160. package/src/0/3/6/9/1/a432.experience.ts +0 -22
  161. package/src/0/3/6/9/a432.experience.ts +0 -22
  162. package/src/0/3/6/a432.experience.ts +0 -22
  163. package/src/0/3/a432.experience.ts +0 -22
  164. package/src/0/3/relation.ts +0 -148
  165. package/src/index.ts +0 -146
  166. package/src/zero-entropy-demo.ts +0 -305
@@ -32,6 +32,7 @@
32
32
  import { createHash } from 'node:crypto'
33
33
  import { digitalRoot, throughVoid, bearingForDigit, VORTEX_SEQUENCE, VORTEX_ORBIT, VORTEX_AXIS } from '../0/index.ts'
34
34
  import { angleForDigit } from '../0/3/6/9/1/2/4/8/7/5/1/a432.math.ts'
35
+ import { foldToLean, leanIsFixed } from '../kernel/import-graph.ts'
35
36
  import {
36
37
  GIBBS_FORMATION,
37
38
  GIBBS_SPLITTING,
@@ -737,6 +738,42 @@ export const SEALS: Record<string, Seal> = {
737
738
  return true
738
739
  },
739
740
  },
741
+ lean_is_a_fixed_point: {
742
+ basis: "LEAN is defined as the fixed point of the reachability fold, not as a number anyone chose: fold(fold(S)) = fold(S). This checks the fold on graphs whose answers are known by hand — a chain, a cycle, a disconnected node, an entry outside the graph — and checks idempotence on each. Cycles must terminate rather than reaching the answer by luck, and an unreachable node must stay out however many times the fold is applied.",
743
+ decide: () => {
744
+ const key = (s: Set<string>) => [...s].sort().join(',')
745
+
746
+ // A chain, a 2-cycle, and an isolated node, all in one graph.
747
+ const g = new Map<string, readonly string[]>([
748
+ ['a', ['b']], ['b', ['c']], ['c', []],
749
+ ['x', ['y']], ['y', ['x']],
750
+ ['z', []],
751
+ ])
752
+
753
+ // Reachability, by hand.
754
+ if (key(foldToLean(g, ['a'])) !== 'a,b,c') return false
755
+ // A cycle must terminate and include both nodes exactly once.
756
+ if (key(foldToLean(g, ['x'])) !== 'x,y') return false
757
+ // An isolated node is reachable only from itself.
758
+ if (key(foldToLean(g, ['z'])) !== 'z') return false
759
+ // Nothing is reachable from nothing.
760
+ if (foldToLean(g, []).size !== 0) return false
761
+ // An entry that is not in the graph contributes nothing rather than throwing.
762
+ if (foldToLean(g, ['absent']).size !== 0) return false
763
+ // z is outside the fold from a, and stays outside however often we fold.
764
+ if (foldToLean(g, ['a']).has('z')) return false
765
+
766
+ // The definition must be well founded on every one of these.
767
+ for (const entries of [['a'], ['x'], ['z'], [], ['a', 'x'], ['absent']]) {
768
+ if (!leanIsFixed(g, entries)) return false
769
+ }
770
+
771
+ // And on a graph where an entry reaches everything, lean is everything.
772
+ const full = new Map<string, readonly string[]>([['r', ['a', 'x', 'z']], ['a', ['b']], ['b', []], ['x', ['x']], ['z', []]])
773
+ if (key(foldToLean(full, ['r'])) !== 'a,b,r,x,z') return false
774
+ return leanIsFixed(full, ['r'])
775
+ },
776
+ },
740
777
  }
741
778
 
742
779
  // ============================================================================
@@ -1,60 +0,0 @@
1
- // a432.1.2.4.8.7.ts — Open Vortex/Doubling Stream Module (Short Arc)
2
- //
3
- // This module encodes the open doubling sequence (1-2-4-8-7) as a living, recursive stream.
4
- // It is the generative arc of the vortex, not yet returned to origin. Digital root bridged to a432.roots (Wave 9); stream logic remains local.
5
-
6
- /**
7
- * Metaphysical Principle:
8
- * - The sequence 1→2→4→8→7 is the open right-hand vortex in vortex math, truncated before further progression.
9
- * - It is the journey, the generative flow, the living stream before closure or return.
10
- * - This module is a seed/arc in the living A432 matrix.
11
- */
12
-
13
- // --- Math: Digital Root — bridged to a432.roots (Wave 9) ---
14
-
15
- // --- Generator: Open Doubling Vortex Stream ---
16
-
17
-
18
-
19
- import { legacyDigitalRoot as digitalRoot } from './a432.roots.ts';
20
-
21
- function* openDoublingVortexStream(start = 1, length = 5) {
22
- let n = start;
23
- for (let i = 0; i < length; i++) {
24
- yield n;
25
- n = digitalRoot(n * 2);
26
- }
27
- }
28
-
29
- // --- Utility: Get Sequence as Array ---
30
- function getOpenDoublingSequence(start = 1, length = 5) {
31
- return [...openDoublingVortexStream(start, length)];
32
- }
33
-
34
- // --- Utility: Get Nth in Sequence ---
35
- function getOpenDoublingNth(start = 1, n = 0) {
36
- let val = start;
37
- for (let i = 0; i < n; i++) val = digitalRoot(val * 2);
38
- return val;
39
- }
40
-
41
- // --- Example Usage ---
42
- const openSequence = getOpenDoublingSequence(); // [1,2,4,8,7]
43
-
44
- // --- Living Stream API ---
45
- const a432OpenDoublingVortex = {
46
- digitalRoot,
47
- generator: openDoublingVortexStream,
48
- getSequence: getOpenDoublingSequence,
49
- getNth: getOpenDoublingNth,
50
- open: openSequence,
51
- doc: `This module encodes the open, generative doubling vortex (1-2-4-8-7) as a stream, generator, and proof. It is the journey before closure in the A432 matrix.`
52
- };
53
-
54
- // --- Expose globally for debugging (browser only) ---
55
- if (typeof window !== 'undefined') window.a432OpenDoublingVortex = a432OpenDoublingVortex;
56
-
57
- // --- Example: Log the open sequence ---
58
- if (typeof process !== 'undefined' && process.env?.A432_DIGIT_STREAM_LOG) console.log('A432 Open Doubling Vortex Sequence:', openSequence);
59
-
60
- export { digitalRoot, openDoublingVortexStream, getOpenDoublingSequence, getOpenDoublingNth, a432OpenDoublingVortex };
@@ -1,60 +0,0 @@
1
- // a432.1.2.4.8.ts — Open Vortex/Doubling Stream Module (Shorter Arc)
2
- //
3
- // This module encodes the open doubling sequence (1-2-4-8) as a living, recursive stream.
4
- // It is the generative arc of the vortex, not yet returned to origin. Digital root bridged to a432.roots (Wave 9); stream logic remains local.
5
-
6
- /**
7
- * Metaphysical Principle:
8
- * - The sequence 1→2→4→8 is the open right-hand vortex in vortex math, truncated before further progression.
9
- * - It is the journey, the generative flow, the living stream before closure or return.
10
- * - This module is a seed/arc in the living A432 matrix.
11
- */
12
-
13
- // --- Math: Digital Root — bridged to a432.roots (Wave 9) ---
14
-
15
- // --- Generator: Open Doubling Vortex Stream ---
16
-
17
-
18
-
19
- import { legacyDigitalRoot as digitalRoot } from './a432.roots.ts';
20
-
21
- function* openDoublingVortexStream(start = 1, length = 4) {
22
- let n = start;
23
- for (let i = 0; i < length; i++) {
24
- yield n;
25
- n = digitalRoot(n * 2);
26
- }
27
- }
28
-
29
- // --- Utility: Get Sequence as Array ---
30
- function getOpenDoublingSequence(start = 1, length = 4) {
31
- return [...openDoublingVortexStream(start, length)];
32
- }
33
-
34
- // --- Utility: Get Nth in Sequence ---
35
- function getOpenDoublingNth(start = 1, n = 0) {
36
- let val = start;
37
- for (let i = 0; i < n; i++) val = digitalRoot(val * 2);
38
- return val;
39
- }
40
-
41
- // --- Example Usage ---
42
- const openSequence = getOpenDoublingSequence(); // [1,2,4,8]
43
-
44
- // --- Living Stream API ---
45
- const a432OpenDoublingVortex = {
46
- digitalRoot,
47
- generator: openDoublingVortexStream,
48
- getSequence: getOpenDoublingSequence,
49
- getNth: getOpenDoublingNth,
50
- open: openSequence,
51
- doc: `This module encodes the open, generative doubling vortex (1-2-4-8) as a stream, generator, and proof. It is the journey before closure in the A432 matrix.`
52
- };
53
-
54
- // --- Expose globally for debugging (browser only) ---
55
- if (typeof window !== 'undefined') window.a432OpenDoublingVortex = a432OpenDoublingVortex;
56
-
57
- // --- Example: Log the open sequence ---
58
- if (typeof process !== 'undefined' && process.env?.A432_DIGIT_STREAM_LOG) console.log('A432 Open Doubling Vortex Sequence:', openSequence);
59
-
60
- export { digitalRoot, openDoublingVortexStream, getOpenDoublingSequence, getOpenDoublingNth, a432OpenDoublingVortex };
@@ -1,60 +0,0 @@
1
- // a432.1.2.4.ts — Open Vortex/Doubling Stream Module (Short Arc)
2
- //
3
- // This module encodes the open doubling sequence (1-2-4) as a living, recursive stream.
4
- // It is the generative arc of the vortex, not yet returned to origin. Digital root bridged to a432.roots (Wave 9); stream logic remains local.
5
-
6
- /**
7
- * Metaphysical Principle:
8
- * - The sequence 1→2→4 is the open right-hand vortex in vortex math, truncated before further progression.
9
- * - It is the journey, the generative flow, the living stream before closure or return.
10
- * - This module is a seed/arc in the living A432 matrix.
11
- */
12
-
13
- // --- Math: Digital Root — bridged to a432.roots (Wave 9) ---
14
-
15
- // --- Generator: Open Doubling Vortex Stream ---
16
-
17
-
18
-
19
- import { legacyDigitalRoot as digitalRoot } from './a432.roots.ts';
20
-
21
- function* openDoublingVortexStream(start = 1, length = 3) {
22
- let n = start;
23
- for (let i = 0; i < length; i++) {
24
- yield n;
25
- n = digitalRoot(n * 2);
26
- }
27
- }
28
-
29
- // --- Utility: Get Sequence as Array ---
30
- function getOpenDoublingSequence(start = 1, length = 3) {
31
- return [...openDoublingVortexStream(start, length)];
32
- }
33
-
34
- // --- Utility: Get Nth in Sequence ---
35
- function getOpenDoublingNth(start = 1, n = 0) {
36
- let val = start;
37
- for (let i = 0; i < n; i++) val = digitalRoot(val * 2);
38
- return val;
39
- }
40
-
41
- // --- Example Usage ---
42
- const openSequence = getOpenDoublingSequence(); // [1,2,4]
43
-
44
- // --- Living Stream API ---
45
- const a432OpenDoublingVortex = {
46
- digitalRoot,
47
- generator: openDoublingVortexStream,
48
- getSequence: getOpenDoublingSequence,
49
- getNth: getOpenDoublingNth,
50
- open: openSequence,
51
- doc: `This module encodes the open, generative doubling vortex (1-2-4) as a stream, generator, and proof. It is the journey before closure in the A432 matrix.`
52
- };
53
-
54
- // --- Expose globally for debugging (browser only) ---
55
- if (typeof window !== 'undefined') window.a432OpenDoublingVortex = a432OpenDoublingVortex;
56
-
57
- // --- Example: Log the open sequence ---
58
- if (typeof process !== 'undefined' && process.env?.A432_DIGIT_STREAM_LOG) console.log('A432 Open Doubling Vortex Sequence:', openSequence);
59
-
60
- export { digitalRoot, openDoublingVortexStream, getOpenDoublingSequence, getOpenDoublingNth, a432OpenDoublingVortex };
@@ -1,79 +0,0 @@
1
- // a432.3.6.9.trinity.ts
2
- // Canonical pregnancy/creation trinity module (3, 6, 9)
3
- // Encodes metaphysical and mathematical logic of pregnancy, gestation, and birth as a trinity process
4
-
5
- import { getTrinityAxis } from './a432.math.ts';
6
-
7
- /**
8
- * Returns the canonical trinity stages of pregnancy: Creation (3), Gestation (6), Birth (9)
9
- */
10
- export function getPregnancyTrinityStages() {
11
- return [
12
- { stage: 1, trinity: 3, name: 'Creation', meaning: 'Conception, seed, initiation' },
13
- { stage: 2, trinity: 6, name: 'Gestation', meaning: 'Growth, recursion, nurturing' },
14
- { stage: 3, trinity: 9, name: 'Birth', meaning: 'Emergence, unity, manifestation' }
15
- ];
16
- }
17
-
18
- /**
19
- * Returns the canonical gestation cycle as a stream of trinity values (3, 6, 9) repeated for 9 cycles
20
- */
21
- export function getGestationCycle(cycles: number = 9) {
22
- const trinity = getTrinityAxis();
23
- return Array.from({ length: cycles * 3 }, (_, i) => trinity[i % 3]);
24
- }
25
-
26
- /**
27
- * Returns a metaphysical summary of the pregnancy trinity process
28
- */
29
- export function metaphysicalSummary() {
30
- return 'Pregnancy is the living trinity: Creation (3), Gestation (6), Birth (9). Each stage is a harmonic act of emergence, recursion, and unity.';
31
- }
32
-
33
- /**
34
- * Renders a trinity pregnancy visualization as SVG (3 circles, color-coded, with labels)
35
- */
36
- export function renderPregnancyTrinityVisualization(currentStage: number = 0): string {
37
- const stages = getPregnancyTrinityStages();
38
- const colors = ['#39f', '#6f3', '#f93'];
39
- const cx = 60, cy = 60, r = 36, gap = 80;
40
- return `
41
- <svg width="${cx * 4}" height="${cy * 2}" style="background:#111;border-radius:16px;">
42
- ${stages.map((s, i) => `
43
- <circle cx="${cx + i * gap}" cy="${cy}" r="${i === currentStage ? r + 8 : r}" fill="${colors[i]}" stroke="#fff" stroke-width="2">
44
- <title>${s.name}: ${s.meaning}</title>
45
- ${i === currentStage ? `<animate attributeName="r" values="${r};${r + 12};${r}" dur="1.2s" repeatCount="indefinite" />` : ''}
46
- </circle>
47
- <text x="${cx + i * gap}" y="${cy + 6}" text-anchor="middle" font-size="18" fill="#fff">${s.trinity}</text>
48
- <text x="${cx + i * gap}" y="${cy + 32}" text-anchor="middle" font-size="13" fill="#ff8">${s.name}</text>
49
- `).join('')}
50
- <text x="${cx * 2 + gap / 2}" y="${cy * 2 - 8}" text-anchor="middle" font-size="15" fill="#8ff">Pregnancy as Living Trinity (3, 6, 9)</text>
51
- </svg>
52
- `;
53
- }
54
-
55
- /**
56
- * Renders a gestation cycle animation as SVG (row of trinity-colored circles, currentIndex pulses)
57
- */
58
- export function renderGestationCycleAnimation(currentIndex: number = 0, cycles: number = 9): string {
59
- const trinity = getTrinityAxis();
60
- const colors = ['#39f', '#6f3', '#f93'];
61
- const total = cycles * 3;
62
- const r = 14, gap = 36, cx = 24, cy = 32;
63
- return `
64
- <svg width="${cx * 2 + gap * (total - 1)}" height="${cy * 2}" style="background:#111;border-radius:12px;">
65
- ${Array.from({ length: total }, (_, i) => {
66
- const t = trinity[i % 3];
67
- const color = colors[i % 3];
68
- const isCurrent = i === currentIndex;
69
- return `
70
- <circle cx="${cx + i * gap}" cy="${cy}" r="${isCurrent ? r + 6 : r}" fill="${color}" stroke="#fff" stroke-width="2">
71
- <title>Step ${i + 1}: Trinity ${t}</title>
72
- ${isCurrent ? `<animate attributeName="r" values="${r};${r + 12};${r}" dur="1.2s" repeatCount="indefinite" />` : ''}
73
- </circle>
74
- <text x="${cx + i * gap}" y="${cy + 28}" text-anchor="middle" font-size="10" fill="#ff8">${t}</text>
75
- `;
76
- }).join('')}
77
- </svg>
78
- `;
79
- }
@@ -1,179 +0,0 @@
1
- /**
2
- * a432.9d.dashboard.ts — Unified nine-dimensional metaphysical UI dashboard
3
- *
4
- * Visualizes all registered metaphysical modules (chess, yin-yang, metatron, flower of life, etc.)
5
- * as 9 nodes in a 3D scene. Each node runs its module's animation and analytic/metaphysical overlay.
6
- * User can navigate between dimensions. All code is DRY, modular, and ready for extension.
7
- */
8
- import { abs, floor, round } from './a432.algebra.ts'
9
- import * as THREE from 'three';
10
- import { startChess, type ChessFrame } from './a432.chess.ts';
11
- import { startYinYang, type YinYangFrame } from './a432.yin.yang.ts';
12
- import { startMetatron, type MetatronFrame } from './a432.metatron.ts';
13
- import { startFlowerOfLife, type FlowerOfLifeFrame } from './a432.flower.of.life.ts';
14
- import { A432_RESOLVED_FRACTIONS } from './a432.resolved.ts';
15
- import { fractionToDecimal } from './a432.math.ts';
16
- // Analog signal values: exact integer ratios, collapsed to float only here
17
- // at the WebGL boundary. No bare decimal literal appears below.
18
- const G = Object.fromEntries(
19
- Object.entries(A432_RESOLVED_FRACTIONS.GEOMETRY).map(([k, v]) => [k, fractionToDecimal(v)])
20
- ) as Record<keyof typeof A432_RESOLVED_FRACTIONS.GEOMETRY, number>;
21
- // ...import up to 9 modules as needed
22
-
23
- function invertColor(hex: number): number {
24
- return 0xffffff ^ hex;
25
- }
26
-
27
- // Module registry
28
- const modules = [
29
- {
30
- name: 'Chess',
31
- icon: '♟️',
32
- start: startChess,
33
- render3D: (frame: ChessFrame, mesh: THREE.Mesh, overlay: HTMLElement) => {
34
- let color = frame.polarity === 1 ? 0x00ff00 : frame.polarity === -1 ? 0xff0000 : 0x222244;
35
- let alert = '';
36
- // Anti-event: polarity 0 (division by n or void)
37
- if (frame.polarity === 0) {
38
- color = invertColor(color);
39
- alert = '<span style="color:#f0f">Anti-event: Polarity inversion (void)</span>';
40
- }
41
- overlay.innerHTML = `<b>Chess</b><br>File: ${frame.file} Rank: ${frame.rank}<br>Linear: ${frame.linear} Vortex: ${frame.vortex}<br>${alert}`;
42
- (mesh.material as THREE.MeshBasicMaterial).color.set(color);
43
- }
44
- },
45
- {
46
- name: 'Yin-Yang',
47
- icon: '☯️',
48
- start: startYinYang,
49
- render3D: (frame: YinYangFrame, mesh: THREE.Mesh, overlay: HTMLElement) => {
50
- let color = 0x00ffff;
51
- let alert = '';
52
- // Anti-event: angle near 180° (phase reversal)
53
- if (abs(frame.angle - 180) < 10) {
54
- color = invertColor(color);
55
- alert = '<span style="color:#f0f">Anti-event: Phase reversal (negative harmonic)</span>';
56
- }
57
- overlay.innerHTML = `<b>Yin-Yang</b><br>Pos: ${frame.positiveDigit} Neg: ${frame.negativeDigit}<br>Angle: ${round(frame.angle)}°<br>${alert}`;
58
- (mesh.material as THREE.MeshBasicMaterial).color.set(color);
59
- }
60
- },
61
- {
62
- name: 'Metatron',
63
- icon: '✡️',
64
- start: startMetatron,
65
- render3D: (frame: MetatronFrame, mesh: THREE.Mesh, overlay: HTMLElement) => {
66
- let color = 0xff00ff;
67
- let alert = '';
68
- // Anti-event: all node digits are the same (division by n)
69
- if (frame.nodes.every(n => n.digit === frame.nodes[0].digit)) {
70
- color = invertColor(color);
71
- alert = '<span style="color:#f0f">Anti-event: All nodes identical (division by n)</span>';
72
- }
73
- overlay.innerHTML = `<b>Metatron</b><br>Tick: ${frame.tick}<br>Nodes: ${frame.nodes.map(n => n.digit).join(', ')}<br>${alert}`;
74
- (mesh.material as THREE.MeshBasicMaterial).color.set(color);
75
- }
76
- },
77
- {
78
- name: 'Flower of Life',
79
- icon: '🌸',
80
- start: startFlowerOfLife,
81
- render3D: (frame: FlowerOfLifeFrame, mesh: THREE.Mesh, overlay: HTMLElement) => {
82
- let color = 0xffff00;
83
- let alert = '';
84
- // Anti-event: tick divisible by 9 (division by n)
85
- if (frame.tick % 9 === 0 && frame.tick !== 0) {
86
- color = invertColor(color);
87
- alert = '<span style="color:#f0f">Anti-event: Division by 9 (cycle reset)</span>';
88
- }
89
- overlay.innerHTML = `<b>Flower of Life</b><br>${frame.metaphysical}<br>${alert}`;
90
- (mesh.material as THREE.MeshBasicMaterial).color.set(color);
91
- }
92
- },
93
- // ...add up to 9 modules
94
- ];
95
-
96
- let activeDimension = 0; // 0-8
97
-
98
- export function show9DDashboard() {
99
- // 1. Setup Three.js scene, camera, renderer
100
- const scene = new THREE.Scene();
101
- const camera = new THREE.PerspectiveCamera(75, 1, G.UNIT_TENTH, 1000);
102
- camera.position.z = 400;
103
- const renderer = new THREE.WebGLRenderer({ antialias: true });
104
- renderer.setSize(600, 600);
105
- renderer.domElement.style.position = 'fixed';
106
- renderer.domElement.style.left = '50vw';
107
- renderer.domElement.style.top = '50vh';
108
- renderer.domElement.style.transform = 'translate(-50%,-50%)';
109
- renderer.domElement.style.zIndex = '10060';
110
- document.body.appendChild(renderer.domElement);
111
-
112
- // 2. Create 9 nodes in a 3x3 grid
113
- const nodes: { mesh: THREE.Mesh, overlay: HTMLElement, disposer: (() => void) | null }[] = [];
114
- for (let i = 0; i < modules.length; i++) {
115
- const geometry = new THREE.SphereGeometry(40, 32, 32);
116
- const material = new THREE.MeshBasicMaterial({ color: 0x222244 });
117
- const mesh = new THREE.Mesh(geometry, material);
118
- // Arrange in a 3x3 grid
119
- const x = ((i % 3) - 1) * 140;
120
- const y = (floor(i / 3) - 1) * 140;
121
- mesh.position.set(x, y, 0);
122
- scene.add(mesh);
123
-
124
- // Overlay for analytic/metaphysical info
125
- const overlay = document.createElement('div');
126
- overlay.style.position = 'fixed';
127
- overlay.style.left = `calc(50vw + ${x}px + 60px)`;
128
- overlay.style.top = `calc(50vh + ${y}px - 40px)`;
129
- overlay.style.zIndex = '10061';
130
- overlay.style.background = 'rgba(32,32,64,0.92)';
131
- overlay.style.color = '#fff';
132
- overlay.style.padding = '8px';
133
- overlay.style.borderRadius = '8px';
134
- overlay.style.fontFamily = 'monospace';
135
- overlay.style.minWidth = '120px';
136
- overlay.style.display = i === activeDimension ? 'block' : 'none';
137
- document.body.appendChild(overlay);
138
-
139
- nodes.push({ mesh, overlay, disposer: null });
140
- }
141
-
142
- // 3. Start each module’s stream and render to mesh/overlay
143
- modules.forEach((mod, i) => {
144
- nodes[i].disposer = mod.start((frame: any) => {
145
- mod.render3D(frame, nodes[i].mesh, nodes[i].overlay);
146
- nodes[i].overlay.style.display = i === activeDimension ? 'block' : 'none';
147
- (nodes[i].mesh.material as THREE.MeshBasicMaterial).color.set(i === activeDimension ? 0x00ffff : 0x222244);
148
- });
149
- });
150
-
151
- // 4. Navigation controls
152
- document.addEventListener('keydown', (e) => {
153
- if (e.key === 'ArrowRight') {
154
- activeDimension = (activeDimension + 1) % modules.length;
155
- } else if (e.key === 'ArrowLeft') {
156
- activeDimension = (activeDimension + modules.length - 1) % modules.length;
157
- }
158
- nodes.forEach((n, i) => {
159
- n.overlay.style.display = i === activeDimension ? 'block' : 'none';
160
- (n.mesh.material as THREE.MeshBasicMaterial).color.set(i === activeDimension ? 0x00ffff : 0x222244);
161
- });
162
- });
163
-
164
- // 5. Animation loop
165
- function animate() {
166
- requestAnimationFrame(animate);
167
- renderer.render(scene, camera);
168
- }
169
- animate();
170
-
171
- // 6. Cleanup function
172
- return () => {
173
- renderer.domElement.remove();
174
- nodes.forEach(n => {
175
- n.overlay.remove();
176
- if (n.disposer) n.disposer();
177
- });
178
- };
179
- }
@@ -1,96 +0,0 @@
1
- /**
2
- * a432.adapters.ts — Public-domain adapters exposing immutable snapshots of sacred streams.
3
- * -----------------------------------------------------------------------------------------
4
- * All functions are pure; they create read-only data derived from the living A432 streams
5
- * without leaking mutable references. External software can visualise or sonify these
6
- * snapshots while the streams themselves remain under A432 control.
7
- */
8
-
9
- import { PI, abs, cos, floor, sin } from './a432.algebra.ts'
10
- import { VBM_DOUBLING, sequenceToAngles, VBM_TESLA_FREQUENCIES, VBM_SHOCK_WAVE } from './a432.vbm.math.ts';
11
-
12
- interface Vec3 { x: number; y: number; z: number; }
13
-
14
- function dr(n: number): number { let x=abs(n); while(x>=10) x=String(x).split('').reduce((a,c)=>a+Number(c),0); return x; }
15
-
16
- function generateRodinCoilPath(cycles: number, stepHeight=1, radius=1): Vec3[] {
17
- const seq:number[]=[]; for(let c=0;c<cycles;c++) seq.push(...VBM_DOUBLING);
18
- return seq.map((d,i)=>{
19
- const ang=sequenceToAngles([d])[0]*PI/180;
20
- const r=radius*(dr(d)/9);
21
- return {x:r*cos(ang), y:i*stepHeight, z:r*sin(ang)};
22
- });
23
- }
24
-
25
- function getTeslaFrequency(timeMs:number):number{
26
- return VBM_TESLA_FREQUENCIES[floor(timeMs/1000)%VBM_TESLA_FREQUENCIES.length];
27
- }
28
-
29
- function getTrinityTorusSegments(){
30
- return [3,6,9].map(d=>({startAngle:sequenceToAngles([d])[0],endAngle:sequenceToAngles([d])[0]+120,color:'#fff'}));
31
- }
32
-
33
- // ——————————————————————————————————————————
34
- // 1. Geometry snapshot helpers (WebGL/WebGPU)
35
- // ---------------------------------------------------------
36
- export interface RodinSnapshot {
37
- vertices: readonly Vec3[];
38
- indices: readonly number[]; // simple line strip indices
39
- }
40
-
41
- export function getRodinSnapshot(cycles = 3): RodinSnapshot {
42
- const verts = generateRodinCoilPath(cycles);
43
- const indices = verts.map((_, i) => i);
44
- return { vertices: verts, indices };
45
- }
46
-
47
- export const TrinityTorusSnapshot = Object.freeze(getTrinityTorusSegments());
48
-
49
- // ——————————————————————————————————————————
50
- // 2. Audio snapshot helper (Web Audio API)
51
- // ---------------------------------------------------------
52
- export function generateSineBuffer(freq: number, seconds: number, sampleRate = 48000): Float32Array {
53
- const len = floor(seconds * sampleRate);
54
- const buf = new Float32Array(len);
55
- const omega = 2 * PI * freq / sampleRate;
56
- for (let i = 0; i < len; i++) buf[i] = sin(i * omega);
57
- return buf;
58
- }
59
-
60
- export function getTeslaPulseBuffer(seconds = 1, sampleRate = 48000): Float32Array {
61
- const freq = getTeslaFrequency(Date.now());
62
- return generateSineBuffer(freq, seconds, sampleRate);
63
- }
64
-
65
- // ——————————————————————————————————————————
66
- // 3. Shock-wave pulse values (UI opacity/scale)
67
- // ---------------------------------------------------------
68
- export function shockWaveSnapshot(length = 30): readonly number[] {
69
- return VBM_SHOCK_WAVE(length).map(d => d / 9);
70
- }
71
-
72
- // ——————————————————————————————————————————
73
- // 4. Snapshot serialization (base64-json) — immutable
74
- // ---------------------------------------------------------
75
- export interface A432Snapshot {
76
- timestamp: number;
77
- rodin: RodinSnapshot;
78
- teslaFreq: number;
79
- shock: readonly number[];
80
- }
81
-
82
- export function exportSnapshot(cycles = 3, shockLen = 30): string {
83
- const snap: A432Snapshot = {
84
- timestamp: Date.now(),
85
- rodin: getRodinSnapshot(cycles),
86
- teslaFreq: getTeslaFrequency(Date.now()),
87
- shock: shockWaveSnapshot(shockLen),
88
- };
89
- const json = JSON.stringify(snap);
90
- return Buffer.from(json, 'utf8').toString('base64');
91
- }
92
-
93
- export function importSnapshot(b64: string): A432Snapshot {
94
- const json = Buffer.from(b64, 'base64').toString('utf8');
95
- return JSON.parse(json) as A432Snapshot;
96
- }