Skip to content
1 viewer

rust 1,961,941 · typescript 233,850 · javascript 141,145 · python 22,871 · 6,801 files · digest 6d882eacc8db · built in 12.5 s · crystals off

cre8-app-emulation emulation cargo crate

EmulationApp — console emulation plus streaming, session, and wasm helpers.

crates/cre8-app-emulation · level 13 · 21,672 lines (17,269 code) · 56 files · 1,120 fns (240 tests) · cyclomatic Σ 2,800

14workspace deps
2direct dependents
11transitive dependents
366calls out
1calls in
925call-graph weight
0.0%exact crystals

Neighbourhood

Left: crates that declare this one. Right: crates it declares (dev-dependencies included). Edge width grows with resolved calls.

normal dep · 2 calls · source referencenormal dep · 0 calls · source referencenormal dep · 39 calls · source referencenormal dep · 24 calls · source referencenormal dep · 76 calls · source referencenormal dep · 1 calls · source referencenormal dep · 19 calls · source referencenormal dep · 61 calls · source referencenormal dep · 124 calls · source referencenormal dep · 0 calls · incomplete scannormal dep · 0 calls · source referencenormal dep · 18 calls · source referencenormal dep · 1 calls · source referencenormal dep · 1 calls · source referencenormal dep · 1 calls · source referencenormal dep · 0 calls · source referenceapp-emulationL13 · 17,269 linescre8-app-emulationapp-intelligenceL12 · 6,289 linescre8-app-intelligenceapp-intelligence-apiL4 · 1,046 linescre8-app-intelligence-apiapp-manifoldL10 · 18,941 linescre8-app-manifoldapp-truthL7 · 20,485 linescre8-app-truthapp-view-libL8 · 89,193 linescre8-app-view-libplatform-envL3 · 316 linescre8-platform-envplatform-timeL3 · 65 linescre8-platform-timeruntime-app-typesL6 · 2,860 linescre8-runtime-app-typesruntime-contractsL0 · 6,322 linescre8-runtime-contractsruntime-coreL2 · 747 linescre8-runtime-coreruntime-hostL1 · 1,649 linescre8-runtime-hostutil-cryptoL3 · 749 linescre8-util-cryptoutil-raw-route-authL7 · 632 linescre8-util-raw-route-authutil-view-htmlL0 · 1,660 linescre8-util-view-htmlapp-tvL18 · 24,131 linescre8-app-tvruntime-app-catalogL28 · 681 linescre8-runtime-app-catalog

Files

lowhigh
crates/cre8-app-emulation/src/access.rs · 100 lines · 13 fnscrates/cre8-app-emulation/src/achievements.rs · 475 lines · 35 fnsachievements.rscrates/cre8-app-emulation/src/achievements/detector_tests.rs · 159 lines · 10 fnsdetector…crates/cre8-app-emulation/src/ancestry_routes.rs · 172 lines · 19 fnsancestry_…crates/cre8-app-emulation/src/app.rs · 2,617 lines · 178 fnsapp.rscrates/cre8-app-emulation/src/app/cartridge_storage_tests.rs · 482 lines · 18 fnscartridge_storage…crates/cre8-app-emulation/src/app/input_tests.rs · 149 lines · 10 fnsinput_t…crates/cre8-app-emulation/src/app/manual_frame_tests.rs · 170 lines · 7 fnsmanual_f…crates/cre8-app-emulation/src/app/shutdown_tests.rs · 268 lines · 10 fnsshutdown_t…crates/cre8-app-emulation/src/app/stream_access.rs · 212 lines · 7 fnsstream_acc…crates/cre8-app-emulation/src/app/stream_access_tests.rs · 153 lines · 8 fnsstream_…crates/cre8-app-emulation/src/browser/adapter.ts · 323 lines · 13 fnsadapter.tscrates/cre8-app-emulation/src/browser/atari-paddle-controls.ts · 56 lines · 9 fnscrates/cre8-app-emulation/src/browser/controller_assignment.ts · 195 lines · 12 fnscontrolle…crates/cre8-app-emulation/src/browser/crt-shader.ts · 35 lines · 0 fnscrates/cre8-app-emulation/src/browser/emulation-audio.ts · 85 lines · 5 fnscrates/cre8-app-emulation/src/browser/emulation-clock.ts · 21 lines · 3 fnscrates/cre8-app-emulation/src/browser/emulation-frame.ts · 472 lines · 29 fnsemulation-frame.tscrates/cre8-app-emulation/src/browser/emulation-view.ts · 276 lines · 21 fnsemulation-v…crates/cre8-app-emulation/src/browser/fetch-with-retry.ts · 118 lines · 7 fnsfetch-w…crates/cre8-app-emulation/src/browser/framebuffer.ts · 50 lines · 6 fnscrates/cre8-app-emulation/src/browser/gamepad.ts · 85 lines · 4 fnscrates/cre8-app-emulation/src/browser/keymap.ts · 149 lines · 2 fnskeymap.…crates/cre8-app-emulation/src/browser/platform_buttons.ts · 140 lines · 2 fnsplatfor…crates/cre8-app-emulation/src/browser/touch-controls.ts · 60 lines · 4 fnscrates/cre8-app-emulation/src/browser/touch-layout.ts · 65 lines · 1 fnscrates/cre8-app-emulation/src/browser/touch_layout_storage.ts · 146 lines · 15 fnstouch_l…crates/cre8-app-emulation/src/browser/touch_overlay.ts · 23 lines · 0 fnscrates/cre8-app-emulation/src/cartridge_store.rs · 214 lines · 9 fnscartridge_…crates/cre8-app-emulation/src/cartridge_store/tests.rs · 231 lines · 12 fnstests.rscrates/cre8-app-emulation/src/cycle_economy.rs · 223 lines · 23 fnscycle_econo…crates/cre8-app-emulation/src/cycle_economy/receipt_tests.rs · 103 lines · 3 fnsreceipt…crates/cre8-app-emulation/src/input_emission.rs · 243 lines · 18 fnsinput_emis…crates/cre8-app-emulation/src/input_emission/flow_tests.rs · 92 lines · 4 fnscrates/cre8-app-emulation/src/lib.rs · 30 lines · 7 fnscrates/cre8-app-emulation/src/llm_driver.rs · 872 lines · 76 fnsllm_driver.rscrates/cre8-app-emulation/src/llm_driver/provider.rs · 135 lines · 12 fnsprovider…crates/cre8-app-emulation/src/llm_driver/smoke_tests.rs · 180 lines · 7 fnssmoke_tes…crates/cre8-app-emulation/src/llm_driver/vision_provider_tests.rs · 188 lines · 21 fnsvision_pr…crates/cre8-app-emulation/src/playthrough_certificate.rs · 317 lines · 26 fnsplaythrough_cer…crates/cre8-app-emulation/src/playthrough_certificate/certificate_tests.rs · 140 lines · 9 fnscertific…crates/cre8-app-emulation/src/registry.rs · 250 lines · 25 fnsregistry.rscrates/cre8-app-emulation/src/rom_patch.rs · 295 lines · 22 fnsrom_patch.rscrates/cre8-app-emulation/src/session.rs · 1,928 lines · 131 fnssession.rscrates/cre8-app-emulation/src/session/checkpoint_tests.rs · 115 lines · 7 fnscheckpo…crates/cre8-app-emulation/src/session/control_tests.rs · 249 lines · 12 fnscontrol_te…crates/cre8-app-emulation/src/session/input_tests.rs · 303 lines · 17 fnsinput_tests.rscrates/cre8-app-emulation/src/session/storage_tests.rs · 466 lines · 22 fnsstorage_tests.rscrates/cre8-app-emulation/src/session_gossip.rs · 270 lines · 19 fnssession_go…crates/cre8-app-emulation/src/streaming.rs · 707 lines · 43 fnsstreaming.rscrates/cre8-app-emulation/src/streaming/buffer.rs · 253 lines · 22 fnsbuffer.rscrates/cre8-app-emulation/src/view_templates.rs · 1,046 lines · 64 fnsview_templates.rscrates/cre8-app-emulation/src/wasm_api.rs · 525 lines · 32 fnswasm_api.rscrates/cre8-app-emulation/src/wasm_api/checkpoint_tests.rs · 102 lines · 6 fnscheckpo…crates/cre8-app-emulation/src/wasm_api/control_tests.rs · 276 lines · 13 fnscontrol_tes…crates/cre8-app-emulation/src/wasm_api/route_tests.rs · 260 lines · 10 fnsroute_test…

File call graph

Resolved calls between this crate's files, callers left of callees. Showing the 48 of 53 files most involved in calls.

18 calls19 calls4 calls4 calls1 calls4 calls14 calls2 calls3 calls42 calls3 calls81 calls2 calls1 calls2 calls3 calls13 calls6 calls27 calls37 calls1 calls10 calls3 calls7 calls1 calls1 calls7 calls10 calls11 calls3 calls1 calls3 calls14 calls17 calls34 calls16 calls2 calls3 calls3 calls7 calls22 calls7 calls4 calls1 calls2 calls3 calls2 calls5 calls1 calls3 calls2 calls1 calls2 calls3 calls2 calls2 calls1 calls1 calls1 calls2 calls1 calls1 calls10 calls1 calls16 calls3 calls6 calls11 calls13 calls3 calls12 calls6 calls6 calls4 calls6 calls4 calls4 calls16 calls2 calls4 calls1 calls2 calls7 calls1 calls6 calls4 calls22 calls4 calls75 calls7 calls5 calls1 calls23 calls1 calls11 calls1 calls132 calls2 calls1 calls3 calls2 calls3 calls1 calls3 calls1 calls29 calls1 calls1 calls10 calls5 calls14 calls1 calls14 calls1 calls2 calls28 calls5 calls1 calls4 calls115 calls5 calls34 calls10 callssession.rssessioncrates/cre8-app-emulation/src/session.rs · 538 call sites in/outapp.rsappcrates/cre8-app-emulation/src/app.rs · 210 call sites in/outwasm_api.rswasm_apicrates/cre8-app-emulation/src/wasm_api.rs · 168 call sites in/outstorage_tests.rssession::storage_testscrates/cre8-app-emulation/src/session/storage_tests.rs · 141 call sites in/outregistry.rsregistrycrates/cre8-app-emulation/src/registry.rs · 129 call sites in/outcontrol_tests.rswasm_api::control_testscrates/cre8-app-emulation/src/wasm_api/control_tests.rs · 125 call sites in/outcartridge_storage_tests.rsapp::cartridge_storage_testscrates/cre8-app-emulation/src/app/cartridge_storage_tests.rs · 107 call sites in/outcontrol_tests.rssession::control_testscrates/cre8-app-emulation/src/session/control_tests.rs · 91 call sites in/outshutdown_tests.rsapp::shutdown_testscrates/cre8-app-emulation/src/app/shutdown_tests.rs · 69 call sites in/outstream_access.rsapp::stream_accesscrates/cre8-app-emulation/src/app/stream_access.rs · 57 call sites in/outstreaming.rsstreamingcrates/cre8-app-emulation/src/streaming.rs · 55 call sites in/outroute_tests.rswasm_api::route_testscrates/cre8-app-emulation/src/wasm_api/route_tests.rs · 54 call sites in/outllm_driver.rsllm_drivercrates/cre8-app-emulation/src/llm_driver.rs · 50 call sites in/outbuffer.rsstreaming::buffercrates/cre8-app-emulation/src/streaming/buffer.rs · 50 call sites in/outcheckpoint_tests.rssession::checkpoint_testscrates/cre8-app-emulation/src/session/checkpoint_tests.rs · 47 call sites in/outaccess.rsaccesscrates/cre8-app-emulation/src/access.rs · 40 call sites in/outstream_access_tests.rsapp::stream_access_testscrates/cre8-app-emulation/src/app/stream_access_tests.rs · 39 call sites in/outinput_tests.rssession::input_testscrates/cre8-app-emulation/src/session/input_tests.rs · 39 call sites in/outcheckpoint_tests.rswasm_api::checkpoint_testscrates/cre8-app-emulation/src/wasm_api/checkpoint_tests.rs · 36 call sites in/outview_templates.rsview_templatescrates/cre8-app-emulation/src/view_templates.rs · 32 call sites in/outmanual_frame_tests.rsapp::manual_frame_testscrates/cre8-app-emulation/src/app/manual_frame_tests.rs · 31 call sites in/outsmoke_tests.rsllm_driver::smoke_testscrates/cre8-app-emulation/src/llm_driver/smoke_tests.rs · 28 call sites in/outprovider.rsllm_driver::providercrates/cre8-app-emulation/src/llm_driver/provider.rs · 27 call sites in/outplaythrough_certificate.rsplaythrough_certificatecrates/cre8-app-emulation/src/playthrough_certificate.rs · 27 call sites in/outinput_tests.rsapp::input_testscrates/cre8-app-emulation/src/app/input_tests.rs · 23 call sites in/outachievements.rsachievementscrates/cre8-app-emulation/src/achievements.rs · 22 call sites in/outcycle_economy.rscycle_economycrates/cre8-app-emulation/src/cycle_economy.rs · 21 call sites in/outdetector_tests.rsachievements::detector_testscrates/cre8-app-emulation/src/achievements/detector_tests.rs · 18 call sites in/outcartridge_store.rscartridge_storecrates/cre8-app-emulation/src/cartridge_store.rs · 18 call sites in/outrom_patch.rsrom_patchcrates/cre8-app-emulation/src/rom_patch.rs · 18 call sites in/outemulation-view.tssrc::browser::emulation-viewcrates/cre8-app-emulation/src/browser/emulation-view.ts · 17 call sites in/outinput_emission.rsinput_emissioncrates/cre8-app-emulation/src/input_emission.rs · 17 call sites in/outtests.rscartridge_store::testscrates/cre8-app-emulation/src/cartridge_store/tests.rs · 16 call sites in/outcertificate_tests.rsplaythrough_certificate::certif…crates/cre8-app-emulation/src/playthrough_certificate/certificate_tests.rs · 16 call sites in/outtouch-controls.tssrc::browser::touch-controlscrates/cre8-app-emulation/src/browser/touch-controls.ts · 14 call sites in/outflow_tests.rsinput_emission::flow_testscrates/cre8-app-emulation/src/input_emission/flow_tests.rs · 11 call sites in/outatari-paddle-controls.tssrc::browser::atari-paddle-cont…crates/cre8-app-emulation/src/browser/atari-paddle-controls.ts · 10 call sites in/outemulation-frame.tssrc::browser::emulation-framecrates/cre8-app-emulation/src/browser/emulation-frame.ts · 10 call sites in/outtouch_layout_storage.tssrc::browser::touch_layout_stor…crates/cre8-app-emulation/src/browser/touch_layout_storage.ts · 10 call sites in/outreceipt_tests.rscycle_economy::receipt_testscrates/cre8-app-emulation/src/cycle_economy/receipt_tests.rs · 9 call sites in/outvision_provider_tests.rsllm_driver::vision_provider_tes…crates/cre8-app-emulation/src/llm_driver/vision_provider_tests.rs · 6 call sites in/outancestry_routes.rsancestry_routescrates/cre8-app-emulation/src/ancestry_routes.rs · 5 call sites in/outadapter.tssrc::browser::adaptercrates/cre8-app-emulation/src/browser/adapter.ts · 5 call sites in/outemulation-audio.tssrc::browser::emulation-audiocrates/cre8-app-emulation/src/browser/emulation-audio.ts · 5 call sites in/outsession_gossip.rssession_gossipcrates/cre8-app-emulation/src/session_gossip.rs · 5 call sites in/outfetch-with-retry.tssrc::browser::fetch-with-retrycrates/cre8-app-emulation/src/browser/fetch-with-retry.ts · 4 call sites in/outplatform_buttons.tssrc::browser::platform_buttonscrates/cre8-app-emulation/src/browser/platform_buttons.ts · 4 call sites in/outcontroller_assignment.tssrc::browser::controller_assign…crates/cre8-app-emulation/src/browser/controller_assignment.ts · 3 call sites in/out

Heaviest functions

By call-graph weight (PageRank; 1.0 is the average function). 1,120 functions in all.

functionkindlinescyclomaticcallerscalleesweightcrystal
locksrc/registry.rs:201fn312107.9
audiosrc/streaming/buffer.rs:89fn279316.1
u32_atsrc/streaming/buffer.rs:80fn31105.7
livesrc/registry.rs:205fn312115.5
lock_registrysrc/session_gossip.rs:118fn31505.1
json_u64src/app.rs:2102fn1451504.9
EmulationSession::stopsrc/session.rs:2041method1933024.9
bad_requestsrc/app.rs:917fn311724.5
EmulationSession::allow_guest_mutationsrc/session.rs:904method72904.5
resolvesrc/registry.rs:215fn73914.3
CartridgeStorageBinding::is_durablesrc/session.rs:237method101404.2
require_wasm_ownersrc/wasm_api.rs:37fn1031814.2
rom_hashsrc/cycle_economy.rs:215fn31814.1
wasm_session_idsrc/wasm_api.rs:32fn31214.1
EmulationSession::save_full_state_bytessrc/session.rs:1019method1134004
EmulationSession::meta_contextsrc/session.rs:1847method101503.8
flush_bound_cartridge_storagesrc/session.rs:297fn6013223.6
refusalsrc/access.rs:109fn511233.5
Receiver::recv_timeoutsrc/streaming/buffer.rs:36method1742513.5
url_componentsrc/view_templates.rs:1023fn114503.4
flush_owned_cartridge_storagesrc/session.rs:358fn81713.2
gameboy_cartridgesrc/session/checkpoint_tests.rs:4fn1622003.1
EmulationSession::hot_swap_history_depthsrc/session.rs:1060method31703
EmulationSession::is_retiredsrc/session.rs:2061method311702.9
errorsrc/ancestry_routes.rs:68fn31822.9
mailboxsrc/streaming/buffer.rs:16fn41502.8
EmulationSession::preparesrc/session.rs:687method332572.8
EmulationSession::current_pcsrc/session.rs:1828method621302.8
Payload::newsrc/streaming/buffer.rs:118method123312.8
EmulationSession::frame_slotsrc/session.rs:2003method31902.7
Payload::mergesrc/streaming/buffer.rs:131method275912.7
currentsrc/browser/emulation-frame.ts:494nested fn13602.6
record_stopsrc/session_gossip.rs:160fn103222.6
EmulationSession::pause_with_priorsrc/session.rs:1796method122312.5
recordersrc/input_emission.rs:130fn51202.5
EmulationSession::load_state_bytessrc/session.rs:996method112422.4
EmulationSession::load_full_state_bytessrc/session.rs:1034method2131612.3
EmulationSession::read_memory_bytessrc/session.rs:1070method932302.3
AchievementRegistry::load_defaultsrc/achievements.rs:353method771302.3
requestsrc/app/cartridge_storage_tests.rs:45fn111602.3

Outside the workspace

anyhow base64 cre8-vm cre8virtual_app serde serde_json sha2 tungstenite wasm-bindgen