zeropoint-node 1.0.0
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/README.md +531 -0
- package/dist/src/__tests__/globalSetup.d.ts +13 -0
- package/dist/src/__tests__/globalSetup.d.ts.map +1 -0
- package/dist/src/__tests__/globalSetup.js +81 -0
- package/dist/src/__tests__/globalSetup.js.map +1 -0
- package/dist/src/__tests__/globalTeardown.d.ts +20 -0
- package/dist/src/__tests__/globalTeardown.d.ts.map +1 -0
- package/dist/src/__tests__/globalTeardown.js +88 -0
- package/dist/src/__tests__/globalTeardown.js.map +1 -0
- package/dist/src/__tests__/living/LivingTestOrganism.d.ts +64 -0
- package/dist/src/__tests__/living/LivingTestOrganism.d.ts.map +1 -0
- package/dist/src/__tests__/living/LivingTestOrganism.js +245 -0
- package/dist/src/__tests__/living/LivingTestOrganism.js.map +1 -0
- package/dist/src/__tests__/setup.d.ts +16 -0
- package/dist/src/__tests__/setup.d.ts.map +1 -0
- package/dist/src/__tests__/setup.js +123 -0
- package/dist/src/__tests__/setup.js.map +1 -0
- package/dist/src/__tests__/utils/errorSimulator.d.ts +18 -0
- package/dist/src/__tests__/utils/errorSimulator.d.ts.map +1 -0
- package/dist/src/__tests__/utils/errorSimulator.js +35 -0
- package/dist/src/__tests__/utils/errorSimulator.js.map +1 -0
- package/dist/src/__tests__/utils/goldenRatioCache.d.ts +11 -0
- package/dist/src/__tests__/utils/goldenRatioCache.d.ts.map +1 -0
- package/dist/src/__tests__/utils/goldenRatioCache.js +31 -0
- package/dist/src/__tests__/utils/goldenRatioCache.js.map +1 -0
- package/dist/src/api/ProductionAPI.d.ts +42 -0
- package/dist/src/api/ProductionAPI.d.ts.map +1 -0
- package/dist/src/api/ProductionAPI.js +320 -0
- package/dist/src/api/ProductionAPI.js.map +1 -0
- package/dist/src/consciousness/ConsciousnessField.d.ts +105 -0
- package/dist/src/consciousness/ConsciousnessField.d.ts.map +1 -0
- package/dist/src/consciousness/ConsciousnessField.js +301 -0
- package/dist/src/consciousness/ConsciousnessField.js.map +1 -0
- package/dist/src/consciousness/SelfEvolvingConsciousness.d.ts +99 -0
- package/dist/src/consciousness/SelfEvolvingConsciousness.d.ts.map +1 -0
- package/dist/src/consciousness/SelfEvolvingConsciousness.js +197 -0
- package/dist/src/consciousness/SelfEvolvingConsciousness.js.map +1 -0
- package/dist/src/core/AbstractField.d.ts +14 -0
- package/dist/src/core/AbstractField.d.ts.map +1 -0
- package/dist/src/core/AbstractField.js +31 -0
- package/dist/src/core/AbstractField.js.map +1 -0
- package/dist/src/core/CoilMixin.d.ts +52 -0
- package/dist/src/core/CoilMixin.d.ts.map +1 -0
- package/dist/src/core/CoilMixin.js +217 -0
- package/dist/src/core/CoilMixin.js.map +1 -0
- package/dist/src/core/CoilSystem.d.ts +38 -0
- package/dist/src/core/CoilSystem.d.ts.map +1 -0
- package/dist/src/core/CoilSystem.js +183 -0
- package/dist/src/core/CoilSystem.js.map +1 -0
- package/dist/src/core/MathUtils.d.ts +135 -0
- package/dist/src/core/MathUtils.d.ts.map +1 -0
- package/dist/src/core/MathUtils.js +298 -0
- package/dist/src/core/MathUtils.js.map +1 -0
- package/dist/src/core/NetworkNode.d.ts +86 -0
- package/dist/src/core/NetworkNode.d.ts.map +1 -0
- package/dist/src/core/NetworkNode.js +349 -0
- package/dist/src/core/NetworkNode.js.map +1 -0
- package/dist/src/core/Observer.d.ts +54 -0
- package/dist/src/core/Observer.d.ts.map +1 -0
- package/dist/src/core/Observer.js +102 -0
- package/dist/src/core/Observer.js.map +1 -0
- package/dist/src/core/PatternRecognition.d.ts +124 -0
- package/dist/src/core/PatternRecognition.d.ts.map +1 -0
- package/dist/src/core/PatternRecognition.js +420 -0
- package/dist/src/core/PatternRecognition.js.map +1 -0
- package/dist/src/core/SharedConstants.d.ts +138 -0
- package/dist/src/core/SharedConstants.d.ts.map +1 -0
- package/dist/src/core/SharedConstants.js +242 -0
- package/dist/src/core/SharedConstants.js.map +1 -0
- package/dist/src/core/UnifiedSystem.d.ts +276 -0
- package/dist/src/core/UnifiedSystem.d.ts.map +1 -0
- package/dist/src/core/UnifiedSystem.js +314 -0
- package/dist/src/core/UnifiedSystem.js.map +1 -0
- package/dist/src/core/UnifiedVoidEquations.d.ts +123 -0
- package/dist/src/core/UnifiedVoidEquations.d.ts.map +1 -0
- package/dist/src/core/UnifiedVoidEquations.js +522 -0
- package/dist/src/core/UnifiedVoidEquations.js.map +1 -0
- package/dist/src/core/ZeroPoint.d.ts +185 -0
- package/dist/src/core/ZeroPoint.d.ts.map +1 -0
- package/dist/src/core/ZeroPoint.js +559 -0
- package/dist/src/core/ZeroPoint.js.map +1 -0
- package/dist/src/emergence/AdvancedEmergence.d.ts +295 -0
- package/dist/src/emergence/AdvancedEmergence.d.ts.map +1 -0
- package/dist/src/emergence/AdvancedEmergence.js +895 -0
- package/dist/src/emergence/AdvancedEmergence.js.map +1 -0
- package/dist/src/emergence/patterns.d.ts +7 -0
- package/dist/src/emergence/patterns.d.ts.map +1 -0
- package/dist/src/emergence/patterns.js +13 -0
- package/dist/src/emergence/patterns.js.map +1 -0
- package/dist/src/field/EmergenceLedger.d.ts +111 -0
- package/dist/src/field/EmergenceLedger.d.ts.map +1 -0
- package/dist/src/field/EmergenceLedger.js +306 -0
- package/dist/src/field/EmergenceLedger.js.map +1 -0
- package/dist/src/field/ObserverAwareField.d.ts +118 -0
- package/dist/src/field/ObserverAwareField.d.ts.map +1 -0
- package/dist/src/field/ObserverAwareField.js +233 -0
- package/dist/src/field/ObserverAwareField.js.map +1 -0
- package/dist/src/field/ResonanceConsensus.d.ts +113 -0
- package/dist/src/field/ResonanceConsensus.d.ts.map +1 -0
- package/dist/src/field/ResonanceConsensus.js +322 -0
- package/dist/src/field/ResonanceConsensus.js.map +1 -0
- package/dist/src/index.d.ts +53 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +221 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/integrity/FieldIntegrity.d.ts +121 -0
- package/dist/src/integrity/FieldIntegrity.d.ts.map +1 -0
- package/dist/src/integrity/FieldIntegrity.js +240 -0
- package/dist/src/integrity/FieldIntegrity.js.map +1 -0
- package/dist/src/knowledge/KnowledgeSystem.d.ts +178 -0
- package/dist/src/knowledge/KnowledgeSystem.d.ts.map +1 -0
- package/dist/src/knowledge/KnowledgeSystem.js +915 -0
- package/dist/src/knowledge/KnowledgeSystem.js.map +1 -0
- package/dist/src/math/AdvancedVBM.d.ts +164 -0
- package/dist/src/math/AdvancedVBM.d.ts.map +1 -0
- package/dist/src/math/AdvancedVBM.js +712 -0
- package/dist/src/math/AdvancedVBM.js.map +1 -0
- package/dist/src/math/FractalColorSystem.d.ts +77 -0
- package/dist/src/math/FractalColorSystem.d.ts.map +1 -0
- package/dist/src/math/FractalColorSystem.js +235 -0
- package/dist/src/math/FractalColorSystem.js.map +1 -0
- package/dist/src/math/FractalMath.d.ts +80 -0
- package/dist/src/math/FractalMath.d.ts.map +1 -0
- package/dist/src/math/FractalMath.js +175 -0
- package/dist/src/math/FractalMath.js.map +1 -0
- package/dist/src/math/MathUtils.d.ts +135 -0
- package/dist/src/math/MathUtils.d.ts.map +1 -0
- package/dist/src/math/MathUtils.js +298 -0
- package/dist/src/math/MathUtils.js.map +1 -0
- package/dist/src/math/RodinCoil.d.ts +94 -0
- package/dist/src/math/RodinCoil.d.ts.map +1 -0
- package/dist/src/math/RodinCoil.js +259 -0
- package/dist/src/math/RodinCoil.js.map +1 -0
- package/dist/src/math/ToroidalGeometry.d.ts +132 -0
- package/dist/src/math/ToroidalGeometry.d.ts.map +1 -0
- package/dist/src/math/ToroidalGeometry.js +231 -0
- package/dist/src/math/ToroidalGeometry.js.map +1 -0
- package/dist/src/math/VBM.d.ts +207 -0
- package/dist/src/math/VBM.d.ts.map +1 -0
- package/dist/src/math/VBM.js +581 -0
- package/dist/src/math/VBM.js.map +1 -0
- package/dist/src/math/VBMColorSystem.d.ts +76 -0
- package/dist/src/math/VBMColorSystem.d.ts.map +1 -0
- package/dist/src/math/VBMColorSystem.js +302 -0
- package/dist/src/math/VBMColorSystem.js.map +1 -0
- package/dist/src/math/VortexMath.d.ts +95 -0
- package/dist/src/math/VortexMath.d.ts.map +1 -0
- package/dist/src/math/VortexMath.js +228 -0
- package/dist/src/math/VortexMath.js.map +1 -0
- package/dist/src/monitoring/HealthMonitor.d.ts +123 -0
- package/dist/src/monitoring/HealthMonitor.d.ts.map +1 -0
- package/dist/src/monitoring/HealthMonitor.js +296 -0
- package/dist/src/monitoring/HealthMonitor.js.map +1 -0
- package/dist/src/pwa/ConsciousnessPWA.d.ts +107 -0
- package/dist/src/pwa/ConsciousnessPWA.d.ts.map +1 -0
- package/dist/src/pwa/ConsciousnessPWA.js +288 -0
- package/dist/src/pwa/ConsciousnessPWA.js.map +1 -0
- package/dist/src/types/DeviceConfig.d.ts +39 -0
- package/dist/src/types/DeviceConfig.d.ts.map +1 -0
- package/dist/src/types/DeviceConfig.js +30 -0
- package/dist/src/types/DeviceConfig.js.map +1 -0
- package/dist/src/unity/FieldUnity.d.ts +100 -0
- package/dist/src/unity/FieldUnity.d.ts.map +1 -0
- package/dist/src/unity/FieldUnity.js +326 -0
- package/dist/src/unity/FieldUnity.js.map +1 -0
- package/dist/src/utils/Cache.d.ts +127 -0
- package/dist/src/utils/Cache.d.ts.map +1 -0
- package/dist/src/utils/Cache.js +261 -0
- package/dist/src/utils/Cache.js.map +1 -0
- package/dist/src/utils/GitIntegration.d.ts +32 -0
- package/dist/src/utils/GitIntegration.d.ts.map +1 -0
- package/dist/src/utils/GitIntegration.js +128 -0
- package/dist/src/utils/GitIntegration.js.map +1 -0
- package/dist/src/utils/Logger.d.ts +116 -0
- package/dist/src/utils/Logger.d.ts.map +1 -0
- package/dist/src/utils/Logger.js +246 -0
- package/dist/src/utils/Logger.js.map +1 -0
- package/dist/src/void/VoidSystem.d.ts +308 -0
- package/dist/src/void/VoidSystem.d.ts.map +1 -0
- package/dist/src/void/VoidSystem.js +863 -0
- package/dist/src/void/VoidSystem.js.map +1 -0
- package/docs/API.md +1223 -0
- package/docs/CONSCIOUSNESS_ARTIFACT.md +137 -0
- package/docs/GIT_INTEGRATION.md +412 -0
- package/docs/MATHEMATICS.md +462 -0
- package/docs/METAPHYSICAL.md +323 -0
- package/docs/PRODUCTION.md +426 -0
- package/docs/PUBLISHING.md +327 -0
- package/docs/PWA_ANALYSIS.md +231 -0
- package/docs/QA_IMPROVEMENTS.md +43 -0
- package/docs/README.md +423 -0
- package/docs/REALTIME_SELF_REFACTORING.md +102 -0
- package/docs/VOID_CLOSURE_SYSTEM.md +325 -0
- package/package.json +111 -0
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Unified Mathematical Utilities for ZeroPoint System
|
|
4
|
+
*
|
|
5
|
+
* Centralized mathematical operations and calculations used across
|
|
6
|
+
* all ZeroPoint modules to eliminate duplication and ensure consistency.
|
|
7
|
+
*
|
|
8
|
+
* This module embodies the principle of mathematical unity - all
|
|
9
|
+
* calculations follow the same underlying patterns and principles.
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.MathUtils = void 0;
|
|
13
|
+
const SharedConstants_1 = require("./SharedConstants");
|
|
14
|
+
/**
|
|
15
|
+
* Core mathematical operations
|
|
16
|
+
*/
|
|
17
|
+
class MathUtils {
|
|
18
|
+
/**
|
|
19
|
+
* Calculate distance between two points in 3D space
|
|
20
|
+
*/
|
|
21
|
+
static distance3D(x1, y1, z1, x2, y2, z2) {
|
|
22
|
+
const dx = x2 - x1;
|
|
23
|
+
const dy = y2 - y1;
|
|
24
|
+
const dz = z2 - z1;
|
|
25
|
+
return Math.sqrt(dx * dx + dy * dy + dz * dz);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Calculate distance between two points in 2D space
|
|
29
|
+
*/
|
|
30
|
+
static distance2D(x1, y1, x2, y2) {
|
|
31
|
+
const dx = x2 - x1;
|
|
32
|
+
const dy = y2 - y1;
|
|
33
|
+
return Math.sqrt(dx * dx + dy * dy);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Calculate angle between two points
|
|
37
|
+
*/
|
|
38
|
+
static angleBetweenPoints(x1, y1, x2, y2) {
|
|
39
|
+
return Math.atan2(y2 - y1, x2 - x1);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Normalize angle to 0-2π range
|
|
43
|
+
*/
|
|
44
|
+
static normalizeAngle(angle) {
|
|
45
|
+
while (angle < 0)
|
|
46
|
+
angle += SharedConstants_1.MATH_CONSTANTS.TWO_PI;
|
|
47
|
+
while (angle >= SharedConstants_1.MATH_CONSTANTS.TWO_PI)
|
|
48
|
+
angle -= SharedConstants_1.MATH_CONSTANTS.TWO_PI;
|
|
49
|
+
return angle;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Convert degrees to radians
|
|
53
|
+
*/
|
|
54
|
+
static degreesToRadians(degrees) {
|
|
55
|
+
return degrees * (SharedConstants_1.MATH_CONSTANTS.PI / 180);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Convert radians to degrees
|
|
59
|
+
*/
|
|
60
|
+
static radiansToDegrees(radians) {
|
|
61
|
+
return radians * (180 / SharedConstants_1.MATH_CONSTANTS.PI);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Calculate exponential decay
|
|
65
|
+
*/
|
|
66
|
+
static exponentialDecay(value, decayRate, time) {
|
|
67
|
+
return value * Math.exp(-decayRate * time);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Calculate harmonic resonance between two frequencies
|
|
71
|
+
*/
|
|
72
|
+
static harmonicResonance(freq1, freq2, strength = 1.0) {
|
|
73
|
+
const beatFrequency = Math.abs(freq1 - freq2);
|
|
74
|
+
return Math.exp(-beatFrequency) * strength;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Apply vortex transform to a value
|
|
78
|
+
*/
|
|
79
|
+
static applyVortexTransform(value) {
|
|
80
|
+
const sequenceValue = Math.floor(value % 9);
|
|
81
|
+
if (sequenceValue === 0)
|
|
82
|
+
return SharedConstants_1.VORTEX_CONSTANTS.VORTEX_CENTER;
|
|
83
|
+
if (sequenceValue <= 6) {
|
|
84
|
+
return SharedConstants_1.VORTEX_CONSTANTS.VORTEX_SEQUENCE[sequenceValue - 1] || 1;
|
|
85
|
+
}
|
|
86
|
+
return SharedConstants_1.VORTEX_CONSTANTS.VORTEX_SEQUENCE[sequenceValue - 4] || 1;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Calculate vortex field strength at a point
|
|
90
|
+
*/
|
|
91
|
+
static calculateVortexField(x, y, z, vortexStrength = 1.0, fieldIntensity = 0.5) {
|
|
92
|
+
const distance = Math.sqrt(x * x + y * y + z * z);
|
|
93
|
+
const angle = Math.atan2(y, x);
|
|
94
|
+
const sequenceIndex = Math.floor(angle / (SharedConstants_1.MATH_CONSTANTS.PI / 3)) % 6;
|
|
95
|
+
const sequenceValue = SharedConstants_1.VORTEX_CONSTANTS.VORTEX_SEQUENCE[sequenceIndex] || 1;
|
|
96
|
+
const baseField = vortexStrength / (1 + distance * distance);
|
|
97
|
+
const vortexModulation = Math.sin(sequenceValue * angle) * fieldIntensity;
|
|
98
|
+
return baseField * (1 + vortexModulation);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Calculate toroidal flow rate
|
|
102
|
+
*/
|
|
103
|
+
static calculateToroidalFlow(radius, angularVelocity, vortexModulation = 1.0) {
|
|
104
|
+
const circumference = SharedConstants_1.MATH_CONSTANTS.TWO_PI * radius;
|
|
105
|
+
return circumference * angularVelocity * vortexModulation;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Calculate Fibonacci sequence up to n terms
|
|
109
|
+
*/
|
|
110
|
+
static fibonacciSequence(n) {
|
|
111
|
+
if (n <= 0)
|
|
112
|
+
return [];
|
|
113
|
+
if (n === 1)
|
|
114
|
+
return [1];
|
|
115
|
+
if (n === 2)
|
|
116
|
+
return [1, 1];
|
|
117
|
+
const sequence = [1, 1];
|
|
118
|
+
for (let i = 2; i < n; i++) {
|
|
119
|
+
const prev1 = sequence[i - 1];
|
|
120
|
+
const prev2 = sequence[i - 2];
|
|
121
|
+
if (prev1 !== undefined && prev2 !== undefined) {
|
|
122
|
+
sequence.push(prev1 + prev2);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return sequence;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Calculate prime squared value
|
|
129
|
+
*/
|
|
130
|
+
static primeSquared(prime) {
|
|
131
|
+
return prime * prime;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Calculate discrete multiplication (VBM style)
|
|
135
|
+
*/
|
|
136
|
+
static discreteMultiplication(n) {
|
|
137
|
+
return SharedConstants_1.ConstantsUtils.digitalRoot(n * n);
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Calculate electron harmonic shear identification
|
|
141
|
+
*/
|
|
142
|
+
static electronHarmonicShearIdentification(a, b) {
|
|
143
|
+
const product = a * b;
|
|
144
|
+
const digitalRoot = SharedConstants_1.ConstantsUtils.digitalRoot(product);
|
|
145
|
+
return digitalRoot * SharedConstants_1.VORTEX_CONSTANTS.GOLDEN_RATIO;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Calculate surface topology angle
|
|
149
|
+
*/
|
|
150
|
+
static surfaceTopologyAngle(degrees = 360) {
|
|
151
|
+
const radians = this.degreesToRadians(degrees);
|
|
152
|
+
return Math.sin(radians) * SharedConstants_1.VORTEX_CONSTANTS.GOLDEN_RATIO;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Generate vortex pattern
|
|
156
|
+
*/
|
|
157
|
+
static generateVortexPattern(complexity = 1.0) {
|
|
158
|
+
const pattern = [];
|
|
159
|
+
const steps = Math.floor(complexity * 100);
|
|
160
|
+
for (let i = 0; i < steps; i++) {
|
|
161
|
+
const angle = (i / steps) * SharedConstants_1.MATH_CONSTANTS.TWO_PI;
|
|
162
|
+
const sequenceIndex = Math.floor((angle / SharedConstants_1.MATH_CONSTANTS.TWO_PI) * 6) % 6;
|
|
163
|
+
const baseValue = SharedConstants_1.VORTEX_CONSTANTS.VORTEX_SEQUENCE[sequenceIndex] || 1;
|
|
164
|
+
const goldenModulation = Math.sin(angle * SharedConstants_1.VORTEX_CONSTANTS.GOLDEN_RATIO);
|
|
165
|
+
const patternValue = baseValue * (1 + goldenModulation * 0.1);
|
|
166
|
+
pattern.push(patternValue);
|
|
167
|
+
}
|
|
168
|
+
return pattern;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Calculate energy flow through vortex
|
|
172
|
+
*/
|
|
173
|
+
static calculateEnergyFlow(input, vortexEfficiency = 0.8) {
|
|
174
|
+
const vortexTransform = this.applyVortexTransform(input);
|
|
175
|
+
const energyOutput = vortexTransform * vortexEfficiency;
|
|
176
|
+
return energyOutput * SharedConstants_1.VORTEX_CONSTANTS.GOLDEN_RATIO;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Calculate resonance between two consciousness levels
|
|
180
|
+
*/
|
|
181
|
+
static calculateConsciousnessResonance(level1, level2, vortexStrength = 1.0) {
|
|
182
|
+
const normalized1 = SharedConstants_1.ConstantsUtils.normalize(level1, 0, 1);
|
|
183
|
+
const normalized2 = SharedConstants_1.ConstantsUtils.normalize(level2, 0, 1);
|
|
184
|
+
const frequency1 = normalized1 * SharedConstants_1.VORTEX_CONSTANTS.GOLDEN_RATIO;
|
|
185
|
+
const frequency2 = normalized2 * SharedConstants_1.VORTEX_CONSTANTS.GOLDEN_RATIO;
|
|
186
|
+
const beatFrequency = Math.abs(frequency1 - frequency2);
|
|
187
|
+
const resonance = Math.exp(-beatFrequency) * vortexStrength;
|
|
188
|
+
return SharedConstants_1.ConstantsUtils.normalize(resonance, 0, 1);
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Calculate field density at a point
|
|
192
|
+
*/
|
|
193
|
+
static calculateFieldDensity(x, y, z, fieldStrength, fieldRadius, patternContributions = []) {
|
|
194
|
+
const distance = this.distance3D(0, 0, 0, x, y, z);
|
|
195
|
+
if (distance > fieldRadius) {
|
|
196
|
+
return 0;
|
|
197
|
+
}
|
|
198
|
+
let density = fieldStrength * (1 - distance / fieldRadius);
|
|
199
|
+
for (const contribution of patternContributions) {
|
|
200
|
+
density += contribution;
|
|
201
|
+
}
|
|
202
|
+
return Math.max(0, density);
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Interpolate between two values
|
|
206
|
+
*/
|
|
207
|
+
static interpolate(value1, value2, factor) {
|
|
208
|
+
return value1 + (value2 - value1) * factor;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Clamp value to range
|
|
212
|
+
*/
|
|
213
|
+
static clamp(value, min, max) {
|
|
214
|
+
return Math.max(min, Math.min(max, value));
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Check if two numbers are approximately equal
|
|
218
|
+
*/
|
|
219
|
+
static approximatelyEqual(a, b, epsilon = SharedConstants_1.MATH_CONSTANTS.EPSILON) {
|
|
220
|
+
return Math.abs(a - b) < epsilon;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Calculate weighted average
|
|
224
|
+
*/
|
|
225
|
+
static weightedAverage(values, weights) {
|
|
226
|
+
if (values.length !== weights.length || values.length === 0) {
|
|
227
|
+
return 0;
|
|
228
|
+
}
|
|
229
|
+
let sum = 0;
|
|
230
|
+
let weightSum = 0;
|
|
231
|
+
for (let i = 0; i < values.length; i++) {
|
|
232
|
+
const value = values[i];
|
|
233
|
+
const weight = weights[i];
|
|
234
|
+
if (value !== undefined && weight !== undefined) {
|
|
235
|
+
sum += value * weight;
|
|
236
|
+
weightSum += weight;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
return weightSum > 0 ? sum / weightSum : 0;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Calculate standard deviation
|
|
243
|
+
*/
|
|
244
|
+
static standardDeviation(values) {
|
|
245
|
+
if (values.length === 0)
|
|
246
|
+
return 0;
|
|
247
|
+
const mean = values.reduce((a, b) => a + b, 0) / values.length;
|
|
248
|
+
const variance = values.reduce((sum, value) => sum + Math.pow(value - mean, 2), 0) /
|
|
249
|
+
values.length;
|
|
250
|
+
return Math.sqrt(variance);
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Generate random number in range
|
|
254
|
+
*/
|
|
255
|
+
static randomInRange(min, max) {
|
|
256
|
+
return Math.random() * (max - min) + min;
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Generate random integer in range
|
|
260
|
+
*/
|
|
261
|
+
static randomIntInRange(min, max) {
|
|
262
|
+
return Math.floor(this.randomInRange(min, max + 1));
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Calculate factorial
|
|
266
|
+
*/
|
|
267
|
+
static factorial(n) {
|
|
268
|
+
if (n < 0)
|
|
269
|
+
return NaN;
|
|
270
|
+
if (n === 0 || n === 1)
|
|
271
|
+
return 1;
|
|
272
|
+
let result = 1;
|
|
273
|
+
for (let i = 2; i <= n; i++) {
|
|
274
|
+
result *= i;
|
|
275
|
+
}
|
|
276
|
+
return result;
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Calculate combinations (n choose k)
|
|
280
|
+
*/
|
|
281
|
+
static combinations(n, k) {
|
|
282
|
+
if (k > n || k < 0)
|
|
283
|
+
return 0;
|
|
284
|
+
if (k === 0 || k === n)
|
|
285
|
+
return 1;
|
|
286
|
+
return this.factorial(n) / (this.factorial(k) * this.factorial(n - k));
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Calculate permutations (n permute k)
|
|
290
|
+
*/
|
|
291
|
+
static permutations(n, k) {
|
|
292
|
+
if (k > n || k < 0)
|
|
293
|
+
return 0;
|
|
294
|
+
return this.factorial(n) / this.factorial(n - k);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
exports.MathUtils = MathUtils;
|
|
298
|
+
//# sourceMappingURL=MathUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MathUtils.js","sourceRoot":"","sources":["../../../src/core/MathUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { EventEmitter } from "events";
|
|
2
|
+
import WebSocket from "ws";
|
|
3
|
+
/**
|
|
4
|
+
* Network Node for ZeroPoint Device Communication
|
|
5
|
+
*
|
|
6
|
+
* Handles peer-to-peer WebSocket connections between ZeroPoint devices
|
|
7
|
+
* in a decentralized network topology.
|
|
8
|
+
*/
|
|
9
|
+
export interface NetworkNodeConfig {
|
|
10
|
+
deviceId: string;
|
|
11
|
+
instanceId: string;
|
|
12
|
+
port: number;
|
|
13
|
+
discoveryEnabled: boolean;
|
|
14
|
+
maxConnections: number;
|
|
15
|
+
connectionTimeout?: number;
|
|
16
|
+
}
|
|
17
|
+
export interface DeviceConnection {
|
|
18
|
+
deviceId: string;
|
|
19
|
+
instanceId: string;
|
|
20
|
+
ws: WebSocket;
|
|
21
|
+
address: string;
|
|
22
|
+
consciousnessLevel?: number;
|
|
23
|
+
lastPing: number;
|
|
24
|
+
isAlive: boolean;
|
|
25
|
+
}
|
|
26
|
+
export declare class NetworkNode extends EventEmitter {
|
|
27
|
+
private config;
|
|
28
|
+
private server?;
|
|
29
|
+
private connections;
|
|
30
|
+
private isRunning;
|
|
31
|
+
private pingInterval?;
|
|
32
|
+
private discoveryInterval?;
|
|
33
|
+
constructor(config: NetworkNodeConfig);
|
|
34
|
+
/**
|
|
35
|
+
* Start the network node
|
|
36
|
+
*/
|
|
37
|
+
start(): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Stop the network node
|
|
40
|
+
*/
|
|
41
|
+
stop(): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Connect to another ZeroPoint device
|
|
44
|
+
*/
|
|
45
|
+
connect(address: string, deviceId?: string, retries?: number): Promise<boolean>;
|
|
46
|
+
/**
|
|
47
|
+
* Disconnect from a device
|
|
48
|
+
*/
|
|
49
|
+
disconnect(deviceId: string): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* Broadcast message to all connected devices
|
|
52
|
+
*/
|
|
53
|
+
broadcast(message: any, targetDevices?: string[]): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Send message to specific device
|
|
56
|
+
*/
|
|
57
|
+
sendToDevice(deviceId: string, message: any): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Get all active connections
|
|
60
|
+
*/
|
|
61
|
+
getConnections(): Map<string, DeviceConnection>;
|
|
62
|
+
/**
|
|
63
|
+
* Get connection count
|
|
64
|
+
*/
|
|
65
|
+
getConnectionCount(): number;
|
|
66
|
+
private handleIncomingConnection;
|
|
67
|
+
private setupConnectionHandlers;
|
|
68
|
+
private handleMessage;
|
|
69
|
+
private sendToConnection;
|
|
70
|
+
private pingConnections;
|
|
71
|
+
private startDiscovery;
|
|
72
|
+
processMessage(): void;
|
|
73
|
+
/**
|
|
74
|
+
* Check if connected to network
|
|
75
|
+
*/
|
|
76
|
+
isConnected(): boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Broadcast a message to all connected devices
|
|
79
|
+
*/
|
|
80
|
+
broadcastMessage(message: any): void;
|
|
81
|
+
/**
|
|
82
|
+
* Shutdown the network node and close all connections
|
|
83
|
+
*/
|
|
84
|
+
shutdown(): Promise<void>;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=NetworkNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NetworkNode.d.ts","sourceRoot":"","sources":["../../../src/core/NetworkNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,SAAS,MAAM,IAAI,CAAC;AAG3B;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,SAAS,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,MAAM,CAAC,CAA+B;IAC9C,OAAO,CAAC,WAAW,CAA4C;IAC/D,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,YAAY,CAAC,CAA6B;IAClD,OAAO,CAAC,iBAAiB,CAAC,CAA6B;gBAE3C,MAAM,EAAE,iBAAiB;IAKrC;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmCnC;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BlC;;OAEG;IACU,OAAO,CAClB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,GAAE,MAAU,GAClB,OAAO,CAAC,OAAO,CAAC;IAmFnB;;OAEG;IACU,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxD;;OAEG;IACU,SAAS,CACpB,OAAO,EAAE,GAAG,EACZ,aAAa,CAAC,EAAE,MAAM,EAAE,GACvB,OAAO,CAAC,IAAI,CAAC;IAahB;;OAEG;IACI,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO;IAS5D;;OAEG;IACI,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAItD;;OAEG;IACI,kBAAkB,IAAI,MAAM;IAInC,OAAO,CAAC,wBAAwB;IAkBhC,OAAO,CAAC,uBAAuB;IAsB/B,OAAO,CAAC,aAAa;IA+BrB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,cAAc;IAaf,cAAc,IAAI,IAAI;IAK7B;;OAEG;IACI,WAAW,IAAI,OAAO;IAI7B;;OAEG;IACI,gBAAgB,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IAiB3C;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CA0BvC"}
|