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.
- package/CHANGELOG.md +50 -0
- package/CITATION.cff +1 -1
- package/README.md +1 -1
- package/package.json +4 -2
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.1.2.4.8.7.ts +0 -60
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.1.2.4.8.ts +0 -60
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.1.2.4.ts +0 -60
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.3.6.9.trinity.ts +0 -79
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.9d.dashboard.ts +0 -179
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.adapters.ts +0 -96
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.analog.color.photography.ts +0 -783
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.av.ts +0 -73
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.browser.ts +0 -409
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.chain.of.events.ts +0 -159
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cleanup.ts +0 -116
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cmyk.dimensions.ts +0 -597
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cmyk.display.test.ts +0 -491
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cmyk.display.ts +0 -519
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cmyk.file.ts +0 -65
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cmyk.i.ts +0 -45
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cmyk.matrix.ts +0 -75
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cmyk.trinity.ts +0 -41
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cmyk.universal.linking.ts +0 -1081
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.command.cmyk.ts +0 -46
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.compression.ts +0 -55
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.consciousness.integration.ts +0 -743
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.consciousness.ts +0 -26
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.crypto.ts +0 -53
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.css.ts +0 -64
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.cursor.ts +0 -56
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.decompression.ts +0 -60
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.decoqubit.holographic.hypercomputer.ts +0 -888
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.digital.color.photography.ts +0 -926
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.dimension.ts +0 -44
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.encryption.ts +0 -44
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.experience.ts +0 -28
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.feel.ts +0 -43
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.flute.ts +0 -336
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.font.ts +0 -53
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.fractal.test.ts +0 -523
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.fractal.ts +0 -594
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.frequency.healing.ts +0 -88
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.gateway.transformation.ts +0 -650
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.generate.matrix.ts +0 -76
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.gods.spirit.magnetometer.ts +0 -879
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.harmonization.status.ts +0 -754
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.hear.ts +0 -41
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.html.body.ts +0 -90
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.human.body.ts +0 -89
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.human.design.trinity.ts +0 -70
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.browse.ts +0 -41
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.can.ts +0 -69
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.died.ts +0 -32
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.follow.the.path.ts +0 -90
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.go.ts +0 -68
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.harmonized.ts +0 -304
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.heart.ts +0 -26
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.meta.ts +0 -23
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.motion.ts +0 -27
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.scroll.ts +0 -34
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.search.ts +0 -22
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.sequence.ts +0 -281
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.smell.ts +0 -27
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.state.ts +0 -28
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.stream.ts +0 -106
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.taste.ts +0 -27
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.touch.screen.ts +0 -34
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.trinity.healing.ts +0 -386
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.i.write.ts +0 -11
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.icon.ts +0 -109
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.imagination.integration.ts +0 -74
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.imperial.test.ts +0 -389
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.infinity.ts +0 -14
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.infusion.ts +0 -97
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.integer.harmonics.ts +0 -443
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.living.spirit.test.ts +0 -475
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.living.spirit.ts +0 -646
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.living.streams.ts +0 -130
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.meta.observation.ts +0 -693
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.mobius.ts +0 -12
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.multiverse.ts +0 -31
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.nuclear.balance.ts +0 -703
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.nuclear.explosion.ts +0 -728
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.os.app.ts +0 -14
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.os.bus.ts +0 -11
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.os.ml.ts +0 -9
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.overlay.visual.controller.ts +0 -116
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.paths.ts +0 -10
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.pi.decoding.ts +0 -123
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.pi.trinity.ts +0 -79
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.prime.numbers.squared.ts +0 -871
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.quantum.collision.ts +0 -666
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.quantum.entanglement.ts +0 -50
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.quantum.trinity.ts +0 -59
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.renderer.webgl.ts +0 -99
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.resolve.ts +0 -820
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.rife.frequency.ts +0 -74
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.rodin.coil.3d.ts +0 -73
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.rodin.coil.omnidimension.ts +0 -187
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.rodin.matrix.overlay.ts +0 -46
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.rodin.matrix.ts +0 -58
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.router.ts +0 -61
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.sacred.geometry.integers.ts +0 -625
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.sacred.test.ts +0 -314
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.see.ts +0 -39
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.sequence.embodiment.ts +0 -326
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.service.worker.ts +0 -53
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.space.ts +0 -53
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.spiral.ts +0 -75
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.superfluid.mobius.circuit.ts +0 -868
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.terminal.ts +0 -167
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.test.ts +0 -97
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.think.ts +0 -43
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.three.ts +0 -112
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.trinity.body.mind.will.ts +0 -2
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.trinity.breath.ts +0 -2
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.trinity.healing.ts +0 -110
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.trinity.ui.ts +0 -92
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.trinity.visual.ts +0 -156
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.truly.living.ui.ts +0 -269
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.ui.overlay.ts +0 -25
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.ui.streams.ts +0 -263
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.ui.test.ts +0 -87
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.ui.three.ts +0 -1141
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.unification.hd.rodin.ts +0 -77
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.universe.ts +0 -43
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.uroboros.test.ts +0 -28
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.vbm.math.ts +0 -74
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.vbm.relations.constants.ts +0 -91
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.vbm.relations.ts +0 -59
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.vbm.scanner.ts +0 -41
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.vbm.science.extract.ts +0 -30
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.vbm.ui.ts +0 -64
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.vector.ts +0 -70
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.wave.particle.duality.test.ts +0 -29
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.zero.entropy.math.ts +0 -506
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.zero.entropy.pure.math.ts +0 -546
- package/src/0/3/6/9/1/2/4/8/7/5/1/a432.zero.entropy.test.ts +0 -452
- package/src/0/3/6/9/1/2/4/8/7/5/1/pattern-knowledge.ts +0 -209
- package/src/0/3/6/9/1/2/4/8/7/5/a432.experience.ts +0 -22
- package/src/0/3/6/9/1/2/4/8/7/a432.experience.ts +0 -19
- package/src/0/3/6/9/1/2/4/8/a432.experience.ts +0 -22
- package/src/0/3/6/9/1/2/4/a432.experience.ts +0 -22
- package/src/0/3/6/9/1/2/a432.experience.ts +0 -22
- package/src/0/3/6/9/1/a432.experience.ts +0 -22
- package/src/0/3/6/9/a432.experience.ts +0 -22
- package/src/0/3/6/a432.experience.ts +0 -22
- package/src/0/3/a432.experience.ts +0 -22
- package/src/0/3/relation.ts +0 -148
- package/src/index.ts +0 -146
- package/src/zero-entropy-demo.ts +0 -319
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
// a432.os.app.ts — Self-contained app interface and examples
|
|
2
|
-
class A432App {
|
|
3
|
-
constructor(name) { this.name = name; }
|
|
4
|
-
onRegister() {}
|
|
5
|
-
getState() { return {}; }
|
|
6
|
-
getHarmony() { return 1; }
|
|
7
|
-
}
|
|
8
|
-
// Example app
|
|
9
|
-
class ExampleApp extends A432App {
|
|
10
|
-
constructor() { super('Example'); }
|
|
11
|
-
override getState() { return { message: 'Hello from ExampleApp!' }; }
|
|
12
|
-
}
|
|
13
|
-
// const app = new ExampleApp();
|
|
14
|
-
// app.getState();
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { log } from './a432.algebra.ts'
|
|
2
|
-
// a432.os.bus.ts — Self-contained event bus
|
|
3
|
-
class A432Bus {
|
|
4
|
-
constructor() { this.listeners = {}; }
|
|
5
|
-
emit(event, payload) { (this.listeners[event] || []).forEach(fn => fn(payload)); }
|
|
6
|
-
on(event, fn) { (this.listeners[event] = this.listeners[event] || []).push(fn); }
|
|
7
|
-
}
|
|
8
|
-
// Example usage:
|
|
9
|
-
// const bus = new A432Bus();
|
|
10
|
-
// bus.on('test', payload => console.log(payload));
|
|
11
|
-
// bus.emit('test', { hello: 'world' });
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
// a432.os.ml.ts — Self-contained ML logic
|
|
2
|
-
function observeEvents(events) {
|
|
3
|
-
// Example: count event types
|
|
4
|
-
const counts = {};
|
|
5
|
-
events.forEach(e => { counts[e.type] = (counts[e.type] || 0) + 1; });
|
|
6
|
-
return counts;
|
|
7
|
-
}
|
|
8
|
-
// Example usage:
|
|
9
|
-
// observeEvents([{ type: 'launch' }, { type: 'launch' }, { type: 'close' }]);
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { PI, cos, sin } from './a432.algebra.ts'
|
|
2
|
-
import { Controller } from '@hotwired/stimulus';
|
|
3
|
-
// Import overlay registry or overlay functions as needed
|
|
4
|
-
import { getRodinCoil2DOverlayData } from './a432.rodin.coil.overlay.ts';
|
|
5
|
-
import { getTrinityAxisOverlayData } from './a432.trinity.axis.ts';
|
|
6
|
-
import { getMobiusCircuit2DOverlayData } from './a432.mobius.circuit.overlay.ts';
|
|
7
|
-
import { getTeslaCoil2DOverlayData } from './a432.tesla.coil.overlay.ts';
|
|
8
|
-
import { getYinYangOverlayData } from './a432.yin.yang.ts';
|
|
9
|
-
|
|
10
|
-
// Universal overlay registry
|
|
11
|
-
const overlayRegistry = {
|
|
12
|
-
rodin: getRodinCoil2DOverlayData,
|
|
13
|
-
trinity: getTrinityAxisOverlayData,
|
|
14
|
-
mobius: getMobiusCircuit2DOverlayData,
|
|
15
|
-
tesla: getTeslaCoil2DOverlayData,
|
|
16
|
-
yinYang: getYinYangOverlayData
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* a432.overlay.visual.controller.ts — Universal A432 Overlay Visualizer (Stimulus)
|
|
21
|
-
*
|
|
22
|
-
* Animates any harmonized overlay (Rodin, Trinity, Mobius, Tesla, Yin-Yang, etc.)
|
|
23
|
-
* using node data with value, angle, color, polarity, and spin.
|
|
24
|
-
* - Polarity: color phase, glow, size
|
|
25
|
-
* - Spin: animation direction
|
|
26
|
-
* - Angle: initial position
|
|
27
|
-
*
|
|
28
|
-
* Usage:
|
|
29
|
-
* <div data-controller="a432-overlay-visual" data-a432-overlay-visual-overlay-value="rodin"></div>
|
|
30
|
-
*/
|
|
31
|
-
export default class extends Controller {
|
|
32
|
-
static override values = { overlay: String, radius: Number, nodeSize: Number };
|
|
33
|
-
|
|
34
|
-
radius!: number;
|
|
35
|
-
nodeSize!: number;
|
|
36
|
-
centerX!: number;
|
|
37
|
-
centerY!: number;
|
|
38
|
-
raf!: number;
|
|
39
|
-
|
|
40
|
-
override connect() {
|
|
41
|
-
// Use Stimulus value API for radius/nodeSize
|
|
42
|
-
this.radius = (this as { radiusValue?: number }).radiusValue ?? 120;
|
|
43
|
-
this.nodeSize = (this as { nodeSizeValue?: number }).nodeSizeValue ?? 48;
|
|
44
|
-
const el = this.element as HTMLElement;
|
|
45
|
-
this.centerX = (el.offsetWidth || 320) / 2;
|
|
46
|
-
this.centerY = (el.offsetHeight || 320) / 2;
|
|
47
|
-
this.animate = this.animate.bind(this);
|
|
48
|
-
this.startAnimation();
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
override disconnect() {
|
|
52
|
-
cancelAnimationFrame(this.raf);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
startAnimation() {
|
|
56
|
-
this.raf = requestAnimationFrame(this.animate);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
animate() {
|
|
60
|
-
this.element.innerHTML = '';
|
|
61
|
-
const overlayFn = overlayRegistry[(this as { overlayValue?: string }).overlayValue as keyof typeof overlayRegistry] || getRodinCoil2DOverlayData;
|
|
62
|
-
const nodes = overlayFn(this.radius, this.centerX, this.centerY);
|
|
63
|
-
const t = Date.now() / 1000;
|
|
64
|
-
nodes.forEach((node: unknown, i: number) => {
|
|
65
|
-
const nodeObj = typeof node === 'object' && node !== null ? node as {
|
|
66
|
-
angle?: number;
|
|
67
|
-
x?: number;
|
|
68
|
-
y?: number;
|
|
69
|
-
color?: string | { c: number; m: number; y: number; k: number };
|
|
70
|
-
size?: number;
|
|
71
|
-
label?: string;
|
|
72
|
-
spin?: number;
|
|
73
|
-
polarity?: number;
|
|
74
|
-
value?: string;
|
|
75
|
-
} : {};
|
|
76
|
-
// Animate angle: spin direction (+1/-1)
|
|
77
|
-
const baseAngle = nodeObj.angle !== undefined
|
|
78
|
-
? nodeObj.angle + (t * 60 * (i % 2 === 0 ? 1 : -1))
|
|
79
|
-
: 0;
|
|
80
|
-
const angle = (baseAngle + (nodeObj.spin || 0) * t * 60) % 360;
|
|
81
|
-
const rad = angle * PI / 180;
|
|
82
|
-
const x = this.centerX + this.radius * cos(rad) - this.nodeSize / 2;
|
|
83
|
-
const y = this.centerY + this.radius * sin(rad) - this.nodeSize / 2;
|
|
84
|
-
// Color: use node.color (should be a CSS string)
|
|
85
|
-
const color = typeof nodeObj.color === 'string'
|
|
86
|
-
? nodeObj.color
|
|
87
|
-
: nodeObj.color && typeof nodeObj.color === 'object'
|
|
88
|
-
? `cmyk(${nodeObj.color.c},${nodeObj.color.m},${nodeObj.color.y},${nodeObj.color.k})`
|
|
89
|
-
: '#fff';
|
|
90
|
-
// Node element
|
|
91
|
-
const el = document.createElement('div');
|
|
92
|
-
el.style.position = 'absolute';
|
|
93
|
-
el.style.left = `${x}px`;
|
|
94
|
-
el.style.top = `${y}px`;
|
|
95
|
-
el.style.width = `${this.nodeSize}px`;
|
|
96
|
-
el.style.height = `${this.nodeSize}px`;
|
|
97
|
-
el.style.backgroundColor = color;
|
|
98
|
-
el.style.border = '1px solid rgba(255,255,255,0.3)';
|
|
99
|
-
el.style.borderRadius = '50%';
|
|
100
|
-
el.style.display = 'flex';
|
|
101
|
-
el.style.alignItems = 'center';
|
|
102
|
-
el.style.justifyContent = 'center';
|
|
103
|
-
el.style.fontSize = '12px';
|
|
104
|
-
el.style.color = '#fff';
|
|
105
|
-
el.style.fontWeight = 'bold';
|
|
106
|
-
el.style.textShadow = '0 0 3px rgba(0,0,0,0.8)';
|
|
107
|
-
el.style.boxShadow = (nodeObj.polarity || 0) > 0
|
|
108
|
-
? '0 0 8px rgba(255,255,255,0.6)'
|
|
109
|
-
: '0 0 4px rgba(0,0,0,0.4)';
|
|
110
|
-
el.style.transform = `scale(${1 + 0.2 * (nodeObj.polarity || 0)})`;
|
|
111
|
-
el.innerHTML = nodeObj.value || '';
|
|
112
|
-
this.element.appendChild(el);
|
|
113
|
-
});
|
|
114
|
-
this.raf = requestAnimationFrame(this.animate);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
// a432.paths.ts — Canonical YANG and YIN URL paths
|
|
2
|
-
//----------------------------------------------------
|
|
3
|
-
export const YANG_DIGITS = [0,3,6,9,1,2,4,8,7,5,1] as const;
|
|
4
|
-
export const YANG_PATH = '/' + YANG_DIGITS.join('/') + '/';
|
|
5
|
-
|
|
6
|
-
export const YIN_DIGITS = [...YANG_DIGITS].reverse() as unknown as typeof YANG_DIGITS;
|
|
7
|
-
export const YIN_PATH = '/' + YIN_DIGITS.join('/') + '/';
|
|
8
|
-
|
|
9
|
-
export function isYang(url: string): boolean { return url.startsWith(YANG_PATH); }
|
|
10
|
-
export function isYin(url: string): boolean { return url.startsWith(YIN_PATH); }
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import { legacyDigitalRoot } from './a432.roots.ts'
|
|
2
|
-
import { decodePiDigits, piDigitStream, angleForDigit } from './a432.math.ts';
|
|
3
|
-
import { digitAngleToCMYK, type CMYK } from './a432.cmyk.ts';
|
|
4
|
-
import { type Digit, type AngleDeg, asAngle } from './a432.types.ts';
|
|
5
|
-
import { type TrinitySwitch, DOT_TRINITY_SWITCH } from './a432.math.ts';
|
|
6
|
-
|
|
7
|
-
/** Snapshot of a single π digit mapped through metric → imperial → trinity → polarity. */
|
|
8
|
-
export interface PiSnapshot {
|
|
9
|
-
index: number; // position in π stream (0-based)
|
|
10
|
-
metric: Digit;
|
|
11
|
-
imperial: Digit;
|
|
12
|
-
trinity: Digit;
|
|
13
|
-
polarity: -1 | 0 | 1;
|
|
14
|
-
angle: AngleDeg;
|
|
15
|
-
cmyk: CMYK;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/** Iterator that yields harmonic snapshots for the first `limit` digits of π. */
|
|
19
|
-
export function* piHarmonicStream(limit: number): IterableIterator<PiSnapshot> {
|
|
20
|
-
let idx = 0;
|
|
21
|
-
for (const decoded of decodePiDigits(limit)) {
|
|
22
|
-
const angle = asAngle(angleForDigit(decoded.trinity));
|
|
23
|
-
const cmyk = digitAngleToCMYK(decoded.trinity, angle);
|
|
24
|
-
yield {
|
|
25
|
-
index: idx++,
|
|
26
|
-
metric: decoded.metric,
|
|
27
|
-
imperial: decoded.imperial,
|
|
28
|
-
trinity: decoded.trinity,
|
|
29
|
-
polarity: decoded.polarity,
|
|
30
|
-
angle,
|
|
31
|
-
cmyk,
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Collect π digits in 11-digit blocks (aligns with FULL_PATTERN).
|
|
38
|
-
* Returns an array where each entry is the harmonic stream slice for that block.
|
|
39
|
-
*/
|
|
40
|
-
export function collectPiBlocks(limit: number): PiSnapshot[][] {
|
|
41
|
-
const blocks: PiSnapshot[][] = [];
|
|
42
|
-
let current: PiSnapshot[] = [];
|
|
43
|
-
for (const snap of piHarmonicStream(limit)) {
|
|
44
|
-
current.push(snap);
|
|
45
|
-
if (current.length === 11) {
|
|
46
|
-
blocks.push(current);
|
|
47
|
-
current = [];
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
if (current.length) blocks.push(current);
|
|
51
|
-
return blocks;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/** Compute running ratio of trinity-hits (3,6,9) vs total scanned digits. */
|
|
55
|
-
export function trinityHitRatios(limit: number): Array<{ idx: number; ratio: number }> {
|
|
56
|
-
let hits = 0;
|
|
57
|
-
const out: Array<{ idx: number; ratio: number }> = [];
|
|
58
|
-
let idx = 0;
|
|
59
|
-
for (const snap of piHarmonicStream(limit)) {
|
|
60
|
-
if (snap.trinity === 3 || snap.trinity === 6 || snap.trinity === 9) hits += 1;
|
|
61
|
-
idx += 1;
|
|
62
|
-
out.push({ idx, ratio: hits / idx });
|
|
63
|
-
}
|
|
64
|
-
return out;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/** Detect positions where nine-shock (digital-root of the last 9 digits) equals 9. */
|
|
68
|
-
export function nineShockPositions(limit: number): number[] {
|
|
69
|
-
const window: Digit[] = [];
|
|
70
|
-
const positions: number[] = [];
|
|
71
|
-
let idx = 0;
|
|
72
|
-
for (const snap of piHarmonicStream(limit)) {
|
|
73
|
-
window.push(snap.metric);
|
|
74
|
-
if (window.length > 9) window.shift();
|
|
75
|
-
if (window.length === 9) {
|
|
76
|
-
const sum = window.reduce<number>((s, d) => s + (d as number), 0);
|
|
77
|
-
const dr = (legacyDigitalRoot(sum));
|
|
78
|
-
if (dr === 9) positions.push(idx);
|
|
79
|
-
}
|
|
80
|
-
idx += 1;
|
|
81
|
-
}
|
|
82
|
-
return positions;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/** Export helper that summarises multiple analyses at once. */
|
|
86
|
-
export function piHarmonicReport(limit: number = 1000) {
|
|
87
|
-
return {
|
|
88
|
-
blocks: collectPiBlocks(limit),
|
|
89
|
-
trinityRatios: trinityHitRatios(limit),
|
|
90
|
-
nineShockPositions: nineShockPositions(limit),
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
// ——————————————————————————————————————————
|
|
95
|
-
// DOT AS TRINITY TOKEN MODEL
|
|
96
|
-
// ---------------------------------------------------------
|
|
97
|
-
|
|
98
|
-
/** Token emitted by `piTokenStream` representing either a digit snapshot or the decimal point (trinity pulse). */
|
|
99
|
-
export type PiToken =
|
|
100
|
-
| { kind: 'digit'; snap: PiSnapshot }
|
|
101
|
-
| TrinitySwitch;
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* piTokenStream — yields the π stream with an explicit trinity-switch token (the decimal dot).
|
|
105
|
-
* The sequence is: first digit (3) → trinity token (dot) → remaining `limit` digits.
|
|
106
|
-
* Existing harmonic logic is untouched; consumers that ignore the 'trinity' kind behave as before.
|
|
107
|
-
*/
|
|
108
|
-
export function* piTokenStream(limit: number): IterableIterator<PiToken> {
|
|
109
|
-
let first = true;
|
|
110
|
-
for (const snap of piHarmonicStream(limit)) {
|
|
111
|
-
yield { kind: 'digit', snap };
|
|
112
|
-
if (first) {
|
|
113
|
-
// Immediately after the integer part emit the trinity switch (dot)
|
|
114
|
-
yield DOT_TRINITY_SWITCH;
|
|
115
|
-
first = false;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
// Helper: collect only the tokens (useful for UI timelines)
|
|
121
|
-
export function collectPiTokens(limit: number): PiToken[] {
|
|
122
|
-
return Array.from(piTokenStream(limit));
|
|
123
|
-
}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { PI, cos, sin } from './a432.algebra.ts'
|
|
2
|
-
// a432.pi.trinity.ts
|
|
3
|
-
// Imagine pi as trinity, visualized as a living Rodin coil
|
|
4
|
-
// All logic is integer/fractional, vortex-based, and metaphysically mapped
|
|
5
|
-
|
|
6
|
-
import { PI_DIGITS } from './a432.pi.ts';
|
|
7
|
-
import { rodinVortexCycle } from './a432.rodin.coil.ts';
|
|
8
|
-
|
|
9
|
-
export interface PiTrinityRodinState {
|
|
10
|
-
step: number;
|
|
11
|
-
piDigit: number;
|
|
12
|
-
trinity: number;
|
|
13
|
-
archetype: string;
|
|
14
|
-
rodinPosition: number;
|
|
15
|
-
metaphysical: string;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Generate a stream mapping pi digits to trinity archetypes and Rodin vortex positions
|
|
20
|
-
*/
|
|
21
|
-
export function piTrinityRodinStream(length: number): PiTrinityRodinState[] {
|
|
22
|
-
const rodinSeq = rodinVortexCycle(1, 1); // [1,2,4,8,7,5,1]
|
|
23
|
-
return Array.from({ length }, (_, i) => {
|
|
24
|
-
const piDigit = PI_DIGITS[i % PI_DIGITS.length];
|
|
25
|
-
const trinity = [3, 6, 9][piDigit % 3];
|
|
26
|
-
let archetype = '';
|
|
27
|
-
if (trinity === 3) archetype = 'Creation';
|
|
28
|
-
if (trinity === 6) archetype = 'Return';
|
|
29
|
-
if (trinity === 9) archetype = 'Axis/Unity';
|
|
30
|
-
const rodinPosition = rodinSeq[i % rodinSeq.length];
|
|
31
|
-
return {
|
|
32
|
-
step: i + 1,
|
|
33
|
-
piDigit,
|
|
34
|
-
trinity,
|
|
35
|
-
archetype,
|
|
36
|
-
rodinPosition,
|
|
37
|
-
metaphysical: `Step ${i + 1}: π digit ${piDigit} → Trinity ${trinity} (${archetype}), Rodin ${rodinPosition}`
|
|
38
|
-
};
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Render an SVG visualization of the pi-trinity-Rodin stream as a spiral/coil
|
|
44
|
-
*/
|
|
45
|
-
export function renderPiTrinityRodinSVG(length: number = 120): string {
|
|
46
|
-
const stream = piTrinityRodinStream(length);
|
|
47
|
-
const width = 480, height = 480, cx = width / 2, cy = height / 2;
|
|
48
|
-
const spiralA = 60, spiralB = 12;
|
|
49
|
-
// Map trinity to color
|
|
50
|
-
const trinityColor = (t: number) => t === 3 ? '#39f' : t === 6 ? '#6f3' : '#f93';
|
|
51
|
-
// Calculate spiral points
|
|
52
|
-
const points = stream.map((s, i) => {
|
|
53
|
-
const theta = i * (2 * PI / 3); // trinity spiral
|
|
54
|
-
const r = spiralA + spiralB * i;
|
|
55
|
-
return {
|
|
56
|
-
...s,
|
|
57
|
-
x: cx + r * cos(theta),
|
|
58
|
-
y: cy + r * sin(theta),
|
|
59
|
-
color: trinityColor(s.trinity)
|
|
60
|
-
};
|
|
61
|
-
});
|
|
62
|
-
// SVG elements
|
|
63
|
-
const circles = points.map((p, i) => `
|
|
64
|
-
<circle cx="${p.x}" cy="${p.y}" r="12" fill="${p.color}" stroke="#fff" stroke-width="2">
|
|
65
|
-
<title>${p.metaphysical}</title>
|
|
66
|
-
</circle>
|
|
67
|
-
<text x="${p.x}" y="${p.y - 18}" text-anchor="middle" font-size="10" fill="#fff">${p.piDigit}</text>
|
|
68
|
-
<text x="${p.x}" y="${p.y + 18}" text-anchor="middle" font-size="10" fill="#ff8">${p.rodinPosition}</text>
|
|
69
|
-
`).join('');
|
|
70
|
-
// Path for the spiral
|
|
71
|
-
const pathD = points.map((p, i) => (i === 0 ? `M${p.x},${p.y}` : `L${p.x},${p.y}`)).join(' ');
|
|
72
|
-
return `
|
|
73
|
-
<svg width="${width}" height="${height}" style="background:#111;border-radius:16px;">
|
|
74
|
-
<path d="${pathD}" fill="none" stroke="#0ff" stroke-width="2" />
|
|
75
|
-
${circles}
|
|
76
|
-
<text x="${cx}" y="36" text-anchor="middle" font-size="18" fill="#8ff">π as Living Trinity in Rodin Coil</text>
|
|
77
|
-
</svg>
|
|
78
|
-
`;
|
|
79
|
-
}
|