Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
279 commits
Select commit Hold shift + click to select a range
6d89f37
Exercise the Ruby truck warp, opening script, save and Roxanne battle
Oct 24, 2026
545e232
Decode Ruby healthbox glyph mapping and verify save sector roundtrips
Oct 24, 2026
8066cb2
Resolve canonical extractor specials through the Ruby native index map
Oct 24, 2026
e9e5a0a
Construct the native symbol lookup in the special mapping fixture
Oct 24, 2026
f412e1c
Import RS compressed trainer backs and exercise the real starter rescue
Oct 24, 2026
b3beeaf
Add an independent Sapphire native cartridge profile and RS runtime c…
Oct 24, 2026
5da5c84
Use the cartridge symbol identity in the starter lookup fixture
Oct 24, 2026
406975c
Document verified Ruby gameplay and remaining alpha scope
Oct 24, 2026
75ae3cb
Document native Sapphire gameplay checks and alpha limits
Oct 24, 2026
6d74f51
Decode native RS braille glyphs and preserve wall formatting
Oct 24, 2026
d11d8cd
Decode native RS braille glyphs and preserve wall formatting
Oct 24, 2026
7083ce7
Document native braille validation and remaining alpha scope
Oct 24, 2026
22d09c6
Document native braille validation and remaining alpha scope
Oct 24, 2026
c5675e4
Support RS gym switches and Petalburg door specials
Oct 24, 2026
f8c23da
Support RS gym switches and Petalburg door specials
Oct 24, 2026
bf433d8
Allow shared gym suite to use its own edition manifest
Oct 24, 2026
fb4dc5e
Record native RS gym puzzle and reward validation
Oct 24, 2026
26a021a
Record native RS gym puzzle and reward validation
Oct 24, 2026
8474f39
Allow additional Gen3 siblings between Kanto and Emerald
Oct 24, 2026
cec521e
Keep fallback summary stat values clear of both label columns
Oct 24, 2026
132e2c1
Keep fallback summary stat values clear of both label columns
Oct 24, 2026
7df8810
Document fallback summary bounds and final engine checks
Oct 24, 2026
d95db22
Document fallback summary bounds and final engine checks
Oct 24, 2026
b0a8034
async-get native compatibility
Oct 24, 2026
e6960ae
Read Ruby 36-byte Pokedex entries and invalidate only stale RS caches
Oct 25, 2026
d2804f0
Read Sapphire 36-byte Pokedex entries and invalidate only stale RS ca…
Oct 25, 2026
466ea38
Verify and reproduce Ruby dex structure metadata from the matching ELF
Oct 25, 2026
f599ba4
Verify and reproduce Sapphire dex structure metadata from the matchin…
Oct 25, 2026
f47a21e
Read Ruby item effects from its verified 163-pointer ROM table
Oct 25, 2026
f784f81
Test actual RS effect extraction against raw ROM and legacy address c…
Oct 25, 2026
f106b2b
Read Sapphire item effects from its verified 163-pointer ROM table
Oct 25, 2026
32e854c
Use native Gen3 walking friendship for every Gen3 edition
Oct 25, 2026
8c9e0bd
Use native Gen3 walking friendship for every Gen3 edition
Oct 25, 2026
8657ed3
Use native Gen3 walking friendship for every Gen3 edition
Oct 25, 2026
b3a9693
Return to native move choice after refusing an HM replacement
Oct 25, 2026
97ebb8b
Return to native move choice after refusing an HM replacement
Oct 25, 2026
ac182bd
Return to native move choice after refusing an HM replacement
Oct 25, 2026
91c6aec
Read original Ruby field message geometry without changing battle win…
Oct 25, 2026
ca5a7bc
Read original Sapphire field message geometry without changing battle…
Oct 25, 2026
ba9e506
Record fresh native Ruby GBA field window and cache-upgrade input proof
Oct 25, 2026
c77b365
Record fresh native Sapphire GBA field window and cache-upgrade input…
Oct 25, 2026
48a634f
Read verified RS action records and translate native column-major poc…
Oct 25, 2026
35685f3
Supply Ruby cartridge-verified item-action and pocket table metadata
Oct 25, 2026
fb2d630
Read verified RS action records and translate native column-major poc…
Oct 25, 2026
372ec02
Supply Sapphire cartridge-verified item-action and pocket table metadata
Oct 25, 2026
31d2e37
Record RS action CPU consumer checks and the blocked fresh native ver…
Oct 25, 2026
95a9e3b
Record Sapphire action CPU checks while fresh native tests await disk…
Oct 25, 2026
3a9bec7
Record fresh native Ruby action-grid and real item input acceptance
Oct 25, 2026
9b48799
Record fresh native Sapphire action-grid and real item input acceptance
Oct 25, 2026
71b1ae8
Back native GBA modal UI with real states and owned preview leases
Oct 25, 2026
42a7a7a
Bound legacy QA copies, preserve originals and add periodic cleanup
Oct 25, 2026
ccd2f43
Bound legacy QA copies, preserve originals and add periodic cleanup
Oct 25, 2026
53235b9
Give scheduled QA cleanup a narrow macOS Documents permission identity
Oct 25, 2026
cdcb5a7
Give scheduled QA cleanup a narrow macOS Documents permission identity
Oct 25, 2026
5453b62
Stream file downloads in bounded native workers and publish complete …
Oct 25, 2026
71ac37e
Isolate cross-platform worker checks and allow an independently pinne…
Oct 25, 2026
2356135
Keep file progress and atomic publication off the native frame thread
Oct 25, 2026
6bdf6e5
Resolve existing Gen1 Gen3 map names against native records
Oct 25, 2026
b365327
Check only cartridge editions available on the target host
Oct 25, 2026
1da1ff5
Record public map identity compatibility checks
Oct 25, 2026
5d899da
Implement the original decoded Gen1 layout module contract
Oct 25, 2026
40b4120
Record original and native layout consumer parity
Oct 25, 2026
a676831
Preserve legacy connection placement and parallel boundary lookup
Oct 25, 2026
7e0dc39
Record layout and connection compatibility verification
Oct 25, 2026
ac9af92
Read verified RS ball artwork and native send-out timing metadata
Oct 25, 2026
536381e
Read verified RS ball artwork and native send-out timing metadata
Oct 25, 2026
d805119
Supply Ruby cartridge-verified ball atlases and send-out sites
Oct 25, 2026
d4dabe1
Supply Sapphire cartridge-verified ball atlases and send-out sites
Oct 25, 2026
00d5764
Test actual RS ball extraction, native frame counts and invalid ROM-s…
Oct 25, 2026
c80b9a3
Test actual RS ball extraction, native frame counts and invalid ROM-s…
Oct 25, 2026
8436173
Add fresh native no-mod RS ball and send-out input regression
Oct 25, 2026
a39dbb2
Add fresh native no-mod RS ball and send-out input regression
Oct 25, 2026
1e9c2d2
Pin explicit non-shiny fixture for native base ball frame assertions
Oct 25, 2026
afecd16
Pin explicit non-shiny fixture for native base ball frame assertions
Oct 25, 2026
80e9d12
Translate legacy terrain behavior and classified collision without ch…
Oct 25, 2026
325c9ef
Verify visible native ball and particle texture negatives with exact …
Oct 25, 2026
d866452
Verify visible native ball and particle texture negatives with exact …
Oct 25, 2026
7e02a10
Synchronize download publication checks with the worker claim
Oct 25, 2026
c410afa
Document fresh no-mod Ruby ball and particle acceptance
Oct 25, 2026
e894833
Document fresh no-mod Sapphire ball and particle acceptance
Oct 25, 2026
fcf943b
Verify fresh native ball PNG RGBA against independently decoded cartr…
Oct 25, 2026
3b2c4d0
Verify fresh native ball PNG RGBA against independently decoded cartr…
Oct 25, 2026
1d8bbc8
Add owned compatibility observations over active native maps
Oct 25, 2026
9c806ed
Verify original Ruby terrain flag metadata against cartridge and pinn…
Oct 25, 2026
dd6ee78
Verify original Sapphire terrain flag metadata against cartridge and …
Oct 25, 2026
dd9e871
Record final frozen composed native regression checks
Oct 25, 2026
e11b59a
Resolve compatibility texture pair names through original source bank…
Oct 25, 2026
0707b70
Record final composed native texture identity regression scope
Oct 25, 2026
56619f1
Publish verified source dataset tileset aliases for compatibility maps
Oct 25, 2026
d37b54e
Connect legacy map read entry points to owned native session views
Oct 25, 2026
a55a62f
Record final map facade regression and actual source discovery checks
Oct 25, 2026
3dbc5ae
Record final source alias regression scope
Oct 25, 2026
80359ce
Connect compatibility player updates to the native fixed-step owner
Oct 25, 2026
b2f5673
Reject native actors retained from an earlier imported dataset
Oct 25, 2026
dcd752a
Bridge compatibility collision queries to live native maps
Oct 25, 2026
1260468
Import Ruby and Sapphire two-lap stat flourish from their own ROMs
Oct 25, 2026
dd58544
Use actual FRLG and Emerald cache contracts in the RS marker test
Oct 25, 2026
17fd956
Import Ruby and Sapphire two-lap stat flourish from their own ROMs
Oct 25, 2026
7fa23e6
Use actual FRLG and Emerald cache contracts in the RS marker test
Oct 25, 2026
63eb370
Add native no-mod RS stat-task visual and terminal-frame probe
Oct 25, 2026
715005f
Add native no-mod RS stat-task visual and terminal-frame probe
Oct 25, 2026
0fe4d5e
Write native stat fixture report at smoke runner contract path
Oct 25, 2026
14df1dd
Write native stat fixture report at smoke runner contract path
Oct 25, 2026
1e2cb97
Record independent retail and fresh native RS stat flourish evidence
Oct 25, 2026
1b6850b
Record independent retail and fresh native RS stat flourish evidence
Oct 25, 2026
15adc6b
Resolve native data before player initialization for resource prepara…
Oct 25, 2026
c08f801
Import audited terrain palettes and refresh native rendering with bou…
Oct 25, 2026
4c28139
Expose owned native terrain atlases for unchanged mod consumers
Oct 25, 2026
d869185
Document atlas integration dependencies and cleanup ordering
Oct 25, 2026
0ab4c26
Reject explicitly retired game facades before native owner fallback
Oct 25, 2026
980f276
Connect compatibility session and frame callbacks to native game owners
Oct 25, 2026
d24427c
Decline unbound source construction without borrowing the current game
Oct 25, 2026
03e1b00
Expose owned object and connected-map observations over native NPCs
Oct 25, 2026
5a233e7
Keep native contexts private at shared object boundaries
Oct 25, 2026
6ac093e
Preserve original object picture tables beside native sprite art
Oct 25, 2026
335a0cf
Retain cooperative importer checkpoints while decoding object sheets
Oct 25, 2026
01b6b24
perf(A1): instrument world, presentation and Nitro audio phases
Roxas2712 Oct 25, 2026
9206da3
test(A2): authenticate external mod fixtures and run ROM-free gallery…
Roxas2712 Oct 25, 2026
e22eb69
Record the explicit intermediate module-availability boundary
Roxas2712 Oct 25, 2026
58c093f
Keep the authenticated gallery documentation byte-identical
Roxas2712 Oct 25, 2026
9fb0208
Add fixed-destination mod logs and bounded native mobile HTTP
Roxas2712 Oct 25, 2026
d621ced
Frame empty TLS redirects and retain observed HTTP failure status
Roxas2712 Oct 25, 2026
2747275
Preserve native frame maps and cartridge avatar states
Oct 25, 2026
523bf0b
Pass bounded request bytes through the Android C-string bridge
Roxas2712 Oct 25, 2026
4f6c09a
Provide owned original-order sprite resources and rollback cleanup
Oct 25, 2026
e999f0a
Bridge numeric script state and iterable session schemas
Oct 25, 2026
f6e0a52
Unwind failed wrappers before registry and resource rollback
Oct 25, 2026
b86ad73
Document numeric state views and remaining session schemas
Oct 25, 2026
0d2a313
Preserve native money-window bytecode boundaries across editions
Oct 26, 2026
02afbab
Expose the actual entering native world through scoped observations
Oct 26, 2026
9947962
Keep standalone entry-scope checks independent of cartridge registrat…
Oct 26, 2026
2468355
Retire owned script previews during rollback and native teardown
Oct 26, 2026
2c2fa11
Bind field script consumers to native execution and owned state views
Oct 26, 2026
5507ef2
perf(P1): skip redundant software pacing after VSync presentation
Roxas2712 Oct 26, 2026
65c3087
perf(P2): tune incremental GC and spend bounded idle deadline time
Roxas2712 Oct 26, 2026
5a02f53
Release owned transition views alongside sprite and script resources
Oct 26, 2026
3dbfc1b
Expose native battle transition admissions to compatible consumers
Oct 26, 2026
c5a6954
Upgrade RS imports while preserving authored runtime transition profiles
Oct 26, 2026
08185ea
Verify native transition delegation beyond the GBA compatibility facade
Oct 26, 2026
0956e2e
Respect already-loaded native GC delegation without loading a provider
Roxas2712 Oct 26, 2026
1823a29
Release completed callback captures without dropping native observations
Oct 26, 2026
cb62f94
Validate measured source fingerprints before and after native probes
Roxas2712 Oct 26, 2026
187da6e
Retire optional field-effect artwork providers with the resource cohort
Oct 26, 2026
f0d4234
perf(P3): cache hot dependencies and retain private render scratch
Roxas2712 Oct 26, 2026
1c78d10
Merge remote-tracking branch 'upstream/main' into codex/upstream-perf-p3
Roxas2712 Oct 26, 2026
56a6948
Cover current native draw imports and refresh upstream qualification
Roxas2712 Oct 26, 2026
af00e0f
Merge commit '01b6b248' into codex/upstream-perf-p4
Roxas2712 Oct 26, 2026
391dc76
perf(P4): hoist world draw bodies and reuse private cover lists
Roxas2712 Oct 26, 2026
6bbc5a4
Expose owned field-effect artwork with native records and scoped cach…
Roxas2712 Oct 26, 2026
780b259
Read uploaded field images through actual GPU render targets
Roxas2712 Oct 26, 2026
186081a
Preserve contribution credit and upstream integration permission
Roxas2712 Oct 26, 2026
a8b3096
Retire loaded field resources after mod wrapper unwind on reload and …
Roxas2712 Oct 26, 2026
b1388f1
Bind field-move presentation to native admissions and owned resources
Roxas2712 Oct 26, 2026
487e1e5
Run field-move GPU qualification on both supported host versions
Roxas2712 Oct 26, 2026
c83ef08
Keep native GBA field cut-ins independent of dialogue theme dimensions
Roxas2712 Oct 26, 2026
f2cd89d
Verify field-move rollback and teardown through the actual mod SDK
Roxas2712 Oct 26, 2026
4af592e
Retire source-owned field-move admissions after mod wrapper unwind
Roxas2712 Oct 26, 2026
8d33d66
Bind source field presentation to native draw phases and owned terrain
Roxas2712 Oct 26, 2026
7ab8d41
Include the existing native graphics guard in the public field prereq…
Roxas2712 Oct 26, 2026
455fbbc
Add authenticated cartridge field-move artwork and presentation profiles
Roxas2712 Oct 26, 2026
a840d23
Keep the parent native streak phase and freeze its GPU baseline
Roxas2712 Oct 26, 2026
24a975e
Honor admitted worlds, retired stacks and mixed validation contracts
Roxas2712 Oct 26, 2026
965868a
Cover authenticated strip profiles when edition metadata is supplied …
Roxas2712 Oct 26, 2026
84f4eb4
Bind source GBA battle views and presentation phases to native contro…
Roxas2712 Oct 26, 2026
5a36c15
Include standalone native boundary checks and contribution notice
Roxas2712 Oct 26, 2026
679abfd
Report unsupported older-host UI queries explicitly
Roxas2712 Oct 26, 2026
3de60c5
Guard native battle admissions and share frame capture ownership
Roxas2712 Oct 26, 2026
6913ad4
Preserve the native screen after captures into separate render targets
Roxas2712 Oct 26, 2026
807f3ca
Retire loaded battle presentation services on older native hosts
Roxas2712 Oct 26, 2026
8e3669e
Assert the native GPU controller comes from its frozen source tree
Roxas2712 Oct 26, 2026
316ad42
Share native GBA animation frames, screen effects and layout queries
Roxas2712 Oct 26, 2026
32a3e83
Share native terrain and encounter observations with mod consumers
Roxas2712 Oct 26, 2026
dcf0311
Include the contribution permission for native terrain integration
Roxas2712 Oct 26, 2026
6ee690d
Carry decoded layout and admitted-world integration for map readers
Roxas2712 Oct 26, 2026
48e0f68
Keep decoded source layouts distinct from native grid handles
Roxas2712 Oct 26, 2026
1fd6886
Share persistent native world lookup across read adapters
Roxas2712 Oct 26, 2026
cb7cd46
Compose offered native animation and companion observations
Roxas2712 Oct 26, 2026
63834d1
Compose offered field-move presentation with native companion runtime
Roxas2712 Oct 26, 2026
c9d920c
Adapt native companion commands and owned UI flows to the public host
Roxas2712 Oct 26, 2026
b72e5b7
Adapt native battle chrome and particle observations to the public host
Roxas2712 Oct 26, 2026
ef3e14c
Merge current native upstream fixes into the existing compatibility c…
Roxas2712 Oct 26, 2026
04b8021
test: align updater fixtures with Gen2 release assets
Roxas2712 Oct 22, 2026
9848cb5
test: cover twelve-action rebinding without fixed row indices
Roxas2712 Oct 22, 2026
1d37f18
test: exercise profiled Game methods with complete fixtures
Roxas2712 Oct 22, 2026
9ebaed9
test: execute quit-event veto and Android shutdown paths
Roxas2712 Oct 22, 2026
da32b74
test: pin continuous wide-battle animation anchor mapping
Roxas2712 Oct 22, 2026
2c46c66
test: audit and pin the current Gen2 link fingerprint surface
Roxas2712 Oct 22, 2026
b6b11e3
test: cover six native producers through the public mod API
Roxas2712 Oct 22, 2026
264429d
Translate new transfer, hatch and athlete fallback messages at displa…
Roxas2712 Oct 26, 2026
aa406f2
Audit current native effect registrations and register cure text sources
Roxas2712 Oct 26, 2026
ff14b0d
Connect native field fades, warp admission and source UI flows
Roxas2712 Oct 26, 2026
b09178f
Preserve native callback arguments while attributing follower-owned p…
Roxas2712 Oct 26, 2026
2541712
Record scoped native follower owner qualification
Roxas2712 Oct 26, 2026
94dc910
Record final qualified fork integration without relabeling earlier fu…
Roxas2712 Oct 26, 2026
9133ecd
Merge remote-tracking branch 'origin/codex/upstream-native-field-pres…
Roxas2712 Oct 26, 2026
83371dc
Merge remote-tracking branch 'upstream/main' into codex/upstream-nati…
Roxas2712 Oct 26, 2026
a7a8856
Compose the offered native session prerequisite without retiring comp…
Roxas2712 Oct 26, 2026
a674e72
Compose the native player prerequisite and preserve persistent world …
Roxas2712 Oct 26, 2026
cf68da2
Compose native modal ownership with existing companion flows and curr…
Roxas2712 Oct 26, 2026
17c4ceb
Compose native atlas resources and retain independent retirement phases
Roxas2712 Oct 26, 2026
c9eb99e
Compose native map observations over persistent admitted worlds
Roxas2712 Oct 26, 2026
6adc80c
Compose native object views while retaining owned follower artwork
Roxas2712 Oct 26, 2026
3c84c5c
Compose the native script namespace and retain field artwork cache re…
Roxas2712 Oct 26, 2026
1f1f5e8
Compose native transition resources without losing imported script sc…
Roxas2712 Oct 26, 2026
8fbe8eb
Compose native sprite services and owned resource retirement
Roxas2712 Oct 26, 2026
9e6b47e
Compose the qualified native field presentation and preserve current …
Roxas2712 Oct 26, 2026
9f35ac0
Keep field rendering bound to native entities and preserve map slot m…
Roxas2712 Oct 26, 2026
fa80cd8
Complete detached companion damage effects and native weather callbac…
Roxas2712 Oct 26, 2026
e43b6cf
Bind package preview observations to the native dungeon preview owner
Roxas2712 Oct 26, 2026
3a66a8e
Compose verified map-name binding with current native map catalogue
Roxas2712 Oct 26, 2026
f031115
Compose native terrain observations over admitted persistent maps
Roxas2712 Oct 26, 2026
e8aea3b
Merge remote-tracking branch 'origin/codex/gen1-decoded-layout' into …
Roxas2712 Oct 26, 2026
02ae2b7
Compose original native object sheets and independent import cache re…
Roxas2712 Oct 26, 2026
e24e139
Merge remote-tracking branch 'origin/codex/semantic-tileset-pairs' in…
Roxas2712 Oct 26, 2026
82b48f7
Include authenticated five-edition map catalogue metadata
Roxas2712 Oct 26, 2026
c37c348
Distinguish unchanged generated map aliases from ambiguous authored c…
Roxas2712 Oct 26, 2026
33522cb
Include native FRLG family detection required by companion resources
Roxas2712 Oct 26, 2026
dab56f4
Merge remote-tracking branch 'origin/codex/leafgreen-support' into co…
Roxas2712 Oct 26, 2026
1c10e86
Compose the offered Ruby edition with LeafGreen and native companion …
Roxas2712 Oct 26, 2026
127620c
Compose the offered Sapphire edition and retain all native GBA regist…
Roxas2712 Oct 26, 2026
d943e75
Complete native script battle prerequisites and retain current G4 com…
Roxas2712 Oct 26, 2026
cf51c78
Bind owned companion sound voices and side-effect-free warp destinati…
Roxas2712 Oct 26, 2026
d66f5ce
Expose current native weather and explicit door observation availability
Roxas2712 Oct 26, 2026
3d1cb30
Verify independent sound ownership and read-only native warp preparation
Roxas2712 Oct 26, 2026
9cddaff
Initialize native type queries before the first battle and expose liv…
Roxas2712 Oct 26, 2026
551374a
Compose the existing pinned acceptance repair and native CI fixtures
Roxas2712 Oct 26, 2026
462cd57
Compose native palette observations required by independent companion…
Roxas2712 Oct 26, 2026
eeff323
Register the composed native callback producers without converting ow…
Roxas2712 Oct 26, 2026
8d326fa
Observe imported animation banks without advancing the native clock
Roxas2712 Oct 26, 2026
fbdbeef
Qualify animation observations and native palette decoding on real GP…
Roxas2712 Oct 26, 2026
bb05b50
Compose the existing scoped asset-pack prerequisite
Roxas2712 Oct 26, 2026
ace5114
Compose the already offered native pack producers
Roxas2712 Oct 26, 2026
190a132
Compose declared worker permission admission for unchanged packages
Roxas2712 Oct 26, 2026
146b6d0
Restore native grid write prerequisites and exercise composed callbac…
Roxas2712 Oct 26, 2026
319ae6c
Include independent public callback fixtures in the reviewable candidate
Roxas2712 Oct 26, 2026
0c8e2df
Retain native letter selection for the composed sprite-pack adapter
Roxas2712 Oct 26, 2026
897907e
Keep sprite-pack qualification scoped to native GBA companion queries
Roxas2712 Oct 26, 2026
c66c3b2
Target negative capability fixtures explicitly without optional launc…
Roxas2712 Oct 26, 2026
72c7aea
Connect the composed marker and auxiliary hooks to the actual native …
Roxas2712 Oct 26, 2026
e5847ee
Retire native queue insertion cursors and expose the owned follower n…
Roxas2712 Oct 26, 2026
88b67ca
Retire completed native drain markers and validate animation atlas ow…
Roxas2712 Oct 26, 2026
60b82a1
Resolve absolute SDK fixture inputs instead of silently loading no mod
Roxas2712 Oct 26, 2026
2ed8017
Make unchanged companion initialization reproducible across all five …
Roxas2712 Oct 26, 2026
9aabd0d
Compose the existing bounded transport prerequisite and complete spri…
Roxas2712 Oct 26, 2026
df85f6d
Preserve imported source terrain metadata across the five-edition com…
Roxas2712 Oct 26, 2026
fd7f9ed
Compose the existing native healing snapshot and retain cumulative im…
Roxas2712 Oct 26, 2026
79c3705
Compose native admission guards and release trimmed animation observa…
Roxas2712 Oct 26, 2026
a0beb37
Record completed public companion qualification with exact runtime re…
Roxas2712 Oct 26, 2026
99bf088
Retain active actor artwork and explicitly retire native presentation…
Roxas2712 Oct 27, 2026
b97f7f4
Add native Gen2 rod lifecycle and single-use battle handoff
Roxas2712 Oct 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
60 changes: 60 additions & 0 deletions .github/workflows/api3-contract.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: API 3 contracts
on:
pull_request:
paths:
- '.github/workflows/api3-contract.yml'
- 'src/**'
- 'tests/api3_contract/**'
- 'tests/engine/api3_*.lua'
- 'tools/api3-contract-check/**'
push:
branches: [main, dev]
paths:
- '.github/workflows/api3-contract.yml'
- 'src/**'
- 'tests/api3_contract/**'
- 'tests/engine/api3_*.lua'
- 'tools/api3-contract-check/**'
permissions:
contents: read
concurrency:
group: api3-contract-${{ github.ref }}
cancel-in-progress: true
jobs:
compare:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
reference: [79ea62f45fb2ea8f65d081a109431e4eb1bbdb36, 535a5ec088c1ae1bf4d91dd3e35a56f64cf46d91]
steps:
- uses: actions/checkout@v7
with:
path: gen2
sparse-checkout: |
src
data
tests
tools/api3-contract-check
- uses: actions/checkout@v7
with:
repository: bryanthaboi/gen1recomp
ref: ${{ matrix.reference }}
path: gen1-reference
sparse-checkout: |
src
data
tests
assets/fonts
- name: install LuaJIT
run: sudo apt-get update && sudo apt-get install -y luajit
- name: identical mod contracts on both engines
run: >-
python3 gen2/tools/api3-contract-check/check.py
--gen1 gen1-reference --gen2 gen2
--report "${{ runner.temp }}/api3-report.json"
- uses: actions/upload-artifact@v7
with:
name: api3-contract-report-${{ matrix.reference }}
path: ${{ runner.temp }}/api3-report.json
if-no-files-found: error
38 changes: 38 additions & 0 deletions .github/workflows/async-get.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Async mod HTTP and file downloads
on:
pull_request:
workflow_dispatch:
permissions:
contents: read
jobs:
transport:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
timeout-minutes: 5
steps:
- uses: actions/checkout@v7
- uses: actions/setup-python@v6
with:
python-version: '3.x'
- if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y love
- name: Exercise real worker requests against a local server
shell: python
run: |
import os, pathlib, shutil, subprocess, urllib.request, zipfile
host = os.environ['RUNNER_OS']
if host == 'Linux':
executable = shutil.which('love')
else:
suffix = 'macos' if host == 'macOS' else 'win64'
target = pathlib.Path(os.environ['RUNNER_TEMP']) / 'love-get-check'
target.mkdir()
archive = target / 'runtime.zip'
urllib.request.urlretrieve(f'https://github.com/love2d/love/releases/download/11.5/love-11.5-{suffix}.zip', archive)
with zipfile.ZipFile(archive) as z: z.extractall(target)
executable = next(target.rglob('love.app/Contents/MacOS/love')) if host == 'macOS' else next(target.rglob('lovec.exe'))
if host == 'macOS': executable.chmod(0o755)
subprocess.run(['python', 'tools/check_async_get.py', '--love', str(executable), '--tls'], check=True)
43 changes: 43 additions & 0 deletions .github/workflows/core-update-contract.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: portable core.update contract
on:
pull_request:
workflow_dispatch:
permissions:
contents: read
concurrency:
group: core-update-contract-${{ github.ref }}
cancel-in-progress: true
jobs:
contract:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v7
- uses: actions/checkout@v7
with:
repository: bryanthaboi/gen1recomp
ref: 79ea62f45fb2ea8f65d081a109431e4eb1bbdb36
path: .contract-reference/gen1
- name: Install ROM-free test runtime
run: sudo apt-get update && sudo apt-get install -y luajit
- name: Check frame dispatch and native host routing
run: |
luajit tests/engine/core_update.lua
luajit tests/engine/core_update_routing.lua
- name: Compare both native engines through the same mod
run: |
mkdir -p /tmp/core-update-contract
python3 tools/core-update-contract-check/check.py --gen1 .contract-reference/gen1 \
--report /tmp/core-update-contract/api2-native.json
- name: Check unified callback and API-3 integration
run: |
python3 tools/core-update-contract-check/check.py --gen1 .contract-reference/gen1 \
--format unified --report /tmp/core-update-contract/api2-unified.json
python3 tools/core-update-contract-check/check.py --gen1 .contract-reference/gen1 \
--api 3 --format unified --report /tmp/core-update-contract/api3.json
- uses: actions/upload-artifact@v6
if: always()
with:
name: core-update-contract
path: /tmp/core-update-contract
if-no-files-found: ignore
44 changes: 44 additions & 0 deletions .github/workflows/gba-modal.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Native GBA modal ownership
on:
pull_request:
paths:
- '.github/workflows/gba-modal.yml'
- 'src/**'
- 'tests/gba_modal/**'
- 'tests/engine/gen3_modal*.lua'
- 'tools/gba-modal-check/**'
workflow_dispatch:
permissions:
contents: read
jobs:
native-modal:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v7
with:
path: gen2
- uses: actions/checkout@v7
with:
repository: bryanthaboi/gen1recomp
ref: 535a5ec088c1ae1bf4d91dd3e35a56f64cf46d91
path: gen1-reference
sparse-checkout: |
src
data
tests
assets/fonts
- name: Install LuaJIT
run: sudo apt-get update && sudo apt-get install -y luajit
- name: Native ownership, reload, input and visibility
working-directory: gen2
run: |
luajit tests/engine/gen3_modal_stack.lua
luajit tests/engine/gen3_modal_shared.lua
- name: Identical consumer on pinned native engines
run: python3 gen2/tools/gba-modal-check/check.py --gen1 gen1-reference --gen2 gen2 --report "${{ runner.temp }}/gba-modal.json"
- uses: actions/upload-artifact@v7
with:
name: native-gba-modal-comparison
path: ${{ runner.temp }}/gba-modal.json
if-no-files-found: error
43 changes: 43 additions & 0 deletions .github/workflows/input-hook-contract.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: portable input hook contract
on:
pull_request:
workflow_dispatch:
permissions:
contents: read
concurrency:
group: input-hook-contract-${{ github.ref }}
cancel-in-progress: true
jobs:
contract:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v7
- uses: actions/checkout@v7
with:
repository: bryanthaboi/gen1recomp
ref: 79ea62f45fb2ea8f65d081a109431e4eb1bbdb36
path: .contract-reference/gen1
- name: Install ROM-free test runtime
run: sudo apt-get update && sudo apt-get install -y luajit
- name: Check native input and host routing
run: |
luajit tests/engine/portable_input_hooks.lua
luajit tests/engine/portable_input_routing.lua
- name: Compare both native engines through the same mod
run: |
mkdir -p /tmp/input-hook-contract
python3 tools/input-hook-contract-check/check.py --gen1 .contract-reference/gen1 \
--report /tmp/input-hook-contract/api2-native.json
- name: Check unified callback and API-3 integration
run: |
python3 tools/input-hook-contract-check/check.py --gen1 .contract-reference/gen1 \
--format unified --report /tmp/input-hook-contract/api2-unified.json
python3 tools/input-hook-contract-check/check.py --gen1 .contract-reference/gen1 \
--api 3 --format unified --report /tmp/input-hook-contract/api3.json
- uses: actions/upload-artifact@v6
if: always()
with:
name: input-hook-contract
path: /tmp/input-hook-contract
if-no-files-found: ignore
46 changes: 46 additions & 0 deletions .github/workflows/logic-speed-contract.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: portable core.logic_speed contract
on:
pull_request:
workflow_dispatch:
permissions:
contents: read
concurrency:
group: logic-speed-contract-${{ github.ref }}
cancel-in-progress: true
jobs:
contract:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v7
- uses: actions/checkout@v7
with:
repository: bryanthaboi/gen1recomp
ref: 79ea62f45fb2ea8f65d081a109431e4eb1bbdb36
path: .contract-reference/gen1
- name: Install ROM-free test runtime
run: sudo apt-get update && sudo apt-get install -y luajit
- name: Check native speed dispatch, ownership and clocks
run: |
luajit tests/engine/logic_speed.lua
luajit tests/engine/logic_speed_routing.lua
luajit tests/engine/logic_speed_clock.lua
- name: Compare native API 1 and 2
run: |
mkdir -p /tmp/logic-speed-contract
python3 tools/logic-speed-contract-check/check.py --gen1 .contract-reference/gen1 \
--api 1 --report /tmp/logic-speed-contract/api1-native.json
python3 tools/logic-speed-contract-check/check.py --gen1 .contract-reference/gen1 \
--report /tmp/logic-speed-contract/api2-native.json
- name: Compare unified callbacks and API 3
run: |
python3 tools/logic-speed-contract-check/check.py --gen1 .contract-reference/gen1 \
--format unified --report /tmp/logic-speed-contract/api2-unified.json
python3 tools/logic-speed-contract-check/check.py --gen1 .contract-reference/gen1 \
--api 3 --format unified --report /tmp/logic-speed-contract/api3.json
- uses: actions/upload-artifact@v6
if: always()
with:
name: logic-speed-contract
path: /tmp/logic-speed-contract
if-no-files-found: ignore
37 changes: 37 additions & 0 deletions .github/workflows/mod-asset-packs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Portable asset pack contracts
on:
pull_request:
paths:
- 'src/import/Pack*.lua'
- 'src/import/Importers.lua'
- 'src/import/CacheFs.lua'
- 'src/import/LuaWriter.lua'
- 'src/import/lttp/**'
- 'src/import/snes/**'
- 'src/import/RomImporter.lua'
- 'src/mods/AssetPacks.lua'
- 'src/mods/StreamMD5.lua'
- 'src/mods/Manifest.lua'
- 'src/mods/Loader.lua'
- 'src/mods/LauncherMods.lua'
- 'src/mods/ManagerState.lua'
- 'tests/engine/asset_pack_contracts.lua'
- 'tests/engine/native_pack_producers.lua'
- 'tests/pack_sources/**'
- 'tests/asset_pack_runtime/**'
- 'tests/native_pack_runtime/**'
- '.github/workflows/mod-asset-packs.yml'
workflow_dispatch:
permissions:
contents: read
jobs:
packs:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v7
- run: sudo apt-get update && sudo apt-get install -y luajit lua5.4
- run: luajit tests/engine/asset_pack_contracts.lua
- run: luajit tests/engine/native_pack_producers.lua
- name: Check the portable data parser on plain Lua
run: lua5.4 -e 'local d=require("src.import.PackData");local w=require("src.import.LuaWriter");assert(d.decode(w.encode({1,true,"x"}))[3]=="x");assert(not d.decode("return os.exit()"))'
44 changes: 44 additions & 0 deletions .github/workflows/mod-input-contract.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: portable logical mod input contract
on:
pull_request:
workflow_dispatch:
permissions:
contents: read
concurrency:
group: mod-input-contract-${{ github.ref }}
cancel-in-progress: true
jobs:
contract:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v7
- uses: actions/checkout@v7
with:
repository: bryanthaboi/gen1recomp
ref: 79ea62f45fb2ea8f65d081a109431e4eb1bbdb36
path: .contract-reference/gen1
- name: Install ROM-free test runtime
run: sudo apt-get update && sudo apt-get install -y luajit
- name: Check logical input, headless loading and lifecycle
run: |
luajit tests/engine/portable_mod_input.lua
luajit tests/engine/mod_input_lifecycle.lua
luajit tests/engine/mod_input_headless.lua
- name: Compare both native engines through the same mod
run: |
mkdir -p /tmp/mod-input-contract
python3 tools/mod-input-contract-check/check.py --gen1 .contract-reference/gen1 \
--report /tmp/mod-input-contract/api2-native.json
- name: Check unified callback and API-3 integration
run: |
python3 tools/mod-input-contract-check/check.py --gen1 .contract-reference/gen1 \
--format unified --report /tmp/mod-input-contract/api2-unified.json
python3 tools/mod-input-contract-check/check.py --gen1 .contract-reference/gen1 \
--api 3 --format unified --report /tmp/mod-input-contract/api3.json
- uses: actions/upload-artifact@v6
if: always()
with:
name: mod-input-contract
path: /tmp/mod-input-contract
if-no-files-found: ignore
Loading