refactor: modularize api server assets and handlers

This commit is contained in:
2026-05-14 22:54:52 +08:00
parent 4ba1ebbbdf
commit 1b54db4f92
47 changed files with 8081 additions and 6142 deletions

View File

@@ -168,8 +168,7 @@ pub fn start_run_with_seed_at_and_item_type_count(
let profile_id =
normalize_required_string(profile_id).ok_or(Match3DFieldError::MissingProfileId)?;
let clear_count =
normalize_match3d_runtime_clear_count(config.clear_count, config.difficulty);
let clear_count = normalize_match3d_runtime_clear_count(config.clear_count, config.difficulty);
let total_item_count = clear_count
.checked_mul(MATCH3D_ITEMS_PER_CLEAR)
.ok_or(Match3DFieldError::InvalidClearCount)?;
@@ -333,7 +332,8 @@ fn build_initial_items(
) -> Vec<Match3DItemSnapshot> {
let mut rng = DeterministicRng::new(seed ^ ((clear_count as u64) << 32) ^ difficulty as u64);
let base_radius = resolve_item_radius(difficulty);
let item_type_count = resolve_item_type_count(clear_count, difficulty, item_type_count_override);
let item_type_count =
resolve_item_type_count(clear_count, difficulty, item_type_count_override);
let selected_visual_keys = select_visual_keys(&mut rng, theme_text, item_type_count);
let size_tier_plan = resolve_size_tier_plan(item_type_count);
let mut items = Vec::with_capacity((clear_count * MATCH3D_ITEMS_PER_CLEAR) as usize);