From 29e557b65524158268793453c3b7ce6d03ecaf63 Mon Sep 17 00:00:00 2001 From: Nilton Constantino Date: Thu, 22 Jan 2026 08:28:58 +0000 Subject: [PATCH] added asset management spec --- docs/specs/topics/chapter-15.md | 329 ++++++++ .../color-square/build/program.disasm.txt | 158 ++++ .../color-square/build/symbols.json | 788 ++++++++++++++++++ 3 files changed, 1275 insertions(+) create mode 100644 docs/specs/topics/chapter-15.md create mode 100644 test-cartridges/color-square/build/program.disasm.txt create mode 100644 test-cartridges/color-square/build/symbols.json diff --git a/docs/specs/topics/chapter-15.md b/docs/specs/topics/chapter-15.md new file mode 100644 index 00000000..2599da9e --- /dev/null +++ b/docs/specs/topics/chapter-15.md @@ -0,0 +1,329 @@ +< [Back](chapter-14.md) | [Summary](table-of-contents.md) > + +# Asset Management + +## Bank-Centric Hardware Asset Model + +**Scope:** Runtime / Hardware Asset Management (SDK-agnostic) + +--- + +## 1. Fundamental Principles + +1. **Every asset in Prometeu resides in a Bank** +2. **A Bank is a hardware memory management system** +3. **Assets are cold binaries stored in the cartridge** +4. **Asset memory belongs to the console, not to the VM** +5. **Loading, residency, and eviction are explicit** +6. **Hardware does not interpret gameplay semantics** +7. **The SDK orchestrates policies; hardware executes contracts** + +> In Prometeu, you do not load “data”. You load **residency**. + +--- + +## 2. Asset Origin (Cold Storage) + +* All assets initially reside in **cold storage** inside the cartridge. +* Typically, each asset corresponds to a binary file. +* The runtime **never scans the cartridge directly**. +* All access goes through the **Asset Table**. + +--- + +## 3. Asset Table + +The Asset Table is an index loaded at cartridge boot. + +It describes **content**, not residency. + +### Location + +* The Asset Table **must be embedded as JSON inside `manifest.json`**. +* Tooling may compile this JSON into a binary table for runtime use, but the source of truth is the manifest. + +### Required Fields (conceptual) + +* `asset_id` (string or hash) +* `asset_type` (TILEBANK, SOUNDBANK, BLOB, TILEMAP, ...) +* `bank_kind` (mandatory, single) +* `offset` (byte offset in cartridge) +* `size` (cold size) +* `decoded_size` (resident size) +* `codec` (RAW, LZ4, ZSTD, ...) +* `asset_metadata` (type-specific) + +> `bank_kind` defines **where** an asset may reside in hardware. + +--- + +## 4. Bank — Definition + +> **A Bank is the residency and swapping mechanism of the Prometeu hardware.** + +A Bank: + +* owns **numbered slots** +* enforces **resident memory budgets** +* enforces **staging / inflight budgets** +* accepts only compatible assets +* supports **atomic swap via commit** +* exposes memory and residency metrics + +Banks are hardware infrastructure, not assets. + +--- + +## 5. BankKind + +Each Bank belongs to a **BankKind**, defining its pipeline and constraints. + +### Example BankKinds + +* `GFX_TILEBANK` +* `AUDIO_SOUNDBANK` +* `DATA_BLOBBANK` +* `MAP_TILEMAPBANK` + +Each BankKind defines: + +* slot count +* maximum resident memory +* inflight / staging memory budget +* decode and validation pipeline +* hardware consumer subsystem (renderer, audio mixer, etc.) + +--- + +## 6. Slots and Slot References + +* Each BankKind owns a fixed set of **slots**. +* A slot: + + * references a resident asset (or is empty) + * never stores data directly + * may expose a **generation counter** (debug) + +### Slot Reference + +Slots are always referenced with explicit BankKind context: + +* `gfxSlot(3)` +* `audioSlot(1)` +* `blobSlot(7)` + +This prevents cross-bank ambiguity. + +--- + +## 7. Bank Memory Model + +* Bank memory is **console-owned memory**. +* It does not belong to the VM heap. +* It does not participate in GC. +* It can be fully released when the cartridge shuts down. + +Each Bank manages: + +* total memory +* used memory +* free memory +* inflight (staging) memory + +Conceptually, each Bank is a **specialized allocator**. + +--- + +## 8. Unified Loader + +### Conceptual API + +```text +handle = asset.load(asset_id, slotRef, flags) +``` + +Load flow: + +1. Resolve `asset_id` via Asset Table +2. Read `bank_kind` from asset entry +3. Validate compatibility with `slotRef` +4. Enqueue load request +5. Perform IO + decode on worker +6. Produce materialized asset in staging + +### Handle States + +* `PENDING` — enqueued +* `LOADING` — IO/decode in progress +* `READY` — staging completed +* `COMMITTED` — installed into slot +* `CANCELED` +* `ERROR` + +--- + +## 9. Commit + +```text +asset.commit(handle) +``` + +* Commit is **explicit** and **atomic** +* Executed at a safe frame boundary +* Performs **pointer swap** in the target slot +* Previous asset is released if no longer referenced + +The hardware **never swaps slots automatically**. + +--- + +## 10. Asset Deduplication + +* A decoded asset exists **at most once per BankKind**. +* Multiple slots may reference the same resident asset. +* Redundant loads become **install-only** operations. + +Memory duplication is forbidden by contract. + +--- + +## 11. Bank Specializations + +### 11.1 GFX_TILEBANK + +* AssetType: TILEBANK +* Immutable graphical tile + palette structure +* Consumed by the graphics subsystem + +### 11.2 AUDIO_SOUNDBANK + +* AssetType: SOUNDBANK +* Resident audio samples or streams +* Consumed by the audio mixer + +### 11.3 DATA_BLOBBANK + +* AssetType: BLOB +* Read-only byte buffers +* Hardware does not interpret contents + +Used by the SDK via: + +* **Views** (zero-copy, read-only) +* **Decode** (materialization into VM heap) + +--- + +## 12. Views and Decode (SDK Contract) + +* **View** + + * read-only + * zero-copy + * valid only while the blob remains resident + +* **Decode** + + * allocates VM-owned entities + * independent from the Bank after creation + +Hardware is unaware of Views and Decode semantics. + +--- + +## 13. Manifest and Initial Load + +* The cartridge may include a `manifest.json`. +* The manifest may declare: + + * assets to preload + * target slot references + +These loads occur **before the first frame**. + +--- + +## 14. Shutdown and Eviction + +* On cartridge shutdown: + + * all Banks are cleared + * all resident memory is released + +No implicit persistence exists. + +--- + +## 15. Debugger and Telemetry + +Each Bank must expose: + +* total memory +* used memory +* free memory +* inflight memory +* occupied slots +* `asset_id` per slot +* generation per slot + +This enables debuggers to visualize: + +* memory stacks per Bank +* memory pressure +* streaming strategies + +--- + +## 16. Minimal Syscall API (Derived) + +The following syscalls form the minimal hardware contract for asset management: + +```text +asset.load(asset_id, slotRef, flags) -> handle +asset.status(handle) -> LoadStatus +asset.commit(handle) +asset.cancel(handle) + +bank.info(bank_kind) -> BankStats +bank.slot_info(slotRef) -> SlotStats +``` + +Where: + +* `LoadStatus` ∈ { PENDING, LOADING, READY, COMMITTED, CANCELED, ERROR } +* `BankStats` exposes memory usage and limits +* `SlotStats` exposes current asset_id and generation + +--- + +## 17. Separation of Responsibilities + +### Hardware (Prometeu) + +* manages memory +* loads bytes +* decodes assets +* swaps pointers +* reports usage + +### SDK + +* defines packs, scenes, and policies +* interprets blobs +* creates VM entities + +### VM + +* executes logic +* manages its own heap +* never owns hardware assets + +--- + +## 18. Golden Rule + +> **Banks are the foundation of the hardware.** +> **Asset Types describe content.** +> **The SDK orchestrates; the hardware executes.** + +< [Back](chapter-14.md) | [Summary](table-of-contents.md) > \ No newline at end of file diff --git a/test-cartridges/color-square/build/program.disasm.txt b/test-cartridges/color-square/build/program.disasm.txt new file mode 100644 index 00000000..011999dd --- /dev/null +++ b/test-cartridges/color-square/build/program.disasm.txt @@ -0,0 +1,158 @@ +00000000 Call U32(20) U32(0) +0000000A Pop +0000000C FrameSync +0000000E Jmp U32(0) +00000014 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:5 +00000016 Call U32(236) U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:6 +00000020 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:6 +00000022 Call U32(564) U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:7 +0000002C Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:7 +0000002E Call U32(690) U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:8 +00000038 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:8 +0000003A Call U32(92) U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:9 +00000044 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:9 +00000046 Call U32(452) U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:10 +00000050 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:10 +00000052 PopScope +00000054 PushConst U32(0) +0000005A Ret +0000005C PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:1 +0000005E PushConst U32(1) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:2 +00000064 Syscall U32(16385) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:2 +0000006A GetLocal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:3 +00000070 PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:3 +00000076 Gte ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:3 +00000078 JmpIfFalse U32(226) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:3 +0000007E PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:3 +00000080 GetLocal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:4 +00000086 PushConst U32(2) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:4 +0000008C Syscall U32(16387) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:4 +00000092 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:4 +00000094 GetLocal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:5 +0000009A Syscall U32(16386) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:5 +000000A0 GetLocal U32(1) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:6 +000000A6 JmpIfFalse U32(204) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:6 +000000AC PushI32 U32(2) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:6 +000000B2 PushI32 U32(101) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:6 +000000B8 GetLocal U32(1) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:6 +000000BE Syscall U32(20482) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:6 +000000C4 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:6 +000000C6 Jmp U32(204) +000000CC GetLocal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:7 +000000D2 Syscall U32(16388) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:7 +000000D8 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:7 +000000DA PopScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:3 +000000DC Jmp U32(226) +000000E2 PopScope +000000E4 PushConst U32(0) +000000EA Ret +000000EC PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:1 +000000EE PushI32 U32(18448) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:2 +000000F4 Syscall U32(4097) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:2 +000000FA Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:2 +000000FC PushI32 U32(10) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:3 +00000102 PushI32 U32(10) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:3 +00000108 PushI32 U32(50) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:3 +0000010E PushI32 U32(50) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:3 +00000114 PushI32 U32(63488) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:3 +0000011A Syscall U32(4098) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:3 +00000120 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:3 +00000122 PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:4 +00000128 PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:4 +0000012E PushI32 U32(128) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:4 +00000134 PushI32 U32(128) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:4 +0000013A PushI32 U32(65535) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:4 +00000140 Syscall U32(4099) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:4 +00000146 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:4 +00000148 PushI32 U32(64) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:5 +0000014E PushI32 U32(64) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:5 +00000154 PushI32 U32(20) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:5 +0000015A PushI32 U32(31) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:5 +00000160 Syscall U32(4100) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:5 +00000166 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:5 +00000168 PushI32 U32(100) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:6 +0000016E PushI32 U32(100) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:6 +00000174 PushI32 U32(10) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:6 +0000017A PushI32 U32(2016) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:6 +00000180 PushI32 U32(65504) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:6 +00000186 Syscall U32(4101) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:6 +0000018C Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:6 +0000018E PushI32 U32(20) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:7 +00000194 PushI32 U32(100) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:7 +0000019A PushI32 U32(30) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:7 +000001A0 PushI32 U32(30) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:7 +000001A6 PushI32 U32(2047) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:7 +000001AC PushI32 U32(63519) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:7 +000001B2 Syscall U32(4102) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:7 +000001B8 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:7 +000001BA PopScope +000001BC PushConst U32(0) +000001C2 Ret +000001C4 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:10 +000001C6 PushI32 U32(255) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +000001CC PushI32 U32(3) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +000001D2 Shr ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +000001D4 PushI32 U32(11) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +000001DA Shl ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +000001DC PushI32 U32(128) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +000001E2 PushI32 U32(2) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +000001E8 Shr ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +000001EA PushI32 U32(5) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +000001F0 Shl ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +000001F2 BitOr ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +000001F4 PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +000001FA PushI32 U32(3) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +00000200 Shr ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +00000202 BitOr ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +00000204 PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:12 +0000020A PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:12 +00000210 PushI32 U32(5) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:12 +00000216 PushI32 U32(5) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:12 +0000021C GetLocal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:12 +00000222 Syscall U32(4098) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:12 +00000228 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:12 +0000022A PopScope +0000022C PushConst U32(0) +00000232 Ret +00000234 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:1 +00000236 PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:2 +0000023C Syscall U32(8193) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:2 +00000242 JmpIfFalse U32(614) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:2 +00000248 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:2 +0000024A PushI32 U32(2) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:3 +00000250 PushConst U32(3) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:3 +00000256 Syscall U32(20481) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:3 +0000025C Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:3 +0000025E PopScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:2 +00000260 Jmp U32(614) +00000266 PushI32 U32(4) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:6 +0000026C Syscall U32(8194) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:6 +00000272 JmpIfFalse U32(680) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:6 +00000278 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:6 +0000027A PushI32 U32(1) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:7 +00000280 PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:7 +00000286 PushI32 U32(255) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:7 +0000028C PushI32 U32(128) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:7 +00000292 PushI32 U32(1) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:7 +00000298 Syscall U32(12289) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:7 +0000029E Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:7 +000002A0 PopScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:6 +000002A2 Jmp U32(680) +000002A8 PopScope +000002AA PushConst U32(0) +000002B0 Ret +000002B2 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:11 +000002B4 Syscall U32(8451) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:12 +000002BA JmpIfFalse U32(746) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:12 +000002C0 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:12 +000002C2 Syscall U32(8449) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:13 +000002C8 Syscall U32(8450) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:13 +000002CE PushI32 U32(5) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:13 +000002D4 PushI32 U32(65535) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:13 +000002DA Syscall U32(4100) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:13 +000002E0 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:13 +000002E2 PopScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:12 +000002E4 Jmp U32(746) +000002EA PopScope +000002EC PushConst U32(0) +000002F2 Ret diff --git a/test-cartridges/color-square/build/symbols.json b/test-cartridges/color-square/build/symbols.json new file mode 100644 index 00000000..104715b8 --- /dev/null +++ b/test-cartridges/color-square/build/symbols.json @@ -0,0 +1,788 @@ +[ + { + "pc": 20, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 5, + "col": 8 + }, + { + "pc": 22, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 6, + "col": 5 + }, + { + "pc": 32, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 6, + "col": 5 + }, + { + "pc": 34, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 7, + "col": 5 + }, + { + "pc": 44, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 7, + "col": 5 + }, + { + "pc": 46, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 8, + "col": 5 + }, + { + "pc": 56, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 8, + "col": 5 + }, + { + "pc": 58, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 9, + "col": 5 + }, + { + "pc": 68, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 9, + "col": 5 + }, + { + "pc": 70, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 10, + "col": 5 + }, + { + "pc": 80, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 10, + "col": 5 + }, + { + "pc": 92, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", + "line": 1, + "col": 8 + }, + { + "pc": 94, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", + "line": 2, + "col": 21 + }, + { + "pc": 100, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", + "line": 2, + "col": 13 + }, + { + "pc": 106, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", + "line": 3, + "col": 9 + }, + { + "pc": 112, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", + "line": 3, + "col": 14 + }, + { + "pc": 118, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", + "line": 3, + "col": 9 + }, + { + "pc": 120, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", + "line": 3, + "col": 5 + }, + { + "pc": 126, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", + "line": 3, + "col": 17 + }, + { + "pc": 128, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", + "line": 4, + "col": 18 + }, + { + "pc": 134, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", + "line": 4, + "col": 21 + }, + { + "pc": 140, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", + "line": 4, + "col": 9 + }, + { + "pc": 146, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", + "line": 4, + "col": 9 + }, + { + "pc": 148, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", + "line": 5, + "col": 31 + }, + { + "pc": 154, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", + "line": 5, + "col": 23 + }, + { + "pc": 160, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", + "line": 6, + "col": 13 + }, + { + "pc": 166, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", + "line": 6, + "col": 9 + }, + { + "pc": 172, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", + "line": 6, + "col": 35 + }, + { + "pc": 178, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", + "line": 6, + "col": 38 + }, + { + "pc": 184, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", + "line": 6, + "col": 43 + }, + { + "pc": 190, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", + "line": 6, + "col": 22 + }, + { + "pc": 196, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", + "line": 6, + "col": 22 + }, + { + "pc": 204, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", + "line": 7, + "col": 18 + }, + { + "pc": 210, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", + "line": 7, + "col": 9 + }, + { + "pc": 216, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", + "line": 7, + "col": 9 + }, + { + "pc": 218, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", + "line": 3, + "col": 17 + }, + { + "pc": 236, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 1, + "col": 8 + }, + { + "pc": 238, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 2, + "col": 15 + }, + { + "pc": 244, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 2, + "col": 5 + }, + { + "pc": 250, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 2, + "col": 5 + }, + { + "pc": 252, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 3, + "col": 18 + }, + { + "pc": 258, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 3, + "col": 22 + }, + { + "pc": 264, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 3, + "col": 26 + }, + { + "pc": 270, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 3, + "col": 30 + }, + { + "pc": 276, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 3, + "col": 34 + }, + { + "pc": 282, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 3, + "col": 5 + }, + { + "pc": 288, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 3, + "col": 5 + }, + { + "pc": 290, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 4, + "col": 18 + }, + { + "pc": 296, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 4, + "col": 21 + }, + { + "pc": 302, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 4, + "col": 24 + }, + { + "pc": 308, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 4, + "col": 29 + }, + { + "pc": 314, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 4, + "col": 34 + }, + { + "pc": 320, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 4, + "col": 5 + }, + { + "pc": 326, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 4, + "col": 5 + }, + { + "pc": 328, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 5, + "col": 20 + }, + { + "pc": 334, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 5, + "col": 24 + }, + { + "pc": 340, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 5, + "col": 28 + }, + { + "pc": 346, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 5, + "col": 32 + }, + { + "pc": 352, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 5, + "col": 5 + }, + { + "pc": 358, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 5, + "col": 5 + }, + { + "pc": 360, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 6, + "col": 18 + }, + { + "pc": 366, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 6, + "col": 23 + }, + { + "pc": 372, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 6, + "col": 28 + }, + { + "pc": 378, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 6, + "col": 32 + }, + { + "pc": 384, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 6, + "col": 45 + }, + { + "pc": 390, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 6, + "col": 5 + }, + { + "pc": 396, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 6, + "col": 5 + }, + { + "pc": 398, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 7, + "col": 20 + }, + { + "pc": 404, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 7, + "col": 24 + }, + { + "pc": 410, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 7, + "col": 29 + }, + { + "pc": 416, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 7, + "col": 33 + }, + { + "pc": 422, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 7, + "col": 37 + }, + { + "pc": 428, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 7, + "col": 49 + }, + { + "pc": 434, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 7, + "col": 5 + }, + { + "pc": 440, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 7, + "col": 5 + }, + { + "pc": 452, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 10, + "col": 8 + }, + { + "pc": 454, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 23 + }, + { + "pc": 460, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 13 + }, + { + "pc": 466, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 13 + }, + { + "pc": 468, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 13 + }, + { + "pc": 474, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 13 + }, + { + "pc": 476, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 28 + }, + { + "pc": 482, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 13 + }, + { + "pc": 488, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 13 + }, + { + "pc": 490, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 13 + }, + { + "pc": 496, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 13 + }, + { + "pc": 498, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 13 + }, + { + "pc": 500, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 33 + }, + { + "pc": 506, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 13 + }, + { + "pc": 512, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 13 + }, + { + "pc": 514, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 13 + }, + { + "pc": 516, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 12, + "col": 18 + }, + { + "pc": 522, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 12, + "col": 21 + }, + { + "pc": 528, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 12, + "col": 24 + }, + { + "pc": 534, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 12, + "col": 27 + }, + { + "pc": 540, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 12, + "col": 30 + }, + { + "pc": 546, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 12, + "col": 5 + }, + { + "pc": 552, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 12, + "col": 5 + }, + { + "pc": 564, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 1, + "col": 8 + }, + { + "pc": 566, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 2, + "col": 9 + }, + { + "pc": 572, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 2, + "col": 9 + }, + { + "pc": 578, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 2, + "col": 5 + }, + { + "pc": 584, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 2, + "col": 22 + }, + { + "pc": 586, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 3, + "col": 19 + }, + { + "pc": 592, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 3, + "col": 22 + }, + { + "pc": 598, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 3, + "col": 9 + }, + { + "pc": 604, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 3, + "col": 9 + }, + { + "pc": 606, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 2, + "col": 22 + }, + { + "pc": 614, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 6, + "col": 9 + }, + { + "pc": 620, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 6, + "col": 9 + }, + { + "pc": 626, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 6, + "col": 5 + }, + { + "pc": 632, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 6, + "col": 24 + }, + { + "pc": 634, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 7, + "col": 26 + }, + { + "pc": 640, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 7, + "col": 29 + }, + { + "pc": 646, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 7, + "col": 32 + }, + { + "pc": 652, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 7, + "col": 37 + }, + { + "pc": 658, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 7, + "col": 42 + }, + { + "pc": 664, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 7, + "col": 9 + }, + { + "pc": 670, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 7, + "col": 9 + }, + { + "pc": 672, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 6, + "col": 24 + }, + { + "pc": 690, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 11, + "col": 8 + }, + { + "pc": 692, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 12, + "col": 9 + }, + { + "pc": 698, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 12, + "col": 5 + }, + { + "pc": 704, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 12, + "col": 28 + }, + { + "pc": 706, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 13, + "col": 24 + }, + { + "pc": 712, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 13, + "col": 33 + }, + { + "pc": 718, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 13, + "col": 42 + }, + { + "pc": 724, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 13, + "col": 45 + }, + { + "pc": 730, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 13, + "col": 9 + }, + { + "pc": 736, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 13, + "col": 9 + }, + { + "pc": 738, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 12, + "col": 28 + } +] \ No newline at end of file