prole/img/LOADING_GIF_README.md

85 lines
3.1 KiB
Markdown

# Prole Loading Screen Animation
An animated GIF loader inspired by 1980s Electronic Arts floppy disk loaders, featuring:
- **Crackling energy effects** on the magnetic field lines (fast animation, 8-frame cycle)
- **Science mice from Douglas Adams** standing on the rings taking notes (slower animation, 30-frame cycle)
- **Alternating animation speeds** to reflect installation progress
## Generated Files
- `proleLoading.gif` - The animated loading screen (1024x768, 60 frames)
- `generate_loading_gif.py` - Script to generate/regenerate the animation
## Usage
### Generate the Animation
**Default (1024x768, 60 frames, ~53MB):**
```bash
cd img
source ../bin/activate # Activate virtual environment
python3 generate_loading_gif.py
```
**Optimized for smaller file size:**
```bash
# Smaller resolution and fewer frames
python3 generate_loading_gif.py --size 800x600 --frames 40 --colors 128 --output proleLoading_small.gif
# Even smaller
python3 generate_loading_gif.py --size 640x480 --frames 30 --colors 64 --output proleLoading_tiny.gif
```
**Command-line options:**
- `--size WIDTHxHEIGHT`: Output resolution (default: 1024x768)
- `--frames N`: Total animation frames (default: 60)
- `--energy-frames N`: Energy animation cycle (default: 8)
- `--mice-frames N`: Mice animation cycle (default: 30)
- `--colors N`: Color palette size (default: 256, lower = smaller file)
- `--output FILENAME`: Output filename (default: proleLoading.gif)
### Integration with Installer
The GIF can be displayed in the installer during deployment. The animation runs while `install.py` deploys Prole.app and configures local services.
## Animation Details
- **Resolution**: 1024x768
- **Total Frames**: 60 (complete cycle)
- **Energy Animation**: 8 frames (fast, cycles ~7.5 times per full cycle)
- **Mice Animation**: 30 frames (slow, cycles 2 times per full cycle)
- **Frame Duration**: 50-80ms (varies with energy intensity)
- **Loop**: Infinite
## Customization
Edit `generate_loading_gif.py` to adjust:
- `OUTPUT_SIZE`: Change resolution (default: 1024x768)
- `FRAMES_PER_CYCLE`: Total animation frames (default: 60)
- `ENERGY_FRAMES`: Speed of energy animation (default: 8)
- `MICE_FRAMES`: Speed of mice animation (default: 30)
- Colors: Modify `BLUE_DARK`, `BLUE_MEDIUM`, `ENERGY_BRIGHT`, etc.
## File Size Optimization
The current GIF is ~53MB. To reduce file size:
1. **Reduce frames**: Lower `FRAMES_PER_CYCLE` (e.g., 30-40 frames)
2. **Reduce resolution**: Lower `OUTPUT_SIZE` (e.g., 800x600)
3. **Reduce color palette**: Change quantization from 256 to 128 colors
4. **Use external tools**: Use `gifsicle` or `ffmpeg` for further compression
Example with gifsicle:
```bash
gifsicle -O3 --colors 128 proleLoading.gif -o proleLoading_optimized.gif
```
## Design Notes
- The energy effects overlay on the existing field lines from the blueprint logo
- Mice are positioned on the rings in an elliptical path matching the logo's perspective
- Animation speeds are intentionally mismatched (like old EA loaders) to create visual interest
- A "stuck" animation would indicate a failure, just like the old floppy loaders