- removed unused `timeout` field and its associated logic from `ResourceDownloadBuilder`
- updated metadata constants and extraction rules for consistency
- added new metadata APK constant and updated patterns
- reorganized downloader category handling for simplicity
- added new update process diagrams to documentation
- replaced direct struct references with `Rc` in managers, fetchers, and extractors for better memory management
- updated constructors and methods to accept and use `Rc`-wrapped instances
- refactored extraction rules into static constants for reusability
- streamlined APK and resource handling using centralized configurations
- moved `network` module from `helpers` to `utils` for better organization
- moved `cli` module from `utils` to the root namespace
- updated import paths across modules to reflect changes
- removed unused imports and cleaned up dependencies
- introduced `ErrorContext` and `ErrorExt` traits for error handling
- replaced direct `.unwrap()` and `.context()` usage with new traits
- improved error handling consistency across modules
- updated file, JSON, catalog, and APK processing to use `handle_errors`
- enhanced logging for detailed error messages
- standardized imports across modules for consistency
- introduced `pub use` to expose key structs/functions
- updated readme to mark library functions as exposed
- improved codebase structure by merging scattered import sources
- introduced `ResourceCategory` enum for filtering by type (assets, tables, media, all)
- updated `download` function to accept category filtering
- streamlined resource collection logic based on selected category
- improved logging for downloads with category information