reze-engine 0.54.16 → 0.55.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/dist/engine.d.ts +210 -0
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +1063 -11
- package/dist/graph/presets/pool_floor.d.ts +3 -0
- package/dist/graph/presets/pool_floor.d.ts.map +1 -0
- package/dist/graph/presets/pool_floor.js +42 -0
- package/dist/graph/presets/water.d.ts +3 -0
- package/dist/graph/presets/water.d.ts.map +1 -0
- package/dist/graph/presets/water.js +31 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +10 -0
- package/dist/overlay.d.ts +200 -0
- package/dist/overlay.d.ts.map +1 -0
- package/dist/overlay.js +806 -0
- package/dist/physics/autofit.d.ts +147 -0
- package/dist/physics/autofit.d.ts.map +1 -0
- package/dist/physics/autofit.js +501 -0
- package/dist/pmx-document.d.ts +218 -0
- package/dist/pmx-document.d.ts.map +1 -0
- package/dist/pmx-document.js +685 -0
- package/dist/shaders/passes/field-blit.d.ts +26 -0
- package/dist/shaders/passes/field-blit.d.ts.map +1 -0
- package/dist/shaders/passes/field-blit.js +65 -0
- package/dist/shaders/passes/ground-noise.d.ts +7 -0
- package/dist/shaders/passes/ground-noise.d.ts.map +1 -0
- package/dist/shaders/passes/ground-noise.js +88 -0
- package/dist/shaders/passes/overlay.d.ts +3 -0
- package/dist/shaders/passes/overlay.d.ts.map +1 -0
- package/dist/shaders/passes/overlay.js +164 -0
- package/dist/shaders/passes/sim.d.ts +34 -0
- package/dist/shaders/passes/sim.d.ts.map +1 -0
- package/dist/shaders/passes/sim.js +169 -0
- package/dist/shaders/passes/wireframe.d.ts +2 -0
- package/dist/shaders/passes/wireframe.d.ts.map +1 -0
- package/dist/shaders/passes/wireframe.js +107 -0
- package/dist/shaders/score-api.d.ts +10 -0
- package/dist/shaders/score-api.d.ts.map +1 -0
- package/dist/shaders/score-api.js +114 -0
- package/package.json +1 -1
- package/src/engine.ts +1147 -13
- package/src/index.ts +50 -0
- package/src/model.ts +9 -0
- package/src/overlay.ts +1000 -0
- package/src/pmx-document.ts +882 -0
- package/src/shaders/passes/overlay.ts +166 -0
- package/src/shaders/passes/wireframe.ts +108 -0
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
/** 0 = UTF-16LE, 1 = UTF-8. Preserved: writing back in the other one is a
|
|
2
|
+
* different file, even where it decodes the same. */
|
|
3
|
+
export type PmxEncoding = 0 | 1;
|
|
4
|
+
export interface PmxGlobals {
|
|
5
|
+
encoding: PmxEncoding;
|
|
6
|
+
additionalUvCount: number;
|
|
7
|
+
/** Vertex indices are UNSIGNED; every other index is signed, with -1 for none. */
|
|
8
|
+
vertexIndexSize: 1 | 2 | 4;
|
|
9
|
+
textureIndexSize: 1 | 2 | 4;
|
|
10
|
+
materialIndexSize: 1 | 2 | 4;
|
|
11
|
+
boneIndexSize: 1 | 2 | 4;
|
|
12
|
+
morphIndexSize: 1 | 2 | 4;
|
|
13
|
+
rigidbodyIndexSize: 1 | 2 | 4;
|
|
14
|
+
/** Anything past the eight PMX 2.0 knows about, kept so the header's own
|
|
15
|
+
* length survives a round trip. */
|
|
16
|
+
extra: number[];
|
|
17
|
+
}
|
|
18
|
+
export type PmxWeightType = 0 | 1 | 2 | 3 | 4;
|
|
19
|
+
export interface PmxVertex {
|
|
20
|
+
position: [number, number, number];
|
|
21
|
+
normal: [number, number, number];
|
|
22
|
+
uv: [number, number];
|
|
23
|
+
/** additionalUvCount entries, each a vec4. */
|
|
24
|
+
additionalUv: [number, number, number, number][];
|
|
25
|
+
weightType: PmxWeightType;
|
|
26
|
+
/** 1, 2 or 4 entries depending on weightType. */
|
|
27
|
+
bones: number[];
|
|
28
|
+
/** BDEF2 keeps one, BDEF4 and QDEF keep four, BDEF1 keeps none. */
|
|
29
|
+
weights: number[];
|
|
30
|
+
/** SDEF only: C, R0, R1. */
|
|
31
|
+
sdef?: {
|
|
32
|
+
c: [number, number, number];
|
|
33
|
+
r0: [number, number, number];
|
|
34
|
+
r1: [number, number, number];
|
|
35
|
+
};
|
|
36
|
+
edgeScale: number;
|
|
37
|
+
}
|
|
38
|
+
export interface PmxMaterial {
|
|
39
|
+
name: string;
|
|
40
|
+
nameEn: string;
|
|
41
|
+
diffuse: [number, number, number, number];
|
|
42
|
+
specular: [number, number, number];
|
|
43
|
+
specularPower: number;
|
|
44
|
+
ambient: [number, number, number];
|
|
45
|
+
/** Bit 0 double-sided, 1 ground shadow, 2 to self-shadow map, 3 from
|
|
46
|
+
* self-shadow, 4 edge, 5 vertex colour, 6 point draw, 7 line draw. */
|
|
47
|
+
drawFlags: number;
|
|
48
|
+
edgeColor: [number, number, number, number];
|
|
49
|
+
edgeSize: number;
|
|
50
|
+
textureIndex: number;
|
|
51
|
+
sphereIndex: number;
|
|
52
|
+
/** 0 none, 1 multiply, 2 add, 3 subtexture. */
|
|
53
|
+
sphereMode: number;
|
|
54
|
+
/** 0 = toonIndex is a texture index, 1 = it is a shared toon 0-9. */
|
|
55
|
+
toonShared: number;
|
|
56
|
+
toonIndex: number;
|
|
57
|
+
memo: string;
|
|
58
|
+
/** How many INDICES this material owns, not faces. Materials own a contiguous
|
|
59
|
+
* run of the index buffer, which is why face order is document identity. */
|
|
60
|
+
indexCount: number;
|
|
61
|
+
}
|
|
62
|
+
export interface PmxIkLink {
|
|
63
|
+
boneIndex: number;
|
|
64
|
+
hasLimit: boolean;
|
|
65
|
+
limitMin?: [number, number, number];
|
|
66
|
+
limitMax?: [number, number, number];
|
|
67
|
+
}
|
|
68
|
+
export interface PmxBone {
|
|
69
|
+
name: string;
|
|
70
|
+
nameEn: string;
|
|
71
|
+
position: [number, number, number];
|
|
72
|
+
parentIndex: number;
|
|
73
|
+
layer: number;
|
|
74
|
+
/** 0x0001 tail is a bone · 0x0002 rotatable · 0x0004 movable · 0x0008 visible
|
|
75
|
+
* 0x0010 operable · 0x0020 IK · 0x0080 local append · 0x0100 append rotate
|
|
76
|
+
* 0x0200 append move · 0x0400 fixed axis · 0x0800 local axes
|
|
77
|
+
* 0x1000 after physics · 0x2000 external parent */
|
|
78
|
+
flags: number;
|
|
79
|
+
tailBoneIndex?: number;
|
|
80
|
+
tailPosition?: [number, number, number];
|
|
81
|
+
appendParentIndex?: number;
|
|
82
|
+
appendRatio?: number;
|
|
83
|
+
fixedAxis?: [number, number, number];
|
|
84
|
+
localAxisX?: [number, number, number];
|
|
85
|
+
localAxisZ?: [number, number, number];
|
|
86
|
+
externalKey?: number;
|
|
87
|
+
ik?: {
|
|
88
|
+
targetIndex: number;
|
|
89
|
+
loopCount: number;
|
|
90
|
+
limitAngle: number;
|
|
91
|
+
links: PmxIkLink[];
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
export type PmxMorphOffset = {
|
|
95
|
+
kind: "group";
|
|
96
|
+
index: number;
|
|
97
|
+
influence: number;
|
|
98
|
+
} | {
|
|
99
|
+
kind: "vertex";
|
|
100
|
+
index: number;
|
|
101
|
+
offset: [number, number, number];
|
|
102
|
+
} | {
|
|
103
|
+
kind: "bone";
|
|
104
|
+
index: number;
|
|
105
|
+
translation: [number, number, number];
|
|
106
|
+
rotation: [number, number, number, number];
|
|
107
|
+
} | {
|
|
108
|
+
kind: "uv";
|
|
109
|
+
index: number;
|
|
110
|
+
offset: [number, number, number, number];
|
|
111
|
+
} | {
|
|
112
|
+
kind: "material";
|
|
113
|
+
index: number;
|
|
114
|
+
/** 0 multiply, 1 add. */
|
|
115
|
+
operation: number;
|
|
116
|
+
diffuse: [number, number, number, number];
|
|
117
|
+
specular: [number, number, number];
|
|
118
|
+
specularPower: number;
|
|
119
|
+
ambient: [number, number, number];
|
|
120
|
+
edgeColor: [number, number, number, number];
|
|
121
|
+
edgeSize: number;
|
|
122
|
+
textureTint: [number, number, number, number];
|
|
123
|
+
sphereTint: [number, number, number, number];
|
|
124
|
+
toonTint: [number, number, number, number];
|
|
125
|
+
} | {
|
|
126
|
+
kind: "flip";
|
|
127
|
+
index: number;
|
|
128
|
+
influence: number;
|
|
129
|
+
} | {
|
|
130
|
+
kind: "impulse";
|
|
131
|
+
index: number;
|
|
132
|
+
local: number;
|
|
133
|
+
velocity: [number, number, number];
|
|
134
|
+
torque: [number, number, number];
|
|
135
|
+
};
|
|
136
|
+
export interface PmxMorph {
|
|
137
|
+
name: string;
|
|
138
|
+
nameEn: string;
|
|
139
|
+
/** 0 reserved, 1 eyebrow, 2 eye, 3 mouth, 4 other. What MMD groups sliders by. */
|
|
140
|
+
panel: number;
|
|
141
|
+
/** 0 group, 1 vertex, 2 bone, 3-7 UV, 8 material, 9 flip, 10 impulse. */
|
|
142
|
+
type: number;
|
|
143
|
+
offsets: PmxMorphOffset[];
|
|
144
|
+
}
|
|
145
|
+
export interface PmxDisplayFrame {
|
|
146
|
+
name: string;
|
|
147
|
+
nameEn: string;
|
|
148
|
+
/** 1 for the two frames MMD reserves (Root and 表情). */
|
|
149
|
+
special: number;
|
|
150
|
+
/** type 0 = bone index, 1 = morph index. */
|
|
151
|
+
elements: {
|
|
152
|
+
type: number;
|
|
153
|
+
index: number;
|
|
154
|
+
}[];
|
|
155
|
+
}
|
|
156
|
+
export interface PmxRigidbody {
|
|
157
|
+
name: string;
|
|
158
|
+
nameEn: string;
|
|
159
|
+
boneIndex: number;
|
|
160
|
+
group: number;
|
|
161
|
+
nonCollideMask: number;
|
|
162
|
+
/** 0 sphere, 1 box, 2 capsule. */
|
|
163
|
+
shape: number;
|
|
164
|
+
size: [number, number, number];
|
|
165
|
+
position: [number, number, number];
|
|
166
|
+
rotation: [number, number, number];
|
|
167
|
+
mass: number;
|
|
168
|
+
linearDamping: number;
|
|
169
|
+
angularDamping: number;
|
|
170
|
+
restitution: number;
|
|
171
|
+
friction: number;
|
|
172
|
+
/** 0 follows its bone, 1 physics, 2 physics then aligned to its bone. */
|
|
173
|
+
physicsMode: number;
|
|
174
|
+
}
|
|
175
|
+
export interface PmxJoint {
|
|
176
|
+
name: string;
|
|
177
|
+
nameEn: string;
|
|
178
|
+
/** 0 is 6DOF-with-spring, the only one PMX 2.0 has. 2.1 adds 1-5. */
|
|
179
|
+
type: number;
|
|
180
|
+
rigidbodyA: number;
|
|
181
|
+
rigidbodyB: number;
|
|
182
|
+
position: [number, number, number];
|
|
183
|
+
rotation: [number, number, number];
|
|
184
|
+
positionMin: [number, number, number];
|
|
185
|
+
positionMax: [number, number, number];
|
|
186
|
+
rotationMin: [number, number, number];
|
|
187
|
+
rotationMax: [number, number, number];
|
|
188
|
+
springPosition: [number, number, number];
|
|
189
|
+
springRotation: [number, number, number];
|
|
190
|
+
}
|
|
191
|
+
export interface PmxDocument {
|
|
192
|
+
version: number;
|
|
193
|
+
globals: PmxGlobals;
|
|
194
|
+
name: string;
|
|
195
|
+
nameEn: string;
|
|
196
|
+
comment: string;
|
|
197
|
+
commentEn: string;
|
|
198
|
+
vertices: PmxVertex[];
|
|
199
|
+
/** Flat triples. Materials own contiguous runs of this, so its ORDER is
|
|
200
|
+
* identity: reordering it silently re-assigns geometry between materials. */
|
|
201
|
+
indices: Uint32Array;
|
|
202
|
+
textures: string[];
|
|
203
|
+
materials: PmxMaterial[];
|
|
204
|
+
bones: PmxBone[];
|
|
205
|
+
morphs: PmxMorph[];
|
|
206
|
+
displayFrames: PmxDisplayFrame[];
|
|
207
|
+
rigidbodies: PmxRigidbody[];
|
|
208
|
+
joints: PmxJoint[];
|
|
209
|
+
/** PMX 2.1 soft bodies, kept as the bytes they arrived as. They are vanishingly
|
|
210
|
+
* rare and nothing here edits them — but a model that has them must still save
|
|
211
|
+
* as the same file, and preserving the tail costs nothing. */
|
|
212
|
+
trailing: Uint8Array | null;
|
|
213
|
+
}
|
|
214
|
+
/** Parses a PMX file into a document that writes back byte for byte. */
|
|
215
|
+
export declare function readPmxDocument(buffer: ArrayBuffer): PmxDocument;
|
|
216
|
+
/** Writes a document back to PMX bytes. */
|
|
217
|
+
export declare function writePmxDocument(doc: PmxDocument): ArrayBuffer;
|
|
218
|
+
//# sourceMappingURL=pmx-document.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pmx-document.d.ts","sourceRoot":"","sources":["../src/pmx-document.ts"],"names":[],"mappings":"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"}
|