@cazala/party 0.1.2 → 0.2.1
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.
|
@@ -7,16 +7,29 @@
|
|
|
7
7
|
* Stores per-particle state in shared SIM_STATE via the Program-provided helpers.
|
|
8
8
|
*/
|
|
9
9
|
import { Module, type WebGPUDescriptor, ModuleRole, CPUDescriptor, DataType } from "../../module";
|
|
10
|
+
export declare enum FluidsMethod {
|
|
11
|
+
Sph = "sph",
|
|
12
|
+
Picflip = "picflip"
|
|
13
|
+
}
|
|
10
14
|
export declare const DEFAULT_FLUIDS_INFLUENCE_RADIUS = 100;
|
|
11
|
-
export declare const DEFAULT_FLUIDS_TARGET_DENSITY =
|
|
15
|
+
export declare const DEFAULT_FLUIDS_TARGET_DENSITY = 2;
|
|
12
16
|
export declare const DEFAULT_FLUIDS_PRESSURE_MULTIPLIER = 30;
|
|
13
17
|
export declare const DEFAULT_FLUIDS_VISCOSITY = 1;
|
|
14
18
|
export declare const DEFAULT_FLUIDS_NEAR_PRESSURE_MULTIPLIER = 50;
|
|
15
19
|
export declare const DEFAULT_FLUIDS_NEAR_THRESHOLD = 20;
|
|
16
20
|
export declare const DEFAULT_FLUIDS_ENABLE_NEAR_PRESSURE = true;
|
|
17
21
|
export declare const DEFAULT_FLUIDS_MAX_ACCELERATION = 75;
|
|
18
|
-
|
|
22
|
+
export declare const DEFAULT_PICFLIP_FLIP_RATIO = 0.9;
|
|
23
|
+
export declare const DEFAULT_PICFLIP_TARGET_DENSITY = 2;
|
|
24
|
+
export declare const DEFAULT_PICFLIP_INFLUENCE_RADIUS = 50;
|
|
25
|
+
export declare const DEFAULT_PICFLIP_PRESSURE_MULTIPLIER = 500;
|
|
26
|
+
export declare const DEFAULT_PICFLIP_INTERNAL_MAX_ACCELERATION = 20000;
|
|
27
|
+
export declare const DEFAULT_PICFLIP_DENSITY = 2;
|
|
28
|
+
export declare const DEFAULT_PICFLIP_RADIUS = 50;
|
|
29
|
+
export declare const DEFAULT_PICFLIP_PRESSURE = 500;
|
|
30
|
+
type FluidStateKeys = "density" | "nearDensity" | "prevVelX" | "prevVelY";
|
|
19
31
|
type FluidsInputs = {
|
|
32
|
+
method: number;
|
|
20
33
|
influenceRadius: number;
|
|
21
34
|
targetDensity: number;
|
|
22
35
|
pressureMultiplier: number;
|
|
@@ -25,11 +38,13 @@ type FluidsInputs = {
|
|
|
25
38
|
nearThreshold: number;
|
|
26
39
|
enableNearPressure: number;
|
|
27
40
|
maxAcceleration: number;
|
|
41
|
+
flipRatio: number;
|
|
28
42
|
};
|
|
29
43
|
export declare class Fluids extends Module<"fluids", FluidsInputs, FluidStateKeys> {
|
|
30
44
|
readonly name: "fluids";
|
|
31
45
|
readonly role = ModuleRole.Force;
|
|
32
46
|
readonly inputs: {
|
|
47
|
+
readonly method: DataType.NUMBER;
|
|
33
48
|
readonly influenceRadius: DataType.NUMBER;
|
|
34
49
|
readonly targetDensity: DataType.NUMBER;
|
|
35
50
|
readonly pressureMultiplier: DataType.NUMBER;
|
|
@@ -38,9 +53,11 @@ export declare class Fluids extends Module<"fluids", FluidsInputs, FluidStateKey
|
|
|
38
53
|
readonly nearThreshold: DataType.NUMBER;
|
|
39
54
|
readonly enableNearPressure: DataType.NUMBER;
|
|
40
55
|
readonly maxAcceleration: DataType.NUMBER;
|
|
56
|
+
readonly flipRatio: DataType.NUMBER;
|
|
41
57
|
};
|
|
42
|
-
constructor(opts?: {
|
|
58
|
+
constructor(opts?: ({
|
|
43
59
|
enabled?: boolean;
|
|
60
|
+
method?: FluidsMethod.Sph;
|
|
44
61
|
influenceRadius?: number;
|
|
45
62
|
targetDensity?: number;
|
|
46
63
|
pressureMultiplier?: number;
|
|
@@ -49,11 +66,28 @@ export declare class Fluids extends Module<"fluids", FluidsInputs, FluidStateKey
|
|
|
49
66
|
nearThreshold?: number;
|
|
50
67
|
enableNearPressure?: boolean;
|
|
51
68
|
maxAcceleration?: number;
|
|
69
|
+
} & {
|
|
70
|
+
flipRatio?: never;
|
|
71
|
+
}) | {
|
|
72
|
+
enabled?: boolean;
|
|
73
|
+
method: FluidsMethod.Picflip;
|
|
74
|
+
influenceRadius?: number;
|
|
75
|
+
targetDensity?: number;
|
|
76
|
+
pressureMultiplier?: number;
|
|
77
|
+
viscosity?: never;
|
|
78
|
+
flipRatio?: number;
|
|
79
|
+
maxAcceleration?: never;
|
|
80
|
+
nearPressureMultiplier?: never;
|
|
81
|
+
nearThreshold?: never;
|
|
82
|
+
enableNearPressure?: never;
|
|
52
83
|
});
|
|
84
|
+
setMethod(method: FluidsMethod): void;
|
|
85
|
+
getMethod(): FluidsMethod;
|
|
53
86
|
setInfluenceRadius(v: number): void;
|
|
54
87
|
setTargetDensity(v: number): void;
|
|
55
88
|
setPressureMultiplier(v: number): void;
|
|
56
89
|
setViscosity(v: number): void;
|
|
90
|
+
setFlipRatio(v: number): void;
|
|
57
91
|
setNearPressureMultiplier(v: number): void;
|
|
58
92
|
setNearThreshold(v: number): void;
|
|
59
93
|
setEnableNearPressure(enabled: boolean): void;
|
|
@@ -62,6 +96,7 @@ export declare class Fluids extends Module<"fluids", FluidsInputs, FluidStateKey
|
|
|
62
96
|
getTargetDensity(): number;
|
|
63
97
|
getPressureMultiplier(): number;
|
|
64
98
|
getViscosity(): number;
|
|
99
|
+
getFlipRatio(): number;
|
|
65
100
|
getNearPressureMultiplier(): number;
|
|
66
101
|
getNearThreshold(): number;
|
|
67
102
|
getEnableNearPressure(): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fluids.d.ts","sourceRoot":"","sources":["../../../src/modules/forces/fluids.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,MAAM,EACN,KAAK,gBAAgB,EACrB,UAAU,EACV,aAAa,EACb,QAAQ,EACT,MAAM,cAAc,CAAC;AAEtB,eAAO,MAAM,+BAA+B,MAAM,CAAC;AACnD,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAC/C,eAAO,MAAM,kCAAkC,KAAK,CAAC;AACrD,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,uCAAuC,KAAK,CAAC;AAC1D,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAChD,eAAO,MAAM,mCAAmC,OAAO,CAAC;AACxD,eAAO,MAAM,+BAA+B,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"fluids.d.ts","sourceRoot":"","sources":["../../../src/modules/forces/fluids.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,MAAM,EACN,KAAK,gBAAgB,EACrB,UAAU,EACV,aAAa,EACb,QAAQ,EACT,MAAM,cAAc,CAAC;AAEtB,oBAAY,YAAY;IACtB,GAAG,QAAQ;IACX,OAAO,YAAY;CACpB;AAED,eAAO,MAAM,+BAA+B,MAAM,CAAC;AACnD,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAC/C,eAAO,MAAM,kCAAkC,KAAK,CAAC;AACrD,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,uCAAuC,KAAK,CAAC;AAC1D,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAChD,eAAO,MAAM,mCAAmC,OAAO,CAAC;AACxD,eAAO,MAAM,+BAA+B,KAAK,CAAC;AAGlD,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,8BAA8B,IAAM,CAAC;AAClD,eAAO,MAAM,gCAAgC,KAAO,CAAC;AACrD,eAAO,MAAM,mCAAmC,MAAQ,CAAC;AACzD,eAAO,MAAM,yCAAyC,QAAU,CAAC;AAIjE,eAAO,MAAM,uBAAuB,IAAiC,CAAC;AACtE,eAAO,MAAM,sBAAsB,KAAmC,CAAC;AACvE,eAAO,MAAM,wBAAwB,MAAsC,CAAC;AAE5E,KAAK,cAAc,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,UAAU,CAAC;AAE1E,KAAK,YAAY,GAAG;IAElB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IAExB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,qBAAa,MAAO,SAAQ,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,cAAc,CAAC;IACxE,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;IAClC,QAAQ,CAAC,IAAI,oBAAoB;IACjC,QAAQ,CAAC,MAAM;;;;;;;;;;;MAWJ;gBAGT,IAAI,CAAC,EACD,CAAC;QACC,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GAAG;QAAE,SAAS,CAAC,EAAE,KAAK,CAAA;KAAE,CAAC,GAC1B;QACE,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC;QAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,SAAS,CAAC,EAAE,KAAK,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QAEnB,eAAe,CAAC,EAAE,KAAK,CAAC;QACxB,sBAAsB,CAAC,EAAE,KAAK,CAAC;QAC/B,aAAa,CAAC,EAAE,KAAK,CAAC;QACtB,kBAAkB,CAAC,EAAE,KAAK,CAAC;KAC5B;IAmDP,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAGrC,SAAS,IAAI,YAAY;IAMzB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAGnC,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAGjC,qBAAqB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAGtC,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAG7B,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAG7B,yBAAyB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAG1C,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAGjC,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI7C,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAInC,kBAAkB,IAAI,MAAM;IAG5B,gBAAgB,IAAI,MAAM;IAG1B,qBAAqB,IAAI,MAAM;IAG/B,YAAY,IAAI,MAAM;IAGtB,YAAY,IAAI,MAAM;IAGtB,yBAAyB,IAAI,MAAM;IAGnC,gBAAgB,IAAI,MAAM;IAG1B,qBAAqB,IAAI,MAAM;IAG/B,kBAAkB,IAAI,MAAM;IAI5B,MAAM,IAAI,gBAAgB,CAAC,YAAY,EAAE,cAAc,CAAC;IA4QxD,GAAG,IAAI,aAAa,CAAC,YAAY,EAAE,cAAc,CAAC;CA4SnD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/runtimes/webgpu/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAM7D,qBAAa,YAAa,SAAQ,cAAc;IAC9C,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,GAAG,CAAqB;IAChC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,kBAAkB,CAAkB;gBAEhC,OAAO,EAAE;QACnB,MAAM,EAAE,iBAAiB,CAAC;QAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,UAAU,CAAC,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB;IAkBK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/runtimes/webgpu/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAM7D,qBAAa,YAAa,SAAQ,cAAc;IAC9C,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,GAAG,CAAqB;IAChC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,kBAAkB,CAAkB;gBAEhC,OAAO,EAAE;QACnB,MAAM,EAAE,iBAAiB,CAAC;QAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,UAAU,CAAC,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB;IAkBK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiDjC,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAQpC,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAK7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAW9B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAa5C,SAAS,CAAC,aAAa,IAAI,IAAI;IAQ/B,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI;IAU5B,WAAW,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ9C;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAKpC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAKpD,QAAQ,IAAI,MAAM;IAQlB,KAAK,IAAI,IAAI;IAUb,OAAO,CAAC,OAAO,CA2Eb;IAEF,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,cAAc;YAkBR,uBAAuB;IA2BrC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAUhD,SAAS,CAAC,uBAAuB,IAAI,IAAI;IAKzC,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAKrC,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAenC,SAAS,CAAC,4BAA4B,IAAI,IAAI;IAK9C,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAIvC,SAAS,CAAC,qBAAqB,IAAI,IAAI;CAGxC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cazala/party",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "High-performance TypeScript particle physics engine with dual runtime support (WebGPU compute + CPU fallback). Features modular architecture, real-time parameter oscillation, advanced physics modules, and comprehensive rendering capabilities.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|