rlo-engine 1.0.3 → 1.1.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/README.md +15 -4
- package/dist/Core/AudioMath.d.ts +29 -0
- package/dist/Core/AudioMath.d.ts.map +1 -0
- package/dist/Core/AudioMath.js +64 -0
- package/dist/Core/AudioMath.js.map +1 -0
- package/dist/Core/InstrumentMap.d.ts +36 -0
- package/dist/Core/InstrumentMap.d.ts.map +1 -0
- package/dist/Core/InstrumentMap.js +62 -0
- package/dist/Core/InstrumentMap.js.map +1 -0
- package/dist/Core/RLOCore.d.ts +49 -0
- package/dist/Core/RLOCore.d.ts.map +1 -0
- package/dist/Core/RLOCore.js +188 -0
- package/dist/Core/RLOCore.js.map +1 -0
- package/dist/Core/SequenceBuilder.d.ts +23 -0
- package/dist/Core/SequenceBuilder.d.ts.map +1 -0
- package/dist/Core/SequenceBuilder.js +31 -0
- package/dist/Core/SequenceBuilder.js.map +1 -0
- package/dist/Instruments/Analog/AnalogSynthBase.d.ts +17 -7
- package/dist/Instruments/Analog/AnalogSynthBase.d.ts.map +1 -1
- package/dist/Instruments/Analog/AnalogSynthBase.js +27 -16
- package/dist/Instruments/Analog/AnalogSynthBase.js.map +1 -1
- package/dist/Instruments/Analog/BassSynth.d.ts +12 -5
- package/dist/Instruments/Analog/BassSynth.d.ts.map +1 -1
- package/dist/Instruments/Analog/BassSynth.js +17 -10
- package/dist/Instruments/Analog/BassSynth.js.map +1 -1
- package/dist/Instruments/Analog/ChiptuneSynth.d.ts +11 -4
- package/dist/Instruments/Analog/ChiptuneSynth.d.ts.map +1 -1
- package/dist/Instruments/Analog/ChiptuneSynth.js +12 -5
- package/dist/Instruments/Analog/ChiptuneSynth.js.map +1 -1
- package/dist/Instruments/Analog/FMSynth.d.ts +11 -4
- package/dist/Instruments/Analog/FMSynth.d.ts.map +1 -1
- package/dist/Instruments/Analog/FMSynth.js +14 -7
- package/dist/Instruments/Analog/FMSynth.js.map +1 -1
- package/dist/Instruments/Analog/FormantSynth.d.ts +11 -4
- package/dist/Instruments/Analog/FormantSynth.d.ts.map +1 -1
- package/dist/Instruments/Analog/FormantSynth.js +12 -5
- package/dist/Instruments/Analog/FormantSynth.js.map +1 -1
- package/dist/Instruments/Analog/LeadSynth.d.ts +11 -4
- package/dist/Instruments/Analog/LeadSynth.d.ts.map +1 -1
- package/dist/Instruments/Analog/LeadSynth.js +14 -7
- package/dist/Instruments/Analog/LeadSynth.js.map +1 -1
- package/dist/Instruments/Analog/OrganSynth.d.ts +11 -4
- package/dist/Instruments/Analog/OrganSynth.d.ts.map +1 -1
- package/dist/Instruments/Analog/OrganSynth.js +17 -10
- package/dist/Instruments/Analog/OrganSynth.js.map +1 -1
- package/dist/Instruments/Analog/PadSynth.js +7 -7
- package/dist/Instruments/Analog/PadSynth.js.map +1 -1
- package/dist/Instruments/Analog/ReeseBassSynth.d.ts +11 -4
- package/dist/Instruments/Analog/ReeseBassSynth.d.ts.map +1 -1
- package/dist/Instruments/Analog/ReeseBassSynth.js +13 -6
- package/dist/Instruments/Analog/ReeseBassSynth.js.map +1 -1
- package/dist/Instruments/Analog/StringSynth.js +4 -4
- package/dist/Instruments/Analog/StringSynth.js.map +1 -1
- package/dist/Instruments/Analog/WoodwindSynth.d.ts +11 -4
- package/dist/Instruments/Analog/WoodwindSynth.d.ts.map +1 -1
- package/dist/Instruments/Analog/WoodwindSynth.js +19 -12
- package/dist/Instruments/Analog/WoodwindSynth.js.map +1 -1
- package/dist/Instruments/CoreSynthBase.d.ts +31 -24
- package/dist/Instruments/CoreSynthBase.d.ts.map +1 -1
- package/dist/Instruments/CoreSynthBase.js +53 -34
- package/dist/Instruments/CoreSynthBase.js.map +1 -1
- package/dist/Instruments/Decay/AdditiveSynth.d.ts +12 -5
- package/dist/Instruments/Decay/AdditiveSynth.d.ts.map +1 -1
- package/dist/Instruments/Decay/AdditiveSynth.js +9 -2
- package/dist/Instruments/Decay/AdditiveSynth.js.map +1 -1
- package/dist/Instruments/Decay/BrassSynth.d.ts +11 -4
- package/dist/Instruments/Decay/BrassSynth.d.ts.map +1 -1
- package/dist/Instruments/Decay/BrassSynth.js +22 -15
- package/dist/Instruments/Decay/BrassSynth.js.map +1 -1
- package/dist/Instruments/Decay/ChromaticPercussionSynth.d.ts +12 -5
- package/dist/Instruments/Decay/ChromaticPercussionSynth.d.ts.map +1 -1
- package/dist/Instruments/Decay/ChromaticPercussionSynth.js +16 -9
- package/dist/Instruments/Decay/ChromaticPercussionSynth.js.map +1 -1
- package/dist/Instruments/Decay/DecaySynthBase.d.ts +14 -8
- package/dist/Instruments/Decay/DecaySynthBase.d.ts.map +1 -1
- package/dist/Instruments/Decay/DecaySynthBase.js +22 -15
- package/dist/Instruments/Decay/DecaySynthBase.js.map +1 -1
- package/dist/Instruments/Decay/ElectricGuitarSynth.d.ts +12 -5
- package/dist/Instruments/Decay/ElectricGuitarSynth.d.ts.map +1 -1
- package/dist/Instruments/Decay/ElectricGuitarSynth.js +19 -12
- package/dist/Instruments/Decay/ElectricGuitarSynth.js.map +1 -1
- package/dist/Instruments/Decay/EthnicSynth.d.ts +12 -5
- package/dist/Instruments/Decay/EthnicSynth.d.ts.map +1 -1
- package/dist/Instruments/Decay/EthnicSynth.js +13 -6
- package/dist/Instruments/Decay/EthnicSynth.js.map +1 -1
- package/dist/Instruments/Decay/GuitarSynth.d.ts +12 -5
- package/dist/Instruments/Decay/GuitarSynth.d.ts.map +1 -1
- package/dist/Instruments/Decay/GuitarSynth.js +14 -7
- package/dist/Instruments/Decay/GuitarSynth.js.map +1 -1
- package/dist/Instruments/Decay/KarplusSynth.d.ts +7 -0
- package/dist/Instruments/Decay/KarplusSynth.d.ts.map +1 -1
- package/dist/Instruments/Decay/KarplusSynth.js +16 -8
- package/dist/Instruments/Decay/KarplusSynth.js.map +1 -1
- package/dist/Instruments/Decay/PianoSynth.d.ts +12 -5
- package/dist/Instruments/Decay/PianoSynth.d.ts.map +1 -1
- package/dist/Instruments/Decay/PianoSynth.js +19 -12
- package/dist/Instruments/Decay/PianoSynth.js.map +1 -1
- package/dist/Instruments/Decay/SlapBassSynth.d.ts +12 -5
- package/dist/Instruments/Decay/SlapBassSynth.d.ts.map +1 -1
- package/dist/Instruments/Decay/SlapBassSynth.js +13 -6
- package/dist/Instruments/Decay/SlapBassSynth.js.map +1 -1
- package/dist/Instruments/ISynthInstrument.d.ts +6 -0
- package/dist/Instruments/ISynthInstrument.d.ts.map +1 -1
- package/dist/Instruments/Speciality/DrumSynth.d.ts +7 -0
- package/dist/Instruments/Speciality/DrumSynth.d.ts.map +1 -1
- package/dist/Instruments/Speciality/DrumSynth.js +30 -21
- package/dist/Instruments/Speciality/DrumSynth.js.map +1 -1
- package/dist/Instruments/Speciality/SoundEffectsSynth.d.ts +7 -0
- package/dist/Instruments/Speciality/SoundEffectsSynth.d.ts.map +1 -1
- package/dist/Instruments/Speciality/SoundEffectsSynth.js +20 -12
- package/dist/Instruments/Speciality/SoundEffectsSynth.js.map +1 -1
- package/dist/Instruments/Synthesizer.d.ts +5 -0
- package/dist/Instruments/Synthesizer.d.ts.map +1 -1
- package/dist/Instruments/Synthesizer.js +7 -1
- package/dist/Instruments/Synthesizer.js.map +1 -1
- package/dist/Players/RLOGameEngine.d.ts +35 -0
- package/dist/Players/RLOGameEngine.d.ts.map +1 -0
- package/dist/Players/RLOGameEngine.js +98 -0
- package/dist/Players/RLOGameEngine.js.map +1 -0
- package/dist/Players/RLOMusicPlayer.d.ts +35 -0
- package/dist/Players/RLOMusicPlayer.d.ts.map +1 -0
- package/dist/Players/RLOMusicPlayer.js +167 -0
- package/dist/Players/RLOMusicPlayer.js.map +1 -0
- package/dist/RLO-Transpiler.d.ts +37 -15
- package/dist/RLO-Transpiler.d.ts.map +1 -1
- package/dist/RLO-Transpiler.js +139 -117
- package/dist/RLO-Transpiler.js.map +1 -1
- package/dist/compiler.d.ts +50 -31
- package/dist/compiler.d.ts.map +1 -1
- package/dist/compiler.js +165 -230
- package/dist/compiler.js.map +1 -1
- package/dist/crush.d.ts +1 -5
- package/dist/crush.d.ts.map +1 -1
- package/dist/crush.js +10 -3
- package/dist/crush.js.map +1 -1
- package/dist/index.d.ts +15 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -3
- package/dist/index.js.map +1 -1
- package/dist/midi-parser.d.ts +14 -0
- package/dist/midi-parser.d.ts.map +1 -1
- package/dist/midi-parser.js +21 -0
- package/dist/midi-parser.js.map +1 -1
- package/dist/rlo-engine.min.js +441 -439
- package/dist/rlo-engine.min.js.map +1 -1
- package/dist/rlo-engine.min.umd.js +1 -1
- package/dist/rlo-engine.min.umd.js.map +1 -1
- package/dist/types.d.ts +21 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -1
- package/dist/vite.config.d.ts.map +1 -1
- package/dist/vite.config.js +16 -3
- package/dist/vite.config.js.map +1 -1
- package/dist/vite.config.js13k.d.ts.map +1 -1
- package/dist/vite.config.js13k.js +1 -0
- package/dist/vite.config.js13k.js.map +1 -1
- package/package.json +1 -1
- package/dist/Instruments/InstrumentFactory.d.ts +0 -2
- package/dist/Instruments/InstrumentFactory.d.ts.map +0 -1
- package/dist/Instruments/InstrumentFactory.js +0 -4
- package/dist/Instruments/InstrumentFactory.js.map +0 -1
- package/dist/RLO-Player.d.ts +0 -298
- package/dist/RLO-Player.d.ts.map +0 -1
- package/dist/RLO-Player.js +0 -724
- package/dist/RLO-Player.js.map +0 -1
package/dist/types.d.ts
CHANGED
|
@@ -2,15 +2,33 @@
|
|
|
2
2
|
* Constants for special instrument IDs.
|
|
3
3
|
* Standard General MIDI uses 0-127 for melodic instruments.
|
|
4
4
|
* We reserve 128 specifically for percussion/drum kits.
|
|
5
|
+
*
|
|
6
|
+
* @reason Standardizing percussion on a dedicated high-index ID prevents conflicts
|
|
7
|
+
* with GM specifications and allows the Engine to easily route Drum notes directly
|
|
8
|
+
* to the `DrumSynth` regardless of the MIDI channel they originated from.
|
|
5
9
|
*/
|
|
6
10
|
export declare const PERCUSSION_INSTRUMENT_ID = 128;
|
|
7
11
|
/**
|
|
8
12
|
* Core data structure for a compiled RLO track.
|
|
13
|
+
* Represents the absolute minimum data required to synthesize music.
|
|
9
14
|
*/
|
|
10
15
|
export interface RloData {
|
|
11
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* The total duration of the track in seconds, used for looping.
|
|
18
|
+
* @reason Storing duration internally prevents sequence desync and allows
|
|
19
|
+
* the game engine to calculate perfect loop points without needing to
|
|
20
|
+
* scan the entire notes array at runtime.
|
|
21
|
+
*/
|
|
12
22
|
durationSecs: number;
|
|
13
|
-
/**
|
|
14
|
-
|
|
23
|
+
/**
|
|
24
|
+
* A flat packed array of 5-element tuples:
|
|
25
|
+
* `[frequency, timeSeconds, durationSeconds, velocity, instrumentId, ...]`
|
|
26
|
+
*
|
|
27
|
+
* @reason Memory & Performance: By packing objects into a single flat `Float32Array`,
|
|
28
|
+
* we eliminate V8 object allocation overhead, drastically
|
|
29
|
+
* improve CPU cache locality during the playback loop, and strictly enforce
|
|
30
|
+
* unboxed float memory.
|
|
31
|
+
*/
|
|
32
|
+
notes: Float32Array | number[];
|
|
15
33
|
}
|
|
16
34
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;;;OAQG;IACH,KAAK,EAAE,YAAY,GAAG,MAAM,EAAE,CAAC;CAChC"}
|
package/dist/types.js
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
* Constants for special instrument IDs.
|
|
3
3
|
* Standard General MIDI uses 0-127 for melodic instruments.
|
|
4
4
|
* We reserve 128 specifically for percussion/drum kits.
|
|
5
|
+
*
|
|
6
|
+
* @reason Standardizing percussion on a dedicated high-index ID prevents conflicts
|
|
7
|
+
* with GM specifications and allows the Engine to easily route Drum notes directly
|
|
8
|
+
* to the `DrumSynth` regardless of the MIDI channel they originated from.
|
|
5
9
|
*/
|
|
6
10
|
export const PERCUSSION_INSTRUMENT_ID = 128;
|
|
7
11
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.config.d.ts","sourceRoot":"","sources":["../vite.config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vite.config.d.ts","sourceRoot":"","sources":["../vite.config.ts"],"names":[],"mappings":"AAmOA;;;GAGG;;AACH,wBAqCG"}
|
package/dist/vite.config.js
CHANGED
|
@@ -165,8 +165,20 @@ const SYNTH_MODULES = [
|
|
|
165
165
|
},
|
|
166
166
|
];
|
|
167
167
|
// --- INDEX.TS AUTO-GENERATOR ---
|
|
168
|
-
let registryCode =
|
|
169
|
-
|
|
168
|
+
let registryCode = `/**
|
|
169
|
+
* @fileoverview AUTO-GENERATED BY VITE CONFIG
|
|
170
|
+
*
|
|
171
|
+
* @reason Central Registry & Export Hub.
|
|
172
|
+
* This file is automatically generated by \`vite.config.ts\` to ensure that
|
|
173
|
+
* the \`MasterInstrumentMap\` correctly initializes all 16 default GM synthesizers
|
|
174
|
+
* at the correct index ranges. It acts as the primary NPM package entry point.
|
|
175
|
+
*/\n`;
|
|
176
|
+
registryCode += `import { decodeBinary, encodeToBinary, encodeToSoA } from './RLO-Transpiler.js';\n`;
|
|
177
|
+
registryCode += `import { RLOCore as BaseCore } from './Core/RLOCore.js';\n`;
|
|
178
|
+
registryCode += `import { RLOMusicPlayer as BaseMusicPlayer } from './Players/RLOMusicPlayer.js';\n`;
|
|
179
|
+
registryCode += `import { RLOGameEngine as BaseGameEngine } from './Players/RLOGameEngine.js';\n`;
|
|
180
|
+
registryCode += `import { createInstrumentMap, extendInstrumentMap, createDirectMap, SilentSynth } from './Core/InstrumentMap.js';\n`;
|
|
181
|
+
registryCode += `import type { ISynthInstrument } from './Instruments/ISynthInstrument.js';\n`;
|
|
170
182
|
const uniquePaths = [...new Set(SYNTH_MODULES.map((m) => m.path))];
|
|
171
183
|
uniquePaths.forEach((p) => {
|
|
172
184
|
const synthsInPath = SYNTH_MODULES.filter((m) => m.path === p).map((m) => m.name);
|
|
@@ -186,7 +198,7 @@ registryCode += `const retroMap = createInstrumentMap([\n`;
|
|
|
186
198
|
registryCode += ` { synth: new ChiptuneSynth(), start: 0, end: 127 },\n`;
|
|
187
199
|
registryCode += ` { synth: new DrumSynth(), start: 128, end: 128 }\n`;
|
|
188
200
|
registryCode += `]);\n\n`;
|
|
189
|
-
registryCode += `export {
|
|
201
|
+
registryCode += `export { decodeBinary, encodeToBinary, encodeToSoA, createInstrumentMap, extendInstrumentMap, createDirectMap, SilentSynth, defaultMap as MasterInstrumentMap, defaultMap as StandardInstrumentMap, retroMap as RetroInstrumentMap };\n`;
|
|
190
202
|
registryCode += `export class RLOCore extends BaseCore { constructor(ctx: AudioContext, customMap?: ISynthInstrument[]) { super(ctx, customMap || defaultMap); } }\n`;
|
|
191
203
|
registryCode += `export class RLOMusicPlayer extends BaseMusicPlayer { constructor(ctx: AudioContext, customMap?: ISynthInstrument[]) { super(ctx, customMap || defaultMap); } }\n`;
|
|
192
204
|
registryCode += `export class RLOGameEngine extends BaseGameEngine { constructor(ctx: AudioContext, customMap?: ISynthInstrument[]) { super(ctx, customMap || defaultMap); } }\n`;
|
|
@@ -213,6 +225,7 @@ export default defineConfig({
|
|
|
213
225
|
__ENABLE_WORKER_METRONOME__: false,
|
|
214
226
|
__ENABLE_NOTE_PARSER__: true,
|
|
215
227
|
__ENABLE_STRICT_GC__: true,
|
|
228
|
+
__ENABLE_MIDI_DEBUG__: true,
|
|
216
229
|
},
|
|
217
230
|
build: {
|
|
218
231
|
target: "es2020",
|
package/dist/vite.config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.config.js","sourceRoot":"","sources":["../vite.config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"vite.config.js","sourceRoot":"","sources":["../vite.config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.config.js13k.d.ts","sourceRoot":"","sources":["../vite.config.js13k.ts"],"names":[],"mappings":"AAsBA;;;GAGG;;AACH,
|
|
1
|
+
{"version":3,"file":"vite.config.js13k.d.ts","sourceRoot":"","sources":["../vite.config.js13k.ts"],"names":[],"mappings":"AAsBA;;;GAGG;;AACH,wBAkDG"}
|
|
@@ -30,6 +30,7 @@ export default defineConfig({
|
|
|
30
30
|
__ENABLE_WORKER_METRONOME__: false, // Strip Web Worker metronomes
|
|
31
31
|
__ENABLE_NOTE_PARSER__: false, // Strip String parsing (e.g., "C#5")
|
|
32
32
|
__ENABLE_STRICT_GC__: false, // Strip AudioNode Garbage Collection
|
|
33
|
+
__ENABLE_MIDI_DEBUG__: false, // Strip the MIDI logging logic
|
|
33
34
|
},
|
|
34
35
|
build: {
|
|
35
36
|
target: "es2020",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.config.js13k.js","sourceRoot":"","sources":["../vite.config.js13k.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,mBAAmB,GAAG;IAC1B,IAAI,EAAE,IAAa;IACnB,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE;QACR,YAAY,EAAE,IAAI;QAClB,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI,EAAE,kDAAkD;KACtE;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,gDAAgD;KAC9E;IACD,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC3B,SAAS,EAAE,IAAI;CAChB,CAAC;AAEF;;;GAGG;AACH,eAAe,YAAY,CAAC;IAC1B,MAAM,EAAE;QACN,2FAA2F;QAC3F,qBAAqB,EAAE,KAAK,EAAE,4BAA4B;QAC1D,uBAAuB,EAAE,KAAK,EAAE,qCAAqC;QACrE,sBAAsB,EAAE,KAAK,EAAE,qCAAqC;QACpE,2BAA2B,EAAE,KAAK,EAAE,8BAA8B;QAClE,sBAAsB,EAAE,KAAK,EAAE,qCAAqC;QACpE,oBAAoB,EAAE,KAAK,EAAE,qCAAqC;
|
|
1
|
+
{"version":3,"file":"vite.config.js13k.js","sourceRoot":"","sources":["../vite.config.js13k.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,mBAAmB,GAAG;IAC1B,IAAI,EAAE,IAAa;IACnB,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE;QACR,YAAY,EAAE,IAAI;QAClB,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI,EAAE,kDAAkD;KACtE;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,gDAAgD;KAC9E;IACD,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC3B,SAAS,EAAE,IAAI;CAChB,CAAC;AAEF;;;GAGG;AACH,eAAe,YAAY,CAAC;IAC1B,MAAM,EAAE;QACN,2FAA2F;QAC3F,qBAAqB,EAAE,KAAK,EAAE,4BAA4B;QAC1D,uBAAuB,EAAE,KAAK,EAAE,qCAAqC;QACrE,sBAAsB,EAAE,KAAK,EAAE,qCAAqC;QACpE,2BAA2B,EAAE,KAAK,EAAE,8BAA8B;QAClE,sBAAsB,EAAE,KAAK,EAAE,qCAAqC;QACpE,oBAAoB,EAAE,KAAK,EAAE,qCAAqC;QAClE,qBAAqB,EAAE,KAAK,EAAE,+BAA+B;KAC9D;IACD,KAAK,EAAE;QACL,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,QAAQ;QAChB,aAAa,EAAE,mBAAmB;QAClC,GAAG,EAAE;YACH,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,mDAAmD;YACpE,QAAQ,EAAE,GAAG,EAAE,CAAC,mBAAmB;SACpC;KACF;IACD,OAAO,EAAE;QACP;YACE,IAAI,EAAE,2BAA2B;YACjC,KAAK,EAAE,OAAgB;YACvB,OAAO,EAAE,MAAe;YACxB,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,KAAU,EAAE,OAAY;gBACtD,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;oBAC5B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,mBAA0B,CAAC,CAAC;oBAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAc,EAAE,GAAG,EAAE,MAAM,CAAC,GAAU,EAAE,CAAC;gBACjE,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,OAAgB;YACvB,WAAW,CAAC,OAAY,EAAE,MAAW;gBACnC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtE,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;oBAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACpC,OAAO,CAAC,GAAG,CACT,qBAAqB,IAAI,CAAC,MAAM,kBAAkB,OAAO,CAAC,MAAM,oBAAoB,CACrF,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;KACF;CACF,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InstrumentFactory.d.ts","sourceRoot":"","sources":["../../Instruments/InstrumentFactory.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InstrumentFactory.js","sourceRoot":"","sources":["../../Instruments/InstrumentFactory.ts"],"names":[],"mappings":";AAAA,0CAA0C;AAC1C,sHAAsH"}
|
package/dist/RLO-Player.d.ts
DELETED
|
@@ -1,298 +0,0 @@
|
|
|
1
|
-
import { RloData } from "./types.js";
|
|
2
|
-
import { ReverbMode } from "./AudioEffects.js";
|
|
3
|
-
import { RLOTranspiler } from "./RLO-Transpiler.js";
|
|
4
|
-
import { ISynthInstrument } from "./Instruments/ISynthInstrument.js";
|
|
5
|
-
export { RLOTranspiler };
|
|
6
|
-
export type { ISynthInstrument };
|
|
7
|
-
/**
|
|
8
|
-
* A dummy synthesizer that does absolutely nothing.
|
|
9
|
-
* Useful for completely muting specific MIDI IDs in an instrument map.
|
|
10
|
-
*/
|
|
11
|
-
export declare const SilentSynth: ISynthInstrument;
|
|
12
|
-
/** Configuration options for playing sequences/music. */
|
|
13
|
-
export interface PlaySequenceOptions {
|
|
14
|
-
loop?: boolean;
|
|
15
|
-
fadeInTime?: number;
|
|
16
|
-
playbackRate?: number;
|
|
17
|
-
volume?: number;
|
|
18
|
-
}
|
|
19
|
-
/** Configuration options for playing single Sound Effects. */
|
|
20
|
-
export interface SFXOptions {
|
|
21
|
-
velocity?: number;
|
|
22
|
-
timeOffset?: number;
|
|
23
|
-
}
|
|
24
|
-
/** Configuration for a standard ADSR volume envelope. */
|
|
25
|
-
export interface ADSREnvelope {
|
|
26
|
-
attack?: number;
|
|
27
|
-
decay?: number;
|
|
28
|
-
sustain?: number;
|
|
29
|
-
release?: number;
|
|
30
|
-
peak?: number;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Syntactic sugar for applying a standard ADSR envelope to a Web Audio GainNode.
|
|
34
|
-
* @param gainParam The AudioParam (e.g., gainNode.gain) to animate.
|
|
35
|
-
* @param now The physical start time of the sound.
|
|
36
|
-
* @param duration The total held duration of the note.
|
|
37
|
-
* @param opts ADSR configuration object.
|
|
38
|
-
*/
|
|
39
|
-
export declare function applyEnvelope(gainParam: AudioParam, now: number, duration: number, opts: ADSREnvelope): void;
|
|
40
|
-
/**
|
|
41
|
-
* Converts a musical note string (e.g., 'C4', 'F#5') to its frequency in Hz.
|
|
42
|
-
* If a number is provided, it is returned as-is.
|
|
43
|
-
*/
|
|
44
|
-
export declare function Note(pitch: string | number): number;
|
|
45
|
-
/** A fluent, chainable builder for creating RloData sequences procedurally. */
|
|
46
|
-
export declare class RLOSequenceBuilder {
|
|
47
|
-
private _notes;
|
|
48
|
-
private _duration;
|
|
49
|
-
addNote(opts: {
|
|
50
|
-
instrument: number;
|
|
51
|
-
pitch: string | number;
|
|
52
|
-
duration: number;
|
|
53
|
-
time?: number;
|
|
54
|
-
velocity?: number;
|
|
55
|
-
}): this;
|
|
56
|
-
setDuration(secs: number): this;
|
|
57
|
-
compile(): RloData;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* A "dumb" mapping mechanism for strict JS13K size-coding.
|
|
61
|
-
* Bypasses the closest-match algorithm and explicitly assigns synths to individual IDs.
|
|
62
|
-
* @param assignments An array of synthesizer modules and the exact MIDI IDs they should respond to.
|
|
63
|
-
* @returns A fully populated array of 129 elements, with unassigned slots remaining null.
|
|
64
|
-
*/
|
|
65
|
-
export declare function createDirectMap(assignments: {
|
|
66
|
-
synth: ISynthInstrument;
|
|
67
|
-
ids: number[];
|
|
68
|
-
}[]): ISynthInstrument[];
|
|
69
|
-
/**
|
|
70
|
-
* Mathematically maps instruments by MIDI ID, auto-falling back to the closest available synthesizer.
|
|
71
|
-
* @param modules An array of synthesizer module configurations to map.
|
|
72
|
-
* @returns A fully populated array of 129 synthesizer instruments.
|
|
73
|
-
*/
|
|
74
|
-
export declare function createInstrumentMap(modules: {
|
|
75
|
-
synth: ISynthInstrument;
|
|
76
|
-
start: number;
|
|
77
|
-
end: number;
|
|
78
|
-
}[]): ISynthInstrument[];
|
|
79
|
-
/**
|
|
80
|
-
* Creates a new instrument map by merging custom synth overrides into an existing base map.
|
|
81
|
-
* @param baseMap The base instrument map array.
|
|
82
|
-
* @param overrides An array of synthesizer module configurations to override in the base map.
|
|
83
|
-
* @returns A new array of synthesizer instruments with the overrides applied.
|
|
84
|
-
*/
|
|
85
|
-
export declare function extendInstrumentMap(baseMap: ISynthInstrument[], overrides: {
|
|
86
|
-
synth: ISynthInstrument;
|
|
87
|
-
start: number;
|
|
88
|
-
end: number;
|
|
89
|
-
}[]): ISynthInstrument[];
|
|
90
|
-
/**
|
|
91
|
-
* RLOCore: The bare-metal procedural sequencer.
|
|
92
|
-
* Zero networking, zero master effects. Just pure math to audio waves.
|
|
93
|
-
*/
|
|
94
|
-
export declare class RLOCore {
|
|
95
|
-
/** The Web Audio API context used for all audio operations. */
|
|
96
|
-
protected _ctx: AudioContext;
|
|
97
|
-
/** Indicates whether a sequence is currently playing. */
|
|
98
|
-
protected _isPlaying: boolean;
|
|
99
|
-
/** Stores the timer ID for the standard JavaScript timeout metronome. */
|
|
100
|
-
protected _timer: ReturnType<typeof setTimeout> | null;
|
|
101
|
-
/** Stores the Web Worker instance for accurate background metronome timing. */
|
|
102
|
-
protected _workerTimer: Worker | null;
|
|
103
|
-
/** Incremental ID to keep track of the current playback sequence and prevent overlapping schedules. */
|
|
104
|
-
protected _sequenceId: number;
|
|
105
|
-
/** The current track playback time in seconds. */
|
|
106
|
-
protected _trkT: number;
|
|
107
|
-
/** The total duration of the currently playing track in seconds. */
|
|
108
|
-
protected _trkD: number;
|
|
109
|
-
/** Array of active audio nodes that need to be cleaned up when playback stops. */
|
|
110
|
-
protected _activeNodes: AudioNode[];
|
|
111
|
-
/** The current global volume level (0.0 to 1.0). */
|
|
112
|
-
protected _volume: number;
|
|
113
|
-
/** The target time to seek to on the next scheduling tick. */
|
|
114
|
-
protected _seekTarget: number | null;
|
|
115
|
-
/** The playback speed multiplier (1.0 is normal speed). */
|
|
116
|
-
playbackRate: number;
|
|
117
|
-
/** Array of synthesizers mapped to their corresponding MIDI instrument IDs. */
|
|
118
|
-
protected _instrumentMap: ISynthInstrument[];
|
|
119
|
-
/** The object URL for the Web Worker script, used for cleanup. */
|
|
120
|
-
protected _workerUrl: string | null;
|
|
121
|
-
/**
|
|
122
|
-
* Initializes a new RLOCore instance.
|
|
123
|
-
* @param audioContext The Web Audio API context.
|
|
124
|
-
* @param instrumentMap The instrument routing map to use for synthesis.
|
|
125
|
-
*/
|
|
126
|
-
constructor(audioContext: AudioContext, instrumentMap?: ISynthInstrument[]);
|
|
127
|
-
/** Gets the current time of the audio context. */
|
|
128
|
-
protected get _now(): number;
|
|
129
|
-
/**
|
|
130
|
-
* Sets the global playback volume.
|
|
131
|
-
* @param vol The volume level (0.0 to 1.0).
|
|
132
|
-
*/
|
|
133
|
-
setVolume(vol: number): void;
|
|
134
|
-
/**
|
|
135
|
-
* Seeks the currently playing track to the specified time in seconds.
|
|
136
|
-
* @param timeInSeconds The target time in seconds.
|
|
137
|
-
*/
|
|
138
|
-
seek(timeInSeconds: number): void;
|
|
139
|
-
/** Stops playback and clears all scheduled audio nodes and timers. */
|
|
140
|
-
stop(): void;
|
|
141
|
-
/** Destroys the core engine, releasing memory and background workers. */
|
|
142
|
-
dispose(): void;
|
|
143
|
-
/** Creates and returns a new GainNode. */
|
|
144
|
-
protected _gain(): GainNode;
|
|
145
|
-
/**
|
|
146
|
-
* Applies a linear fade to an AudioParam over a specified duration.
|
|
147
|
-
* @param gain The AudioParam to fade.
|
|
148
|
-
* @param target The target value.
|
|
149
|
-
* @param time The duration of the fade in seconds.
|
|
150
|
-
*/
|
|
151
|
-
protected _fade(gain: AudioParam, target: number, time: number): void;
|
|
152
|
-
/** Creates a pre-configured DynamicsCompressorNode for mastering. */
|
|
153
|
-
protected _comp(ctx?: AudioContext): DynamicsCompressorNode;
|
|
154
|
-
/**
|
|
155
|
-
* Sets up the master audio routing graph for this core.
|
|
156
|
-
* @param fadeInTime Optional fade-in duration in seconds.
|
|
157
|
-
* @returns An object containing the destination AudioNode.
|
|
158
|
-
*/
|
|
159
|
-
protected _createRouting(fadeInTime?: number): {
|
|
160
|
-
destination: AudioNode;
|
|
161
|
-
};
|
|
162
|
-
/**
|
|
163
|
-
* Plays a compiled RLO sequence.
|
|
164
|
-
* @param track The compiled RloData to play.
|
|
165
|
-
* @param loopOrOpts Whether the track should loop, or an Options Object.
|
|
166
|
-
* @param fadeInTime Optional fade-in duration in seconds (default 0).
|
|
167
|
-
*/
|
|
168
|
-
playSequence(track: RloData, loopOrOpts?: boolean | PlaySequenceOptions, oldFadeInTime?: number): void;
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* RLOMusicPlayer: The standard music player.
|
|
172
|
-
* Includes network fetching, gzip decoding, convolution reverb, compression, and UI playback controls.
|
|
173
|
-
*/
|
|
174
|
-
export declare class RLOMusicPlayer extends RLOCore {
|
|
175
|
-
/** The master volume control node. */
|
|
176
|
-
private _masterGain;
|
|
177
|
-
/** The convolver node used for reverb effects. */
|
|
178
|
-
private _reverb;
|
|
179
|
-
/** The gain node controlling the wet/dry mix of the reverb effect. */
|
|
180
|
-
private _fxGain;
|
|
181
|
-
/** A cache of recently loaded tracks to prevent redundant network requests. */
|
|
182
|
-
private _trackCache;
|
|
183
|
-
/** Event handler for pausing/resuming audio when the document visibility changes. */
|
|
184
|
-
private _visibilityHandler;
|
|
185
|
-
/** The maximum number of tracks to store in the cache. */
|
|
186
|
-
private _maxCacheSize;
|
|
187
|
-
/** The current acoustic space simulation mode. */
|
|
188
|
-
private _reverbMode;
|
|
189
|
-
/**
|
|
190
|
-
* Initializes a new RLOMusicPlayer instance with advanced effects and network capabilities.
|
|
191
|
-
* @param audioContext The Web Audio API context.
|
|
192
|
-
* @param instrumentMap Optional custom instrument map.
|
|
193
|
-
*/
|
|
194
|
-
constructor(audioContext: AudioContext, instrumentMap?: ISynthInstrument[]);
|
|
195
|
-
/**
|
|
196
|
-
* Changes the acoustic space simulation for the reverb effect.
|
|
197
|
-
* @param mode 'concert' (large hall) or 'studio' (small room).
|
|
198
|
-
*/
|
|
199
|
-
setReverbMode(mode: ReverbMode): void;
|
|
200
|
-
/** Disposes the player, clearing caches and removing event listeners. */
|
|
201
|
-
dispose(): void;
|
|
202
|
-
/**
|
|
203
|
-
* Sets the playback volume, smoothly ramping to the target value.
|
|
204
|
-
* @param vol The volume level (0.0 to 1.0).
|
|
205
|
-
*/
|
|
206
|
-
setVolume(vol: number): void;
|
|
207
|
-
/** Returns the current playback time of the track in seconds. */
|
|
208
|
-
getCurrentTime(): number;
|
|
209
|
-
/** Returns the total duration of the currently loaded track in seconds. */
|
|
210
|
-
getTotalDuration(): number;
|
|
211
|
-
/**
|
|
212
|
-
* Overrides the core routing to include reverb, filtering, and mastering compression.
|
|
213
|
-
* @param fadeInTime Optional fade-in duration in seconds.
|
|
214
|
-
* @returns An object containing the destination AudioNode.
|
|
215
|
-
*/
|
|
216
|
-
protected _createRouting(fadeInTime?: number): {
|
|
217
|
-
destination: AudioNode;
|
|
218
|
-
};
|
|
219
|
-
/**
|
|
220
|
-
* Loads and plays a track from a URL, a JSON object, or an existing RloData object.
|
|
221
|
-
* @param trackUrlOrData The URL to fetch, or the raw track data.
|
|
222
|
-
* @param fadeInOrOpts Optional fade-in duration in seconds, or an Options Object.
|
|
223
|
-
* @param oldLoop Whether to loop the track (default true).
|
|
224
|
-
*/
|
|
225
|
-
play(trackUrlOrData: string | RloData, fadeInOrOpts?: number | PlaySequenceOptions, oldLoop?: boolean): Promise<void>;
|
|
226
|
-
/** Stops playback and gently resets the master gain nodes. */
|
|
227
|
-
stop(): void;
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* RLOGameEngine: Built for instant action.
|
|
231
|
-
* Features a persistent master routing bus so SFX can play over background music
|
|
232
|
-
* without interrupting each other or causing clipping.
|
|
233
|
-
*/
|
|
234
|
-
export declare class RLOGameEngine extends RLOCore {
|
|
235
|
-
/** The persistent master routing bus volume node. */
|
|
236
|
-
private _masterGain;
|
|
237
|
-
/** The dedicated routing bus for Sound Effects. */
|
|
238
|
-
private _sfxGain;
|
|
239
|
-
/** The dedicated routing bus for Background Music. */
|
|
240
|
-
private _musicGain;
|
|
241
|
-
/** A separate synthesizer instance strictly for playing non-blocking sound effects. */
|
|
242
|
-
private _sfxSynthesizer;
|
|
243
|
-
/**
|
|
244
|
-
* Initializes a new RLOGameEngine instance tailored for dynamic real-time audio.
|
|
245
|
-
* @param audioContext The Web Audio API context.
|
|
246
|
-
* @param instrumentMap Optional custom instrument map.
|
|
247
|
-
*/
|
|
248
|
-
constructor(audioContext: AudioContext, instrumentMap?: ISynthInstrument[]);
|
|
249
|
-
/**
|
|
250
|
-
* Smoothly changes the master volume for all game audio.
|
|
251
|
-
* @param vol The volume level (0.0 to 1.0).
|
|
252
|
-
*/
|
|
253
|
-
setVolume(vol: number): void;
|
|
254
|
-
/**
|
|
255
|
-
* Smoothly changes the volume strictly for the background music routing bus.
|
|
256
|
-
* @param vol The volume level (0.0 to 1.0).
|
|
257
|
-
*/
|
|
258
|
-
setMusicVolume(vol: number): void;
|
|
259
|
-
/**
|
|
260
|
-
* Smoothly changes the volume strictly for the sound effects routing bus.
|
|
261
|
-
* @param vol The volume level (0.0 to 1.0).
|
|
262
|
-
*/
|
|
263
|
-
setSFXVolume(vol: number): void;
|
|
264
|
-
/**
|
|
265
|
-
* Overrides the core routing to tap into the persistent master game bus.
|
|
266
|
-
* @param fadeInTime Optional fade-in duration in seconds.
|
|
267
|
-
* @returns An object containing the destination AudioNode.
|
|
268
|
-
*/
|
|
269
|
-
protected _createRouting(fadeInTime?: number): {
|
|
270
|
-
destination: AudioNode;
|
|
271
|
-
};
|
|
272
|
-
/**
|
|
273
|
-
* Plays a fire-and-forget sound effect dynamically at runtime.
|
|
274
|
-
* @param instrumentId The General MIDI ID of the instrument to use (e.g., 128 for percussion).
|
|
275
|
-
* @param freqOrNote The frequency in Hz, or a Note String (e.g. 'E4').
|
|
276
|
-
* @param duration The duration of the sound effect in seconds.
|
|
277
|
-
* @param velocityOrOpts The velocity (0.0 to 1.0), or an Options Object.
|
|
278
|
-
* @param oldTimeOffset Optional delay in seconds before the sound effect plays.
|
|
279
|
-
*/
|
|
280
|
-
playSFX(instrumentId: number, freqOrNote: number | string, duration: number, velocityOrOpts?: number | SFXOptions, oldTimeOffset?: number): void;
|
|
281
|
-
/**
|
|
282
|
-
* Plays an entire compiled RLO sequence as a fire-and-forget sound effect.
|
|
283
|
-
* Note: This bypasses the sequencer and schedules all notes instantly. Ideal for short, complex jingles.
|
|
284
|
-
* @param track The compiled RloData to play.
|
|
285
|
-
* @param timeOffset Optional delay in seconds before the sequence starts.
|
|
286
|
-
*/
|
|
287
|
-
playSFXSequence(track: RloData, timeOffset?: number): void;
|
|
288
|
-
/**
|
|
289
|
-
* Plays a background music track, routing it through the master game bus.
|
|
290
|
-
* @param track The compiled RloData to play.
|
|
291
|
-
* @param loopOrOpts Whether the track should loop indefinitely (default true), or an Options Object.
|
|
292
|
-
* @param fadeInTime Optional fade-in duration in seconds (default 0).
|
|
293
|
-
*/
|
|
294
|
-
playMusic(track: RloData, loopOrOpts?: boolean | PlaySequenceOptions, oldFadeInTime?: number): void;
|
|
295
|
-
/** Stops the currently playing background music. SFX will continue to function. */
|
|
296
|
-
stopMusic(): void;
|
|
297
|
-
}
|
|
298
|
-
//# sourceMappingURL=RLO-Player.d.ts.map
|
package/dist/RLO-Player.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RLO-Player.d.ts","sourceRoot":"","sources":["../RLO-Player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAgB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,gBAEzB,CAAC;AAEF,yDAAyD;AACzD,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,8DAA8D;AAC9D,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,yDAAyD;AACzD,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,UAAU,EACrB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,YAAY,GACjB,IAAI,CAwBN;AAOD;;;GAGG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAoBnD;AAED,+EAA+E;AAC/E,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAa;IAEvB,OAAO,CAAC,IAAI,EAAE;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI;IAQD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI/B,OAAO,IAAI,OAAO;CAG1B;AA0BD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE;IAAE,KAAK,EAAE,gBAAgB,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,GACxD,gBAAgB,EAAE,CAMpB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE;IAAE,KAAK,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,GACjE,gBAAgB,EAAE,CAuBpB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,gBAAgB,EAAE,EAC3B,SAAS,EAAE;IAAE,KAAK,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,GACnE,gBAAgB,EAAE,CAMpB;AAED;;;GAGG;AACH,qBAAa,OAAO;IAClB,+DAA+D;IAC/D,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC;IAC7B,yDAAyD;IACzD,SAAS,CAAC,UAAU,EAAE,OAAO,CAAS;IACtC,yEAAyE;IACzE,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAQ;IAC9D,+EAA+E;IAC/E,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC7C,uGAAuG;IACvG,SAAS,CAAC,WAAW,EAAE,MAAM,CAAK;IAClC,kDAAkD;IAClD,SAAS,CAAC,KAAK,EAAE,MAAM,CAAK;IAC5B,oEAAoE;IACpE,SAAS,CAAC,KAAK,EAAE,MAAM,CAAK;IAC5B,kFAAkF;IAClF,SAAS,CAAC,YAAY,EAAE,SAAS,EAAE,CAAM;IACzC,oDAAoD;IACpD,SAAS,CAAC,OAAO,EAAE,MAAM,CAAO;IAChC,8DAA8D;IAC9D,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE5C,2DAA2D;IACpD,YAAY,EAAE,MAAM,CAAO;IAElC,+EAA+E;IAC/E,SAAS,CAAC,cAAc,EAAE,gBAAgB,EAAE,CAAC;IAC7C,kEAAkE;IAClE,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE3C;;;;OAIG;gBAED,YAAY,EAAE,YAAY,EAC1B,aAAa,GAAE,gBAAgB,EAAO;IA2BxC,kDAAkD;IAClD,SAAS,KAAK,IAAI,IAAI,MAAM,CAE3B;IAED;;;OAGG;IACI,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAInC;;;OAGG;IACI,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAMxC,sEAAsE;IAC/D,IAAI,IAAI,IAAI;IAgBnB,yEAAyE;IAClE,OAAO,IAAI,IAAI;IAYtB,0CAA0C;IAC1C,SAAS,CAAC,KAAK,IAAI,QAAQ;IAI3B;;;;;OAKG;IACH,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAKrE,qEAAqE;IACrE,SAAS,CAAC,KAAK,CAAC,GAAG,GAAE,YAAwB,GAAG,sBAAsB;IAUtE;;;;OAIG;IACH,SAAS,CAAC,cAAc,CAAC,UAAU,GAAE,MAAU,GAAG;QAAE,WAAW,EAAE,SAAS,CAAA;KAAE;IAQ5E;;;;;OAKG;IACI,YAAY,CACjB,KAAK,EAAE,OAAO,EACd,UAAU,GAAE,OAAO,GAAG,mBAA0B,EAChD,aAAa,GAAE,MAAU,GACxB,IAAI;CAqGR;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,OAAO;IACzC,sCAAsC;IACtC,OAAO,CAAC,WAAW,CAAyB;IAC5C,kDAAkD;IAClD,OAAO,CAAC,OAAO,CAA8B;IAC7C,sEAAsE;IACtE,OAAO,CAAC,OAAO,CAAyB;IACxC,+EAA+E;IAC/E,OAAO,CAAC,WAAW,CAAmC;IACtD,qFAAqF;IACrF,OAAO,CAAC,kBAAkB,CAAc;IACxC,0DAA0D;IAC1D,OAAO,CAAC,aAAa,CAAc;IACnC,kDAAkD;IAClD,OAAO,CAAC,WAAW,CAAyB;IAE5C;;;;OAIG;gBAED,YAAY,EAAE,YAAY,EAC1B,aAAa,GAAE,gBAAgB,EAAO;IAsBxC;;;OAGG;IACI,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAa5C,yEAAyE;IAClE,OAAO,IAAI,IAAI;IAUtB;;;OAGG;IACI,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQnC,iEAAiE;IAC1D,cAAc,IAAI,MAAM;IAM/B,2EAA2E;IACpE,gBAAgB,IAAI,MAAM;IAKjC;;;;OAIG;IACH,SAAS,CAAC,cAAc,CAAC,UAAU,GAAE,MAAU,GAAG;QAAE,WAAW,EAAE,SAAS,CAAA;KAAE;IAoC5E;;;;;OAKG;IACU,IAAI,CACf,cAAc,EAAE,MAAM,GAAG,OAAO,EAChC,YAAY,GAAE,MAAM,GAAG,mBAAuB,EAC9C,OAAO,GAAE,OAAc,GACtB,OAAO,CAAC,IAAI,CAAC;IA2DhB,8DAA8D;IACvD,IAAI,IAAI,IAAI;CAapB;AAED;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,OAAO;IACxC,qDAAqD;IACrD,OAAO,CAAC,WAAW,CAAY;IAC/B,mDAAmD;IACnD,OAAO,CAAC,QAAQ,CAAY;IAC5B,sDAAsD;IACtD,OAAO,CAAC,UAAU,CAAY;IAC9B,uFAAuF;IACvF,OAAO,CAAC,eAAe,CAAe;IAEtC;;;;OAIG;gBAED,YAAY,EAAE,YAAY,EAC1B,aAAa,GAAE,gBAAgB,EAAO;IAwBxC;;;OAGG;IACI,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAMnC;;;OAGG;IACI,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKxC;;;OAGG;IACI,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKtC;;;;OAIG;IACH,SAAS,CAAC,cAAc,CAAC,UAAU,GAAE,MAAU,GAAG;QAAE,WAAW,EAAE,SAAS,CAAA;KAAE;IAW5E;;;;;;;OAOG;IACI,OAAO,CACZ,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GAAG,MAAM,EAC3B,QAAQ,EAAE,MAAM,EAChB,cAAc,GAAE,MAAM,GAAG,UAAgB,EACzC,aAAa,GAAE,MAAU;IAsB3B;;;;;OAKG;IACI,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,GAAE,MAAU,GAAG,IAAI;IAmBpE;;;;;OAKG;IACI,SAAS,CACd,KAAK,EAAE,OAAO,EACd,UAAU,GAAE,OAAO,GAAG,mBAA0B,EAChD,aAAa,GAAE,MAAU,GACxB,IAAI;IAWP,mFAAmF;IAC5E,SAAS,IAAI,IAAI;CAGzB"}
|