@gaialabs/core 0.2.3 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/client/client.d.ts +1 -0
  2. package/client/client.js +5 -0
  3. package/client/default.d.ts +1 -0
  4. package/client/default.js +5 -0
  5. package/client/edge.d.ts +1 -0
  6. package/client/edge.js +373 -0
  7. package/client/index-browser.js +399 -0
  8. package/client/index.d.ts +34222 -0
  9. package/client/index.js +373 -0
  10. package/client/package.json +144 -0
  11. package/client/query_compiler_fast_bg.js +2 -0
  12. package/client/query_compiler_fast_bg.wasm +0 -0
  13. package/client/query_compiler_fast_bg.wasm-base64.js +2 -0
  14. package/client/query_engine-windows.dll.node +0 -0
  15. package/client/query_engine_bg.js +2 -0
  16. package/client/query_engine_bg.wasm +0 -0
  17. package/client/runtime/client.d.ts +3358 -0
  18. package/client/runtime/client.js +86 -0
  19. package/client/runtime/edge-esm.js +35 -0
  20. package/client/runtime/edge.js +35 -0
  21. package/client/runtime/index-browser.d.ts +90 -0
  22. package/client/runtime/index-browser.js +6 -0
  23. package/client/runtime/library.d.ts +3982 -0
  24. package/client/runtime/library.js +147 -0
  25. package/client/runtime/react-native.js +84 -0
  26. package/client/runtime/wasm-compiler-edge.js +76 -0
  27. package/client/runtime/wasm-engine-edge.js +38 -0
  28. package/client/schema.prisma +404 -0
  29. package/client/wasm-edge-light-loader.mjs +5 -0
  30. package/client/wasm-worker-loader.mjs +5 -0
  31. package/client/wasm.d.ts +1 -0
  32. package/client/wasm.js +421 -0
  33. package/dist/index.cjs +1282 -454
  34. package/dist/index.cjs.map +1 -1
  35. package/dist/index.d.cts +1044 -352
  36. package/dist/index.d.cts.map +1 -0
  37. package/dist/index.d.mts +1044 -352
  38. package/dist/index.d.mts.map +1 -0
  39. package/dist/index.mjs +1279 -451
  40. package/dist/index.mjs.map +1 -1
  41. package/package.json +15 -1
  42. package/prisma.cjs +1 -0
  43. package/prisma.d.ts +1 -0
  44. package/prisma.mjs +9 -0
package/dist/index.d.mts CHANGED
@@ -9,9 +9,9 @@ declare class RomState {
9
9
  readonly cgram: Uint8Array<ArrayBuffer>;
10
10
  readonly vram: Uint8Array<ArrayBuffer>;
11
11
  /**
12
- * Create ROM state from scene metadata.
13
- * Parameters are currently unused but kept for future implementation.
14
- */
12
+ * Create ROM state from scene metadata.
13
+ * Parameters are currently unused but kept for future implementation.
14
+ */
15
15
  static fromScene(_baseDir: string, _root: unknown, _metaFile: string, _id: number): Promise<RomState>;
16
16
  }
17
17
  /**
@@ -33,24 +33,24 @@ declare class Stack {
33
33
  location: number;
34
34
  constructor();
35
35
  /**
36
- * Push a byte onto the stack
37
- */
36
+ * Push a byte onto the stack
37
+ */
38
38
  push(value: number): void;
39
39
  /**
40
- * Push a 16-bit value onto the stack (little-endian)
41
- */
40
+ * Push a 16-bit value onto the stack (little-endian)
41
+ */
42
42
  pushUInt16(value: number): void;
43
43
  /**
44
- * Pop a byte from the stack
45
- */
44
+ * Pop a byte from the stack
45
+ */
46
46
  popByte(): number;
47
47
  /**
48
- * Pop a 16-bit value from the stack (little-endian)
49
- */
48
+ * Pop a 16-bit value from the stack (little-endian)
49
+ */
50
50
  popUInt16(): number;
51
51
  /**
52
- * Reset the stack to initial state
53
- */
52
+ * Reset the stack to initial state
53
+ */
54
54
  reset(): void;
55
55
  }
56
56
  //#endregion
@@ -67,7 +67,7 @@ declare enum AddressType {
67
67
  WBank = "WBank",
68
68
  Relative = "Relative",
69
69
  WRelative = "WRelative",
70
- Location = "Location",
70
+ Location = "Location"
71
71
  }
72
72
  /**
73
73
  * Address space types
@@ -78,16 +78,16 @@ declare enum AddressSpace {
78
78
  ROM = "ROM",
79
79
  WRAM = "WRAM",
80
80
  SRAM = "SRAM",
81
- System = "System",
81
+ System = "System"
82
82
  }
83
83
  declare enum MemoryMapMode {
84
84
  Lo = "Lo",
85
85
  Hi = "Hi",
86
- ExHi = "ExHi",
86
+ ExHi = "ExHi"
87
87
  }
88
88
  declare enum CpuMode {
89
89
  Slow = "Slow",
90
- Fast = "Fast",
90
+ Fast = "Fast"
91
91
  }
92
92
  /**
93
93
  * SNES address structure
@@ -124,7 +124,7 @@ declare enum MemberType {
124
124
  Address = "Address",
125
125
  Binary = "Binary",
126
126
  Code = "Code",
127
- Location = "Location",
127
+ Location = "Location"
128
128
  }
129
129
  //#endregion
130
130
  //#region src/types/processor.d.ts
@@ -135,7 +135,7 @@ declare enum MemberType {
135
135
  declare enum RegisterType {
136
136
  M = "M",
137
137
  X = "X",
138
- B = "B",
138
+ B = "B"
139
139
  }
140
140
  /**
141
141
  * Status flags for 65816 processor
@@ -153,54 +153,54 @@ declare enum RegisterType {
153
153
  */
154
154
  declare enum StatusFlags {
155
155
  /**
156
- * Clear before starting addition or subtraction.
157
- * Arithmetic overflow:
158
- * [addition - carry out of high bit:]
159
- * 0 = no carry
160
- * 1 = carry
161
- * [subtraction - borrow required to subtract:]
162
- * 0 = borrow required
163
- * 1 = no borrow required
164
- * [Logic:]
165
- * receives bit shifted or rotated out;
166
- * source of bit rotated in
167
- */
156
+ * Clear before starting addition or subtraction.
157
+ * Arithmetic overflow:
158
+ * [addition - carry out of high bit:]
159
+ * 0 = no carry
160
+ * 1 = carry
161
+ * [subtraction - borrow required to subtract:]
162
+ * 0 = borrow required
163
+ * 1 = no borrow required
164
+ * [Logic:]
165
+ * receives bit shifted or rotated out;
166
+ * source of bit rotated in
167
+ */
168
168
  Carry = 1,
169
169
  /**
170
- * Indicates zero or non-zero result:
171
- * 0 = non-zero result
172
- * 1 = zero result
173
- */
170
+ * Indicates zero or non-zero result:
171
+ * 0 = non-zero result
172
+ * 1 = zero result
173
+ */
174
174
  Zero = 2,
175
175
  /**
176
- * Enables or disables processor's IRQ interrupt line:
177
- * Set to disable interrupts by masking the IRQ line
178
- * Clear to enable IRQ interrupts
179
- */
176
+ * Enables or disables processor's IRQ interrupt line:
177
+ * Set to disable interrupts by masking the IRQ line
178
+ * Clear to enable IRQ interrupts
179
+ */
180
180
  IrqDisable = 4,
181
181
  /**
182
- * Determines mode for add/subtract (not increment/decrement, though):
183
- * Set to force decimal operation (BCD)
184
- * Clear to return to binary operation
185
- */
182
+ * Determines mode for add/subtract (not increment/decrement, though):
183
+ * Set to force decimal operation (BCD)
184
+ * Clear to return to binary operation
185
+ */
186
186
  DecimalMode = 8,
187
187
  IndexMode = 16,
188
188
  AccumulatorMode = 32,
189
189
  /**
190
- * Clear to reverse "set-overflow" hardware input.
191
- * Indicates invalid carry into high bit of arithmetic
192
- * result (two's-complement overflow):
193
- * 0 = two's-complement result ok
194
- * 1 = error if two's-complement arithmetic
195
- */
190
+ * Clear to reverse "set-overflow" hardware input.
191
+ * Indicates invalid carry into high bit of arithmetic
192
+ * result (two's-complement overflow):
193
+ * 0 = two's-complement result ok
194
+ * 1 = error if two's-complement arithmetic
195
+ */
196
196
  Overflow = 64,
197
197
  /**
198
- * Reflects most significant bit of result
199
- * (the sign of a two's-complement binary number):
200
- * 0 = high bit clear (positive result)
201
- * 1 = high bit set (negative result)
202
- */
203
- Negative = 128,
198
+ * Reflects most significant bit of result
199
+ * (the sign of a two's-complement binary number):
200
+ * 0 = high bit clear (positive result)
201
+ * 1 = high bit set (negative result)
202
+ */
203
+ Negative = 128
204
204
  }
205
205
  //#endregion
206
206
  //#region src/types/resources.d.ts
@@ -220,7 +220,7 @@ declare enum BinType {
220
220
  Assembly = "Assembly",
221
221
  Patch = "Patch",
222
222
  Transform = "Transform",
223
- Binary = "Binary",
223
+ Binary = "Binary"
224
224
  }
225
225
  //#endregion
226
226
  //#region src/types/transforms.d.ts
@@ -230,7 +230,7 @@ declare enum BinType {
230
230
  */
231
231
  declare enum XformType {
232
232
  Lookup = "Lookup",
233
- Replace = "Replace",
233
+ Replace = "Replace"
234
234
  }
235
235
  /**
236
236
  * Transform definition
@@ -263,6 +263,7 @@ declare class DbFileType {
263
263
  isPatch: boolean;
264
264
  isBlock: boolean;
265
265
  header: number;
266
+ compressed?: boolean;
266
267
  constructor(data: Partial<DbFileType>);
267
268
  }
268
269
  //#endregion
@@ -311,18 +312,18 @@ declare class DbBlock {
311
312
  */
312
313
  interface ICompressionProvider {
313
314
  /**
314
- * Expand (decompress) data
315
- * @param srcData Source data buffer
316
- * @param srcPosition Starting position in source data
317
- * @param srcLen Length of source data to process
318
- * @returns Expanded data
319
- */
315
+ * Expand (decompress) data
316
+ * @param srcData Source data buffer
317
+ * @param srcPosition Starting position in source data
318
+ * @param srcLen Length of source data to process
319
+ * @returns Expanded data
320
+ */
320
321
  expand(srcData: Uint8Array, srcPosition?: number, srcLen?: number): Uint8Array;
321
322
  /**
322
- * Compact (compress) data
323
- * @param srcData Source data to compress
324
- * @returns Compressed data
325
- */
323
+ * Compact (compress) data
324
+ * @param srcData Source data to compress
325
+ * @returns Compressed data
326
+ */
326
327
  compact(srcData: Uint8Array, srcPosition?: number, srcLen?: number): Uint8Array;
327
328
  }
328
329
  //#endregion
@@ -354,41 +355,41 @@ declare class ChunkFile {
354
355
  scene?: string;
355
356
  constructor(name: string, size: number, location: number, type: DbFileType);
356
357
  }
357
- declare function createChunkFileFromDbFile(rom: Uint8Array, compression: ICompressionProvider, dbFile: DbFile, fileType: DbFileType): ChunkFile;
358
+ declare function createChunkFileFromDbFile(rom: Uint8Array, compression: ICompressionProvider | undefined, dbFile: DbFile, fileType: DbFileType): ChunkFile;
358
359
  declare function createChunkFileFromDbBlock(block: DbBlock, fileType: DbFileType, memoryMode: MemoryMapMode): ChunkFile;
359
360
  /**
360
361
  * Chunk file utilities
361
362
  */
362
363
  declare class ChunkFileUtils {
363
364
  /**
364
- * Rebase blocks to a new location
365
- */
365
+ * Rebase blocks to a new location
366
+ */
366
367
  static rebase(chunkFile: ChunkFile, newLocation?: number): void;
367
368
  /**
368
- * Calculate the total size of all blocks
369
- */
369
+ * Calculate the total size of all blocks
370
+ */
370
371
  static calculateSize(chunkFile: ChunkFile): number;
371
372
  /**
372
- * Check if a location is outside this block and return the part (matches C# IsOutside)
373
- * Returns [isOutside, part] where part is the part containing the location
374
- */
373
+ * Check if a location is outside this block and return the part (matches C# IsOutside)
374
+ * Returns [isOutside, part] where part is the part containing the location
375
+ */
375
376
  static isOutsideWithPart(root: ChunkFile[], block: ChunkFile, location: number): [boolean, ChunkFile | null, AsmBlock | null];
376
377
  /**
377
- * Check if a location is inside this block and return the part (matches C# IsInside)
378
- * Returns [isInside, part] where part is the part containing the location
379
- */
378
+ * Check if a location is inside this block and return the part (matches C# IsInside)
379
+ * Returns [isInside, part] where part is the part containing the location
380
+ */
380
381
  static isInsideWithPart(block: ChunkFile, location: number): [boolean, AsmBlock | null];
381
382
  /**
382
- * Check if a location is outside this block (shorthand version)
383
- */
383
+ * Check if a location is outside this block (shorthand version)
384
+ */
384
385
  static isOutside(block: ChunkFile, location: number): boolean;
385
386
  /**
386
- * Check if a location is inside this block (shorthand version)
387
- */
387
+ * Check if a location is inside this block (shorthand version)
388
+ */
388
389
  static isInside(block: ChunkFile, location: number): boolean;
389
390
  /**
390
- * Get all included blocks
391
- */
391
+ * Get all included blocks
392
+ */
392
393
  static getIncludes(chunkFile: ChunkFile): ChunkFile[];
393
394
  }
394
395
  //#endregion
@@ -447,12 +448,12 @@ declare class AsmBlock {
447
448
  */
448
449
  declare class AsmBlockUtils {
449
450
  /**
450
- * Check if a location is inside this part
451
- */
451
+ * Check if a location is inside this part
452
+ */
452
453
  static isInside(part: AsmBlock, location: number): boolean;
453
454
  /**
454
- * Check if a location is outside this part
455
- */
455
+ * Check if a location is outside this part
456
+ */
456
457
  static isOutside(part: AsmBlock, location: number): boolean;
457
458
  }
458
459
  //#endregion
@@ -473,39 +474,39 @@ declare class BitStream {
473
474
  get currentPosition(): number;
474
475
  set currentPosition(value: number);
475
476
  /**
476
- * Read a byte from the stream
477
- * @returns The byte read, or -1 if the end of the data has been reached
478
- */
477
+ * Read a byte from the stream
478
+ * @returns The byte read, or -1 if the end of the data has been reached
479
+ */
479
480
  readByte(): number;
480
481
  /**
481
- * Read a ushort from the stream (ignores the current bit flag)
482
- * @returns The short read, or -1 if the end of the data has been reached
483
- */
482
+ * Read a ushort from the stream (ignores the current bit flag)
483
+ * @returns The short read, or -1 if the end of the data has been reached
484
+ */
484
485
  readShort(): number;
485
486
  /**
486
- * Read a bit from the stream
487
- * @returns True if the current bit at bitFlag is set, false otherwise
488
- */
487
+ * Read a bit from the stream
488
+ * @returns True if the current bit at bitFlag is set, false otherwise
489
+ */
489
490
  readBit(): boolean;
490
491
  /**
491
- * Read a nibble from the stream
492
- * @returns The nibble read, or -1 if the end of the data has been reached
493
- */
492
+ * Read a nibble from the stream
493
+ * @returns The nibble read, or -1 if the end of the data has been reached
494
+ */
494
495
  readNibble(): number;
495
496
  /**
496
- * Write a bit to the stream
497
- * @param set True if the current bit should be set, false otherwise
498
- */
497
+ * Write a bit to the stream
498
+ * @param set True if the current bit should be set, false otherwise
499
+ */
499
500
  writeBit(set: boolean): void;
500
501
  /**
501
- * Write a byte to the stream
502
- * @param value The byte to write
503
- */
502
+ * Write a byte to the stream
503
+ * @param value The byte to write
504
+ */
504
505
  writeByte(value: number): void;
505
506
  /**
506
- * Write a nibble to the stream
507
- * @param value The nibble to write
508
- */
507
+ * Write a nibble to the stream
508
+ * @param value The nibble to write
509
+ */
509
510
  writeNibble(value: number): void;
510
511
  flush(): void;
511
512
  }
@@ -518,31 +519,31 @@ declare class BitStream {
518
519
  declare class CompressionRegistry {
519
520
  private static providers;
520
521
  /**
521
- * Register a compression provider
522
- * @param id String identifier for the compression type
523
- * @param factory Factory function that creates the compression provider
524
- */
522
+ * Register a compression provider
523
+ * @param id String identifier for the compression type
524
+ * @param factory Factory function that creates the compression provider
525
+ */
525
526
  static register(id: string, factory: () => ICompressionProvider): void;
526
527
  /**
527
- * Get a compression provider by ID
528
- * @param id String identifier for the compression type
529
- * @returns Compression provider instance
530
- */
528
+ * Get a compression provider by ID
529
+ * @param id String identifier for the compression type
530
+ * @returns Compression provider instance
531
+ */
531
532
  static get(id: string): ICompressionProvider;
532
533
  /**
533
- * Check if a compression provider is registered
534
- * @param id String identifier for the compression type
535
- * @returns True if provider is registered
536
- */
534
+ * Check if a compression provider is registered
535
+ * @param id String identifier for the compression type
536
+ * @returns True if provider is registered
537
+ */
537
538
  static has(id: string): boolean;
538
539
  /**
539
- * Get list of registered provider IDs
540
- * @returns Array of registered provider IDs
541
- */
540
+ * Get list of registered provider IDs
541
+ * @returns Array of registered provider IDs
542
+ */
542
543
  static getRegisteredIds(): string[];
543
544
  /**
544
- * Clear all registered providers (mainly for testing)
545
- */
545
+ * Clear all registered providers (mainly for testing)
546
+ */
546
547
  static clear(): void;
547
548
  }
548
549
  //#endregion
@@ -574,11 +575,11 @@ declare class RomProcessingConstants {
574
575
  static readonly COP_SPLIT_REGEX: RegExp;
575
576
  static readonly COMMA_SPACE_TRIM_REGEX: RegExp;
576
577
  /**
577
- * Gets the size of an object for processing purposes
578
- * @param obj The object to get the size for
579
- * @returns Size in bytes
580
- * @throws Error when unable to determine size
581
- */
578
+ * Gets the size of an object for processing purposes
579
+ * @param obj The object to get the size for
580
+ * @returns Size in bytes
581
+ * @throws Error when unable to determine size
582
+ */
582
583
  static getSize(obj: unknown): number;
583
584
  }
584
585
  /**
@@ -624,6 +625,7 @@ declare class DbStringCommand {
624
625
  types: string[];
625
626
  delimiter?: number;
626
627
  halt: boolean;
628
+ dictionary?: DbStringDictionary;
627
629
  constructor(data: Partial<DbStringCommand>);
628
630
  }
629
631
  /**
@@ -631,13 +633,16 @@ declare class DbStringCommand {
631
633
  * Converted from GaiaLib/Database/DbStringLayer.cs
632
634
  */
633
635
  interface DbStringLayer {
634
- base: number;
636
+ base?: number;
637
+ range?: number;
638
+ on?: number;
639
+ shift?: string;
635
640
  map: string[];
636
641
  }
637
642
  declare class DbStringDictionary {
638
- base: number;
643
+ base?: number;
639
644
  range: number;
640
- command: number;
645
+ command?: number;
641
646
  name: string;
642
647
  entries: string[];
643
648
  constructor(data: Partial<DbStringDictionary>);
@@ -650,8 +655,6 @@ declare class DbStringType {
650
655
  name: string;
651
656
  delimiter: string;
652
657
  terminator: number;
653
- shiftType?: string;
654
- characterMap: string[];
655
658
  commands: Record<string, DbStringCommand>;
656
659
  commandLookup: Record<number, DbStringCommand>;
657
660
  layers: DbStringLayer[];
@@ -708,12 +711,12 @@ interface StringEntry {
708
711
  */
709
712
  declare class StringSizeComparer {
710
713
  /**
711
- * Compare two strings by length
712
- */
714
+ * Compare two strings by length
715
+ */
713
716
  static compare(a: string, b: string): number;
714
717
  /**
715
- * Compare two StringWrapper objects by string length
716
- */
718
+ * Compare two StringWrapper objects by string length
719
+ */
717
720
  static compareWrappers(a: StringWrapper, b: StringWrapper): number;
718
721
  }
719
722
  //#endregion
@@ -777,9 +780,9 @@ declare class ProcessorStateManager {
777
780
  private readonly _buckets;
778
781
  get(key: string): MapExt<number, number>;
779
782
  /**
780
- * Hydrate processor registers with stored state
781
- * Uses Registers from gaia-core/assembly for processor state management
782
- */
783
+ * Hydrate processor registers with stored state
784
+ * Uses Registers from gaia-core/assembly for processor state management
785
+ */
783
786
  hydrateRegisters(position: number, reg: Registers): void;
784
787
  getStackPosition(location: number): number | undefined;
785
788
  setStackPosition(location: number, value: number): void;
@@ -911,12 +914,13 @@ interface DbGameRomModule {
911
914
  blocks: Record<string, Record<string, Partial<DbBlock>>>;
912
915
  files: Record<string, Record<string, Record<string, Partial<DbFile>>>>;
913
916
  config: DbConfig;
914
- labels: DbLabel[];
917
+ labels: Record<number, string>;
915
918
  structs: Record<string, DbStruct>;
916
919
  copdef: Record<string, Partial<CopDef>>;
917
920
  strings: Record<string, Partial<DbStringType>>;
918
921
  transforms: Record<string, Partial<DbTransform>[]>;
919
922
  addrModes: Record<string, Partial<DbAddressingMode>>;
923
+ headers: Partial<DbHeader>[];
920
924
  groups: Record<string, Partial<DbGroup>>;
921
925
  fileTypes: Record<string, Partial<DbFileType>>;
922
926
  }
@@ -924,6 +928,22 @@ interface DbBaseRomModule extends DbGameRomModule {
924
928
  baseRomFiles: ChunkFile[];
925
929
  }
926
930
  //#endregion
931
+ //#region src/database/header.d.ts
932
+ declare class DbHeader {
933
+ bank: number;
934
+ address: number;
935
+ condition?: string;
936
+ parts: DbHeaderPart[];
937
+ constructor(data: Partial<DbHeader>);
938
+ }
939
+ declare class DbHeaderPart {
940
+ name: string;
941
+ size: number;
942
+ type: string;
943
+ value?: any;
944
+ constructor(data: Partial<DbHeaderPart>);
945
+ }
946
+ //#endregion
927
947
  //#region src/database/root.d.ts
928
948
  /**
929
949
  * Main database root class
@@ -937,6 +957,7 @@ interface DbRoot {
937
957
  stringTypes: Record<string, DbStringType>;
938
958
  stringDelimiters: string[];
939
959
  stringDelimiterLookup: Record<string, DbStringType>;
960
+ headers: DbHeader[];
940
961
  files: DbFile[];
941
962
  config: DbConfig;
942
963
  blocks: DbBlock[];
@@ -947,7 +968,7 @@ interface DbRoot {
947
968
  opCodes: Record<number, OpCode>;
948
969
  opLookup: Record<string, OpCode[]>;
949
970
  addrLookup: Record<string, DbAddressingMode>;
950
- compression: ICompressionProvider;
971
+ compression?: ICompressionProvider;
951
972
  baseRomFiles?: ChunkFile[];
952
973
  projectFiles?: ChunkFile[];
953
974
  groups: Record<string, DbGroup>;
@@ -960,16 +981,8 @@ interface DbRoot {
960
981
  */
961
982
  declare class DbRootUtils {
962
983
  /**
963
- * JSON serialization options
964
- */
965
- /**
966
- * Load database from a single file
967
- */
968
- static fromFolder(folderPath: string, systemPath: string): Promise<DbRoot>;
969
- /**
970
- * Load database from folder structure
971
- */
972
- static gameModuleFromFolder(folderPath: string, systemPath: string): Promise<DbGameRomModule>;
984
+ * JSON serialization options
985
+ */
973
986
  static fromGameModule(module: DbGameRomModule): DbRoot;
974
987
  static applyFolder(root: DbRoot, folderPath: string, sourceFiles?: ChunkFile[]): Promise<ChunkFile[]>;
975
988
  static extractAllContent(root: DbRoot, romPath: string, outPath: string): Promise<void>;
@@ -1057,8 +1070,8 @@ declare class ReferenceManager {
1057
1070
  createTypeName(type: string, location: number): string;
1058
1071
  createFallbackName(location: number): string;
1059
1072
  /**
1060
- * Finds a reference location by its assigned name.
1061
- */
1073
+ * Finds a reference location by its assigned name.
1074
+ */
1062
1075
  findLocationByName(name: string): number | undefined;
1063
1076
  resolveName(location: number, type: AddressType, isBranch: boolean): string;
1064
1077
  findClosestReference(location: number): string | null;
@@ -1150,97 +1163,97 @@ declare class BlockReader {
1150
1163
  _enrichedChunks: ChunkFile[];
1151
1164
  constructor(romData: Uint8Array, root: DbRoot);
1152
1165
  /**
1153
- * Processes predefined overrides for registers and bank notes
1154
- */
1166
+ * Processes predefined overrides for registers and bank notes
1167
+ */
1155
1168
  private initializeOverrides;
1156
1169
  /**
1157
- * Processes predefined file references
1158
- */
1170
+ * Processes predefined file references
1171
+ */
1159
1172
  private initializeFileReferences;
1160
1173
  /**
1161
- * Resolves mnemonic for a given address
1162
- */
1174
+ * Resolves mnemonic for a given address
1175
+ */
1163
1176
  resolveMnemonic(addr: Address): void;
1164
1177
  /**
1165
- * Resolves name for a location (delegated to ReferenceManager)
1166
- */
1178
+ * Resolves name for a location (delegated to ReferenceManager)
1179
+ */
1167
1180
  resolveName(location: number, type: AddressType, isBranch: boolean): string;
1168
1181
  /**
1169
- * Resolves include for a location
1170
- */
1182
+ * Resolves include for a location
1183
+ */
1171
1184
  resolveInclude(loc: number, isBranch: boolean): void;
1172
1185
  /**
1173
- * Notes a type at a location and manages chunk references
1174
- */
1186
+ * Notes a type at a location and manages chunk references
1187
+ */
1175
1188
  noteType(loc: number, type: string, silent?: boolean, reg?: Registers): string;
1176
1189
  updateRegisterState(loc: number, reg: Registers): void;
1177
1190
  /**
1178
- * Checks if a delimiter has been reached
1179
- */
1191
+ * Checks if a delimiter has been reached
1192
+ */
1180
1193
  delimiterReached(delimiter?: number): boolean;
1181
1194
  /**
1182
- * Checks if processing of the current part can continue
1183
- */
1195
+ * Checks if processing of the current part can continue
1196
+ */
1184
1197
  partCanContinue(): boolean;
1185
1198
  analyzeAndResolve(): ChunkFile[];
1186
1199
  /**
1187
- * Analyzes all blocks in the ROM
1188
- */
1200
+ * Analyzes all blocks in the ROM
1201
+ */
1189
1202
  /**
1190
- * Initializes blocks and parts with base references
1191
- */
1203
+ * Initializes blocks and parts with base references
1204
+ */
1192
1205
  private initializeBlocksAndParts;
1193
1206
  /**
1194
- * Processes a single part
1195
- */
1207
+ * Processes a single part
1208
+ */
1196
1209
  private processPart;
1197
1210
  /**
1198
- * Processes a continuous entry (same type as previous)
1199
- */
1211
+ * Processes a continuous entry (same type as previous)
1212
+ */
1200
1213
  private processContinuousEntry;
1201
1214
  /**
1202
- * Processes a new entry
1203
- */
1215
+ * Processes a new entry
1216
+ */
1204
1217
  private processNewEntry;
1205
1218
  /**
1206
- * Creates ChunkFile objects from database structure
1207
- */
1219
+ * Creates ChunkFile objects from database structure
1220
+ */
1208
1221
  private createChunkFilesFromDatabase;
1209
1222
  /**
1210
- * Creates binary ChunkFiles from DbFiles (enriched with rawData)
1211
- */
1223
+ * Creates binary ChunkFiles from DbFiles (enriched with rawData)
1224
+ */
1212
1225
  private createChunkFilesFromSfx;
1213
1226
  /**
1214
- * Creates binary ChunkFiles from DbFiles (enriched with rawData)
1215
- */
1227
+ * Creates binary ChunkFiles from DbFiles (enriched with rawData)
1228
+ */
1216
1229
  private createChunkFilesFromDbFiles;
1217
1230
  /**
1218
- * Creates assembly ChunkFiles from DbBlocks (enriched with parts)
1219
- */
1231
+ * Creates assembly ChunkFiles from DbBlocks (enriched with parts)
1232
+ */
1220
1233
  private createChunkFilesFromDbBlocks;
1221
1234
  /**
1222
- * Analyzes only assembly ChunkFiles (those with parts from DbBlocks)
1223
- */
1235
+ * Analyzes only assembly ChunkFiles (those with parts from DbBlocks)
1236
+ */
1224
1237
  private analyzeChunkFiles;
1225
1238
  /**
1226
- * Resolves references in assembly ChunkFiles only
1227
- */
1239
+ * Resolves references in assembly ChunkFiles only
1240
+ */
1228
1241
  private resolveReferences;
1229
1242
  /**
1230
- * Resolves a single object and its references
1231
- */
1243
+ * Resolves a single object and its references
1244
+ */
1232
1245
  private resolveObject;
1233
1246
  /**
1234
- * Resolves references in an operation object
1235
- */
1247
+ * Resolves references in an operation object
1248
+ */
1236
1249
  private resolveOperationObject;
1237
1250
  /**
1238
- * Checks if an operation is a branch operation
1239
- */
1251
+ * Checks if an operation is a branch operation
1252
+ */
1240
1253
  private isBranchOperation;
1241
1254
  /**
1242
- * Hydrates registers with stored state
1243
- */
1255
+ * Hydrates registers with stored state
1256
+ */
1244
1257
  hydrateRegisters(reg: Registers): void;
1245
1258
  }
1246
1259
  //#endregion
@@ -1257,12 +1270,12 @@ declare class TransformProcessor {
1257
1270
  private static readonly LOCATION_REGEX;
1258
1271
  constructor(romReader: BlockReader);
1259
1272
  /**
1260
- * Retrieves transform information for the current ROM position
1261
- */
1273
+ * Retrieves transform information for the current ROM position
1274
+ */
1262
1275
  getTransform(): string | null;
1263
1276
  /**
1264
- * Applies transforms to operands
1265
- */
1277
+ * Applies transforms to operands
1278
+ */
1266
1279
  applyTransforms(op1Label: string | null, op2Label: string | null, operands: unknown[]): void;
1267
1280
  private applyTransform;
1268
1281
  private applyDefaultTransform;
@@ -1338,8 +1351,8 @@ declare class CopCommandProcessor {
1338
1351
  private readonly _romDataReader;
1339
1352
  constructor(blockReader: BlockReader);
1340
1353
  /**
1341
- * Parses a COP command based on its definition
1342
- */
1354
+ * Parses a COP command based on its definition
1355
+ */
1343
1356
  parseCopCommand(copDef: CopDef, operands: unknown[]): void;
1344
1357
  private tryParseMemberType;
1345
1358
  private getMemberTypeSize;
@@ -1360,7 +1373,7 @@ declare enum ObjectType {
1360
1373
  Array = "Array",
1361
1374
  String = "String",
1362
1375
  Number = "Number",
1363
- TypedNumber = "TypedNumber",
1376
+ TypedNumber = "TypedNumber"
1364
1377
  }
1365
1378
  declare class BlockWriter {
1366
1379
  private _root;
@@ -1397,13 +1410,13 @@ declare class PostProcessor {
1397
1410
  private readonly _referenceManager;
1398
1411
  constructor(reader: BlockReader);
1399
1412
  /**
1400
- * Execute post process directive on a block if present.
1401
- */
1413
+ * Execute post process directive on a block if present.
1414
+ */
1402
1415
  process(block: ChunkFile): void;
1403
1416
  /**
1404
- * Builds a lookup table from struct entries.
1405
- * Equivalent to PostProcessor.Lookup in C# implementation.
1406
- */
1417
+ * Builds a lookup table from struct entries.
1418
+ * Equivalent to PostProcessor.Lookup in C# implementation.
1419
+ */
1407
1420
  Lookup(block: ChunkFile, keyIx: string, valueIx: string): void;
1408
1421
  }
1409
1422
  //#endregion
@@ -1441,29 +1454,29 @@ declare class RomWriter {
1441
1454
  bpsPath?: string;
1442
1455
  outBuffer?: Uint8Array;
1443
1456
  private romSize?;
1444
- readonly cartName: string;
1445
- readonly makerCode: string;
1446
1457
  readonly root: DbRoot;
1447
- constructor(root: DbRoot, cartName: string, makerCode: string);
1458
+ constructor(root: DbRoot);
1448
1459
  repack(files: ChunkFile[]): Promise<Uint8Array>;
1449
1460
  allocate(pages: number): void;
1450
- writeHeader(): void;
1451
- writeChecksum(): void;
1461
+ writeHeaders(masterLookup: Map<string, number>): void;
1462
+ prepareHeaderValues(): any;
1463
+ writeHeader(header: DbHeader, values: any, masterLookup: Map<string, number>): void;
1464
+ writeChecksum(values: any): void;
1452
1465
  writeEntryPoints(asmFiles: ChunkFile[]): void;
1453
- writeFile(file: ChunkFile, _chunkLookup: Map<string, number>): Promise<number>;
1466
+ writeFile(file: ChunkFile, fileLookup: Map<string, number>): Promise<number>;
1454
1467
  private writeAscii;
1455
1468
  /**
1456
- * Parse assembly blocks and write binary data to output buffer
1457
- * Converted from ext/GaiaLib/Rom/Rebuild/RomWriter.cs ParseAssembly method
1458
- */
1469
+ * Parse assembly blocks and write binary data to output buffer
1470
+ * Converted from ext/GaiaLib/Rom/Rebuild/RomWriter.cs ParseAssembly method
1471
+ */
1459
1472
  private parseAssembly;
1460
1473
  /**
1461
- * Helper method to find index of any character from an array in a string
1462
- */
1474
+ * Helper method to find index of any character from an array in a string
1475
+ */
1463
1476
  private indexOfAny;
1464
1477
  /**
1465
- * Helper method to check if an object is a StringMarker
1466
- */
1478
+ * Helper method to check if an object is a StringMarker
1479
+ */
1467
1480
  private isStringMarker;
1468
1481
  private isTableEntry;
1469
1482
  }
@@ -1476,30 +1489,10 @@ declare class RomWriter {
1476
1489
  declare class RomProcessor {
1477
1490
  private readonly writer;
1478
1491
  constructor(writer: RomWriter);
1479
- repack(allFiles: ChunkFile[]): Promise<void>;
1492
+ repack(allFiles: ChunkFile[]): Promise<Map<string, number>>;
1480
1493
  static applyPatches(asmFiles: ChunkFile[], patches: ChunkFile[]): void;
1481
1494
  }
1482
1495
  //#endregion
1483
- //#region src/rom/rebuild/assembler-context.d.ts
1484
- /**
1485
- * Shared context interface for assembler components
1486
- * This eliminates circular dependencies between Assembler, AssemblerState, and StringProcessor
1487
- */
1488
- interface AssemblerContext {
1489
- readonly root: DbRoot;
1490
- readonly stringProcessor: StringProcessor;
1491
- currentBlock: AsmBlock | null;
1492
- lineBuffer: string;
1493
- blockIndex: number;
1494
- lastDelimiter: number | null;
1495
- blocks: AsmBlock[];
1496
- eof: boolean;
1497
- lineCount: number;
1498
- getLine(): boolean;
1499
- processRawData(): void;
1500
- parseOperand(operand: string): unknown;
1501
- }
1502
- //#endregion
1503
1496
  //#region src/rom/rebuild/string-processor.d.ts
1504
1497
  /**
1505
1498
  * String processor for assembly parsing
@@ -1513,12 +1506,11 @@ declare class StringProcessor {
1513
1506
  private readonly root;
1514
1507
  private readonly stringCharLookup;
1515
1508
  private readonly testRegex;
1516
- constructor(context: AssemblerContext);
1509
+ private inShift;
1510
+ constructor(context: Assembler);
1517
1511
  consumeString(typeChar: string): void;
1518
1512
  private flushBuffer;
1519
1513
  private processString;
1520
- private applyLayers;
1521
- private applyMap;
1522
1514
  private processStringCommand;
1523
1515
  }
1524
1516
  //#endregion
@@ -1549,7 +1541,7 @@ declare class SortedMap<V> {
1549
1541
  * Main assembler class for parsing assembly files
1550
1542
  * Converted from GaiaLib/Rom/Rebuild/Assembler.cs
1551
1543
  */
1552
- declare class Assembler implements AssemblerContext {
1544
+ declare class Assembler {
1553
1545
  readonly root: DbRoot;
1554
1546
  private readonly lines;
1555
1547
  private currentLineIndex;
@@ -1557,15 +1549,18 @@ declare class Assembler implements AssemblerContext {
1557
1549
  lineBuffer: string;
1558
1550
  includes: Set<string>;
1559
1551
  blocks: AsmBlock[];
1560
- tags: SortedMap<string>;
1552
+ tags: SortedMap<string | null>;
1561
1553
  currentBlock: AsmBlock | null;
1562
1554
  lineCount: number;
1563
- blockIndex: number;
1564
1555
  lastDelimiter: number | null;
1565
1556
  reqBank: number | null;
1566
1557
  eof: boolean;
1567
1558
  strDelimRegex: RegExp;
1568
- constructor(dbRoot: DbRoot, textData: string);
1559
+ conditionFiles: string[];
1560
+ private inCondition;
1561
+ private exitCondition;
1562
+ private failCondition;
1563
+ constructor(dbRoot: DbRoot, textData: string, conditionFiles: string[]);
1569
1564
  parseAssembly(): {
1570
1565
  blocks: AsmBlock[];
1571
1566
  includes: Set<string>;
@@ -1597,7 +1592,7 @@ declare class AssemblerState {
1597
1592
  private readonly memberTypes;
1598
1593
  private currentType;
1599
1594
  private readonly context;
1600
- constructor(context: AssemblerContext, structType?: string | null, saveDelimiter?: boolean);
1595
+ constructor(context: Assembler, structType?: string | null, saveDelimiter?: boolean);
1601
1596
  private checkDisc;
1602
1597
  private advancePart;
1603
1598
  private processOrigin;
@@ -1611,17 +1606,13 @@ declare class AssemblerState {
1611
1606
  declare class RomGenerator {
1612
1607
  readonly projectName?: string;
1613
1608
  crc: number;
1614
- branchId: string;
1615
1609
  dbRoot: DbRoot;
1616
1610
  private sourceData;
1617
- constructor(projectName?: string);
1618
- initialize(): Promise<void>;
1611
+ constructor(projectName?: string, crc?: number);
1612
+ validateAndDownload(sourceData: Uint8Array): Promise<boolean>;
1619
1613
  generateProject(modules: string[], manualFiles?: ChunkFile[], unshiftManualFiles?: boolean): Promise<Uint8Array>;
1620
1614
  private applyProjectInit;
1621
- private assembleCodeFromText;
1622
- private generateAsmIncludeLookups;
1623
1615
  applyPatchFile(chunkFile: ChunkFile, chunkFiles: ChunkFile[], asmFiles: ChunkFile[], patchFiles: ChunkFile[]): void;
1624
- private writeRom;
1625
1616
  }
1626
1617
  //#endregion
1627
1618
  //#region src/compression/QuintetLZ.d.ts
@@ -1635,18 +1626,18 @@ declare class QuintetLZ implements ICompressionProvider {
1635
1626
  static readonly DICTIONARY_OFFSET = 239;
1636
1627
  private static readonly DEFAULT_PAGE_SIZE;
1637
1628
  /**
1638
- * Expand (decompress) data using QuintetLZ algorithm
1639
- * @param srcData Source data buffer
1640
- * @param srcPosition Starting position in source data
1641
- * @param srcLen Length of source data to process
1642
- * @returns Expanded data
1643
- */
1629
+ * Expand (decompress) data using QuintetLZ algorithm
1630
+ * @param srcData Source data buffer
1631
+ * @param srcPosition Starting position in source data
1632
+ * @param srcLen Length of source data to process
1633
+ * @returns Expanded data
1634
+ */
1644
1635
  expand(srcData: Uint8Array, srcPosition?: number, srcLen?: number): Uint8Array;
1645
1636
  /**
1646
- * Compact (compress) data using QuintetLZ algorithm
1647
- * @param srcData Source data to compress
1648
- * @returns Compressed data
1649
- */
1637
+ * Compact (compress) data using QuintetLZ algorithm
1638
+ * @param srcData Source data to compress
1639
+ * @returns Compressed data
1640
+ */
1650
1641
  compact(srcData: Uint8Array, srcPosition?: number, srcLen?: number): Uint8Array;
1651
1642
  }
1652
1643
  //#endregion
@@ -1661,8 +1652,8 @@ declare class SpriteFrame {
1661
1652
  duration: number;
1662
1653
  groupIndex: number;
1663
1654
  /**
1664
- * Internal offset to the group data (not serialized)
1665
- */
1655
+ * Internal offset to the group data (not serialized)
1656
+ */
1666
1657
  groupOffset: number;
1667
1658
  constructor(duration?: number, groupIndex?: number, groupOffset?: number);
1668
1659
  }
@@ -1715,15 +1706,15 @@ declare class SpriteMap {
1715
1706
  groups: SpriteGroup[];
1716
1707
  constructor();
1717
1708
  /**
1718
- * Create a SpriteMap from binary data
1719
- * @param data Binary data buffer
1720
- * @returns SpriteMap instance
1721
- */
1709
+ * Create a SpriteMap from binary data
1710
+ * @param data Binary data buffer
1711
+ * @returns SpriteMap instance
1712
+ */
1722
1713
  static fromBytes(data: Uint8Array): SpriteMap;
1723
1714
  /**
1724
- * Convert this SpriteMap to binary data
1725
- * @returns Binary data buffer
1726
- */
1715
+ * Convert this SpriteMap to binary data
1716
+ * @returns Binary data buffer
1717
+ */
1727
1718
  toBytes(): Uint8Array;
1728
1719
  }
1729
1720
  //#endregion
@@ -1790,7 +1781,7 @@ interface FileBaseRaw extends Omit<FileBaseData, 'data'> {
1790
1781
  interface PlatformBranchData extends BranchBaseData {
1791
1782
  platformId: string;
1792
1783
  addressingModes: any | null;
1793
- instructionSet: any | null;
1784
+ headers: any | null;
1794
1785
  vectors: any | null;
1795
1786
  types: any | null;
1796
1787
  platform: PlatformData;
@@ -1805,10 +1796,15 @@ interface GameRomBranchData extends BranchBaseData {
1805
1796
  config: any | null;
1806
1797
  files: any | null;
1807
1798
  blocks: any | null;
1808
- fixups: any | null;
1799
+ rewrites: any | null;
1800
+ transforms: any | null;
1801
+ overrides: any | null;
1802
+ labels: any | null;
1803
+ mnemonics: any | null;
1804
+ fileTypes: any | null;
1805
+ groups: any | null;
1809
1806
  strings: any | null;
1810
1807
  structs: any | null;
1811
- scenes: any | null;
1812
1808
  gameRom: GameRomData;
1813
1809
  platformBranch: PlatformBranchData;
1814
1810
  }
@@ -1841,6 +1837,22 @@ interface GameData {
1841
1837
  createdAt: string;
1842
1838
  updatedAt: string;
1843
1839
  }
1840
+ interface DeveloperData {
1841
+ id: string;
1842
+ name: string;
1843
+ meta: any | null;
1844
+ createdAt: string;
1845
+ updatedAt: string;
1846
+ }
1847
+ interface GameDeveloperData {
1848
+ id: string;
1849
+ gameId: string;
1850
+ developerId: string;
1851
+ createdAt: string;
1852
+ updatedAt: string;
1853
+ game: GameData;
1854
+ developer: DeveloperData;
1855
+ }
1844
1856
  interface RegionData {
1845
1857
  id: string;
1846
1858
  name: string;
@@ -1899,26 +1911,26 @@ interface BaseRomPayload {
1899
1911
  */
1900
1912
  interface FromSupabaseByNameOptions {
1901
1913
  /**
1902
- * Name of the game to load
1903
- * @default 'Illusion of Gaia'
1904
- */
1914
+ * Name of the game to load
1915
+ * @default 'Illusion of Gaia'
1916
+ */
1905
1917
  gameName: string;
1906
1918
  /**
1907
- * Name of the base ROM to load
1908
- * @default 'GaiaLabs BaseROM'
1909
- */
1919
+ * Name of the base ROM to load
1920
+ * @default 'GaiaLabs BaseROM'
1921
+ */
1910
1922
  baseRomName: string;
1911
1923
  /**
1912
- * Name of the branch to load
1913
- * Set to null to load the main/develop branch
1914
- * Set to undefined to not filter by branch name
1915
- */
1924
+ * Name of the branch to load
1925
+ * Set to null to load the main/develop branch
1926
+ * Set to undefined to not filter by branch name
1927
+ */
1916
1928
  branchName?: string | null;
1917
1929
  /**
1918
- * Version of the branch to load
1919
- * Set to null to load the latest/main version
1920
- * Set to undefined to not filter by version
1921
- */
1930
+ * Version of the branch to load
1931
+ * Set to null to load the latest/main version
1932
+ * Set to undefined to not filter by version
1933
+ */
1922
1934
  branchVersion?: number | null;
1923
1935
  }
1924
1936
  /**
@@ -1931,15 +1943,15 @@ declare enum SupabaseErrorCode {
1931
1943
  NETWORK_ERROR = "NETWORK_ERROR",
1932
1944
  INVALID_DATA = "INVALID_DATA",
1933
1945
  ENVIRONMENT_ERROR = "ENVIRONMENT_ERROR",
1934
- PERMISSION_ERROR = "PERMISSION_ERROR",
1946
+ PERMISSION_ERROR = "PERMISSION_ERROR"
1935
1947
  }
1936
1948
  /**
1937
1949
  * Custom error class for Supabase operations
1938
1950
  */
1939
1951
  declare class SupabaseFromError extends Error {
1940
1952
  readonly code: SupabaseErrorCode;
1941
- readonly details?: any;
1942
- constructor(message: string, code: SupabaseErrorCode, details?: any);
1953
+ readonly details?: any | undefined;
1954
+ constructor(message: string, code: SupabaseErrorCode, details?: any | undefined);
1943
1955
  }
1944
1956
  /**
1945
1957
  * Result type for async operations that may fail
@@ -2008,16 +2020,16 @@ interface ProjectPayload {
2008
2020
  interface FromSupabaseByProjectOptions {
2009
2021
  projectName: string;
2010
2022
  /**
2011
- * Name of the branch to load
2012
- * Set to null to load the main/develop branch
2013
- * Set to undefined to not filter by branch name
2014
- */
2023
+ * Name of the branch to load
2024
+ * Set to null to load the main/develop branch
2025
+ * Set to undefined to not filter by branch name
2026
+ */
2015
2027
  branchName?: string | null;
2016
2028
  /**
2017
- * Version of the branch to load
2018
- * Set to null to load the latest/main version
2019
- * Set to undefined to not filter by version
2020
- */
2029
+ * Version of the branch to load
2030
+ * Set to null to load the latest/main version
2031
+ * Set to undefined to not filter by version
2032
+ */
2021
2033
  branchVersion?: number | null;
2022
2034
  }
2023
2035
  /**
@@ -2210,7 +2222,7 @@ declare function fromSupabaseByName(options: FromSupabaseByNameOptions): Promise
2210
2222
  * });
2211
2223
  * ```
2212
2224
  */
2213
- declare function fromSupabaseByProject(projectName?: string, branchId?: string): Promise<ProjectPayload>;
2225
+ declare function fromSupabaseByProject(projectName?: string, branchId?: string): Promise<DbGameRomModule>;
2214
2226
  declare function fromSupabaseByGameRom(gameName?: string, regionName?: string, platformName?: string, branchId?: string): Promise<ProjectPayload>;
2215
2227
  declare function summaryFromSupabaseByProject(projectName?: string): Promise<ProjectBranchData>;
2216
2228
  //#endregion
@@ -2313,6 +2325,7 @@ declare function removeDirectory(dirPath: string): Promise<void>;
2313
2325
  interface DirectoryEntry {
2314
2326
  name: string;
2315
2327
  path: string;
2328
+ extension: string | null;
2316
2329
  isDirectory: boolean;
2317
2330
  isFile: boolean;
2318
2331
  }
@@ -2388,25 +2401,6 @@ declare function encodeBase64String(text: string): string;
2388
2401
  */
2389
2402
  declare function decodeBase64String(base64String: string): string;
2390
2403
  //#endregion
2391
- //#region src/utils/debug-export.d.ts
2392
- /**
2393
- * Debug utility to export processing results as JSON for comparison
2394
- */
2395
- declare class DebugExporter {
2396
- /**
2397
- * Export chunk files to JSON for comparison with C# output
2398
- */
2399
- static exportChunkFiles(files: ChunkFile[], filename: string): void;
2400
- /**
2401
- * Export patch application summary
2402
- */
2403
- static exportPatchSummary(originalFiles: ChunkFile[], patchedFiles: ChunkFile[], patches: ChunkFile[], filename: string): void;
2404
- /**
2405
- * Export layout debugging information
2406
- */
2407
- static exportLayoutDebug(files: ChunkFile[], filename: string): void;
2408
- }
2409
- //#endregion
2410
2404
  //#region src/utils/index.d.ts
2411
2405
  /**
2412
2406
  * Convert bytes to hex string
@@ -2450,26 +2444,724 @@ declare function getNestedProperty(obj: any, path: string): any;
2450
2444
  declare function indexOfAny(str: string, chars: string[], startIndex?: number): number;
2451
2445
  //#endregion
2452
2446
  //#region src/index.d.ts
2453
- /**
2454
- * GaiaCore - Universal ROM processing engine
2455
- *
2456
- * This package provides the core functionality for ROM processing
2457
- * that can run in both browser (Web Worker) and Node.js environments.
2458
- *
2459
- * High-level APIs:
2460
- * - RomProcessor: Unified ROM processing workflows
2461
- * - ProjectManager: Complete project lifecycle management
2462
- *
2463
- * Low-level modules:
2464
- * - ROM: ROM state management, project configuration
2465
- * - Assembly: 65816 instruction set, stack operations
2466
- * - Compression: QuintetLZ compression algorithm
2467
- * - Sprites: Sprite animation system
2468
- */
2469
- declare const GAIA_CORE_VERSION = "0.1.6";
2470
- declare const isPlatformBrowser: boolean;
2471
- declare const isPlatformNode: string;
2472
- declare const isPlatformWebWorker: boolean;
2473
- //#endregion
2474
- export { Address, AddressSpace, AddressType, AddressingModeHandler, AsmBlock, AsmBlockUtils, AsmReader, Assembler, AssemblerContext, AssemblerState, BaseRomBranchData, BaseRomBranchFileRaw, BaseRomData, BaseRomFileData, BaseRomFileRaw, BaseRomPayload, BinType, BitStream, BlockReader, BlockReaderConstants, BlockWriter, BranchBaseData, Byte, ChunkFile, ChunkFileUtils, CollaborationConfig, CompressionAlgorithms, CompressionRegistry, CopCommandProcessor, CopDef, CpuMode, Database, DbAddressingMode, DbAsset, DbBaseRomModule, DbBlock, DbConfig, DbEntryPoint, DbFile, DbFileType, DbGameRomModule, DbGroup, DbLabel, DbMnemonic, DbOverride, DbPart, DbPath, DbRewrite, DbRoot, DbRootUtils, DbScene, DbSfx, DbStringCommand, DbStringDictionary, DbStringLayer, DbStringType, DbStringTypeUtils, DbStruct, DbTransform, DebugExporter, DirectoryEntry, FileBaseData, FileBaseRaw, FileReadOptions, FromSupabaseByNameOptions, FromSupabaseByProjectOptions, GAIA_CORE_VERSION, GameData, GameRomArtifactData, GameRomArtifactRaw, GameRomBranchArtifactRaw, GameRomBranchData, GameRomData, ICompressionProvider, LocationWrapper, Long, MapExt, MemberType, MemoryMapMode, ObjectType, Op, OpCode, OperationContext, PlatformBranchData, PlatformData, PostProcessor, ProcessorStateManager, ProjectBranchData, ProjectBranchFileRaw, ProjectConfig, ProjectData, ProjectFileData, ProjectFileRaw, ProjectPayload, QueryStats, QuintetLZ, ReferenceManager, RegionData, RegisterType, Registers, RomDataReader, RomGenerator, RomLayout, RomProcessingConstants, RomProcessor, RomState, RomStateUtils, RomWriter, SortedMap, SpriteFrame, SpriteGroup, SpriteMap, SpritePart, Stack, StackOperations, StatusFlags, StringEntry, StringMarker, StringProcessor, StringReader, StringSizeComparer, StringWrapper, StructDef, SupabaseErrorCode, SupabaseFromError, SupabaseResult, TableEntry, TransformProcessor, TypeParser, TypedNumber, Word, XformDef, XformType, base64ToUint8Array, binaryToUtf8String, bytesToHex, clamp, crc32_buffer, crc32_text_utf16, crc32_text_utf8, createChunkFileFromDbBlock, createChunkFileFromDbFile, createDbPath, createSupabaseClient, createTempDirectory, decodeBase64, decodeBase64String, decodeDataString, encodeBase64, encodeBase64String, fileExists, fromSupabaseByGameRom, fromSupabaseById, fromSupabaseByName, fromSupabaseByProject, getDirectory, getEnvVar, getNestedProperty, getSupabaseClient, hexToBytes, hexToUint8Array, indexOfAny, isPlatformBrowser, isPlatformNode, isPlatformWebWorker, isValidBase64, listDirectory, readFileAsBinary, readFileAsText, readJsonFile, removeDirectory, resetSupabaseClient, saveFileAsBinary, saveFileAsText, summaryFromSupabaseByProject, uint8ArrayToBase64, validateEnvironmentVariables };
2447
+ declare const snes: {
2448
+ addressingModes: {
2449
+ Absolute: {
2450
+ shorthand: string;
2451
+ operands: string[];
2452
+ size: number;
2453
+ formatString: string;
2454
+ parseRegex: string;
2455
+ instructions: {
2456
+ ADC: number;
2457
+ AND: number;
2458
+ ASL: number;
2459
+ BIT: number;
2460
+ CMP: number;
2461
+ CPX: number;
2462
+ CPY: number;
2463
+ DEC: number;
2464
+ EOR: number;
2465
+ INC: number;
2466
+ JMP: number;
2467
+ JSR: number;
2468
+ LDA: number;
2469
+ LDX: number;
2470
+ LDY: number;
2471
+ LSR: number;
2472
+ ORA: number;
2473
+ PEA: number;
2474
+ ROL: number;
2475
+ ROR: number;
2476
+ SBC: number;
2477
+ STA: number;
2478
+ STX: number;
2479
+ STY: number;
2480
+ STZ: number;
2481
+ TRB: number;
2482
+ TSB: number;
2483
+ };
2484
+ };
2485
+ AbsoluteIndexedX: {
2486
+ shorthand: string;
2487
+ operands: string[];
2488
+ size: number;
2489
+ formatString: string;
2490
+ parseRegex: string;
2491
+ instructions: {
2492
+ ADC: number;
2493
+ AND: number;
2494
+ ASL: number;
2495
+ BIT: number;
2496
+ CMP: number;
2497
+ DEC: number;
2498
+ EOR: number;
2499
+ INC: number;
2500
+ LDA: number;
2501
+ LDY: number;
2502
+ LSR: number;
2503
+ ORA: number;
2504
+ ROL: number;
2505
+ ROR: number;
2506
+ SBC: number;
2507
+ STA: number;
2508
+ STZ: number;
2509
+ };
2510
+ };
2511
+ AbsoluteIndexedY: {
2512
+ shorthand: string;
2513
+ operands: string[];
2514
+ size: number;
2515
+ formatString: string;
2516
+ parseRegex: string;
2517
+ instructions: {
2518
+ ADC: number;
2519
+ AND: number;
2520
+ CMP: number;
2521
+ EOR: number;
2522
+ LDA: number;
2523
+ LDX: number;
2524
+ ORA: number;
2525
+ SBC: number;
2526
+ STA: number;
2527
+ };
2528
+ };
2529
+ AbsoluteIndirect: {
2530
+ shorthand: string;
2531
+ operands: string[];
2532
+ size: number;
2533
+ formatString: string;
2534
+ parseRegex: string;
2535
+ instructions: {
2536
+ JMP: number;
2537
+ };
2538
+ };
2539
+ AbsoluteIndirectLong: {
2540
+ shorthand: string;
2541
+ operands: string[];
2542
+ size: number;
2543
+ formatString: string;
2544
+ parseRegex: string;
2545
+ instructions: {
2546
+ JML: number;
2547
+ };
2548
+ };
2549
+ AbsoluteIndexedIndirect: {
2550
+ shorthand: string;
2551
+ operands: string[];
2552
+ size: number;
2553
+ formatString: string;
2554
+ parseRegex: string;
2555
+ instructions: {
2556
+ JMP: number;
2557
+ JSR: number;
2558
+ };
2559
+ };
2560
+ AbsoluteLong: {
2561
+ shorthand: string;
2562
+ operands: string[];
2563
+ size: number;
2564
+ formatString: string;
2565
+ parseRegex: string;
2566
+ instructions: {
2567
+ ADC: number;
2568
+ AND: number;
2569
+ CMP: number;
2570
+ EOR: number;
2571
+ JML: number;
2572
+ JSL: number;
2573
+ LDA: number;
2574
+ ORA: number;
2575
+ SBC: number;
2576
+ STA: number;
2577
+ };
2578
+ };
2579
+ AbsoluteLongIndexedX: {
2580
+ shorthand: string;
2581
+ operands: string[];
2582
+ size: number;
2583
+ formatString: string;
2584
+ parseRegex: string;
2585
+ instructions: {
2586
+ ADC: number;
2587
+ AND: number;
2588
+ CMP: number;
2589
+ EOR: number;
2590
+ LDA: number;
2591
+ ORA: number;
2592
+ SBC: number;
2593
+ STA: number;
2594
+ };
2595
+ };
2596
+ DirectPage: {
2597
+ shorthand: string;
2598
+ operands: string[];
2599
+ size: number;
2600
+ formatString: string;
2601
+ parseRegex: string;
2602
+ instructions: {
2603
+ ADC: number;
2604
+ AND: number;
2605
+ ASL: number;
2606
+ BIT: number;
2607
+ CMP: number;
2608
+ CPX: number;
2609
+ CPY: number;
2610
+ DEC: number;
2611
+ EOR: number;
2612
+ INC: number;
2613
+ LDA: number;
2614
+ LDX: number;
2615
+ LDY: number;
2616
+ LSR: number;
2617
+ ORA: number;
2618
+ ROL: number;
2619
+ ROR: number;
2620
+ SBC: number;
2621
+ STA: number;
2622
+ STX: number;
2623
+ STY: number;
2624
+ STZ: number;
2625
+ TRB: number;
2626
+ TSB: number;
2627
+ };
2628
+ };
2629
+ DirectPageIndexedX: {
2630
+ shorthand: string;
2631
+ operands: string[];
2632
+ size: number;
2633
+ formatString: string;
2634
+ parseRegex: string;
2635
+ instructions: {
2636
+ ADC: number;
2637
+ AND: number;
2638
+ ASL: number;
2639
+ BIT: number;
2640
+ CMP: number;
2641
+ DEC: number;
2642
+ EOR: number;
2643
+ INC: number;
2644
+ LDA: number;
2645
+ LDY: number;
2646
+ LSR: number;
2647
+ ORA: number;
2648
+ ROL: number;
2649
+ ROR: number;
2650
+ SBC: number;
2651
+ STA: number;
2652
+ STY: number;
2653
+ STZ: number;
2654
+ };
2655
+ };
2656
+ DirectPageIndexedY: {
2657
+ shorthand: string;
2658
+ operands: string[];
2659
+ size: number;
2660
+ formatString: string;
2661
+ parseRegex: string;
2662
+ instructions: {
2663
+ LDX: number;
2664
+ STX: number;
2665
+ };
2666
+ };
2667
+ DirectPageIndirect: {
2668
+ shorthand: string;
2669
+ operands: string[];
2670
+ size: number;
2671
+ formatString: string;
2672
+ parseRegex: string;
2673
+ instructions: {
2674
+ ADC: number;
2675
+ AND: number;
2676
+ CMP: number;
2677
+ EOR: number;
2678
+ LDA: number;
2679
+ ORA: number;
2680
+ PEI: number;
2681
+ SBC: number;
2682
+ STA: number;
2683
+ };
2684
+ };
2685
+ DirectPageIndirectLong: {
2686
+ shorthand: string;
2687
+ operands: string[];
2688
+ size: number;
2689
+ formatString: string;
2690
+ parseRegex: string;
2691
+ instructions: {
2692
+ ADC: number;
2693
+ AND: number;
2694
+ CMP: number;
2695
+ EOR: number;
2696
+ LDA: number;
2697
+ ORA: number;
2698
+ SBC: number;
2699
+ STA: number;
2700
+ };
2701
+ };
2702
+ DirectPageIndexedIndirectX: {
2703
+ shorthand: string;
2704
+ operands: string[];
2705
+ size: number;
2706
+ formatString: string;
2707
+ parseRegex: string;
2708
+ instructions: {
2709
+ ADC: number;
2710
+ AND: number;
2711
+ CMP: number;
2712
+ EOR: number;
2713
+ LDA: number;
2714
+ ORA: number;
2715
+ SBC: number;
2716
+ STA: number;
2717
+ };
2718
+ };
2719
+ DirectPageIndirectIndexedY: {
2720
+ shorthand: string;
2721
+ operands: string[];
2722
+ size: number;
2723
+ formatString: string;
2724
+ parseRegex: string;
2725
+ instructions: {
2726
+ ADC: number;
2727
+ AND: number;
2728
+ CMP: number;
2729
+ EOR: number;
2730
+ LDA: number;
2731
+ ORA: number;
2732
+ SBC: number;
2733
+ STA: number;
2734
+ };
2735
+ };
2736
+ DirectPageIndirectLongIndexedY: {
2737
+ shorthand: string;
2738
+ operands: string[];
2739
+ size: number;
2740
+ formatString: string;
2741
+ parseRegex: string;
2742
+ instructions: {
2743
+ ADC: number;
2744
+ AND: number;
2745
+ CMP: number;
2746
+ EOR: number;
2747
+ LDA: number;
2748
+ ORA: number;
2749
+ SBC: number;
2750
+ STA: number;
2751
+ };
2752
+ };
2753
+ Immediate: {
2754
+ shorthand: string;
2755
+ operands: string[];
2756
+ size: number;
2757
+ formatString: string;
2758
+ parseRegex: string;
2759
+ instructions: {
2760
+ ADC: number;
2761
+ AND: number;
2762
+ BIT: number;
2763
+ CMP: number;
2764
+ CPX: number;
2765
+ CPY: number;
2766
+ EOR: number;
2767
+ LDA: number;
2768
+ LDX: number;
2769
+ LDY: number;
2770
+ ORA: number;
2771
+ REP: number;
2772
+ SBC: number;
2773
+ SEP: number;
2774
+ };
2775
+ };
2776
+ Implied: {
2777
+ shorthand: string;
2778
+ operands: never[];
2779
+ size: number;
2780
+ formatString: null;
2781
+ parseRegex: null;
2782
+ instructions: {
2783
+ CLC: number;
2784
+ CLD: number;
2785
+ CLI: number;
2786
+ CLV: number;
2787
+ DEX: number;
2788
+ DEY: number;
2789
+ INX: number;
2790
+ INY: number;
2791
+ NOP: number;
2792
+ SEC: number;
2793
+ SED: number;
2794
+ SEI: number;
2795
+ STP: number;
2796
+ TAX: number;
2797
+ TAY: number;
2798
+ TCD: number;
2799
+ TCS: number;
2800
+ TDC: number;
2801
+ TSC: number;
2802
+ TSX: number;
2803
+ TXA: number;
2804
+ TXS: number;
2805
+ TXY: number;
2806
+ TYA: number;
2807
+ TYX: number;
2808
+ WAI: number;
2809
+ WDM: number;
2810
+ XBA: number;
2811
+ XCE: number;
2812
+ };
2813
+ };
2814
+ Accumulator: {
2815
+ shorthand: string;
2816
+ operands: never[];
2817
+ size: number;
2818
+ formatString: null;
2819
+ parseRegex: null;
2820
+ instructions: {
2821
+ ASL: number;
2822
+ DEC: number;
2823
+ INC: number;
2824
+ LSR: number;
2825
+ ROL: number;
2826
+ ROR: number;
2827
+ };
2828
+ };
2829
+ PCRelative: {
2830
+ shorthand: string;
2831
+ operands: string[];
2832
+ size: number;
2833
+ formatString: string;
2834
+ parseRegex: string;
2835
+ instructions: {
2836
+ BPL: number;
2837
+ BMI: number;
2838
+ BRA: number;
2839
+ BCC: number;
2840
+ BCS: number;
2841
+ BNE: number;
2842
+ BEQ: number;
2843
+ BVC: number;
2844
+ BVS: number;
2845
+ };
2846
+ };
2847
+ PCRelativeLong: {
2848
+ shorthand: string;
2849
+ operands: string[];
2850
+ size: number;
2851
+ formatString: string;
2852
+ parseRegex: string;
2853
+ instructions: {
2854
+ BRL: number;
2855
+ PER: number;
2856
+ };
2857
+ };
2858
+ StackRelative: {
2859
+ shorthand: string;
2860
+ operands: string[];
2861
+ size: number;
2862
+ formatString: string;
2863
+ parseRegex: string;
2864
+ instructions: {
2865
+ ADC: number;
2866
+ AND: number;
2867
+ CMP: number;
2868
+ EOR: number;
2869
+ LDA: number;
2870
+ ORA: number;
2871
+ SBC: number;
2872
+ STA: number;
2873
+ };
2874
+ };
2875
+ StackRelativeIndirectIndexedY: {
2876
+ shorthand: string;
2877
+ operands: string[];
2878
+ size: number;
2879
+ formatString: string;
2880
+ parseRegex: string;
2881
+ instructions: {
2882
+ ADC: number;
2883
+ AND: number;
2884
+ CMP: number;
2885
+ EOR: number;
2886
+ LDA: number;
2887
+ ORA: number;
2888
+ SBC: number;
2889
+ STA: number;
2890
+ };
2891
+ };
2892
+ BlockMove: {
2893
+ shorthand: string;
2894
+ operands: string[];
2895
+ size: number;
2896
+ formatString: string;
2897
+ parseRegex: string;
2898
+ instructions: {
2899
+ MVN: number;
2900
+ MVP: number;
2901
+ };
2902
+ };
2903
+ StackInterrupt: {
2904
+ shorthand: string;
2905
+ operands: string[];
2906
+ size: number;
2907
+ formatString: string;
2908
+ parseRegex: string;
2909
+ instructions: {
2910
+ BRK: number;
2911
+ COP: number;
2912
+ };
2913
+ };
2914
+ Stack: {
2915
+ shorthand: string;
2916
+ operands: never[];
2917
+ size: number;
2918
+ formatString: null;
2919
+ parseRegex: null;
2920
+ instructions: {
2921
+ PHA: number;
2922
+ PHB: number;
2923
+ PHD: number;
2924
+ PHK: number;
2925
+ PHP: number;
2926
+ PHX: number;
2927
+ PHY: number;
2928
+ PLA: number;
2929
+ PLB: number;
2930
+ PLD: number;
2931
+ PLP: number;
2932
+ PLX: number;
2933
+ PLY: number;
2934
+ RTI: number;
2935
+ RTL: number;
2936
+ RTS: number;
2937
+ };
2938
+ };
2939
+ };
2940
+ vectors: {
2941
+ "8448": string;
2942
+ "8449": string;
2943
+ "8450": string;
2944
+ "8451": string;
2945
+ "8452": string;
2946
+ "8453": string;
2947
+ "8454": string;
2948
+ "8455": string;
2949
+ "8456": string;
2950
+ "8457": string;
2951
+ "8458": string;
2952
+ "8459": string;
2953
+ "8460": string;
2954
+ "8461": string;
2955
+ "8462": string;
2956
+ "8463": string;
2957
+ "8464": string;
2958
+ "8465": string;
2959
+ "8466": string;
2960
+ "8467": string;
2961
+ "8468": string;
2962
+ "8469": string;
2963
+ "8470": string;
2964
+ "8471": string;
2965
+ "8472": string;
2966
+ "8473": string;
2967
+ "8474": string;
2968
+ "8475": string;
2969
+ "8476": string;
2970
+ "8477": string;
2971
+ "8478": string;
2972
+ "8479": string;
2973
+ "8480": string;
2974
+ "8481": string;
2975
+ "8482": string;
2976
+ "8483": string;
2977
+ "8484": string;
2978
+ "8485": string;
2979
+ "8486": string;
2980
+ "8487": string;
2981
+ "8488": string;
2982
+ "8489": string;
2983
+ "8490": string;
2984
+ "8491": string;
2985
+ "8492": string;
2986
+ "8493": string;
2987
+ "8494": string;
2988
+ "8495": string;
2989
+ "8496": string;
2990
+ "8497": string;
2991
+ "8498": string;
2992
+ "8499": string;
2993
+ "8500": string;
2994
+ "8501": string;
2995
+ "8502": string;
2996
+ "8503": string;
2997
+ "8504": string;
2998
+ "8505": string;
2999
+ "8506": string;
3000
+ "8507": string;
3001
+ "8508": string;
3002
+ "8509": string;
3003
+ "8510": string;
3004
+ "8511": string;
3005
+ "8512": string;
3006
+ "8513": string;
3007
+ "8514": string;
3008
+ "8515": string;
3009
+ "8576": string;
3010
+ "8577": string;
3011
+ "8578": string;
3012
+ "8579": string;
3013
+ "16406": string;
3014
+ "16407": string;
3015
+ "16896": string;
3016
+ "16897": string;
3017
+ "16898": string;
3018
+ "16899": string;
3019
+ "16900": string;
3020
+ "16901": string;
3021
+ "16902": string;
3022
+ "16903": string;
3023
+ "16904": string;
3024
+ "16905": string;
3025
+ "16906": string;
3026
+ "16907": string;
3027
+ "16908": string;
3028
+ "16909": string;
3029
+ "16912": string;
3030
+ "16913": string;
3031
+ "16914": string;
3032
+ "16915": string;
3033
+ "16916": string;
3034
+ "16917": string;
3035
+ "16918": string;
3036
+ "16919": string;
3037
+ "16920": string;
3038
+ "16921": string;
3039
+ "16922": string;
3040
+ "16923": string;
3041
+ "16924": string;
3042
+ "16925": string;
3043
+ "16926": string;
3044
+ "16927": string;
3045
+ "17152": string;
3046
+ "17153": string;
3047
+ "17154": string;
3048
+ "17155": string;
3049
+ "17156": string;
3050
+ "17157": string;
3051
+ "17158": string;
3052
+ "17159": string;
3053
+ "17160": string;
3054
+ "17161": string;
3055
+ "17162": string;
3056
+ "17168": string;
3057
+ "17169": string;
3058
+ "17170": string;
3059
+ "17171": string;
3060
+ "17172": string;
3061
+ "17173": string;
3062
+ "17174": string;
3063
+ "17175": string;
3064
+ "17176": string;
3065
+ "17177": string;
3066
+ "17178": string;
3067
+ "17184": string;
3068
+ "17185": string;
3069
+ "17186": string;
3070
+ "17187": string;
3071
+ "17188": string;
3072
+ "17189": string;
3073
+ "17190": string;
3074
+ "17191": string;
3075
+ "17192": string;
3076
+ "17193": string;
3077
+ "17194": string;
3078
+ "17200": string;
3079
+ "17201": string;
3080
+ "17202": string;
3081
+ "17203": string;
3082
+ "17204": string;
3083
+ "17205": string;
3084
+ "17206": string;
3085
+ "17207": string;
3086
+ "17208": string;
3087
+ "17209": string;
3088
+ "17210": string;
3089
+ "17216": string;
3090
+ "17217": string;
3091
+ "17218": string;
3092
+ "17219": string;
3093
+ "17220": string;
3094
+ "17221": string;
3095
+ "17222": string;
3096
+ "17223": string;
3097
+ "17224": string;
3098
+ "17225": string;
3099
+ "17226": string;
3100
+ "17232": string;
3101
+ "17233": string;
3102
+ "17234": string;
3103
+ "17235": string;
3104
+ "17236": string;
3105
+ "17237": string;
3106
+ "17238": string;
3107
+ "17239": string;
3108
+ "17240": string;
3109
+ "17241": string;
3110
+ "17242": string;
3111
+ "17248": string;
3112
+ "17249": string;
3113
+ "17250": string;
3114
+ "17251": string;
3115
+ "17252": string;
3116
+ "17253": string;
3117
+ "17254": string;
3118
+ "17255": string;
3119
+ "17256": string;
3120
+ "17257": string;
3121
+ "17258": string;
3122
+ "17264": string;
3123
+ "17265": string;
3124
+ "17266": string;
3125
+ "17267": string;
3126
+ "17268": string;
3127
+ "17269": string;
3128
+ "17270": string;
3129
+ "17271": string;
3130
+ "17272": string;
3131
+ "17273": string;
3132
+ "17274": string;
3133
+ };
3134
+ headers: ({
3135
+ address: number;
3136
+ condition: string;
3137
+ parts: ({
3138
+ name: string;
3139
+ size: number;
3140
+ type: string;
3141
+ value?: undefined;
3142
+ } | {
3143
+ name: string;
3144
+ size: number;
3145
+ type: string;
3146
+ value: number;
3147
+ })[];
3148
+ } | {
3149
+ address: number;
3150
+ parts: ({
3151
+ name: string;
3152
+ size: number;
3153
+ type: string;
3154
+ value?: undefined;
3155
+ } | {
3156
+ name: string;
3157
+ size: number;
3158
+ type: string;
3159
+ value: number;
3160
+ })[];
3161
+ condition?: undefined;
3162
+ })[];
3163
+ };
3164
+ declare const isPlatformNode: string | false;
3165
+ //#endregion
3166
+ export { Address, AddressSpace, AddressType, AddressingModeHandler, AsmBlock, AsmBlockUtils, AsmReader, Assembler, AssemblerState, BaseRomBranchData, BaseRomBranchFileRaw, BaseRomData, BaseRomFileData, BaseRomFileRaw, BaseRomPayload, BinType, BitStream, BlockReader, BlockReaderConstants, BlockWriter, BranchBaseData, Byte, ChunkFile, ChunkFileUtils, CollaborationConfig, CompressionAlgorithms, CompressionRegistry, CopCommandProcessor, CopDef, CpuMode, Database, DbAddressingMode, DbAsset, DbBaseRomModule, DbBlock, DbConfig, DbEntryPoint, DbFile, DbFileType, DbGameRomModule, DbGroup, DbHeader, DbHeaderPart, DbLabel, DbMnemonic, DbOverride, DbPart, DbPath, DbRewrite, DbRoot, DbRootUtils, DbScene, DbSfx, DbStringCommand, DbStringDictionary, DbStringLayer, DbStringType, DbStringTypeUtils, DbStruct, DbTransform, DeveloperData, DirectoryEntry, FileBaseData, FileBaseRaw, FileReadOptions, FromSupabaseByNameOptions, FromSupabaseByProjectOptions, GameData, GameDeveloperData, GameRomArtifactData, GameRomArtifactRaw, GameRomBranchArtifactRaw, GameRomBranchData, GameRomData, ICompressionProvider, LocationWrapper, Long, MapExt, MemberType, MemoryMapMode, ObjectType, Op, OpCode, OperationContext, PlatformBranchData, PlatformData, PostProcessor, ProcessorStateManager, ProjectBranchData, ProjectBranchFileRaw, ProjectConfig, ProjectData, ProjectFileData, ProjectFileRaw, ProjectPayload, QueryStats, QuintetLZ, ReferenceManager, RegionData, RegisterType, Registers, RomDataReader, RomGenerator, RomLayout, RomProcessingConstants, RomProcessor, RomState, RomStateUtils, RomWriter, SortedMap, SpriteFrame, SpriteGroup, SpriteMap, SpritePart, Stack, StackOperations, StatusFlags, StringEntry, StringMarker, StringProcessor, StringReader, StringSizeComparer, StringWrapper, StructDef, SupabaseErrorCode, SupabaseFromError, SupabaseResult, TableEntry, TransformProcessor, TypeParser, TypedNumber, Word, XformDef, XformType, base64ToUint8Array, binaryToUtf8String, bytesToHex, clamp, crc32_buffer, crc32_text_utf16, crc32_text_utf8, createChunkFileFromDbBlock, createChunkFileFromDbFile, createDbPath, createSupabaseClient, createTempDirectory, decodeBase64, decodeBase64String, decodeDataString, encodeBase64, encodeBase64String, fileExists, fromSupabaseByGameRom, fromSupabaseById, fromSupabaseByName, fromSupabaseByProject, getDirectory, getEnvVar, getNestedProperty, getSupabaseClient, hexToBytes, hexToUint8Array, indexOfAny, isPlatformNode, isValidBase64, listDirectory, readFileAsBinary, readFileAsText, readJsonFile, removeDirectory, resetSupabaseClient, saveFileAsBinary, saveFileAsText, snes, summaryFromSupabaseByProject, uint8ArrayToBase64, validateEnvironmentVariables };
2475
3167
  //# sourceMappingURL=index.d.mts.map