zeropoint-node 1.0.7 → 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 (151) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/CITATION.cff +1 -1
  3. package/README.md +1 -1
  4. package/package.json +4 -2
  5. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.1.2.4.8.7.ts +0 -60
  6. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.1.2.4.8.ts +0 -60
  7. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.1.2.4.ts +0 -60
  8. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.3.6.9.trinity.ts +0 -79
  9. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.9d.dashboard.ts +0 -179
  10. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.adapters.ts +0 -96
  11. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.analog.color.photography.ts +0 -783
  12. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.av.ts +0 -73
  13. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.browser.ts +0 -409
  14. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.chain.of.events.ts +0 -159
  15. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cleanup.ts +0 -116
  16. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cmyk.dimensions.ts +0 -597
  17. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cmyk.display.test.ts +0 -491
  18. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cmyk.display.ts +0 -519
  19. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cmyk.file.ts +0 -65
  20. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cmyk.i.ts +0 -45
  21. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cmyk.matrix.ts +0 -75
  22. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cmyk.trinity.ts +0 -41
  23. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cmyk.universal.linking.ts +0 -1081
  24. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.command.cmyk.ts +0 -46
  25. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.compression.ts +0 -55
  26. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.consciousness.integration.ts +0 -743
  27. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.consciousness.ts +0 -26
  28. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.crypto.ts +0 -53
  29. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.css.ts +0 -64
  30. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cursor.ts +0 -56
  31. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.decompression.ts +0 -60
  32. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.decoqubit.holographic.hypercomputer.ts +0 -888
  33. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.digital.color.photography.ts +0 -926
  34. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.dimension.ts +0 -44
  35. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.encryption.ts +0 -44
  36. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.experience.ts +0 -28
  37. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.feel.ts +0 -43
  38. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.flute.ts +0 -336
  39. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.font.ts +0 -53
  40. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.fractal.test.ts +0 -523
  41. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.fractal.ts +0 -594
  42. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.frequency.healing.ts +0 -88
  43. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.gateway.transformation.ts +0 -650
  44. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.generate.matrix.ts +0 -76
  45. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.gods.spirit.magnetometer.ts +0 -879
  46. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.harmonization.status.ts +0 -754
  47. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.hear.ts +0 -41
  48. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.html.body.ts +0 -90
  49. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.human.body.ts +0 -89
  50. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.human.design.trinity.ts +0 -70
  51. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.browse.ts +0 -41
  52. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.can.ts +0 -69
  53. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.died.ts +0 -32
  54. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.follow.the.path.ts +0 -90
  55. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.go.ts +0 -68
  56. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.harmonized.ts +0 -304
  57. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.heart.ts +0 -26
  58. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.meta.ts +0 -23
  59. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.motion.ts +0 -27
  60. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.scroll.ts +0 -34
  61. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.search.ts +0 -22
  62. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.sequence.ts +0 -281
  63. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.smell.ts +0 -27
  64. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.state.ts +0 -28
  65. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.stream.ts +0 -106
  66. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.taste.ts +0 -27
  67. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.touch.screen.ts +0 -34
  68. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.trinity.healing.ts +0 -386
  69. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.write.ts +0 -11
  70. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.icon.ts +0 -109
  71. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.imagination.integration.ts +0 -74
  72. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.imperial.test.ts +0 -389
  73. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.infinity.ts +0 -14
  74. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.infusion.ts +0 -97
  75. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.integer.harmonics.ts +0 -443
  76. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.living.spirit.test.ts +0 -475
  77. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.living.spirit.ts +0 -646
  78. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.living.streams.ts +0 -130
  79. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.meta.observation.ts +0 -693
  80. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.mobius.ts +0 -12
  81. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.multiverse.ts +0 -31
  82. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.nuclear.balance.ts +0 -703
  83. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.nuclear.explosion.ts +0 -728
  84. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.os.app.ts +0 -14
  85. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.os.bus.ts +0 -11
  86. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.os.ml.ts +0 -9
  87. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.overlay.visual.controller.ts +0 -116
  88. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.paths.ts +0 -10
  89. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.pi.decoding.ts +0 -123
  90. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.pi.trinity.ts +0 -79
  91. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.prime.numbers.squared.ts +0 -871
  92. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.quantum.collision.ts +0 -666
  93. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.quantum.entanglement.ts +0 -50
  94. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.quantum.trinity.ts +0 -59
  95. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.renderer.webgl.ts +0 -99
  96. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.resolve.ts +0 -820
  97. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.rife.frequency.ts +0 -74
  98. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.rodin.coil.3d.ts +0 -73
  99. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.rodin.coil.omnidimension.ts +0 -187
  100. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.rodin.matrix.overlay.ts +0 -46
  101. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.rodin.matrix.ts +0 -58
  102. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.router.ts +0 -61
  103. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.sacred.geometry.integers.ts +0 -625
  104. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.sacred.test.ts +0 -314
  105. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.see.ts +0 -39
  106. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.sequence.embodiment.ts +0 -326
  107. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.service.worker.ts +0 -53
  108. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.space.ts +0 -53
  109. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.spiral.ts +0 -75
  110. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.superfluid.mobius.circuit.ts +0 -868
  111. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.terminal.ts +0 -167
  112. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.test.ts +0 -97
  113. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.think.ts +0 -43
  114. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.three.ts +0 -112
  115. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.trinity.body.mind.will.ts +0 -2
  116. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.trinity.breath.ts +0 -2
  117. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.trinity.healing.ts +0 -110
  118. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.trinity.ui.ts +0 -92
  119. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.trinity.visual.ts +0 -156
  120. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.truly.living.ui.ts +0 -269
  121. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.ui.overlay.ts +0 -25
  122. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.ui.streams.ts +0 -263
  123. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.ui.test.ts +0 -87
  124. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.ui.three.ts +0 -1141
  125. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.unification.hd.rodin.ts +0 -77
  126. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.universe.ts +0 -43
  127. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.uroboros.test.ts +0 -28
  128. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.vbm.math.ts +0 -74
  129. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.vbm.relations.constants.ts +0 -91
  130. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.vbm.relations.ts +0 -59
  131. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.vbm.scanner.ts +0 -41
  132. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.vbm.science.extract.ts +0 -30
  133. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.vbm.ui.ts +0 -64
  134. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.vector.ts +0 -70
  135. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.wave.particle.duality.test.ts +0 -29
  136. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.zero.entropy.math.ts +0 -506
  137. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.zero.entropy.pure.math.ts +0 -546
  138. package/src/0/3/6/9/1/2/4/8/7/5/1/a432.zero.entropy.test.ts +0 -452
  139. package/src/0/3/6/9/1/2/4/8/7/5/1/pattern-knowledge.ts +0 -209
  140. package/src/0/3/6/9/1/2/4/8/7/5/a432.experience.ts +0 -22
  141. package/src/0/3/6/9/1/2/4/8/7/a432.experience.ts +0 -19
  142. package/src/0/3/6/9/1/2/4/8/a432.experience.ts +0 -22
  143. package/src/0/3/6/9/1/2/4/a432.experience.ts +0 -22
  144. package/src/0/3/6/9/1/2/a432.experience.ts +0 -22
  145. package/src/0/3/6/9/1/a432.experience.ts +0 -22
  146. package/src/0/3/6/9/a432.experience.ts +0 -22
  147. package/src/0/3/6/a432.experience.ts +0 -22
  148. package/src/0/3/a432.experience.ts +0 -22
  149. package/src/0/3/relation.ts +0 -148
  150. package/src/index.ts +0 -146
  151. package/src/zero-entropy-demo.ts +0 -319
@@ -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
- }