Skip to content
1 viewer

rust 1,859,748 · typescript 235,215 · javascript 132,913 · python 20,426 · 6,405 files · digest 00b5738199cb · built in 1.5 s · crystals off

cre8-app-chess chess cargo crate

ChessApp — extracted RuntimeApp crate.

crates/cre8-app-chess · level 24 · 18,990 lines (16,970 code) · 39 files · 927 fns (118 tests) · cyclomatic Σ 2,215

18workspace deps
1direct dependents
8transitive dependents
282calls out
0calls in
883call-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.

Declared but never named in this crate's source: cre8-app-account (dev), cre8-app-transaction (dev), cre8-test-helpers (dev).

normal dep · 10 callsnormal dep · 1 callsnormal dep · 30 callsnormal dep · 5 callsnormal dep · 12 callsnormal dep · 4 callsnormal dep · 2 callsnormal dep · 115 callsnormal dep · 40 callsnormal dep · 8 callsnormal dep · 1 callsnormal dep · 14 callsnormal dep · 14 callsnormal dep · 4 callsnormal dep · 3 callsnormal dep · 0 callsnormal dep · 10 callsnormal dep · 9 callsdev dep · 0 calls · never nameddev dep · 0 calls · never nameddev dep · 0 calls · never namednormal dep · 0 callsdev dep · 0 calls · never namedapp-chessL24 · 16,970 linescre8-app-chessapp-actionL7 · 2,574 linescre8-app-actionapp-agentL23 · 25,432 linescre8-app-agentapp-gameL16 · 6,801 linescre8-app-gameapp-itemL19 · 6,487 linescre8-app-itemapp-manifoldL9 · 18,864 linescre8-app-manifoldapp-protocolL8 · 25,895 linescre8-app-protocolapp-roomL15 · 5,478 linescre8-app-roomapp-truthL6 · 20,464 linescre8-app-truthapp-view-libL7 · 87,064 linescre8-app-view-libplatform-entropyL3 · 59 linescre8-platform-entropyplatform-fsL0 · 207 linescre8-platform-fsplatform-timeL3 · 65 linescre8-platform-timeruntime-app-typesL5 · 2,860 linescre8-runtime-app-typesruntime-contractsL0 · 6,077 linescre8-runtime-contractsruntime-coreL2 · 747 linescre8-runtime-coreruntime-hostL1 · 1,649 linescre8-runtime-hostutil-cryptoL3 · 749 linescre8-util-cryptoutil-view-htmlL0 · 1,660 linescre8-util-view-htmlapp-accountL8 · 3,105 linescre8-app-accountapp-transactionL17 · 464 linescre8-app-transactiontest-helpersL28 · 557 linescre8-test-helpersruntime-app-catalogL27 · 676 linescre8-runtime-app-catalogruntime-test-suiteL0 · 0 linescre8-runtime-test-suite

Files

lowhigh
crates/cre8-app-chess/src/app.rs · 689 lines · 16 fnsapp.rscrates/cre8-app-chess/src/bin/chess_moon_bite/main.rs · 3 lines · 1 fnscrates/cre8-app-chess/src/bin/chess_moon_bite/run.rs · 134 lines · 9 fnsrun.rscrates/cre8-app-chess/src/bin/chess_multiplayer_demo/main.rs · 3 lines · 1 fnscrates/cre8-app-chess/src/bin/chess_multiplayer_demo/run.rs · 233 lines · 8 fnsrun.rscrates/cre8-app-chess/src/clock.rs · 89 lines · 12 fnsclock.…crates/cre8-app-chess/src/collection.rs · 1,028 lines · 75 fnscollection.rscrates/cre8-app-chess/src/collection/ledger.rs · 218 lines · 18 fnsledger.rscrates/cre8-app-chess/src/collection/ledger_tests.rs · 156 lines · 10 fnsledger_tes…crates/cre8-app-chess/src/collection_tests.rs · 221 lines · 12 fnscollection_…crates/cre8-app-chess/src/connection.rs · 597 lines · 16 fnsconnection.rscrates/cre8-app-chess/src/connection_collection.rs · 121 lines · 10 fnsconnecti…crates/cre8-app-chess/src/connection_endings.rs · 222 lines · 16 fnsconnection_…crates/cre8-app-chess/src/connection_matchmaker.rs · 803 lines · 49 fnsconnection_matchmaker.…crates/cre8-app-chess/src/connection_moves.rs · 4,928 lines · 231 fnsconnection_moves.rscrates/cre8-app-chess/src/endings_tests.rs · 145 lines · 10 fnsendings_te…crates/cre8-app-chess/src/fen_projection.rs · 51 lines · 4 fnsfen_pr…crates/cre8-app-chess/src/init.rs · 13 lines · 1 fnscrates/cre8-app-chess/src/lib.rs · 35 lines · 0 fnscrates/cre8-app-chess/src/matchmaking.rs · 95 lines · 7 fnsmatchm…crates/cre8-app-chess/src/matchmaking_tests.rs · 163 lines · 12 fnsmatchma…crates/cre8-app-chess/src/model.rs · 290 lines · 17 fnsmodel.rscrates/cre8-app-chess/src/rules.rs · 503 lines · 50 fnsrules.rscrates/cre8-app-chess/src/session_reuse_tests.rs · 129 lines · 6 fnssessio…crates/cre8-app-chess/src/solver.rs · 214 lines · 15 fnssolver.rscrates/cre8-app-chess/src/special_moves_tests.rs · 299 lines · 16 fnsspecial_move…crates/cre8-app-chess/src/store.rs · 1,785 lines · 79 fnsstore.rscrates/cre8-app-chess/src/verified_caller_tests.rs · 230 lines · 10 fnsverified_cal…crates/cre8-app-chess/src/view/board.rs · 151 lines · 7 fnsboard.rscrates/cre8-app-chess/src/view/chess_collection.js · 159 lines · 18 fnschess_…crates/cre8-app-chess/src/view/chess_lobby.js · 137 lines · 8 fnschess_l…crates/cre8-app-chess/src/view/chess_match.js · 659 lines · 55 fnschess_match.jscrates/cre8-app-chess/src/view/chess_piece.js · 85 lines · 5 fnschess_…crates/cre8-app-chess/src/view/collection_page.rs · 584 lines · 28 fnscollection_page.rscrates/cre8-app-chess/src/view/lobby.rs · 305 lines · 10 fnslobby.rscrates/cre8-app-chess/src/view/match_page.rs · 889 lines · 41 fnsmatch_page.rscrates/cre8-app-chess/src/view/mod.rs · 103 lines · 5 fnsmod.rscrates/cre8-app-chess/src/view/model.rs · 333 lines · 26 fnsmodel.rscrates/cre8-app-chess/src/view/pieces.rs · 168 lines · 13 fnspieces.…

File call graph

Resolved calls between this crate's files, callers left of callees.

2 calls1 calls2 calls1 calls4 calls5 calls5 calls1 calls4 calls1 calls2 calls6 calls5 calls3 calls2 calls2 calls1 calls8 calls10 calls9 calls1 calls1 calls3 calls1 calls3 calls2 calls2 calls3 calls1 calls2 calls3 calls5 calls4 calls1 calls41 calls6 calls6 calls3 calls15 calls1 calls22 calls2 calls1 calls17 calls1 calls2 calls58 calls3 calls1 calls17 calls6 calls2 calls1 calls6 calls1 calls1 calls2 calls1 calls1 calls9 calls4 calls2 calls1 calls1 calls15 calls1 calls7 calls3 calls2 calls4 calls1 calls15 calls2 calls8 calls2 calls11 calls7 calls15 calls9 calls1 calls4 calls2 calls2 calls6 calls3 calls14 calls1 calls2 calls5 calls2 calls1 calls1 calls2 calls4 calls11 calls1 calls1 calls5 calls1 calls1 calls3 calls2 calls1 calls1 calls1 calls3 calls1 calls1 calls1 calls9 calls1 calls1 calls3 calls7 calls22 calls7 calls3 calls1 calls12 calls6 calls3 calls2 callsconnection_moves.rsconnection_movescrates/cre8-app-chess/src/connection_moves.rs · 202 call sites in/outstore.rsstorecrates/cre8-app-chess/src/store.rs · 118 call sites in/outconnection.rsconnectioncrates/cre8-app-chess/src/connection.rs · 98 call sites in/outmatch_page.rsview::match_pagecrates/cre8-app-chess/src/view/match_page.rs · 81 call sites in/outmodel.rsview::modelcrates/cre8-app-chess/src/view/model.rs · 81 call sites in/outconnection_matchmaker.rsconnection_matchmakercrates/cre8-app-chess/src/connection_matchmaker.rs · 79 call sites in/outrules.rsrulescrates/cre8-app-chess/src/rules.rs · 68 call sites in/outspecial_moves_tests.rsspecial_moves_testscrates/cre8-app-chess/src/special_moves_tests.rs · 68 call sites in/outcollection.rscollectioncrates/cre8-app-chess/src/collection.rs · 52 call sites in/outmatchmaking_tests.rsmatchmaking_testscrates/cre8-app-chess/src/matchmaking_tests.rs · 32 call sites in/outsolver.rssolvercrates/cre8-app-chess/src/solver.rs · 28 call sites in/outcollection_page.rsview::collection_pagecrates/cre8-app-chess/src/view/collection_page.rs · 28 call sites in/outcollection_tests.rscollection_testscrates/cre8-app-chess/src/collection_tests.rs · 27 call sites in/outendings_tests.rsendings_testscrates/cre8-app-chess/src/endings_tests.rs · 27 call sites in/outpieces.rsview::piecescrates/cre8-app-chess/src/view/pieces.rs · 26 call sites in/outverified_caller_tests.rsverified_caller_testscrates/cre8-app-chess/src/verified_caller_tests.rs · 23 call sites in/outconnection_endings.rsconnection_endingscrates/cre8-app-chess/src/connection_endings.rs · 20 call sites in/outlobby.rsview::lobbycrates/cre8-app-chess/src/view/lobby.rs · 16 call sites in/outmod.rsviewcrates/cre8-app-chess/src/view/mod.rs · 15 call sites in/outmatchmaking.rsmatchmakingcrates/cre8-app-chess/src/matchmaking.rs · 14 call sites in/outledger.rscollection::ledgercrates/cre8-app-chess/src/collection/ledger.rs · 13 call sites in/outledger_tests.rscollection::ledger_testscrates/cre8-app-chess/src/collection/ledger_tests.rs · 13 call sites in/outfen_projection.rsfen_projectioncrates/cre8-app-chess/src/fen_projection.rs · 12 call sites in/outapp.rsappcrates/cre8-app-chess/src/app.rs · 10 call sites in/outclock.rsclockcrates/cre8-app-chess/src/clock.rs · 10 call sites in/outsession_reuse_tests.rssession_reuse_testscrates/cre8-app-chess/src/session_reuse_tests.rs · 10 call sites in/outconnection_collection.rsconnection_collectioncrates/cre8-app-chess/src/connection_collection.rs · 8 call sites in/outrun.rsbin::chess_multiplayer_demo::runcrates/cre8-app-chess/src/bin/chess_multiplayer_demo/run.rs · 6 call sites in/outrun.rsbin::chess_moon_bite::runcrates/cre8-app-chess/src/bin/chess_moon_bite/run.rs · 5 call sites in/outboard.rsview::boardcrates/cre8-app-chess/src/view/board.rs · 5 call sites in/outinit.rsinitcrates/cre8-app-chess/src/init.rs · 3 call sites in/outmodel.rsmodelcrates/cre8-app-chess/src/model.rs · 3 call sites in/outchess_match.jssrc::view::chess_matchcrates/cre8-app-chess/src/view/chess_match.js · 3 call sites in/outchess_lobby.jssrc::view::chess_lobbycrates/cre8-app-chess/src/view/chess_lobby.js · 2 call sites in/out

Heaviest functions

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

functionkindlinescyclomaticcallerscalleesweightcrystal
connectsrc/connection.rs:313fn29537618.8
canonical_tokensrc/connection_moves.rs:5193fn7320016.3
ensure_tablessrc/store.rs:232fn311515.8
ensure_tables_storagesrc/store.rs:236fn31115.4
Game::piece_onsrc/special_moves_tests.rs:83method411114.8
Game::statesrc/special_moves_tests.rs:73method31114.6
list_pieces_by_sessionsrc/store.rs:363fn312114.4
list_pieces_by_session_storagesrc/store.rs:367fn344154.3
view_patchsrc/view/match_page.rs:813fn245564
color_namesrc/rules.rs:322fn62303.2
serial_of_assetsrc/collection.rs:240fn31503.2
handle_chess_view_patchsrc/connection.rs:309fn31113.2
chess_action_handlersrc/connection.rs:369fn61103.2
dispatchsrc/connection_collection.rs:138fn95143.2
dispatchsrc/connection_endings.rs:255fn147133.2
parse_fensrc/rules.rs:174fn135503.2
outcome_insrc/rules.rs:225fn2212743.1
squaressrc/view/chess_match.js:130fn31603.1
actorIsMesrc/view/chess_match.js:29fn13103.1
holdssrc/view/chess_match.js:30fn45513.1
role_lettersrc/view/pieces.rs:112fn106303
first_stringsrc/connection_moves.rs:5159fn92403
hex_coloursrc/collection.rs:198fn52202.9
verified_callersrc/connection_moves.rs:4895fn31512.8
next_turnsrc/store.rs:517fn42502.8
normalize_squaresrc/connection_moves.rs:5213fn134302.8
describesrc/rules.rs:359fn254152.7
initial_state_hashsrc/store.rs:477fn391822.7
legal_movessrc/rules.rs:189fn81612.6
sanitize_idsrc/connection.rs:491fn34602.6
Outcome::is_oversrc/rules.rs:127method311002.6
resolve_room_idsrc/connection_matchmaker.rs:834fn811102.5
load_pieces_for_inputsrc/connection_moves.rs:4466fn93642.5
capitalizesrc/view/match_page.rs:951fn41802.5
variant_from_idsrc/connection_moves.rs:3904fn81712.5
resolve_session_idsrc/connection_moves.rs:4832fn811002.4
Game::play_onesrc/special_moves_tests.rs:59method1311012.4
role_entrysrc/connection.rs:456fn111202.4
create_match_with_actionsrc/connection_moves.rs:149fn18433222.3
get_match_by_sessionsrc/store.rs:825fn311522.3

Outside the workspace

anyhow cozy-chess hyperdb serde serde_json