@flighthq/scene3d-formats 0.2.1-next.840.857425c
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/awd2Inflate.d.ts +4 -0
- package/dist/awd2Inflate.d.ts.map +1 -0
- package/dist/awd2Inflate.js +249 -0
- package/dist/awd2Inflate.js.map +1 -0
- package/dist/awd2Parse.d.ts +7 -0
- package/dist/awd2Parse.d.ts.map +1 -0
- package/dist/awd2Parse.js +1533 -0
- package/dist/awd2Parse.js.map +1 -0
- package/dist/awd2Schema.d.ts +44 -0
- package/dist/awd2Schema.d.ts.map +1 -0
- package/dist/awd2Schema.js +67 -0
- package/dist/awd2Schema.js.map +1 -0
- package/dist/gltfParse.d.ts +9 -0
- package/dist/gltfParse.d.ts.map +1 -0
- package/dist/gltfParse.js +1456 -0
- package/dist/gltfParse.js.map +1 -0
- package/dist/gltfPunctualLights.d.ts +3 -0
- package/dist/gltfPunctualLights.d.ts.map +1 -0
- package/dist/gltfPunctualLights.js +103 -0
- package/dist/gltfPunctualLights.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/md2Parse.d.ts +5 -0
- package/dist/md2Parse.d.ts.map +1 -0
- package/dist/md2Parse.js +408 -0
- package/dist/md2Parse.js.map +1 -0
- package/dist/md2Schema.d.ts +12 -0
- package/dist/md2Schema.d.ts.map +1 -0
- package/dist/md2Schema.js +193 -0
- package/dist/md2Schema.js.map +1 -0
- package/dist/md5AnimParse.d.ts +3 -0
- package/dist/md5AnimParse.d.ts.map +1 -0
- package/dist/md5AnimParse.js +385 -0
- package/dist/md5AnimParse.js.map +1 -0
- package/dist/md5Parse.d.ts +6 -0
- package/dist/md5Parse.d.ts.map +1 -0
- package/dist/md5Parse.js +635 -0
- package/dist/md5Parse.js.map +1 -0
- package/dist/mtlParse.d.ts +3 -0
- package/dist/mtlParse.d.ts.map +1 -0
- package/dist/mtlParse.js +256 -0
- package/dist/mtlParse.js.map +1 -0
- package/dist/objParse.d.ts +5 -0
- package/dist/objParse.d.ts.map +1 -0
- package/dist/objParse.js +464 -0
- package/dist/objParse.js.map +1 -0
- package/dist/sceneSkeleton.d.ts +3 -0
- package/dist/sceneSkeleton.d.ts.map +1 -0
- package/dist/sceneSkeleton.js +34 -0
- package/dist/sceneSkeleton.js.map +1 -0
- package/dist/shared.d.ts +18 -0
- package/dist/shared.d.ts.map +1 -0
- package/dist/shared.js +143 -0
- package/dist/shared.js.map +1 -0
- package/dist/threeDsParse.d.ts +4 -0
- package/dist/threeDsParse.d.ts.map +1 -0
- package/dist/threeDsParse.js +718 -0
- package/dist/threeDsParse.js.map +1 -0
- package/package.json +55 -0
- package/src/awd2Inflate.test.ts +118 -0
- package/src/awd2Parse.test.ts +2431 -0
- package/src/gltfParse.test.ts +2339 -0
- package/src/gltfPunctualLights.test.ts +184 -0
- package/src/gltfTreeShaking.test.ts +45 -0
- package/src/md2Parse.test.ts +1033 -0
- package/src/md5AnimParse.test.ts +673 -0
- package/src/md5Parse.test.ts +1094 -0
- package/src/mtlParse.test.ts +244 -0
- package/src/objParse.test.ts +690 -0
- package/src/sceneSkeleton.test.ts +35 -0
- package/src/shared.test.ts +210 -0
- package/src/threeDsParse.test.ts +1089 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"md2Schema.js","sourceRoot":"","sources":["../src/md2Schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"md5AnimParse.d.ts","sourceRoot":"","sources":["../src/md5AnimParse.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAoB,aAAa,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AA6BjG,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,WAAW,CAAC,EAAE,gBAAgB,EAAE,GAC/B,aAAa,GAAG,IAAI,CA0JtB"}
|
|
@@ -0,0 +1,385 @@
|
|
|
1
|
+
import { createAnimationChannel, createAnimationClip, createAnimationTrack } from '@flighthq/animation';
|
|
2
|
+
import { reportImportDiagnostic } from '@flighthq/importdiagnostics';
|
|
3
|
+
import { ImportDiagnosticSeverity, Scene3DAnimationPathRotation, Scene3DAnimationPathTranslation, } from '@flighthq/types';
|
|
4
|
+
import { convertPositionsZUpToYUp, convertQuaternionsZUpToYUp } from './shared';
|
|
5
|
+
// Parses an id Tech 4 MD5 animation file (.md5anim) into an AnimationClip that drives the given
|
|
6
|
+
// joint Node3Ds (produced by createScene3DFromMd5Mesh). The ASCII line-oriented format declares a
|
|
7
|
+
// skeleton hierarchy, a baseframe pose, and per-frame animated components selected by a bitmask.
|
|
8
|
+
// Each joint produces up to two channels (translation and rotation) in the returned clip. Channels
|
|
9
|
+
// bind to their joint by NAME (falling back to array position for unnamed joints), so the caller may
|
|
10
|
+
// pass the joint nodes in any order — see the name-binding note in buildAnimationClip.
|
|
11
|
+
//
|
|
12
|
+
// IMPORTANT: .md5anim baseframe/frame joint transforms are PARENT-RELATIVE (unlike the .md5mesh
|
|
13
|
+
// joints, which are absolute). These relative values are driven straight onto the joints' LOCAL
|
|
14
|
+
// transforms, and the NESTED skeleton createScene3DFromMd5Mesh builds (which converts its absolute bind
|
|
15
|
+
// pose to parent-relative locals) composes parent × child back to the correct absolute world pose.
|
|
16
|
+
// The two files are coupled: a flat skeleton, or one that kept absolute bind locals, would deform the
|
|
17
|
+
// mesh wrongly. Do not "compose to absolute" here — the scene graph does that.
|
|
18
|
+
//
|
|
19
|
+
// Joint positions and orientations are converted from MD5's right-handed Z-up coordinate system
|
|
20
|
+
// to Flight's right-handed Y-up system via convertPositionsZUpToYUp and
|
|
21
|
+
// convertQuaternionsZUpToYUp. Quaternion W is reconstructed from XYZ.
|
|
22
|
+
//
|
|
23
|
+
// Returns null when the source is empty or cannot be parsed. Malformed lines record a diagnostic and
|
|
24
|
+
// are skipped; the function never throws on bad input.
|
|
25
|
+
export function parseMd5Anim(source, joints, diagnostics) {
|
|
26
|
+
const lines = source.split('\n');
|
|
27
|
+
let i = 0;
|
|
28
|
+
let frameRate = 24;
|
|
29
|
+
let numFrames = 0;
|
|
30
|
+
let numJoints = 0;
|
|
31
|
+
const hierarchy = [];
|
|
32
|
+
const baseframe = [];
|
|
33
|
+
const frames = [];
|
|
34
|
+
const md5Drops = diagnostics ? new Map() : null;
|
|
35
|
+
while (i < lines.length) {
|
|
36
|
+
const line = lines[i].trim();
|
|
37
|
+
i++;
|
|
38
|
+
if (line.length === 0 || line.startsWith('//'))
|
|
39
|
+
continue;
|
|
40
|
+
if (line.startsWith('MD5Version')) {
|
|
41
|
+
const version = parseInt(line.split(/\s+/)[1], 10);
|
|
42
|
+
if (Number.isFinite(version) && version !== 10) {
|
|
43
|
+
reportImportDiagnostic(diagnostics, ImportDiagnosticSeverity.Recover, 'md5anim.unsupported-version', 'parseMd5Anim', {
|
|
44
|
+
version,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
if (line.startsWith('commandline'))
|
|
50
|
+
continue;
|
|
51
|
+
if (line.startsWith('numFrames')) {
|
|
52
|
+
numFrames = parseInt(line.split(/\s+/)[1], 10);
|
|
53
|
+
if (!Number.isFinite(numFrames)) {
|
|
54
|
+
reportImportDiagnostic(diagnostics, ImportDiagnosticSeverity.Recover, 'md5anim.non-numeric-numframes', 'parseMd5Anim');
|
|
55
|
+
numFrames = 0;
|
|
56
|
+
}
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
if (line.startsWith('numJoints')) {
|
|
60
|
+
numJoints = parseInt(line.split(/\s+/)[1], 10);
|
|
61
|
+
if (!Number.isFinite(numJoints)) {
|
|
62
|
+
reportImportDiagnostic(diagnostics, ImportDiagnosticSeverity.Recover, 'md5anim.non-numeric-numjoints', 'parseMd5Anim');
|
|
63
|
+
numJoints = 0;
|
|
64
|
+
}
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
if (line.startsWith('frameRate')) {
|
|
68
|
+
frameRate = parseInt(line.split(/\s+/)[1], 10);
|
|
69
|
+
if (!Number.isFinite(frameRate) || frameRate <= 0) {
|
|
70
|
+
reportImportDiagnostic(diagnostics, ImportDiagnosticSeverity.Recover, 'md5anim.invalid-framerate', 'parseMd5Anim');
|
|
71
|
+
frameRate = 24;
|
|
72
|
+
}
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
if (line.startsWith('numAnimatedComponents'))
|
|
76
|
+
continue;
|
|
77
|
+
if (line === 'hierarchy {') {
|
|
78
|
+
i = parseHierarchyBlock(lines, i, hierarchy, md5Drops);
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
if (line === 'bounds {') {
|
|
82
|
+
i = skipBlock(lines, i);
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
if (line === 'baseframe {') {
|
|
86
|
+
i = parseBaseframeBlock(lines, i, baseframe, md5Drops);
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
if (line.startsWith('frame ') && line.endsWith('{')) {
|
|
90
|
+
const frameData = [];
|
|
91
|
+
i = parseFrameBlock(lines, i, frameData, md5Drops);
|
|
92
|
+
frames.push(frameData);
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
// Resolve the outcome first, then flush the aggregated block-level drops once — so no accumulated
|
|
97
|
+
// crumb is lost on either early-reject path below (parseMd5Anim is the physical emitter, hence origin).
|
|
98
|
+
let clip = null;
|
|
99
|
+
if (hierarchy.length === 0 || frames.length === 0) {
|
|
100
|
+
reportImportDiagnostic(diagnostics, ImportDiagnosticSeverity.Reject, 'md5anim.no-data', 'parseMd5Anim');
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
if (hierarchy.length !== numJoints) {
|
|
104
|
+
reportImportDiagnostic(diagnostics, ImportDiagnosticSeverity.Recover, 'md5anim.joint-count-mismatch', 'parseMd5Anim', {
|
|
105
|
+
declared: numJoints,
|
|
106
|
+
found: hierarchy.length,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
if (frames.length !== numFrames) {
|
|
110
|
+
reportImportDiagnostic(diagnostics, ImportDiagnosticSeverity.Recover, 'md5anim.frame-count-mismatch', 'parseMd5Anim', {
|
|
111
|
+
declared: numFrames,
|
|
112
|
+
found: frames.length,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
if (joints.length < hierarchy.length) {
|
|
116
|
+
reportImportDiagnostic(diagnostics, ImportDiagnosticSeverity.Reject, 'md5anim.joints-too-few', 'parseMd5Anim', {
|
|
117
|
+
animationJoints: hierarchy.length,
|
|
118
|
+
suppliedJoints: joints.length,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
clip = buildAnimationClip(joints, hierarchy, baseframe, frames, frameRate);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
if (md5Drops !== null) {
|
|
126
|
+
for (const tally of md5Drops.values()) {
|
|
127
|
+
reportImportDiagnostic(diagnostics, tally.severity, tally.kind, 'parseMd5Anim', {
|
|
128
|
+
...tally.detail,
|
|
129
|
+
count: tally.count,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return clip;
|
|
134
|
+
}
|
|
135
|
+
// Builds the AnimationClip from parsed MD5 anim data. Each joint gets a translation channel
|
|
136
|
+
// (3 components) and a rotation channel (4 components, quaternion slerp).
|
|
137
|
+
function buildAnimationClip(joints, hierarchy, baseframe, frames, frameRate) {
|
|
138
|
+
const frameCount = frames.length;
|
|
139
|
+
const jointCount = hierarchy.length;
|
|
140
|
+
const channels = [];
|
|
141
|
+
// Build time array: one entry per frame, spaced by 1/frameRate.
|
|
142
|
+
const times = [];
|
|
143
|
+
for (let f = 0; f < frameCount; f++) {
|
|
144
|
+
times.push(f / frameRate);
|
|
145
|
+
}
|
|
146
|
+
// Bind each animation channel to its joint by NAME, not array position. MD5 joint names are unique,
|
|
147
|
+
// and the caller may pass the joint nodes in any order — the mesh importer supplies them in MD5 skeleton
|
|
148
|
+
// order, but a consumer that re-collects them from the scene graph (e.g. a depth-first walk of a nested
|
|
149
|
+
// skeleton) yields a different order. Index binding silently mis-poses the joints whose two orders differ
|
|
150
|
+
// (worst at skeleton branches like finger chains); name binding is order-independent. Falls back to the
|
|
151
|
+
// positional joint when a hierarchy name has no matching node (e.g. unnamed nodes), preserving the old
|
|
152
|
+
// behavior for callers that pass MD5-ordered, possibly-unnamed joints.
|
|
153
|
+
const nodeByName = new Map();
|
|
154
|
+
for (const joint of joints) {
|
|
155
|
+
if (joint.name)
|
|
156
|
+
nodeByName.set(joint.name, joint);
|
|
157
|
+
}
|
|
158
|
+
for (let j = 0; j < jointCount; j++) {
|
|
159
|
+
const entry = hierarchy[j];
|
|
160
|
+
const base = j < baseframe.length ? baseframe[j] : DEFAULT_BASEFRAME;
|
|
161
|
+
const flags = entry.flags;
|
|
162
|
+
// Extract per-frame translation and rotation for this joint.
|
|
163
|
+
const translationValues = [];
|
|
164
|
+
const rotationValues = [];
|
|
165
|
+
for (let f = 0; f < frameCount; f++) {
|
|
166
|
+
const frameData = frames[f];
|
|
167
|
+
let tx = base.positionX;
|
|
168
|
+
let ty = base.positionY;
|
|
169
|
+
let tz = base.positionZ;
|
|
170
|
+
let qx = base.orientationX;
|
|
171
|
+
let qy = base.orientationY;
|
|
172
|
+
let qz = base.orientationZ;
|
|
173
|
+
let componentOffset = entry.startIndex;
|
|
174
|
+
if (flags & FLAG_TX) {
|
|
175
|
+
tx = frameData[componentOffset++] ?? tx;
|
|
176
|
+
}
|
|
177
|
+
if (flags & FLAG_TY) {
|
|
178
|
+
ty = frameData[componentOffset++] ?? ty;
|
|
179
|
+
}
|
|
180
|
+
if (flags & FLAG_TZ) {
|
|
181
|
+
tz = frameData[componentOffset++] ?? tz;
|
|
182
|
+
}
|
|
183
|
+
if (flags & FLAG_QX) {
|
|
184
|
+
qx = frameData[componentOffset++] ?? qx;
|
|
185
|
+
}
|
|
186
|
+
if (flags & FLAG_QY) {
|
|
187
|
+
qy = frameData[componentOffset++] ?? qy;
|
|
188
|
+
}
|
|
189
|
+
if (flags & FLAG_QZ) {
|
|
190
|
+
qz = frameData[componentOffset++] ?? qz;
|
|
191
|
+
}
|
|
192
|
+
// Reconstruct quaternion W from XYZ.
|
|
193
|
+
const sumSq = qx * qx + qy * qy + qz * qz;
|
|
194
|
+
const qw = sumSq < 1 ? -Math.sqrt(1 - sumSq) : 0;
|
|
195
|
+
// Push in MD5's native Z-up space; batch-converted below.
|
|
196
|
+
translationValues.push(tx, ty, tz);
|
|
197
|
+
rotationValues.push(qx, qy, qz, qw);
|
|
198
|
+
}
|
|
199
|
+
// Convert from Z-up to Y-up.
|
|
200
|
+
convertPositionsZUpToYUp(translationValues);
|
|
201
|
+
convertQuaternionsZUpToYUp(rotationValues);
|
|
202
|
+
const node = nodeByName.get(entry.name) ?? joints[j];
|
|
203
|
+
const translationTrack = createAnimationTrack({
|
|
204
|
+
components: 3,
|
|
205
|
+
times,
|
|
206
|
+
values: translationValues,
|
|
207
|
+
});
|
|
208
|
+
channels.push(createAnimationChannel(translationTrack, { node, path: Scene3DAnimationPathTranslation }));
|
|
209
|
+
const rotationTrack = createAnimationTrack({
|
|
210
|
+
components: 4,
|
|
211
|
+
quaternion: true,
|
|
212
|
+
times,
|
|
213
|
+
values: rotationValues,
|
|
214
|
+
});
|
|
215
|
+
channels.push(createAnimationChannel(rotationTrack, { node, path: Scene3DAnimationPathRotation }));
|
|
216
|
+
}
|
|
217
|
+
return createAnimationClip(channels);
|
|
218
|
+
}
|
|
219
|
+
// Parses the hierarchy { ... } block. Returns the line index after the closing brace.
|
|
220
|
+
function parseHierarchyBlock(lines, startLine, hierarchy, md5Drops) {
|
|
221
|
+
let i = startLine;
|
|
222
|
+
while (i < lines.length) {
|
|
223
|
+
const line = lines[i].trim();
|
|
224
|
+
i++;
|
|
225
|
+
if (line === '}')
|
|
226
|
+
return i;
|
|
227
|
+
if (line.length === 0 || line.startsWith('//'))
|
|
228
|
+
continue;
|
|
229
|
+
const entry = parseHierarchyLine(line, md5Drops, i - 1);
|
|
230
|
+
if (entry !== null)
|
|
231
|
+
hierarchy.push(entry);
|
|
232
|
+
}
|
|
233
|
+
tallyMd5AnimDrop(md5Drops, ImportDiagnosticSeverity.Recover, 'md5anim.hierarchy-block-unclosed', '', {});
|
|
234
|
+
return i;
|
|
235
|
+
}
|
|
236
|
+
// Parses a single hierarchy line: "jointName" parentIndex flags startIndex
|
|
237
|
+
function parseHierarchyLine(line, md5Drops, lineIndex) {
|
|
238
|
+
const nameStart = line.indexOf('"');
|
|
239
|
+
const nameEnd = line.indexOf('"', nameStart + 1);
|
|
240
|
+
if (nameStart < 0 || nameEnd < 0) {
|
|
241
|
+
tallyMd5AnimDrop(md5Drops, ImportDiagnosticSeverity.Drop, 'md5anim.malformed-hierarchy', 'missing-name-quotes', {
|
|
242
|
+
firstLine: lineIndex + 1,
|
|
243
|
+
reason: 'missing-name-quotes',
|
|
244
|
+
});
|
|
245
|
+
return null;
|
|
246
|
+
}
|
|
247
|
+
const name = line.slice(nameStart + 1, nameEnd);
|
|
248
|
+
const rest = line.slice(nameEnd + 1).trim();
|
|
249
|
+
const tokens = rest.split(/\s+/).filter((t) => t.length > 0);
|
|
250
|
+
if (tokens.length < 3) {
|
|
251
|
+
tallyMd5AnimDrop(md5Drops, ImportDiagnosticSeverity.Drop, 'md5anim.malformed-hierarchy', 'not-enough-components', {
|
|
252
|
+
firstLine: lineIndex + 1,
|
|
253
|
+
reason: 'not-enough-components',
|
|
254
|
+
});
|
|
255
|
+
return null;
|
|
256
|
+
}
|
|
257
|
+
const parentIndex = parseInt(tokens[0], 10);
|
|
258
|
+
const flags = parseInt(tokens[1], 10);
|
|
259
|
+
const startIndex = parseInt(tokens[2], 10);
|
|
260
|
+
if (!Number.isFinite(parentIndex) || !Number.isFinite(flags) || !Number.isFinite(startIndex)) {
|
|
261
|
+
tallyMd5AnimDrop(md5Drops, ImportDiagnosticSeverity.Drop, 'md5anim.malformed-hierarchy', 'non-numeric-values', {
|
|
262
|
+
firstLine: lineIndex + 1,
|
|
263
|
+
reason: 'non-numeric-values',
|
|
264
|
+
});
|
|
265
|
+
return null;
|
|
266
|
+
}
|
|
267
|
+
return { flags, name, parentIndex, startIndex };
|
|
268
|
+
}
|
|
269
|
+
// Parses the baseframe { ... } block. Returns the line index after the closing brace.
|
|
270
|
+
function parseBaseframeBlock(lines, startLine, baseframe, md5Drops) {
|
|
271
|
+
let i = startLine;
|
|
272
|
+
while (i < lines.length) {
|
|
273
|
+
const line = lines[i].trim();
|
|
274
|
+
i++;
|
|
275
|
+
if (line === '}')
|
|
276
|
+
return i;
|
|
277
|
+
if (line.length === 0 || line.startsWith('//'))
|
|
278
|
+
continue;
|
|
279
|
+
const pose = parseBaseframeLine(line, md5Drops, i - 1);
|
|
280
|
+
if (pose !== null)
|
|
281
|
+
baseframe.push(pose);
|
|
282
|
+
}
|
|
283
|
+
tallyMd5AnimDrop(md5Drops, ImportDiagnosticSeverity.Recover, 'md5anim.baseframe-block-unclosed', '', {});
|
|
284
|
+
return i;
|
|
285
|
+
}
|
|
286
|
+
// Parses a baseframe line: ( posX posY posZ ) ( quatX quatY quatZ )
|
|
287
|
+
function parseBaseframeLine(line, md5Drops, lineIndex) {
|
|
288
|
+
const tokens = line
|
|
289
|
+
.replace(/[()]/g, '')
|
|
290
|
+
.split(/\s+/)
|
|
291
|
+
.filter((t) => t.length > 0);
|
|
292
|
+
if (tokens.length < 6) {
|
|
293
|
+
tallyMd5AnimDrop(md5Drops, ImportDiagnosticSeverity.Drop, 'md5anim.malformed-baseframe', 'not-enough-components', {
|
|
294
|
+
firstLine: lineIndex + 1,
|
|
295
|
+
reason: 'not-enough-components',
|
|
296
|
+
});
|
|
297
|
+
return null;
|
|
298
|
+
}
|
|
299
|
+
const positionX = parseFloat(tokens[0]);
|
|
300
|
+
const positionY = parseFloat(tokens[1]);
|
|
301
|
+
const positionZ = parseFloat(tokens[2]);
|
|
302
|
+
const orientationX = parseFloat(tokens[3]);
|
|
303
|
+
const orientationY = parseFloat(tokens[4]);
|
|
304
|
+
const orientationZ = parseFloat(tokens[5]);
|
|
305
|
+
if (!Number.isFinite(positionX) ||
|
|
306
|
+
!Number.isFinite(positionY) ||
|
|
307
|
+
!Number.isFinite(positionZ) ||
|
|
308
|
+
!Number.isFinite(orientationX) ||
|
|
309
|
+
!Number.isFinite(orientationY) ||
|
|
310
|
+
!Number.isFinite(orientationZ)) {
|
|
311
|
+
tallyMd5AnimDrop(md5Drops, ImportDiagnosticSeverity.Drop, 'md5anim.malformed-baseframe', 'non-numeric-values', {
|
|
312
|
+
firstLine: lineIndex + 1,
|
|
313
|
+
reason: 'non-numeric-values',
|
|
314
|
+
});
|
|
315
|
+
return null;
|
|
316
|
+
}
|
|
317
|
+
return { orientationX, orientationY, orientationZ, positionX, positionY, positionZ };
|
|
318
|
+
}
|
|
319
|
+
// Parses a frame N { ... } block, collecting all float values. Returns the line index after the
|
|
320
|
+
// closing brace.
|
|
321
|
+
function parseFrameBlock(lines, startLine, frameData, md5Drops) {
|
|
322
|
+
let i = startLine;
|
|
323
|
+
while (i < lines.length) {
|
|
324
|
+
const line = lines[i].trim();
|
|
325
|
+
i++;
|
|
326
|
+
if (line === '}')
|
|
327
|
+
return i;
|
|
328
|
+
if (line.length === 0 || line.startsWith('//'))
|
|
329
|
+
continue;
|
|
330
|
+
const tokens = line.split(/\s+/).filter((t) => t.length > 0);
|
|
331
|
+
for (const token of tokens) {
|
|
332
|
+
const value = parseFloat(token);
|
|
333
|
+
if (!Number.isFinite(value)) {
|
|
334
|
+
tallyMd5AnimDrop(md5Drops, ImportDiagnosticSeverity.Drop, 'md5anim.non-numeric-frame-value', 'non-numeric-frame-value', {
|
|
335
|
+
firstLine: i,
|
|
336
|
+
firstToken: token,
|
|
337
|
+
});
|
|
338
|
+
continue;
|
|
339
|
+
}
|
|
340
|
+
frameData.push(value);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
tallyMd5AnimDrop(md5Drops, ImportDiagnosticSeverity.Recover, 'md5anim.frame-block-unclosed', '', {});
|
|
344
|
+
return i;
|
|
345
|
+
}
|
|
346
|
+
// Skips a block delimited by { ... }. Returns the line index after the closing brace.
|
|
347
|
+
function skipBlock(lines, startLine) {
|
|
348
|
+
let i = startLine;
|
|
349
|
+
while (i < lines.length) {
|
|
350
|
+
if (lines[i].trim() === '}')
|
|
351
|
+
return i + 1;
|
|
352
|
+
i++;
|
|
353
|
+
}
|
|
354
|
+
return i;
|
|
355
|
+
}
|
|
356
|
+
// MD5 anim hierarchy entry flags: each bit indicates which component is animated and read from the
|
|
357
|
+
// frame data rather than the baseframe.
|
|
358
|
+
const FLAG_TX = 1;
|
|
359
|
+
const FLAG_TY = 2;
|
|
360
|
+
const FLAG_TZ = 4;
|
|
361
|
+
const FLAG_QX = 8;
|
|
362
|
+
const FLAG_QY = 16;
|
|
363
|
+
const FLAG_QZ = 32;
|
|
364
|
+
const DEFAULT_BASEFRAME = {
|
|
365
|
+
orientationX: 0,
|
|
366
|
+
orientationY: 0,
|
|
367
|
+
orientationZ: 0,
|
|
368
|
+
positionX: 0,
|
|
369
|
+
positionY: 0,
|
|
370
|
+
positionZ: 0,
|
|
371
|
+
};
|
|
372
|
+
// Records one offender against its (kind, discriminator) tally — the aggregate-once alternative to a
|
|
373
|
+
// per-line/per-token `reportImportDiagnostic` in a hierarchy/baseframe/frame block. No-op (never allocates)
|
|
374
|
+
// when no collector is engaged. `firstDetail` is kept from the FIRST offender; later ones only bump count.
|
|
375
|
+
function tallyMd5AnimDrop(tallies, severity, kind, discriminator, firstDetail) {
|
|
376
|
+
if (tallies === null)
|
|
377
|
+
return;
|
|
378
|
+
const key = `${kind}|${discriminator}`;
|
|
379
|
+
const existing = tallies.get(key);
|
|
380
|
+
if (existing === undefined)
|
|
381
|
+
tallies.set(key, { count: 1, detail: firstDetail, kind, severity });
|
|
382
|
+
else
|
|
383
|
+
existing.count++;
|
|
384
|
+
}
|
|
385
|
+
//# sourceMappingURL=md5AnimParse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"md5AnimParse.js","sourceRoot":"","sources":["../src/md5AnimParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACxG,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,+BAA+B,GAChC,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAEhF,gGAAgG;AAChG,kGAAkG;AAClG,iGAAiG;AACjG,mGAAmG;AACnG,qGAAqG;AACrG,uFAAuF;AACvF,EAAE;AACF,gGAAgG;AAChG,gGAAgG;AAChG,wGAAwG;AACxG,mGAAmG;AACnG,sGAAsG;AACtG,+EAA+E;AAC/E,EAAE;AACF,gGAAgG;AAChG,wEAAwE;AACxE,sEAAsE;AACtE,EAAE;AACF,qGAAqG;AACrG,uDAAuD;AACvD,MAAM,UAAU,YAAY,CAC1B,MAAc,EACd,MAAyB,EACzB,WAAgC;IAEhC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,MAAM,SAAS,GAA4B,EAAE,CAAC;IAC9C,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,EAA4B,CAAC,CAAC,CAAC,IAAI,CAAC;IAE1E,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC,EAAE,CAAC;QAEJ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAEzD,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;gBAC/C,sBAAsB,CACpB,WAAW,EACX,wBAAwB,CAAC,OAAO,EAChC,6BAA6B,EAC7B,cAAc,EACd;oBACE,OAAO;iBACR,CACF,CAAC;YACJ,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAAE,SAAS;QAE7C,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChC,sBAAsB,CACpB,WAAW,EACX,wBAAwB,CAAC,OAAO,EAChC,+BAA+B,EAC/B,cAAc,CACf,CAAC;gBACF,SAAS,GAAG,CAAC,CAAC;YAChB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChC,sBAAsB,CACpB,WAAW,EACX,wBAAwB,CAAC,OAAO,EAChC,+BAA+B,EAC/B,cAAc,CACf,CAAC;gBACF,SAAS,GAAG,CAAC,CAAC;YAChB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;gBAClD,sBAAsB,CACpB,WAAW,EACX,wBAAwB,CAAC,OAAO,EAChC,2BAA2B,EAC3B,cAAc,CACf,CAAC;gBACF,SAAS,GAAG,EAAE,CAAC;YACjB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC;YAAE,SAAS;QAEvD,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3B,CAAC,GAAG,mBAAmB,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YACvD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACxB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3B,CAAC,GAAG,mBAAmB,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YACvD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACpD,MAAM,SAAS,GAAa,EAAE,CAAC;YAC/B,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvB,SAAS;QACX,CAAC;IACH,CAAC;IAED,kGAAkG;IAClG,wGAAwG;IACxG,IAAI,IAAI,GAAyB,IAAI,CAAC;IACtC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,sBAAsB,CAAC,WAAW,EAAE,wBAAwB,CAAC,MAAM,EAAE,iBAAiB,EAAE,cAAc,CAAC,CAAC;IAC1G,CAAC;SAAM,CAAC;QACN,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACnC,sBAAsB,CACpB,WAAW,EACX,wBAAwB,CAAC,OAAO,EAChC,8BAA8B,EAC9B,cAAc,EACd;gBACE,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,SAAS,CAAC,MAAM;aACxB,CACF,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,sBAAsB,CACpB,WAAW,EACX,wBAAwB,CAAC,OAAO,EAChC,8BAA8B,EAC9B,cAAc,EACd;gBACE,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,MAAM,CAAC,MAAM;aACrB,CACF,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;YACrC,sBAAsB,CAAC,WAAW,EAAE,wBAAwB,CAAC,MAAM,EAAE,wBAAwB,EAAE,cAAc,EAAE;gBAC7G,eAAe,EAAE,SAAS,CAAC,MAAM;gBACjC,cAAc,EAAE,MAAM,CAAC,MAAM;aAC9B,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,sBAAsB,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE;gBAC9E,GAAG,KAAK,CAAC,MAAM;gBACf,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4FAA4F;AAC5F,0EAA0E;AAC1E,SAAS,kBAAkB,CACzB,MAAyB,EACzB,SAA2C,EAC3C,SAA0C,EAC1C,MAA2B,EAC3B,SAAiB;IAEjB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACjC,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC;IACpC,MAAM,QAAQ,GAAuB,EAAE,CAAC;IAExC,gEAAgE;IAChE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAC5B,CAAC;IAED,oGAAoG;IACpG,yGAAyG;IACzG,wGAAwG;IACxG,0GAA0G;IAC1G,wGAAwG;IACxG,uGAAuG;IACvG,uEAAuE;IACvE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI;YAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACrE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAE1B,6DAA6D;QAC7D,MAAM,iBAAiB,GAAa,EAAE,CAAC;QACvC,MAAM,cAAc,GAAa,EAAE,CAAC;QAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAE5B,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;YACxB,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;YACxB,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;YACxB,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;YAC3B,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;YAC3B,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;YAE3B,IAAI,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC;YACvC,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;gBACpB,EAAE,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,CAAC;YAC1C,CAAC;YACD,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;gBACpB,EAAE,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,CAAC;YAC1C,CAAC;YACD,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;gBACpB,EAAE,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,CAAC;YAC1C,CAAC;YACD,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;gBACpB,EAAE,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,CAAC;YAC1C,CAAC;YACD,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;gBACpB,EAAE,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,CAAC;YAC1C,CAAC;YACD,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;gBACpB,EAAE,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,CAAC;YAC1C,CAAC;YAED,qCAAqC;YACrC,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YAC1C,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEjD,0DAA0D;YAC1D,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACnC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;QAED,6BAA6B;QAC7B,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;QAC5C,0BAA0B,CAAC,cAAc,CAAC,CAAC;QAE3C,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QAErD,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;YAC5C,UAAU,EAAE,CAAC;YACb,KAAK;YACL,MAAM,EAAE,iBAAiB;SAC1B,CAAC,CAAC;QACH,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAAC,CAAC,CAAC;QAEzG,MAAM,aAAa,GAAG,oBAAoB,CAAC;YACzC,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,IAAI;YAChB,KAAK;YACL,MAAM,EAAE,cAAc;SACvB,CAAC,CAAC;QACH,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED,sFAAsF;AACtF,SAAS,mBAAmB,CAC1B,KAAwB,EACxB,SAAiB,EACjB,SAAkC,EAClC,QAA8C;IAE9C,IAAI,CAAC,GAAG,SAAS,CAAC;IAClB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC,EAAE,CAAC;QAEJ,IAAI,IAAI,KAAK,GAAG;YAAE,OAAO,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAEzD,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACD,gBAAgB,CAAC,QAAQ,EAAE,wBAAwB,CAAC,OAAO,EAAE,kCAAkC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACzG,OAAO,CAAC,CAAC;AACX,CAAC;AAED,2EAA2E;AAC3E,SAAS,kBAAkB,CACzB,IAAY,EACZ,QAA8C,EAC9C,SAAiB;IAEjB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;IACjD,IAAI,SAAS,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QACjC,gBAAgB,CAAC,QAAQ,EAAE,wBAAwB,CAAC,IAAI,EAAE,6BAA6B,EAAE,qBAAqB,EAAE;YAC9G,SAAS,EAAE,SAAS,GAAG,CAAC;YACxB,MAAM,EAAE,qBAAqB;SAC9B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IAEhD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE7D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,gBAAgB,CAAC,QAAQ,EAAE,wBAAwB,CAAC,IAAI,EAAE,6BAA6B,EAAE,uBAAuB,EAAE;YAChH,SAAS,EAAE,SAAS,GAAG,CAAC;YACxB,MAAM,EAAE,uBAAuB;SAChC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7F,gBAAgB,CAAC,QAAQ,EAAE,wBAAwB,CAAC,IAAI,EAAE,6BAA6B,EAAE,oBAAoB,EAAE;YAC7G,SAAS,EAAE,SAAS,GAAG,CAAC;YACxB,MAAM,EAAE,oBAAoB;SAC7B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AAClD,CAAC;AAED,sFAAsF;AACtF,SAAS,mBAAmB,CAC1B,KAAwB,EACxB,SAAiB,EACjB,SAAiC,EACjC,QAA8C;IAE9C,IAAI,CAAC,GAAG,SAAS,CAAC;IAClB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC,EAAE,CAAC;QAEJ,IAAI,IAAI,KAAK,GAAG;YAAE,OAAO,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAEzD,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,IAAI,IAAI,KAAK,IAAI;YAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IACD,gBAAgB,CAAC,QAAQ,EAAE,wBAAwB,CAAC,OAAO,EAAE,kCAAkC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACzG,OAAO,CAAC,CAAC;AACX,CAAC;AAED,oEAAoE;AACpE,SAAS,kBAAkB,CACzB,IAAY,EACZ,QAA8C,EAC9C,SAAiB;IAEjB,MAAM,MAAM,GAAG,IAAI;SAChB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;SACpB,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE/B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,gBAAgB,CAAC,QAAQ,EAAE,wBAAwB,CAAC,IAAI,EAAE,6BAA6B,EAAE,uBAAuB,EAAE;YAChH,SAAS,EAAE,SAAS,GAAG,CAAC;YACxB,MAAM,EAAE,uBAAuB;SAChC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3C,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3B,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3B,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3B,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC9B,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC9B,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAC9B,CAAC;QACD,gBAAgB,CAAC,QAAQ,EAAE,wBAAwB,CAAC,IAAI,EAAE,6BAA6B,EAAE,oBAAoB,EAAE;YAC7G,SAAS,EAAE,SAAS,GAAG,CAAC;YACxB,MAAM,EAAE,oBAAoB;SAC7B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AACvF,CAAC;AAED,gGAAgG;AAChG,iBAAiB;AACjB,SAAS,eAAe,CACtB,KAAwB,EACxB,SAAiB,EACjB,SAAmB,EACnB,QAA8C;IAE9C,IAAI,CAAC,GAAG,SAAS,CAAC;IAClB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC,EAAE,CAAC;QAEJ,IAAI,IAAI,KAAK,GAAG;YAAE,OAAO,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAEzD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,gBAAgB,CACd,QAAQ,EACR,wBAAwB,CAAC,IAAI,EAC7B,iCAAiC,EACjC,yBAAyB,EACzB;oBACE,SAAS,EAAE,CAAC;oBACZ,UAAU,EAAE,KAAK;iBAClB,CACF,CAAC;gBACF,SAAS;YACX,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,gBAAgB,CAAC,QAAQ,EAAE,wBAAwB,CAAC,OAAO,EAAE,8BAA8B,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrG,OAAO,CAAC,CAAC;AACX,CAAC;AAED,sFAAsF;AACtF,SAAS,SAAS,CAAC,KAAwB,EAAE,SAAiB;IAC5D,IAAI,CAAC,GAAG,SAAS,CAAC;IAClB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,GAAG;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,mGAAmG;AACnG,wCAAwC;AACxC,MAAM,OAAO,GAAG,CAAC,CAAC;AAClB,MAAM,OAAO,GAAG,CAAC,CAAC;AAClB,MAAM,OAAO,GAAG,CAAC,CAAC;AAClB,MAAM,OAAO,GAAG,CAAC,CAAC;AAClB,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,MAAM,OAAO,GAAG,EAAE,CAAC;AAkBnB,MAAM,iBAAiB,GAAyB;IAC9C,YAAY,EAAE,CAAC;IACf,YAAY,EAAE,CAAC;IACf,YAAY,EAAE,CAAC;IACf,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;CACb,CAAC;AAaF,qGAAqG;AACrG,4GAA4G;AAC5G,2GAA2G;AAC3G,SAAS,gBAAgB,CACvB,OAA6C,EAC7C,QAAkC,EAClC,IAAY,EACZ,aAAqB,EACrB,WAAsD;IAEtD,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO;IAC7B,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,aAAa,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;;QAC3F,QAAQ,CAAC,KAAK,EAAE,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Scene3D } from '@flighthq/types';
|
|
2
|
+
import type { ImportDiagnostic, Scene3DDocument } from '@flighthq/types';
|
|
3
|
+
export declare function createScene3DFromMd5Mesh(source: string, diagnostics?: ImportDiagnostic[]): Scene3D;
|
|
4
|
+
export declare function importMd5Mesh(meshSource: string, animSource?: string | null, diagnostics?: ImportDiagnostic[]): Scene3D;
|
|
5
|
+
export declare function parseMd5Mesh(source: string, diagnostics?: ImportDiagnostic[]): Scene3DDocument;
|
|
6
|
+
//# sourceMappingURL=md5Parse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"md5Parse.d.ts","sourceRoot":"","sources":["../src/md5Parse.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EACV,gBAAgB,EAIhB,eAAe,EAQhB,MAAM,iBAAiB,CAAC;AA0BzB,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAElG;AAUD,wBAAgB,aAAa,CAC3B,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,EAC1B,WAAW,CAAC,EAAE,gBAAgB,EAAE,GAC/B,OAAO,CAmBT;AAyBD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,gBAAgB,EAAE,GAAG,eAAe,CAyP9F"}
|