Developer Documentation
Comprehensive guides for integrating and extending our physics simulation tools.
🛠 Getting Started
Installation
npm install @eggtiia/simulations
// or
yarn add @eggtiia/simulations
Requires Node.js 14+ and Webpack 5+ for module bundling.
Basic Example
import { SimulationEngine } from '@eggtiia/simulations';
const engine = new SimulationEngine({
particleCount: 500,
interactionStrength: 0.7,
timeScale: 1.0
});
engine.start();
⚙️ Advanced Configuration
Quantum Parameters
- • Spin coupling constants
- • Entanglement mapping
- • Wavefunction observers
- • Virtual particle modes
Custom Forces
Add custom forces using the force provider interface:
class CustomForce implements ForceProvider {
calculate(p1, p2) {
// your force calculation
}
}
Event Hooks
Available hooks:
- onFrameUpdate
- onCollision
- onSystemStabilization
📘 API Reference
SimulationEngine
constructor(options)
{
canvas: HTMLCanvasElement,
config: {
particleType: 'quark'|'electron'|'photon',
fieldStrength: number,
timeDilation: number
}
}
start()
Initiates the simulation loop. Returns a Promise that resolves when initialization is complete.
Particle Class
Represents a simulated particle with quantum properties.
{
id: string,
position: Vector3,
momentum: Vector3,
charge: number,
spin: number,
type: ParticleType
}
🔍 Frequently Asked Questions
Can I modify physics constants?
Yes, the library provides configuration options to adjust physics constants. See the physics-config module for available parameters.
How to handle large simulations?
Use the WebWorker integrations for heavy computations. See the worker-support guide for optimization strategies.
Debug visualization tools?
Available through the debug-mode option. See the visualization documentation for overlay configurations.