diff --git a/assets/images/demo/buildings/campfire_lit_stylea_1767138284018.png b/assets/images/demo/buildings/campfire_lit_stylea.png similarity index 100% rename from assets/images/demo/buildings/campfire_lit_stylea_1767138284018.png rename to assets/images/demo/buildings/campfire_lit_stylea.png diff --git a/assets/images/demo/buildings/campfire_lit_styleb_1767138299826.png b/assets/images/demo/buildings/campfire_lit_styleb.png similarity index 100% rename from assets/images/demo/buildings/campfire_lit_styleb_1767138299826.png rename to assets/images/demo/buildings/campfire_lit_styleb.png diff --git a/assets/images/demo/buildings/shack_stylea_1767138254236.png b/assets/images/demo/buildings/shack_stylea.png similarity index 100% rename from assets/images/demo/buildings/shack_stylea_1767138254236.png rename to assets/images/demo/buildings/shack_stylea.png diff --git a/assets/images/demo/buildings/shack_styleb_1767138270328.png b/assets/images/demo/buildings/shack_styleb.png similarity index 100% rename from assets/images/demo/buildings/shack_styleb_1767138270328.png rename to assets/images/demo/buildings/shack_styleb.png diff --git a/assets/images/demo/buildings/storage_chest_large_stylea_1767138508429.png b/assets/images/demo/buildings/storage_chest_large_stylea.png similarity index 100% rename from assets/images/demo/buildings/storage_chest_large_stylea_1767138508429.png rename to assets/images/demo/buildings/storage_chest_large_stylea.png diff --git a/assets/images/demo/buildings/storage_chest_large_styleb_1767138522254.png b/assets/images/demo/buildings/storage_chest_large_styleb.png similarity index 100% rename from assets/images/demo/buildings/storage_chest_large_styleb_1767138522254.png rename to assets/images/demo/buildings/storage_chest_large_styleb.png diff --git a/assets/images/demo/buildings/water_well_stylea_1767138314341.png b/assets/images/demo/buildings/water_well_stylea.png similarity index 100% rename from assets/images/demo/buildings/water_well_stylea_1767138314341.png rename to assets/images/demo/buildings/water_well_stylea.png diff --git a/assets/images/demo/buildings/water_well_styleb_1767138329619.png b/assets/images/demo/buildings/water_well_styleb.png similarity index 100% rename from assets/images/demo/buildings/water_well_styleb_1767138329619.png rename to assets/images/demo/buildings/water_well_styleb.png diff --git a/assets/images/demo/characters/kai_portrait_neutral_stylea_1767138072367.png b/assets/images/demo/characters/kai_portrait_neutral_stylea.png similarity index 100% rename from assets/images/demo/characters/kai_portrait_neutral_stylea_1767138072367.png rename to assets/images/demo/characters/kai_portrait_neutral_stylea.png diff --git a/assets/images/demo/characters/kai_portrait_neutral_styleb_1767138086572.png b/assets/images/demo/characters/kai_portrait_neutral_styleb.png similarity index 100% rename from assets/images/demo/characters/kai_portrait_neutral_styleb_1767138086572.png rename to assets/images/demo/characters/kai_portrait_neutral_styleb.png diff --git a/assets/images/demo/characters/kai_run_east_1_stylea_1767137189376.png b/assets/images/demo/characters/kai_run_east_1_stylea.png similarity index 100% rename from assets/images/demo/characters/kai_run_east_1_stylea_1767137189376.png rename to assets/images/demo/characters/kai_run_east_1_stylea.png diff --git a/assets/images/demo/characters/kai_run_east_1_stylea_1767136964918.png b/assets/images/demo/characters/kai_run_east_1_stylea_1767136964918.png deleted file mode 100644 index d411fd0c3..000000000 Binary files a/assets/images/demo/characters/kai_run_east_1_stylea_1767136964918.png and /dev/null differ diff --git a/assets/images/demo/characters/kai_run_east_1_styleb_1767137203569.png b/assets/images/demo/characters/kai_run_east_1_styleb.png similarity index 100% rename from assets/images/demo/characters/kai_run_east_1_styleb_1767137203569.png rename to assets/images/demo/characters/kai_run_east_1_styleb.png diff --git a/assets/images/demo/characters/kai_run_east_1_styleb_1767136978904.png b/assets/images/demo/characters/kai_run_east_1_styleb_1767136978904.png deleted file mode 100644 index c7346c50e..000000000 Binary files a/assets/images/demo/characters/kai_run_east_1_styleb_1767136978904.png and /dev/null differ diff --git a/assets/images/demo/characters/kai_run_east_2_stylea_1767137841250.png b/assets/images/demo/characters/kai_run_east_2_stylea.png similarity index 100% rename from assets/images/demo/characters/kai_run_east_2_stylea_1767137841250.png rename to assets/images/demo/characters/kai_run_east_2_stylea.png diff --git a/assets/images/demo/characters/kai_run_east_2_stylea_1767136992208.png b/assets/images/demo/characters/kai_run_east_2_stylea_1767136992208.png deleted file mode 100644 index 119d42f36..000000000 Binary files a/assets/images/demo/characters/kai_run_east_2_stylea_1767136992208.png and /dev/null differ diff --git a/assets/images/demo/characters/kai_run_east_2_styleb_1767137855906.png b/assets/images/demo/characters/kai_run_east_2_styleb.png similarity index 100% rename from assets/images/demo/characters/kai_run_east_2_styleb_1767137855906.png rename to assets/images/demo/characters/kai_run_east_2_styleb.png diff --git a/assets/images/demo/characters/kai_run_east_3_stylea_1767137870033.png b/assets/images/demo/characters/kai_run_east_3_stylea.png similarity index 100% rename from assets/images/demo/characters/kai_run_east_3_stylea_1767137870033.png rename to assets/images/demo/characters/kai_run_east_3_stylea.png diff --git a/assets/images/demo/characters/kai_run_east_3_styleb_1767137884078.png b/assets/images/demo/characters/kai_run_east_3_styleb.png similarity index 100% rename from assets/images/demo/characters/kai_run_east_3_styleb_1767137884078.png rename to assets/images/demo/characters/kai_run_east_3_styleb.png diff --git a/assets/images/demo/characters/kai_run_east_4_stylea_1767137898140.png b/assets/images/demo/characters/kai_run_east_4_stylea.png similarity index 100% rename from assets/images/demo/characters/kai_run_east_4_stylea_1767137898140.png rename to assets/images/demo/characters/kai_run_east_4_stylea.png diff --git a/assets/images/demo/characters/kai_run_east_4_styleb_1767137912826.png b/assets/images/demo/characters/kai_run_east_4_styleb.png similarity index 100% rename from assets/images/demo/characters/kai_run_east_4_styleb_1767137912826.png rename to assets/images/demo/characters/kai_run_east_4_styleb.png diff --git a/assets/images/demo/characters/kai_run_west_1_stylea_1767137943692.png b/assets/images/demo/characters/kai_run_west_1_stylea.png similarity index 100% rename from assets/images/demo/characters/kai_run_west_1_stylea_1767137943692.png rename to assets/images/demo/characters/kai_run_west_1_stylea.png diff --git a/assets/images/demo/characters/kai_run_west_1_styleb_1767137959659.png b/assets/images/demo/characters/kai_run_west_1_styleb.png similarity index 100% rename from assets/images/demo/characters/kai_run_west_1_styleb_1767137959659.png rename to assets/images/demo/characters/kai_run_west_1_styleb.png diff --git a/assets/images/demo/characters/kai_run_west_2_stylea_1767137974683.png b/assets/images/demo/characters/kai_run_west_2_stylea.png similarity index 100% rename from assets/images/demo/characters/kai_run_west_2_stylea_1767137974683.png rename to assets/images/demo/characters/kai_run_west_2_stylea.png diff --git a/assets/images/demo/characters/kai_run_west_2_styleb_1767137989210.png b/assets/images/demo/characters/kai_run_west_2_styleb.png similarity index 100% rename from assets/images/demo/characters/kai_run_west_2_styleb_1767137989210.png rename to assets/images/demo/characters/kai_run_west_2_styleb.png diff --git a/assets/images/demo/characters/kai_run_west_3_stylea_1767138002533.png b/assets/images/demo/characters/kai_run_west_3_stylea.png similarity index 100% rename from assets/images/demo/characters/kai_run_west_3_stylea_1767138002533.png rename to assets/images/demo/characters/kai_run_west_3_stylea.png diff --git a/assets/images/demo/characters/kai_run_west_3_styleb_1767138015631.png b/assets/images/demo/characters/kai_run_west_3_styleb.png similarity index 100% rename from assets/images/demo/characters/kai_run_west_3_styleb_1767138015631.png rename to assets/images/demo/characters/kai_run_west_3_styleb.png diff --git a/assets/images/demo/characters/kai_run_west_4_stylea_1767138043797.png b/assets/images/demo/characters/kai_run_west_4_stylea.png similarity index 100% rename from assets/images/demo/characters/kai_run_west_4_stylea_1767138043797.png rename to assets/images/demo/characters/kai_run_west_4_stylea.png diff --git a/assets/images/demo/characters/kai_run_west_4_styleb_1767138058575.png b/assets/images/demo/characters/kai_run_west_4_styleb.png similarity index 100% rename from assets/images/demo/characters/kai_run_west_4_styleb_1767138058575.png rename to assets/images/demo/characters/kai_run_west_4_styleb.png diff --git a/assets/images/demo/characters/zombie_attack_1_stylea_1767138212234.png b/assets/images/demo/characters/zombie_attack_1_stylea.png similarity index 100% rename from assets/images/demo/characters/zombie_attack_1_stylea_1767138212234.png rename to assets/images/demo/characters/zombie_attack_1_stylea.png diff --git a/assets/images/demo/characters/zombie_attack_1_styleb_1767138226377.png b/assets/images/demo/characters/zombie_attack_1_styleb.png similarity index 100% rename from assets/images/demo/characters/zombie_attack_1_styleb_1767138226377.png rename to assets/images/demo/characters/zombie_attack_1_styleb.png diff --git a/assets/images/demo/characters/zombie_walk_1_stylea_1767138155745.png b/assets/images/demo/characters/zombie_walk_1_stylea.png similarity index 100% rename from assets/images/demo/characters/zombie_walk_1_stylea_1767138155745.png rename to assets/images/demo/characters/zombie_walk_1_stylea.png diff --git a/assets/images/demo/characters/zombie_walk_1_styleb_1767138169552.png b/assets/images/demo/characters/zombie_walk_1_styleb.png similarity index 100% rename from assets/images/demo/characters/zombie_walk_1_styleb_1767138169552.png rename to assets/images/demo/characters/zombie_walk_1_styleb.png diff --git a/assets/images/demo/characters/zombie_walk_2_stylea_1767138184020.png b/assets/images/demo/characters/zombie_walk_2_stylea.png similarity index 100% rename from assets/images/demo/characters/zombie_walk_2_stylea_1767138184020.png rename to assets/images/demo/characters/zombie_walk_2_stylea.png diff --git a/assets/images/demo/characters/zombie_walk_2_styleb_1767138197688.png b/assets/images/demo/characters/zombie_walk_2_styleb.png similarity index 100% rename from assets/images/demo/characters/zombie_walk_2_styleb_1767138197688.png rename to assets/images/demo/characters/zombie_walk_2_styleb.png diff --git a/assets/images/demo/environment/bush_green_2_stylea_1767138480617.png b/assets/images/demo/environment/bush_green_2_stylea.png similarity index 100% rename from assets/images/demo/environment/bush_green_2_stylea_1767138480617.png rename to assets/images/demo/environment/bush_green_2_stylea.png diff --git a/assets/images/demo/environment/bush_green_2_styleb_1767138494297.png b/assets/images/demo/environment/bush_green_2_styleb.png similarity index 100% rename from assets/images/demo/environment/bush_green_2_styleb_1767138494297.png rename to assets/images/demo/environment/bush_green_2_styleb.png diff --git a/assets/images/demo/environment/oak_tree_stylea_1767138415774.png b/assets/images/demo/environment/oak_tree_stylea.png similarity index 100% rename from assets/images/demo/environment/oak_tree_stylea_1767138415774.png rename to assets/images/demo/environment/oak_tree_stylea.png diff --git a/assets/images/demo/environment/oak_tree_styleb_1767138429869.png b/assets/images/demo/environment/oak_tree_styleb.png similarity index 100% rename from assets/images/demo/environment/oak_tree_styleb_1767138429869.png rename to assets/images/demo/environment/oak_tree_styleb.png diff --git a/assets/images/demo/environment/rock_small_stylea_1767138453223.png b/assets/images/demo/environment/rock_small_stylea.png similarity index 100% rename from assets/images/demo/environment/rock_small_stylea_1767138453223.png rename to assets/images/demo/environment/rock_small_stylea.png diff --git a/assets/images/demo/environment/rock_small_styleb_1767138466136.png b/assets/images/demo/environment/rock_small_styleb.png similarity index 100% rename from assets/images/demo/environment/rock_small_styleb_1767138466136.png rename to assets/images/demo/environment/rock_small_styleb.png diff --git a/assets/images/demo/terrain/grass_tile_2_stylea_1767138386740.png b/assets/images/demo/terrain/grass_tile_2_stylea.png similarity index 100% rename from assets/images/demo/terrain/grass_tile_2_stylea_1767138386740.png rename to assets/images/demo/terrain/grass_tile_2_stylea.png diff --git a/assets/images/demo/terrain/grass_tile_2_styleb_1767138402100.png b/assets/images/demo/terrain/grass_tile_2_styleb.png similarity index 100% rename from assets/images/demo/terrain/grass_tile_2_styleb_1767138402100.png rename to assets/images/demo/terrain/grass_tile_2_styleb.png diff --git a/assets/images/demo/terrain/stone_path_straight_stylea_1767138359220.png b/assets/images/demo/terrain/stone_path_straight_stylea.png similarity index 100% rename from assets/images/demo/terrain/stone_path_straight_stylea_1767138359220.png rename to assets/images/demo/terrain/stone_path_straight_stylea.png diff --git a/assets/images/demo/terrain/stone_path_straight_styleb_1767138373248.png b/assets/images/demo/terrain/stone_path_straight_styleb.png similarity index 100% rename from assets/images/demo/terrain/stone_path_straight_styleb_1767138373248.png rename to assets/images/demo/terrain/stone_path_straight_styleb.png diff --git a/scripts/organize_demo_assets.py b/scripts/organize_demo_assets.py new file mode 100644 index 000000000..9436031e7 --- /dev/null +++ b/scripts/organize_demo_assets.py @@ -0,0 +1,120 @@ +#!/usr/bin/env python3 +""" +Organize demo assets - rename and subfolder +Removes timestamps and organizes into proper structure +""" + +import re +from pathlib import Path +import shutil + +def rename_and_organize_demo(): + """Organize demo assets into subfolders with clean names""" + + demo_base = Path("assets/images/demo") + + categories = { + 'characters': demo_base / 'characters', + 'buildings': demo_base / 'buildings', + 'terrain': demo_base / 'terrain', + 'environment': demo_base / 'environment' + } + + stats = {'renamed': 0, 'organized': 0} + + for category_name, category_path in categories.items(): + if not category_path.exists(): + continue + + print(f"\nšŸ“‚ {category_name}/") + + # Process all PNG files + for png_file in sorted(category_path.glob('*.png')): + # Skip if already in subfolder + if png_file.parent != category_path: + continue + + filename = png_file.name + + # Remove timestamp (13 digits at end before .png) + clean_name = re.sub(r'_\d{13}\.png$', '.png', filename) + + if clean_name != filename: + stats['renamed'] += 1 + print(f" āœļø {filename} → {clean_name}") + + # Rename file + new_path = png_file.parent / clean_name + if new_path.exists(): + # If target exists, keep the newer one + print(f" āš ļø Target exists, keeping newer") + if png_file.stat().st_mtime > new_path.stat().st_mtime: + new_path.unlink() + png_file.rename(new_path) + else: + png_file.unlink() + else: + png_file.rename(new_path) + + print(f"\nāœ… Cleaned {stats['renamed']} filenames") + + # NOW organize into subfolders + print("\n" + "="*70) + print("šŸ“ ORGANIZING INTO SUBFOLDERS") + print("="*70) + + for category_name, category_path in categories.items(): + print(f"\nšŸ“‚ {category_name}/") + + # Get all PNG files again (with clean names now) + files = sorted(category_path.glob('*.png')) + + if not files: + print(" āœ“ No files to organize") + continue + + # Group by base name + groups = {} + for f in files: + # Extract base name (before _styleA or _styleB) + match = re.match(r'(.+?)_(styleA|styleB)\.png$', f.name) + if match: + base_name = match.group(1) + if base_name not in groups: + groups[base_name] = [] + groups[base_name].append(f) + + # Create subfolders and move files + for base_name, file_list in sorted(groups.items()): + if len(file_list) < 2: + continue # Skip if not dual-style + + subfolder = category_path / base_name + subfolder.mkdir(exist_ok=True) + + print(f"\n šŸ“ {base_name}/ ({len(file_list)} files)") + + for file_path in file_list: + # New organized name + if 'styleA' in file_path.name: + new_name = f"{base_name}_styleA_1024x1024.png" + else: + new_name = f"{base_name}_styleB_1024x1024.png" + + target = subfolder / new_name + + if not target.exists(): + file_path.rename(target) + print(f" → {new_name}") + stats['organized'] += 1 + else: + print(f" ā­ļø Already exists: {new_name}") + + print("\n" + "="*70) + print(f"āœ… COMPLETE!") + print(f" Renamed: {stats['renamed']}") + print(f" Organized: {stats['organized']}") + print("="*70) + +if __name__ == "__main__": + rename_and_organize_demo()