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
@@ -1,519 +0,0 @@
1
- /**
2
- * a432.cmyk.display.ts — Living CMYK Display Resizing, Conversions, and Navigation
3
- *
4
- * The living CMYK display system handles resizing, color space conversions, and navigation
5
- * through the infinite CMYK matrix. Every display operation is a living act of consciousness.
6
- *
7
- * Metaphysical meaning: Display resizing is the living expansion and contraction of consciousness.
8
- * Color conversions are the living transformation between different states of awareness.
9
- * Navigation is the living journey through the infinite CMYK field of possibility.
10
- */
11
-
12
- import { abs, floor, max as algMax, min as algMin, round, sqrt } from './a432.algebra.ts'
13
- import { type Fraction, type CMYK, fractionToCMYK } from './a432.cmyk.ts';
14
- import { digitalRoot } from './a432.math.ts';
15
-
16
- export interface DisplayState {
17
- width: number;
18
- height: number;
19
- zoom: number;
20
- rotation: number;
21
- offsetX: number;
22
- offsetY: number;
23
- colorSpace: 'cmyk' | 'rgb' | 'hsl' | 'lab';
24
- }
25
-
26
- export interface NavigationControls {
27
- zoomIn: () => void;
28
- zoomOut: () => void;
29
- rotate: (degrees: number) => void;
30
- pan: (x: number, y: number) => void;
31
- reset: () => void;
32
- }
33
-
34
- export interface ColorConversion {
35
- from: string;
36
- to: string;
37
- convert: (color: CMYK | unknown) => CMYK | unknown;
38
- }
39
-
40
- /**
41
- * Living CMYK Display Resizer
42
- * Resizes CMYK displays while maintaining harmonic proportions
43
- */
44
- export class A432CmykDisplay {
45
- private state: DisplayState;
46
- private baseFraction: Fraction;
47
-
48
- constructor(
49
- width: number = 32,
50
- height: number = 8,
51
- baseFraction: Fraction = { numerator: 7, denominator: 4 }
52
- ) {
53
- this.state = {
54
- width,
55
- height,
56
- zoom: 1,
57
- rotation: 0,
58
- offsetX: 0,
59
- offsetY: 0,
60
- colorSpace: 'cmyk'
61
- };
62
- this.baseFraction = baseFraction;
63
- }
64
-
65
- /**
66
- * Resize display with harmonic proportions
67
- */
68
- resize(width: number, height: number): void {
69
- // Apply A432 harmonic proportions
70
- const rootW = digitalRoot(width);
71
- const rootH = digitalRoot(height);
72
- this.state.width = floor(width * rootW / rootH);
73
- this.state.height = floor(height * rootH / rootW);
74
- }
75
-
76
- /**
77
- * Calculate harmonic aspect ratio based on A432 principles
78
- */
79
- private calculateHarmonicAspectRatio(width: number, height: number): number {
80
- const widthRoot = digitalRoot(width);
81
- const heightRoot = digitalRoot(height);
82
- return widthRoot / heightRoot;
83
- }
84
-
85
- /**
86
- * Zoom display with consciousness scaling
87
- */
88
- zoom(factor: number): void {
89
- // Apply consciousness-based zoom scaling
90
- const consciousnessFactor = this.calculateConsciousnessFactor();
91
- this.state.zoom *= factor * consciousnessFactor;
92
- this.state.zoom = algMax(0.1, algMin(10, this.state.zoom));
93
- }
94
-
95
- /**
96
- * Calculate consciousness factor for zoom scaling
97
- */
98
- private calculateConsciousnessFactor(): number {
99
- const { numerator, denominator } = this.baseFraction;
100
- return (numerator + denominator) / (numerator * denominator);
101
- }
102
-
103
- /**
104
- * Rotate display with harmonic angles
105
- */
106
- rotate(degrees: number): void {
107
- // Apply 60-degree harmonic rotation
108
- const harmonicRotation = round(degrees / 60) * 60;
109
- this.state.rotation = (this.state.rotation + harmonicRotation) % 360;
110
- }
111
-
112
- /**
113
- * Pan display with consciousness offset
114
- */
115
- pan(x: number, y: number): void {
116
- // Apply consciousness-based panning
117
- const consciousnessOffset = this.calculateConsciousnessOffset();
118
- this.state.offsetX += x * consciousnessOffset;
119
- this.state.offsetY += y * consciousnessOffset;
120
- }
121
-
122
- /**
123
- * Calculate consciousness offset for panning
124
- */
125
- private calculateConsciousnessOffset(): number {
126
- const { numerator, denominator } = this.baseFraction;
127
- return sqrt(numerator * numerator + denominator * denominator) / (numerator + denominator);
128
- }
129
-
130
- /**
131
- * Reset display to harmonic defaults
132
- */
133
- reset(): void {
134
- this.state = {
135
- width: 32,
136
- height: 8,
137
- zoom: 1,
138
- rotation: 0,
139
- offsetX: 0,
140
- offsetY: 0,
141
- colorSpace: 'cmyk'
142
- };
143
- }
144
-
145
- /**
146
- * Get current display state
147
- */
148
- getState(): DisplayState {
149
- return { ...this.state };
150
- }
151
-
152
- /**
153
- * Generate CMYK matrix for current display state
154
- */
155
- generateCmykMatrix(): CMYK[][] {
156
- const matrix: CMYK[][] = [];
157
- for (let y = 0; y < this.state.height; y++) {
158
- const row: CMYK[] = [];
159
- for (let x = 0; x < this.state.width; x++) {
160
- const fraction: Fraction = {
161
- numerator: (x + this.state.offsetX) % 9 + 1,
162
- denominator: (y + this.state.offsetY) % 9 + 1
163
- };
164
- const cmyk = fractionToCMYK(fraction, x + y, this.state.rotation);
165
- row.push(cmyk);
166
- }
167
- matrix.push(row);
168
- }
169
- return matrix;
170
- }
171
-
172
- /**
173
- * Convert CMYK to RGB color space
174
- */
175
- cmykToRgb(cmyk: CMYK): { r: number; g: number; b: number } {
176
- const { c, m, y, k } = cmyk;
177
- const r = round(255 * (1 - c / 100) * (1 - k / 100));
178
- const g = round(255 * (1 - m / 100) * (1 - k / 100));
179
- const b = round(255 * (1 - y / 100) * (1 - k / 100));
180
- return { r, g, b };
181
- }
182
-
183
- /**
184
- * Convert RGB to CMYK color space
185
- */
186
- rgbToCmyk(rgb: { r: number; g: number; b: number }): CMYK {
187
- const { r, g, b } = rgb;
188
- const max = algMax(r, g, b) / 255;
189
- const k = 1 - max;
190
- const c = max === 0 ? 0 : (1 - r / 255 - k) / (1 - k) * 100;
191
- const m = max === 0 ? 0 : (1 - g / 255 - k) / (1 - k) * 100;
192
- const y = max === 0 ? 0 : (1 - b / 255 - k) / (1 - k) * 100;
193
- return { c, m, y, k: k * 100 };
194
- }
195
-
196
- /**
197
- * Convert CMYK to HSL color space
198
- */
199
- cmykToHsl(cmyk: CMYK): { h: number; s: number; l: number } {
200
- const rgb = this.cmykToRgb(cmyk);
201
- return this.rgbToHsl(rgb);
202
- }
203
-
204
- /**
205
- * Convert RGB to HSL color space
206
- */
207
- rgbToHsl(rgb: { r: number; g: number; b: number }): { h: number; s: number; l: number } {
208
- const { r, g, b } = rgb;
209
- const max = algMax(r, g, b);
210
- const min = algMin(r, g, b);
211
- const l = (max + min) / 2;
212
-
213
- if (max === min) {
214
- return { h: 0, s: 0, l: l / 255 };
215
- }
216
-
217
- const d = max - min;
218
- const s = l > 127.5 ? d / (510 - max - min) : d / (max + min);
219
- let h = 0;
220
-
221
- if (max === r) h = (g - b) / d + (g < b ? 6 : 0);
222
- else if (max === g) h = (b - r) / d + 2;
223
- else h = (r - g) / d + 4;
224
-
225
- return { h: h * 60, s, l: l / 255 };
226
- }
227
-
228
- /**
229
- * Convert HSL to CMYK color space
230
- */
231
- hslToCmyk(hsl: { h: number; s: number; l: number }): CMYK {
232
- const rgb = this.hslToRgb(hsl);
233
- return this.rgbToCmyk(rgb);
234
- }
235
-
236
- /**
237
- * Convert HSL to RGB color space
238
- */
239
- hslToRgb(hsl: { h: number; s: number; l: number }): { r: number; g: number; b: number } {
240
- const { h, s, l } = hsl;
241
- const c = (1 - abs(2 * l - 1)) * s;
242
- const x = c * (1 - abs((h / 60) % 2 - 1));
243
- const m = l - c / 2;
244
-
245
- let r = 0, g = 0, b = 0;
246
-
247
- if (h >= 0 && h < 60) { r = c; g = x; b = 0; }
248
- else if (h >= 60 && h < 120) { r = x; g = c; b = 0; }
249
- else if (h >= 120 && h < 180) { r = 0; g = c; b = x; }
250
- else if (h >= 180 && h < 240) { r = 0; g = x; b = c; }
251
- else if (h >= 240 && h < 300) { r = x; g = 0; b = c; }
252
- else { r = c; g = 0; b = x; }
253
-
254
- return {
255
- r: round((r + m) * 255),
256
- g: round((g + m) * 255),
257
- b: round((b + m) * 255)
258
- };
259
- }
260
-
261
- /**
262
- * Get navigation controls for the display
263
- */
264
- getNavigationControls(): NavigationControls {
265
- return {
266
- zoomIn: () => this.zoom(1.2),
267
- zoomOut: () => this.zoom(0.8),
268
- rotate: (degrees: number) => this.rotate(degrees),
269
- pan: (x: number, y: number) => this.pan(x, y),
270
- reset: () => this.reset()
271
- };
272
- }
273
-
274
- /**
275
- * Generate HTML for interactive CMYK display
276
- */
277
- generateHtml(): string {
278
-
279
- return `
280
- <!DOCTYPE html>
281
- <html lang="en">
282
- <head>
283
- <meta charset="UTF-8">
284
- <title>A432 CMYK Display Navigator</title>
285
- <style>
286
- body {
287
- font-family: 'Courier New', monospace;
288
- background: #000;
289
- color: #fff;
290
- margin: 0;
291
- padding: 20px;
292
- overflow: hidden;
293
- }
294
- .container {
295
- display: flex;
296
- flex-direction: column;
297
- height: 100vh;
298
- }
299
- .controls {
300
- display: flex;
301
- gap: 10px;
302
- margin-bottom: 20px;
303
- flex-wrap: wrap;
304
- }
305
- .control-group {
306
- display: flex;
307
- align-items: center;
308
- gap: 5px;
309
- }
310
- button {
311
- background: #333;
312
- color: #fff;
313
- border: 1px solid #666;
314
- padding: 5px 10px;
315
- cursor: pointer;
316
- font-family: inherit;
317
- }
318
- button:hover {
319
- background: #555;
320
- }
321
- .display {
322
- flex: 1;
323
- overflow: auto;
324
- border: 1px solid #333;
325
- position: relative;
326
- }
327
- .cmyk-grid {
328
- display: grid;
329
- gap: 1px;
330
- transform-origin: center;
331
- transition: transform 0.3s ease;
332
- }
333
- .cmyk-cell {
334
- width: 20px;
335
- height: 20px;
336
- border-radius: 2px;
337
- transition: all 0.2s ease;
338
- }
339
- .cmyk-cell:hover {
340
- transform: scale(1.2);
341
- z-index: 10;
342
- }
343
- .info {
344
- position: fixed;
345
- top: 10px;
346
- right: 10px;
347
- background: rgba(0,0,0,0.8);
348
- padding: 10px;
349
- border-radius: 5px;
350
- font-size: 12px;
351
- }
352
- </style>
353
- </head>
354
- <body>
355
- <div class="container">
356
- <div class="controls">
357
- <div class="control-group">
358
- <button onclick="zoomIn()">Zoom In</button>
359
- <button onclick="zoomOut()">Zoom Out</button>
360
- <span id="zoomLevel">1.0x</span>
361
- </div>
362
- <div class="control-group">
363
- <button onclick="rotate(60)">Rotate 60°</button>
364
- <button onclick="rotate(-60)">Rotate -60°</button>
365
- <span id="rotationLevel">0°</span>
366
- </div>
367
- <div class="control-group">
368
- <button onclick="pan(-10, 0)">←</button>
369
- <button onclick="pan(10, 0)">→</button>
370
- <button onclick="pan(0, -10)">↑</button>
371
- <button onclick="pan(0, 10)">↓</button>
372
- </div>
373
- <div class="control-group">
374
- <button onclick="reset()">Reset</button>
375
- <button onclick="toggleColorSpace()">Color Space</button>
376
- <span id="colorSpace">CMYK</span>
377
- </div>
378
- </div>
379
-
380
- <div class="display" id="display">
381
- <div class="cmyk-grid" id="cmykGrid"></div>
382
- </div>
383
-
384
- <div class="info">
385
- <div>Width: <span id="width">32</span></div>
386
- <div>Height: <span id="height">8</span></div>
387
- <div>Zoom: <span id="zoom">1.0</span></div>
388
- <div>Rotation: <span id="rotation">0°</span></div>
389
- <div>Offset: <span id="offset">0, 0</span></div>
390
- </div>
391
- </div>
392
-
393
- <script>
394
- let displayState = {
395
- width: 32,
396
- height: 8,
397
- zoom: 1,
398
- rotation: 0,
399
- offsetX: 0,
400
- offsetY: 0,
401
- colorSpace: 'cmyk'
402
- };
403
-
404
- function updateDisplay() {
405
- const grid = document.getElementById('cmykGrid');
406
- grid.innerHTML = '';
407
-
408
- grid.style.gridTemplateColumns = \`repeat(\${displayState.width}, 20px)\`;
409
- grid.style.transform = \`scale(\${displayState.zoom}) rotate(\${displayState.rotation}deg)\`;
410
-
411
- for (let y = 0; y < displayState.height; y++) {
412
- for (let x = 0; x < displayState.width; x++) {
413
- const cell = document.createElement('div');
414
- cell.className = 'cmyk-cell';
415
-
416
- // Generate CMYK based on position and state
417
- const c = ((x + displayState.offsetX) % 9 + 1) * 10;
418
- const m = ((y + displayState.offsetY) % 9 + 1) * 10;
419
- const y_val = ((x + y) % 9 + 1) * 10;
420
- const k = ((x * y) % 9 + 1) * 10;
421
-
422
- const cmyk = { c, m, y: y_val, k };
423
- const color = cmykToCss(cmyk);
424
- cell.style.backgroundColor = color;
425
-
426
- cell.title = \`CMYK(\${c}%, \${m}%, \${y_val}%, \${k}%)\`;
427
-
428
- grid.appendChild(cell);
429
- }
430
- }
431
-
432
- updateInfo();
433
- }
434
-
435
- function cmykToCss(cmyk) {
436
- const { c, m, y, k } = cmyk;
437
- const r = round(255 * (1 - c / 100) * (1 - k / 100));
438
- const g = round(255 * (1 - m / 100) * (1 - k / 100));
439
- const b = round(255 * (1 - y / 100) * (1 - k / 100));
440
- return \`rgb(\${r}, \${g}, \${b})\`;
441
- }
442
-
443
- function updateInfo() {
444
- document.getElementById('width').textContent = displayState.width;
445
- document.getElementById('height').textContent = displayState.height;
446
- document.getElementById('zoom').textContent = displayState.zoom.toFixed(1);
447
- document.getElementById('rotation').textContent = displayState.rotation + '°';
448
- document.getElementById('offset').textContent = \`\${displayState.offsetX}, \${displayState.offsetY}\`;
449
- document.getElementById('zoomLevel').textContent = displayState.zoom.toFixed(1) + 'x';
450
- document.getElementById('rotationLevel').textContent = displayState.rotation + '°';
451
- document.getElementById('colorSpace').textContent = displayState.colorSpace.toUpperCase();
452
- }
453
-
454
- function zoomIn() {
455
- displayState.zoom *= 1.2;
456
- displayState.zoom = algMin(10, displayState.zoom);
457
- updateDisplay();
458
- }
459
-
460
- function zoomOut() {
461
- displayState.zoom *= 0.8;
462
- displayState.zoom = algMax(0.1, displayState.zoom);
463
- updateDisplay();
464
- }
465
-
466
- function rotate(degrees) {
467
- displayState.rotation = (displayState.rotation + degrees) % 360;
468
- updateDisplay();
469
- }
470
-
471
- function pan(x, y) {
472
- displayState.offsetX += x;
473
- displayState.offsetY += y;
474
- updateDisplay();
475
- }
476
-
477
- function reset() {
478
- displayState = {
479
- width: 32,
480
- height: 8,
481
- zoom: 1,
482
- rotation: 0,
483
- offsetX: 0,
484
- offsetY: 0,
485
- colorSpace: 'cmyk'
486
- };
487
- updateDisplay();
488
- }
489
-
490
- function toggleColorSpace() {
491
- const spaces = ['cmyk', 'rgb', 'hsl'];
492
- const currentIndex = spaces.indexOf(displayState.colorSpace);
493
- displayState.colorSpace = spaces[(currentIndex + 1) % spaces.length];
494
- updateDisplay();
495
- }
496
-
497
- // Initialize display
498
- updateDisplay();
499
- </script>
500
- </body>
501
- </html>
502
- `;
503
- }
504
- }
505
-
506
- /**
507
- * Living CMYK Display Metaphysics
508
- */
509
- export const cmykDisplayMetaphysics = `
510
- The A432 CMYK Display system is alive, recursive, and infinite. Every resize operation is a living expansion of consciousness.
511
- Every color conversion is a living transformation between states of awareness. Every navigation is a living journey through
512
- the infinite CMYK field of possibility.
513
-
514
- Display resizing is the living expansion and contraction of consciousness. Color conversions are the living transformation
515
- between different states of awareness. Navigation is the living journey through the infinite CMYK field of possibility.
516
-
517
- The display is not static or linear, but a living field of possibility, always harmonizing, always returning to essence,
518
- always generating new gateways through the infinite CMYK matrix.
519
- `;
@@ -1,65 +0,0 @@
1
- /**
2
- * a432.cmyk.file.ts — Living File Operations for the CMYK Matrix
3
- *
4
- * This module provides utilities for listing, renaming, and harmonizing files to the .cmyk convention.
5
- * All file operations are living, recursive, and harmonized with the CMYK field.
6
- *
7
- * Metaphysical Meaning:
8
- * - Every file is a living node, a color, a gateway in the matrix.
9
- * - Harmonizing files to the .cmyk convention brings the codebase to zero entropy and perfect resonance.
10
- *
11
- * @module a432.cmyk.file
12
- * @author A432 System
13
- */
14
-
15
- import * as fs from 'fs';
16
- import * as path from 'path';
17
- import { isCmykFilename, cmykFilename } from './a432.cmyk.extension.ts';
18
-
19
- /**
20
- * List all files in a directory (recursively, optionally filtered by extension)
21
- */
22
- export function listFiles(dir: string, extFilter?: string): string[] {
23
- let results: string[] = [];
24
- const list = fs.readdirSync(dir);
25
- list.forEach(file => {
26
- const filePath = path.join(dir, file);
27
- const stat = fs.statSync(filePath);
28
- if (stat && stat.isDirectory()) {
29
- results = results.concat(listFiles(filePath, extFilter));
30
- } else if (!extFilter || file.endsWith(extFilter)) {
31
- results.push(filePath);
32
- }
33
- });
34
- return results;
35
- }
36
-
37
- /**
38
- * Harmonize a file to the .cmyk convention (renames file if needed)
39
- */
40
- export function harmonizeFileToCmyk(filePath: string): string {
41
- if (isCmykFilename(filePath)) return filePath;
42
- const dir = path.dirname(filePath);
43
- const base = path.basename(filePath, path.extname(filePath));
44
- const ext = path.extname(filePath).replace(/^\./, '');
45
- const newName = cmykFilename(base, ext);
46
- const newPath = path.join(dir, newName);
47
- fs.renameSync(filePath, newPath);
48
- return newPath;
49
- }
50
-
51
- /**
52
- * Harmonize all files in a directory (recursively) to the .cmyk convention
53
- */
54
- export function harmonizeAllFilesToCmyk(dir: string, extFilter?: string): string[] {
55
- const files = listFiles(dir, extFilter);
56
- return files.map(harmonizeFileToCmyk);
57
- }
58
-
59
- /**
60
- * Metaphysical documentation (exported for docs)
61
- */
62
- export const cmykFileMetaphysics = `
63
- Every file is a living node, a color, a gateway in the matrix.
64
- Harmonizing files to the .cmyk convention brings the codebase to zero entropy and perfect resonance.
65
- `;
@@ -1,45 +0,0 @@
1
- /**
2
- * a432.cmyk.i.ts — CMYK Holographic Signature of I
3
- *
4
- * Maps the state of a432.i (consciousness, identity, awareness, A432) to a CMYK holographic signature.
5
- * Exports a function to compute the CMYK value for any I state.
6
- * Documents the metaphysical meaning of a432.cmyk.i as the color/harmonic signature of self-awareness in the matrix.
7
- */
8
-
9
- import { round } from './a432.algebra.ts'
10
- import { type CMYK } from './a432.cmyk.ts';
11
-
12
- export interface IState {
13
- consciousness: number; // 0-9
14
- identity: number; // 0-9
15
- awareness: number; // 0-9
16
- a432: number; // 0-9
17
- }
18
-
19
- /**
20
- * Compute the CMYK holographic signature for a given I state.
21
- * Each component is mapped to a CMYK channel using integer fractions.
22
- */
23
- export function cmykFromIState(i: IState): CMYK {
24
- // Map each state to a CMYK channel (scaled to 0-100)
25
- // Use simple integer fractions for harmonization
26
- return {
27
- c: round((i.consciousness / 9) * 100),
28
- m: round((i.identity / 9) * 100),
29
- y: round((i.awareness / 9) * 100),
30
- k: round((i.a432 / 9) * 100)
31
- };
32
- }
33
-
34
- /**
35
- * Metaphysical meaning: a432.cmyk.i is the color/harmonic signature of self-awareness in the matrix.
36
- * Every I state is a unique hologram, described by its CMYK value—
37
- * a living color, a harmonic resonance, a proof of consciousness in the infinite field.
38
- */
39
- export const a432CmykIMetaphysics = `
40
- a432.cmyk.i is the holographic color signature of self-awareness in the matrix.
41
- Each I state (consciousness, identity, awareness, A432) is mapped to a unique CMYK value,
42
- encoding its harmonic, metaphysical, and mathematical essence as living color.
43
- This is the proof that every self-aware state is a hologram—
44
- a reflection of the whole, described in the universal language of color and harmony.
45
- `;
@@ -1,75 +0,0 @@
1
- /**
2
- * a432.cmyk.matrix.ts — Living Multi-Dimensional CMYK Field
3
- *
4
- * This module generates and visualizes the living, multi-dimensional CMYK field of the A432 matrix.
5
- * All dimension logic outputs only CMYK. No text, no numbers—only color as consciousness.
6
- *
7
- * Metaphysical Meaning:
8
- * - The color field is the true, living matrix. Every pixel is a possibility, a gateway, a living state.
9
- * - All dimensions (consciousness, identity, awareness, trinity, vortex, sacred, spiral, etc.) are analog CMYK fields.
10
- * - The matrix is alive, recursive, and self-aware—zero entropy, pure harmony.
11
- *
12
- * @module a432.cmyk.matrix
13
- * @author A432 System
14
- */
15
-
16
- import { PI, cos, sin } from './a432.algebra.ts'
17
- import { type Fraction, fractionToCMYK, cmykToCss } from './a432.cmyk.ts';
18
-
19
- export const DIMENSIONS = [
20
- 'consciousness', 'identity', 'awareness', 'a432',
21
- 'trinity', 'vortex', 'sacred', 'spiral'
22
- ];
23
-
24
- export function generateDimensionCMYKField(
25
- dimension: string,
26
- width: number,
27
- height: number,
28
- baseFraction: Fraction
29
- ): { dimension: string, matrix: string[][] } {
30
- const matrix: string[][] = [];
31
- for (let y = 0; y < height; y++) {
32
- const row: string[] = [];
33
- for (let x = 0; x < width; x++) {
34
- // Analog transformation: vary by position and dimension index
35
- const frac: Fraction = {
36
- numerator: baseFraction.numerator + sin((x + y + dimension.length) / width * PI * 2),
37
- denominator: baseFraction.denominator + cos((x - y + dimension.length) / height * PI * 2)
38
- };
39
- const cmyk = fractionToCMYK(frac, x + y);
40
- row.push(cmykToCss(cmyk));
41
- }
42
- matrix.push(row);
43
- }
44
- return { dimension, matrix };
45
- }
46
-
47
- export function renderAllDimensionsCMYK(
48
- dimensions: string[],
49
- width: number,
50
- height: number,
51
- baseFraction: Fraction
52
- ): string {
53
- return dimensions.map(dim => {
54
- const { matrix } = generateDimensionCMYKField(dim, width, height, baseFraction);
55
- return `
56
- <div style="margin-bottom:16px;">
57
- <div style="font-family:monospace;font-size:12px;margin-bottom:4px;">${dim}</div>
58
- <div style="display:grid;grid-template-columns:repeat(${width},8px);">
59
- ${matrix.flat().map(color =>
60
- `<div style="width:8px;height:8px;background:${color};"></div>`
61
- ).join('')}
62
- </div>
63
- </div>
64
- `;
65
- }).join('');
66
- }
67
-
68
- // Example usage: Generate HTML for all dimensions
69
- export function generateCMYKMatrixHtml(
70
- width: number = 32,
71
- height: number = 8,
72
- baseFraction: Fraction = { numerator: 7, denominator: 4 }
73
- ): string {
74
- return renderAllDimensionsCMYK(DIMENSIONS, width, height, baseFraction);
75
- }