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-festival festival cargo crate
FestivalApp — the aggregator/source form: one branded program assembled from slots that point into Event (sessions), Room (stages), and Shop (merch), resolved live by connection name. Emits FestivalAttendance facts the Credential sink verifies for a FestivalPass badge. No crate dependency on those apps. (2026-06-24).
Neighbourhood
Left: crates that declare this one. Right: crates it declares (dev-dependencies included). Edge width grows with resolved calls.
Files
File call graph
Resolved calls between this crate's files, callers left of callees.
Heaviest functions
By call-graph weight (PageRank; 1.0 is the average function). 101 functions in all.
| function | kind | lines | cyclomatic | callers | callees | weight | crystal |
|---|---|---|---|---|---|---|---|
| derive_festival_idsrc/model.rs:46 | fn | 3 | 1 | 3 | 1 | 2.7 | |
| parsesrc/connection.rs:389 | fn | 3 | 1 | 10 | 0 | 2.6 | |
| program_htmlsrc/view_templates.rs:309 | fn | 11 | 3 | 6 | 2 | 2 | |
| set_statussrc/connection.rs:243 | fn | 12 | 1 | 2 | 5 | 1.7 | |
| load_festivalsrc/model.rs:104 | fn | 3 | 1 | 8 | 3 | 1.7 | |
| resolve_festival_idsrc/connection.rs:164 | fn | 9 | 5 | 7 | 1 | 1.4 | |
| slot_row_htmlsrc/view_templates.rs:321 | fn | 56 | 7 | 1 | 6 | 1.4 | |
| runsrc/init.rs:7 | fn | 3 | 1 | 2 | 0 | 1.3 | |
| parse_festivalsrc/model.rs:120 | fn | 14 | 1 | 2 | 5 | 1.3 | |
| program_entrysrc/view_templates.rs:450 | fn | 7 | 1 | 4 | 0 | 1.3 | |
| derive_attendance_idsrc/model.rs:228 | fn | 3 | 1 | 2 | 1 | 1.2 | |
| upsert_festivalsrc/model.rs:97 | fn | 6 | 3 | 6 | 2 | 1.2 | |
| festival_when_labelsrc/view_templates.rs:388 | fn | 6 | 1 | 3 | 1 | 1.1 | |
| connectsrc/connection.rs:149 | fn | 10 | 1 | 3 | 1 | 1.1 | |
| derive_slot_idsrc/model.rs:162 | fn | 3 | 1 | 1 | 2 | 1 | |
| slugifysrc/model.rs:42 | fn | 3 | 1 | 2 | 1 | 1 | |
| parse_attendancesrc/model.rs:278 | fn | 8 | 1 | 2 | 2 | 0.9 | |
| FestivalSlotKind::keysrc/model.rs:152 | method | 7 | 3 | 1 | 0 | 0.9 | |
| list_slots_forsrc/model.rs:208 | fn | 6 | 1 | 4 | 2 | 0.9 | |
| festival_list_bodysrc/view_templates.rs:97 | fn | 14 | 2 | 1 | 8 | 0.9 | |
| festival_create_bodysrc/view_templates.rs:154 | fn | 4 | 1 | 1 | 3 | 0.9 | |
| festival_detail_route_contextsrc/view_templates.rs:214 | fn | 10 | 2 | 1 | 0 | 0.9 | |
| festival_create_treesrc/view_templates.rs:159 | fn | 13 | 2 | 2 | 4 | 0.9 | |
| parse_slotsrc/model.rs:215 | fn | 10 | 1 | 1 | 4 | 0.9 | |
| requiredsrc/connection.rs:160 | fn | 3 | 1 | 4 | 0 | 0.8 | |
| list_festivalssrc/model.rs:116 | fn | 3 | 1 | 1 | 2 | 0.8 | |
| Festival::newsrc/model.rs:69 | method | 17 | 1 | 4 | 1 | 0.8 | |
| load_attendancesrc/model.rs:260 | fn | 7 | 1 | 3 | 4 | 0.7 | |
| festival_list_treesrc/view_templates.rs:112 | fn | 39 | 8 | 2 | 7 | 0.7 | |
| graphsrc/model.rs:292 | fn | 3 | 1 | 3 | 0 | 0.7 | |
| checkin_formsrc/view_templates.rs:404 | fn | 12 | 1 | 2 | 2 | 0.7 | |
| claim_pass_formsrc/view_templates.rs:420 | fn | 18 | 1 | 2 | 2 | 0.7 | |
| create_handlersrc/connection.rs:185 | fn | 25 | 4 | 1 | 9 | 0.7 | |
| update_handlersrc/connection.rs:211 | fn | 23 | 5 | 1 | 5 | 0.7 | |
| publish_handlersrc/connection.rs:235 | fn | 3 | 1 | 1 | 1 | 0.7 | |
| archive_handlersrc/connection.rs:239 | fn | 3 | 1 | 1 | 1 | 0.7 | |
| slot_add_handlersrc/connection.rs:258 | fn | 19 | 3 | 1 | 7 | 0.7 | |
| get_handlersrc/connection.rs:280 | fn | 13 | 2 | 1 | 4 | 0.7 | |
| list_handlersrc/connection.rs:294 | fn | 12 | 3 | 1 | 2 | 0.7 | |
| schedule_handlersrc/connection.rs:309 | fn | 16 | 1 | 1 | 5 | 0.7 |
Outside the workspace
anyhow hyperdb serde serde_json