Skip to content

James-HoneyBadger/Time_Warp_Studio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

133 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Time Warp Studio

Educational Multi-Language Programming Environment with Integrated IDE, Debugger, and Turtle Graphics

Python 3.10+ PySide6 License: MIT Version

Time Warp Studio is a unified desktop programming environment designed for educators and students. It brings together 24 programming languages spanning six decades of computing history into a single, modern IDE. Built with Python and PySide6 (Qt6), it provides an integrated platform for learning programming concepts, exploring turtle graphics, and working through structured lessons.


Table of Contents


🎯 Core Features

Multi-Language Support

24 languages spanning six decades of computing history:

Language Paradigm Era Status
BASIC Imperative / Educational 1964 Complete
Logo Turtle Graphics / Educational 1967 Complete
PILOT Computer-Aided Instruction 1969 Complete
C Systems / Procedural 1972 Complete
Forth Stack-based / Concatenative 1970 Complete
Pascal Structured / Educational 1970 Complete
Prolog Logic / Declarative 1972 Complete
SQL Relational / Query 1974 Complete
Smalltalk Object-Oriented 1980 Complete
APL Array / Mathematical 1966 Complete
Assembly Low-level / x86 1950s Complete
Brainfuck Esoteric / Turing 1993 Complete
CICS Mainframe / Transaction 1969 Complete
COBOL Business / Data 1959 Complete
Fortran Scientific / Numeric 1957 Complete
Haskell Functional / Typed 1990 Complete
HyperTalk Event-driven / English 1987 Complete
JavaScript Scripting / Web 1995 Complete
JCL Job Control / Mainframe 1964 Complete
Lua Scripting / Embedded 1993 Complete
Python Multi-paradigm / Modern 1991 Complete
REXX Scripting / Mainframe 1979 Complete
Scheme Functional / Lisp 1975 Complete
SQR Report / Database 1980s Complete

Integrated IDE

  • Code Editor β€” Syntax highlighting, line numbers, and auto-indentation per language
  • Output Console β€” Program results, error messages, and interactive input
  • Graphics Canvas β€” Real-time turtle graphics rendering with zoom and pan
  • Theme System β€” 25 built-in themes (Dracula, Monokai, Catppuccin Mocha, Gruvbox Dark, VS Code Dark/Light, GitHub Dark/Light, Nord, Solarized, retro CRT, and more)
  • Find & Replace β€” Advanced search with regex, case sensitivity, whole word matching, and live match highlighting
  • Auto-Completion β€” Context-aware completions from language keywords and document identifiers
  • 14 Feature Panels β€” Lessons, AI Assistant, Error Explainer, Examples Browser, Turtle Inspector, Debugger, and more

Turtle Graphics

  • Native turtle support with position, heading, and pen state tracking
  • 50+ drawing commands across Logo and BASIC
  • Real-time rendering with Qt painter, zoom/pan controls
  • Cross-language graphics support (Logo and Turbo BASIC)

Advanced Debugger

  • Statement-level stepping with breakpoint support
  • Timeline recording of program execution with state snapshots
  • Variable inspector with real-time value tracking
  • Rewind capability to navigate backwards through execution history

Educational Tools

  • Lesson System β€” Step-by-step guided instruction with auto-verification
  • AI Assistant β€” Intelligent code suggestions and explanations
  • Error Explainer β€” Human-readable explanations of programming errors
  • Examples Browser β€” 93 example programs across all 24 languages
  • Achievements β€” Gamified progress tracking

πŸ“‹ Requirements

Requirement Minimum Recommended
Python 3.10 3.12+
PySide6 Any recent Latest
Pillow 10.0.0 Latest
OS Windows 10, macOS 10.14, Ubuntu 20.04 Any modern OS
RAM 4 GB 8 GB
CPU SSSE3/SSE4 support Any modern CPU

πŸš€ Quick Start

Linux / macOS

git clone https://github.com/James-HoneyBadger/Time_Warp_Studio.git
cd Time_Warp_Studio
python run.py

Windows (PowerShell)

git clone https://github.com/James-HoneyBadger/Time_Warp_Studio.git
cd Time_Warp_Studio
python run.py

The run.py launcher will automatically:

  1. Check your Python version (3.10+ required)
  2. Create a virtual environment if one doesn't exist
  3. Install all dependencies
  4. Launch the IDE

That's it β€” you should see the Time Warp Studio window in a few seconds.


πŸ”§ Installation

Option 1: Smart Launcher (Recommended)

python run.py              # Auto-setup and launch
python run.py --fresh      # Force-recreate virtual environment
python run.py --skip-setup # Skip dependency checks (faster startup)
python run.py --no-venv    # Use system Python (not recommended)
python run.py --help       # Show all options

Option 2: Manual Setup

# Create and activate virtual environment
python3 -m venv .venv
source .venv/bin/activate        # Linux/macOS
# .venv\Scripts\activate         # Windows

# Install dependencies
pip install -r Platforms/Python/requirements.txt

# Launch the IDE
python Platforms/Python/time_warp_ide.py

Option 3: Shell Script (Linux/macOS)

./run.sh

✏️ Your First Program

  1. Open Time Warp Studio
  2. Select BASIC from the language dropdown (top-right)
  3. Type this in the editor:
PRINT "Hello, World!"
FOR I = 1 TO 5
  PRINT "Count: "; I
NEXT I
  1. Press Ctrl+R (or click Run)

You'll see the output in the console panel below the editor.


πŸ“ Example Code

BASIC β€” Turbo Graphics

SCREEN 1
COLOR 14, 1
LINE (10, 10)-(200, 100)
CIRCLE (150, 150), 50
PSET (300, 200)
PRINT "Graphics demo complete!"

Logo β€” Turtle Drawing

; Draw a colorful square
SETPENCOLOR "RED
REPEAT 4 [FORWARD 100 RIGHT 90]

; Draw a star
PENUP SETPOSITION 150 0 PENDOWN
SETPENCOLOR "BLUE
REPEAT 5 [FORWARD 80 RIGHT 144]

PILOT β€” Interactive Lesson

T: Welcome to the math quiz!
T: What is 2 + 2?
A: 4
TY: Correct! Well done!
TN: Not quite. The answer is 4.

Pascal β€” Structured Programming

program Hello;
var
  i: integer;
begin
  writeln('Hello from Pascal!');
  for i := 1 to 5 do
    writeln('Count: ', i);
end.

Prolog β€” Logic Programming

parent(tom, bob).
parent(bob, ann).
grandparent(X, Z) :- parent(X, Y), parent(Y, Z).
?- grandparent(tom, ann).

Forth β€” Stack Operations

: GREET ." Hello from Forth!" CR ;
GREET
5 3 + . CR

Browse 93 more examples in the Examples/ directory or through File β†’ Examples in the IDE.


πŸ“– Documentation

Quick References

Document Description
ARCHITECTURE.md System design and technical details
INSTALLATION.md Detailed installation instructions
CONTRIBUTING.md How to contribute

Guides (in docs/guides/)

Guide Description
Getting Started First steps with the IDE
IDE Basics Editor, menus, and panels
Lessons Working through guided lessons
Turtle Graphics Drawing with the turtle
Settings Customizing the IDE
Keyboard Shortcuts Complete shortcut reference
Troubleshooting Fixing common problems

Language Tutorials (in docs/tutorials/)

Tutorial Description
BASIC BASIC programming with graphics
Logo Turtle graphics programming
PILOT Interactive lesson creation
C C language basics
Pascal Structured programming
Prolog Logic programming
Python Modern scripting & sandboxed execution
Lua Lightweight scripting language
JavaScript Scripting in the browser era
Haskell Pure functional programming
Scheme Lisp-family functional programming
Smalltalk Object-oriented programming
REXX Mainframe scripting language
Forth Stack-based programming
Brainfuck Esoteric Turing-complete language
COBOL Business data processing
Fortran Scientific computing
Assembly x86 low-level programming
APL Array programming language
HyperTalk Event-driven scripting
JCL IBM Job Control Language
CICS IBM Transaction processing
SQL Relational database queries
SQR Structured Query reporting

Reference

Document Description
FAQ Frequently asked questions
Documentation Index Full documentation listing
Examples Catalog Example programs catalog

πŸ—‚οΈ Project Structure

Time_Warp_Studio/
β”œβ”€β”€ run.py                         # Smart launcher (auto-setup + launch)
β”œβ”€β”€ run.sh                         # Shell wrapper for Linux/macOS
β”œβ”€β”€ README.md                      # This file
β”œβ”€β”€ ARCHITECTURE.md                # System design document
β”œβ”€β”€ CONTRIBUTING.md                # Contributor guide
β”œβ”€β”€ LICENSE                        # MIT License
β”‚
β”œβ”€β”€ Platforms/Python/              # Main application source
β”‚   β”œβ”€β”€ time_warp_ide.py           # IDE entry point
β”‚   └── time_warp/
β”‚       β”œβ”€β”€ core/                  # Interpreter engine and services
β”‚       β”‚   └── interpreter.py     # Central command dispatcher
β”‚       β”œβ”€β”€ languages/             # 24 language executors
β”‚       β”‚   β”œβ”€β”€ basic.py           # BASIC with Turbo graphics
β”‚       β”‚   β”œβ”€β”€ logo.py            # Logo turtle graphics
β”‚       β”‚   β”œβ”€β”€ pilot.py           # PILOT CAI system
β”‚       β”‚   β”œβ”€β”€ c_lang_fixed.py    # C language subset
β”‚       β”‚   β”œβ”€β”€ pascal.py          # Pascal programming
β”‚       β”‚   β”œβ”€β”€ prolog.py          # Prolog logic engine
β”‚       β”‚   β”œβ”€β”€ forth.py           # Forth stack machine
β”‚       β”‚   β”œβ”€β”€ python.py          # Python sandbox executor
β”‚       β”‚   β”œβ”€β”€ lua.py             # Lua scripting
β”‚       β”‚   β”œβ”€β”€ javascript.py      # JavaScript interpreter
β”‚       β”‚   β”œβ”€β”€ haskell.py         # Haskell functional
β”‚       β”‚   β”œβ”€β”€ scheme.py          # Scheme/Lisp dialect
β”‚       β”‚   β”œβ”€β”€ smalltalk.py       # Smalltalk OO
β”‚       β”‚   β”œβ”€β”€ rexx.py            # REXX scripting
β”‚       β”‚   β”œβ”€β”€ brainfuck.py       # Brainfuck esoteric
β”‚       β”‚   β”œβ”€β”€ cobol.py           # COBOL business
β”‚       β”‚   β”œβ”€β”€ fortran.py         # Fortran scientific
β”‚       β”‚   β”œβ”€β”€ assembly.py        # x86 Assembly
β”‚       β”‚   β”œβ”€β”€ apl.py             # APL array language
β”‚       β”‚   β”œβ”€β”€ hypertalk.py       # HyperTalk
β”‚       β”‚   β”œβ”€β”€ jcl.py             # JCL mainframe
β”‚       β”‚   β”œβ”€β”€ cics.py            # CICS transactions
β”‚       β”‚   β”œβ”€β”€ sql.py             # SQL queries
β”‚       β”‚   └── sqr.py             # SQR reporting
β”‚       β”œβ”€β”€ ui/                    # PySide6 UI components
β”‚       β”‚   β”œβ”€β”€ main_window.py     # Main IDE window
β”‚       β”‚   β”œβ”€β”€ editor.py          # Code editor widget
β”‚       β”‚   β”œβ”€β”€ canvas.py          # Graphics canvas
β”‚       β”‚   └── feature_panels.py  # 14 feature panels
β”‚       β”œβ”€β”€ graphics/              # Turtle graphics engine
β”‚       β”œβ”€β”€ features/              # Lessons, autosave, etc.
β”‚       β”œβ”€β”€ debugging/             # Integrated debugger
β”‚       └── tests/                 # Test suite (41 test files)
β”‚
β”œβ”€β”€ Examples/                      # 93 example programs across 24 languages
β”‚   β”œβ”€β”€ basic/       (5)  β”œβ”€β”€ logo/        (5)  β”œβ”€β”€ pilot/       (3)
β”‚   β”œβ”€β”€ c/           (5)  β”œβ”€β”€ pascal/      (4)  β”œβ”€β”€ prolog/      (4)
β”‚   β”œβ”€β”€ cobol/       (5)  β”œβ”€β”€ sqr/         (4)  β”œβ”€β”€ fortran/     (3)
β”‚   β”œβ”€β”€ haskell/     (3)  β”œβ”€β”€ javascript/  (4)  β”œβ”€β”€ assembly/    (3)
β”‚   β”œβ”€β”€ apl/         (3)  β”œβ”€β”€ hypertalk/   (3)  β”œβ”€β”€ brainfuck/   (3)
β”‚   β”œβ”€β”€ forth/       (3)  β”œβ”€β”€ lua/         (4)  β”œβ”€β”€ rexx/        (3)
β”‚   β”œβ”€β”€ scheme/      (4)  β”œβ”€β”€ smalltalk/   (3)  β”œβ”€β”€ python/      (5)
β”‚   β”œβ”€β”€ sql/         (4)  β”œβ”€β”€ cics/        (4)  β”œβ”€β”€ jcl/         (5)
β”‚   └── demo/        (1)  # cross-language showcases
β”‚
β”œβ”€β”€ docs/                          # Documentation
β”‚   β”œβ”€β”€ INDEX.md                   # Documentation index
β”‚   β”œβ”€β”€ guides/                    # How-to guides
β”‚   β”œβ”€β”€ tutorials/                 # Language tutorials
β”‚   └── reference/                 # FAQ and reference
β”‚
β”œβ”€β”€ Scripts/                       # Build and utility scripts
β”œβ”€β”€ tools/                         # Development tools
└── .github/                       # GitHub CI/CD configuration

πŸƒ Running the IDE

Launch Commands

# Recommended: Smart launcher
python run.py

# Direct launch (requires venv activated)
python Platforms/Python/time_warp_ide.py

# Shell script (Linux/macOS)
./run.sh

What Happens on Startup

  1. All 24 language interpreters are initialized
  2. Configuration is loaded from ~/.time_warp/config.json
  3. The main IDE window opens with editor, canvas, and output panels
  4. Your last theme and settings are restored

Performance

Metric Typical Value
Startup time 2–5 seconds
Memory usage 200–300 MB
Codebase 56,000+ lines across 130+ Python modules

πŸ§ͺ Testing

Run from the repository root:

# Quick root-level test run
pytest -q

# Full package suite with integrated reporting
python Platforms/Python/test_runner.py --comprehensive

# Basic smoke suite
python Platforms/Python/test_runner.py --basic

# Full package tests directly via pytest
PYTHONPATH=Platforms/Python pytest Platforms/Python/time_warp/tests -q

# Optional backend load/security suites (require backend services)
RUN_BACKEND_INTEGRATION=1 PYTHONPATH=Platforms/Python pytest Platforms/backend/tests -q

Current status: 1,700+ tests passing across 41 test modules covering all 24 language executors, graphics, GUI, and interpreter tests.


🀝 Contributing

We welcome contributions! Here's how to get started:

  1. Fork the repository
  2. Clone your fork and create a feature branch:
    git checkout -b feature/my-improvement
  3. Set up the development environment:
    python -m venv .venv
    source .venv/bin/activate
    pip install -r Platforms/Python/requirements.txt
  4. Make your changes following PEP 8 style
  5. Test that all tests pass:

pytest -q python Platforms/Python/test_runner.py --basic

6. **Commit** with a clear message and submit a pull request

See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.

---

## πŸ“„ License

Licensed under the **[MIT License](LICENSE)**.

---

## πŸ”— Resources

- **Repository:** [github.com/James-HoneyBadger/Time_Warp_Studio](https://github.com/James-HoneyBadger/Time_Warp_Studio)
- **Maintainer:** James Temple β€” james@honey-badger.org
- **Version:** 8.1.0

---

## πŸ™ Acknowledgments

Time Warp Studio honors the educational legacy of BASIC, Logo, PILOT, COBOL, Fortran, APL, and other pioneering programming languages spanning six decades of computing history, while providing a modern IDE experience for today's learners. Special thanks to the open-source communities behind Python, PySide6/Qt, and the many educators who continue to champion accessible programming education.

---

**Happy Programming!** πŸš€

Packages

 
 
 

Contributors

Languages