@cazala/party 0.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.
Files changed (73) hide show
  1. package/LICENSE +23 -0
  2. package/README.md +598 -0
  3. package/dist/engine.d.ts +113 -0
  4. package/dist/engine.d.ts.map +1 -0
  5. package/dist/index.d.ts +8 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +9628 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/interfaces.d.ts +223 -0
  10. package/dist/interfaces.d.ts.map +1 -0
  11. package/dist/module.d.ts +259 -0
  12. package/dist/module.d.ts.map +1 -0
  13. package/dist/modules/forces/behavior.d.ts +78 -0
  14. package/dist/modules/forces/behavior.d.ts.map +1 -0
  15. package/dist/modules/forces/boundary.d.ts +58 -0
  16. package/dist/modules/forces/boundary.d.ts.map +1 -0
  17. package/dist/modules/forces/collisions.d.ts +34 -0
  18. package/dist/modules/forces/collisions.d.ts.map +1 -0
  19. package/dist/modules/forces/environment.d.ts +62 -0
  20. package/dist/modules/forces/environment.d.ts.map +1 -0
  21. package/dist/modules/forces/fluids.d.ts +73 -0
  22. package/dist/modules/forces/fluids.d.ts.map +1 -0
  23. package/dist/modules/forces/grab.d.ts +56 -0
  24. package/dist/modules/forces/grab.d.ts.map +1 -0
  25. package/dist/modules/forces/interaction.d.ts +59 -0
  26. package/dist/modules/forces/interaction.d.ts.map +1 -0
  27. package/dist/modules/forces/joints.d.ts +87 -0
  28. package/dist/modules/forces/joints.d.ts.map +1 -0
  29. package/dist/modules/forces/sensors.d.ts +81 -0
  30. package/dist/modules/forces/sensors.d.ts.map +1 -0
  31. package/dist/modules/index.d.ts +13 -0
  32. package/dist/modules/index.d.ts.map +1 -0
  33. package/dist/modules/render/lines.d.ts +55 -0
  34. package/dist/modules/render/lines.d.ts.map +1 -0
  35. package/dist/modules/render/particles.d.ts +53 -0
  36. package/dist/modules/render/particles.d.ts.map +1 -0
  37. package/dist/modules/render/trails.d.ts +36 -0
  38. package/dist/modules/render/trails.d.ts.map +1 -0
  39. package/dist/oscillators.d.ts +66 -0
  40. package/dist/oscillators.d.ts.map +1 -0
  41. package/dist/particle.d.ts +19 -0
  42. package/dist/particle.d.ts.map +1 -0
  43. package/dist/runtimes/cpu/engine.d.ts +60 -0
  44. package/dist/runtimes/cpu/engine.d.ts.map +1 -0
  45. package/dist/runtimes/cpu/spatial-grid.d.ts +56 -0
  46. package/dist/runtimes/cpu/spatial-grid.d.ts.map +1 -0
  47. package/dist/runtimes/webgpu/builders/program.d.ts +56 -0
  48. package/dist/runtimes/webgpu/builders/program.d.ts.map +1 -0
  49. package/dist/runtimes/webgpu/builders/render-pass.d.ts +26 -0
  50. package/dist/runtimes/webgpu/builders/render-pass.d.ts.map +1 -0
  51. package/dist/runtimes/webgpu/engine.d.ts +73 -0
  52. package/dist/runtimes/webgpu/engine.d.ts.map +1 -0
  53. package/dist/runtimes/webgpu/gpu-resources.d.ts +141 -0
  54. package/dist/runtimes/webgpu/gpu-resources.d.ts.map +1 -0
  55. package/dist/runtimes/webgpu/module-registry.d.ts +53 -0
  56. package/dist/runtimes/webgpu/module-registry.d.ts.map +1 -0
  57. package/dist/runtimes/webgpu/particle-store.d.ts +43 -0
  58. package/dist/runtimes/webgpu/particle-store.d.ts.map +1 -0
  59. package/dist/runtimes/webgpu/render-pipeline.d.ts +49 -0
  60. package/dist/runtimes/webgpu/render-pipeline.d.ts.map +1 -0
  61. package/dist/runtimes/webgpu/shaders.d.ts +8 -0
  62. package/dist/runtimes/webgpu/shaders.d.ts.map +1 -0
  63. package/dist/runtimes/webgpu/simulation-pipeline.d.ts +22 -0
  64. package/dist/runtimes/webgpu/simulation-pipeline.d.ts.map +1 -0
  65. package/dist/runtimes/webgpu/spacial-grid.d.ts +27 -0
  66. package/dist/runtimes/webgpu/spacial-grid.d.ts.map +1 -0
  67. package/dist/spawner.d.ts +40 -0
  68. package/dist/spawner.d.ts.map +1 -0
  69. package/dist/vector.d.ts +61 -0
  70. package/dist/vector.d.ts.map +1 -0
  71. package/dist/view.d.ts +43 -0
  72. package/dist/view.d.ts.map +1 -0
  73. package/package.json +67 -0
@@ -0,0 +1,113 @@
1
+ import { IEngine, IParticle } from "./interfaces";
2
+ import { Module } from "./module";
3
+ export type EngineOptions = {
4
+ canvas: HTMLCanvasElement;
5
+ forces: Module<string, any>[];
6
+ render: Module<string, any>[];
7
+ runtime: "cpu" | "webgpu" | "auto";
8
+ constrainIterations?: number;
9
+ clearColor?: {
10
+ r: number;
11
+ g: number;
12
+ b: number;
13
+ a: number;
14
+ };
15
+ cellSize?: number;
16
+ maxParticles?: number;
17
+ workgroupSize?: number;
18
+ maxNeighbors?: number;
19
+ };
20
+ export declare class Engine implements IEngine {
21
+ private engine;
22
+ private actualRuntime;
23
+ private preferredRuntime;
24
+ private originalOptions;
25
+ constructor(options: EngineOptions);
26
+ initialize(): Promise<void>;
27
+ getActualRuntime(): "cpu" | "webgpu";
28
+ play(): void;
29
+ pause(): void;
30
+ stop(): void;
31
+ destroy(): Promise<void>;
32
+ isPlaying(): boolean;
33
+ toggle(): void;
34
+ getSize(): {
35
+ width: number;
36
+ height: number;
37
+ };
38
+ setSize(width: number, height: number): void;
39
+ setCamera(x: number, y: number): void;
40
+ getCamera(): {
41
+ x: number;
42
+ y: number;
43
+ };
44
+ setZoom(z: number): void;
45
+ getZoom(): number;
46
+ addOscillator(params: {
47
+ moduleName: string;
48
+ inputName: string;
49
+ min: number;
50
+ max: number;
51
+ speedHz: number;
52
+ options?: any;
53
+ }): string;
54
+ removeOscillator(moduleName: string, inputName: string): void;
55
+ updateOscillatorSpeed(moduleName: string, inputName: string, speedHz: number): void;
56
+ updateOscillatorBounds(moduleName: string, inputName: string, min: number, max: number): void;
57
+ hasOscillator(moduleName: string, inputName: string): boolean;
58
+ getOscillator(moduleName: string, inputName: string): {
59
+ moduleName: string;
60
+ inputName: string;
61
+ min: number;
62
+ max: number;
63
+ speedHz: number;
64
+ curveExponent: number;
65
+ jitterMultiplier: number;
66
+ phaseOffset: number;
67
+ lastDirection: -1 | 0 | 1;
68
+ lastValue: number;
69
+ active: boolean;
70
+ } | undefined;
71
+ clearOscillators(): void;
72
+ clearModuleOscillators(moduleName: string): void;
73
+ addOscillatorListener(moduleName: string, inputName: string, handler: (value: number) => void): void;
74
+ removeOscillatorListener(moduleName: string, inputName: string, handler: (value: number) => void): void;
75
+ setOscillatorState(moduleName: string, inputName: string, lastValue: number, lastDirection: -1 | 0 | 1): boolean;
76
+ getOscillatorsElapsedSeconds(): number;
77
+ setOscillatorsElapsedSeconds(seconds: number): void;
78
+ setParticles(p: IParticle[]): void;
79
+ addParticle(p: IParticle): void;
80
+ getParticles(): Promise<IParticle[]>;
81
+ getParticle(index: number): Promise<IParticle>;
82
+ pinParticles(indexes: number[]): Promise<void>;
83
+ unpinParticles(indexes: number[]): Promise<void>;
84
+ unpinAll(): Promise<void>;
85
+ clear(): void;
86
+ getCount(): number;
87
+ getFPS(): number;
88
+ export(): Record<string, Record<string, number>>;
89
+ import(settings: Record<string, Record<string, number>>): void;
90
+ getClearColor(): {
91
+ r: number;
92
+ g: number;
93
+ b: number;
94
+ a: number;
95
+ };
96
+ setClearColor(color: {
97
+ r: number;
98
+ g: number;
99
+ b: number;
100
+ a: number;
101
+ }): void;
102
+ getCellSize(): number;
103
+ setCellSize(size: number): void;
104
+ getConstrainIterations(): number;
105
+ setConstrainIterations(iterations: number): void;
106
+ getMaxNeighbors(): number;
107
+ setMaxNeighbors(size: number): void;
108
+ getMaxParticles(): number | null;
109
+ setMaxParticles(value: number | null): void;
110
+ getModule(name: string): Module | undefined;
111
+ isSupported(module: Module): boolean;
112
+ }
113
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export * from "./engine";
2
+ export * from "./module";
3
+ export * from "./spawner";
4
+ export * from "./interfaces";
5
+ export * from "./modules";
6
+ export * from "./vector";
7
+ export * from "./oscillators";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC"}