RetroStudio 2.1 targets Windows and Linux with Python 3.11 or newer.
Version 2.1 adds explicit Background, Content, and Foreground roles, dedicated Background and Foreground FX workflows, animated Rain/Snow overlays, clearer generator-versus-processing-effect UI, and a higher-fidelity native Matrix Rain model with fixed-grid illumination, multiple drops, slant, glyph cycling, bloom, cursor/glint controls, and dithering.
Version 2.1.1 adds a centered, modeless foreground-operation progress dialog that mirrors status, percentage, progress, and cancellation from the status bar without interrupting the worker-based responsive UI.
Version 2.1.2 fixes dark-theme alternating rows, gives UUID-named media readable layer names, keeps Generator Properties informative when a non-generator is selected, explicitly enables new generator preview/export, and uses Qt-rendered file dialogs to avoid blank Windows overwrite prompts.
Version 2.1.3 adds linked percentage-slider and exact-dimension canvas sizing plus an undoable Resize all layers option. Source layers, positions, groups, and transform keyframes scale with the canvas, while generators and solid fills rerender at the target resolution without double-scaling.
Version 2.1.4 adds a consistent Transparent Background option to all eight Retro Generators. Line, text, bar, grid, rain, and star generators clear their backdrops; Plasma generates intensity-based alpha; and Rotozoomer exposes lower layers through its Color B checker field.
Version 2.1.5 adds RetroStudio's CRT/grid application artwork, a transparent PNG for the PyQt window icon, and a nine-resolution ICO embedded by the PyInstaller build.
Version 2.1.6 adds File → New Project with a standard Ctrl+N shortcut,
unsaved-change protection, and a complete reset of project, media, preview,
timeline, history, and recovery state. Perspective Grid / Tunnel layouts now
anchor rays to every frame corner, eliminating open wedges at the edges.
Character Art conversion is now alpha-aware, so hidden RGB data in transparent
source pixels no longer produces stray glyphs or bright borders. The secondary
SVG export is now labeled Path Editing SVG, reflecting that it provides
individually editable horizontal vector runs.
Version 2.1.7 adds a deterministic, seamlessly looping TV Static Retro Generator with White Noise, Monochrome Snow, Color Static, Scanline Interference, and Static Bursts variations. The new TV Reception processing effect adds Weak Reception, Heavy Snow, Horizontal Sync, Rolling Bands, Color Interference, and Signal Dropouts modes, with controls for jitter, tearing, vertical roll, ghosting, bursts, dropout bands, grain, and scanline interference. Applied to a Foreground FX/Adjustment layer, TV Reception distorts the complete composite beneath it while preserving source alpha.
Version 2.1.8 adds the deterministic, seamlessly looping Retrowave Drive Retro Generator. It creates a forward-moving perspective road beneath a striped gradient sun, with configurable sky, glow, reflection, camera, vanishing point, road mesh, and animated wireframe terrain on both sides. Six terrain variations cover Rolling Hills, Jagged Mountains, Canyon, Symmetrical Valley, Sparse Peaks, and Flat Infinite Grid. Terrain can rise, collapse, and morph during travel, and Transparent Background removes the opaque scene fills for compositing the neon wireframe over lower layers. Seven presets provide ready-to-use sunset, highway, canyon, valley, dreamscape, infinite-grid, and transparent-wireframe scenes.
- Install the project and development dependencies in a clean environment.
- Work through
MANUAL_TEST_CHECKLIST.mdon both supported platforms. - Run the retained automated regression suite if desired.
- Open
samples/robot_grid.retroproject, preview it, and export a still and short animation. - Confirm ffmpeg-based formats only on systems where ffmpeg and ffprobe are installed.
- Build with the PyInstaller specification and smoke-test the produced app.
- Confirm the MIT
LICENSEfile is included in the distribution and review all applicable third-party notices before public distribution.
python -m pip install -e ".[dev]"
pyinstaller retrostudio.specThe CI workflow retains static/regression coverage on Windows and Ubuntu. The packaging workflow is manually dispatched and uploads platform-specific artifacts. Neither workflow publishes a release automatically.
Version numbers live in pyproject.toml. Update user documentation and the
manual checklist whenever serialized behavior or a visible workflow changes.