Commit Graph

1384 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
5cf0150805 Add BatchNorm and data augmentation to CIFAR-10 milestone
- Enhanced CIFAR-10 CNN with BatchNorm2d for stable training
- Added RandomHorizontalFlip and RandomCrop augmentation transforms
- Improved training accuracy from 65%+ to 70%+ with modern architecture
- Updated demo tapes with opening comments for clarity
- Regenerated welcome GIF, removed outdated demo GIFs

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 12:27:15 -05:00
Vijay Janapa Reddi
499f8aa066 Improve ASCII logo letter spacing and breathing room
Typography refinements:
- Add extra space between TORCH letters for better readability
- Improve breathing room in R, C, and H letter forms
- Adjust flame positioning to match wider letter spacing
- Align tagline with updated TORCH width

The wider spacing gives each letter more presence and makes
the logo feel less cramped on narrow terminal windows.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 12:18:59 -05:00
Vijay Janapa Reddi
495ff1cea9 Refine ASCII logo cohesion and visual balance
Typography refinements:
- Move flames 1 space closer to T and H for better visual cohesion
- Make tagline bold to match flame glow intensity
- Use TAGLINE_COLOR constant for consistency

These micro-adjustments make the logo feel crafted rather than
assembled, with each element belonging to a unified whole.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 12:11:32 -05:00
Vijay Janapa Reddi
459a031f74 Regenerate demos 00, 02, 04 with opening comments and visible setup
All demos now:
- Start with opening comment explaining what will be shown
- Show cd and source activate.sh commands to users
- Use custom TinyTorch theme colors
- Only hide fast-forward module completions (Demo 03)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 12:11:20 -05:00
Vijay Janapa Reddi
88f8753b0d Add Help & Docs section to welcome screen
Added fourth section with essential help commands:
- tito system doctor (check environment health)
- tito --help (see all commands)

Completes welcome screen simplification with 4 focused groups
showing 10 total commands for new users.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 12:09:25 -05:00
Vijay Janapa Reddi
22908bd4d6 Align tagline text under TORCH in ASCII logo
Added proper spacing (8 spaces) to align the tagline
'🔥 Don't just import it. Build it.' directly under the TORCH letters.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:59:39 -05:00
Vijay Janapa Reddi
df0ece034e Fix demo visibility: Show setup commands, only hide fast-forwards
Key changes:
- SHOW cd and source activate.sh in all demos (users see full setup)
- ONLY use Hide for Demo 03's module 01-06 completions (fast-forward)
- Remove unnecessary clear command
- Add module reset to demo script for clean slate

This ensures users see the real workflow while keeping demos concise.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:50:53 -05:00
Vijay Janapa Reddi
f81ab97100 Update dependency checks to match requirements.txt
Separate required vs optional dependencies in health checks:

Required (from requirements.txt):
- NumPy, Rich, PyYAML, Pytest, Jupytext

Optional (nice to have):
- JupyterLab, Matplotlib

Now health check shows:
- Required deps as  OK or  Missing
- Optional deps as  Installed or ○ Not installed (dim, not alarming)

This prevents students from thinking they have issues when
optional tools like JupyterLab aren't installed.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:46:15 -05:00
Vijay Janapa Reddi
53cd2a90f0 Add leaderboard and compete subcommands to community
New browser-opening subcommands:
- tito community leaderboard → Opens https://tinytorch.ai/community/leaderboard
- tito community compete → Opens https://tinytorch.ai/community/compete

These provide easy access to community features that will be
implemented on the website later. Clean integration with the
GitHub-first join flow.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:44:18 -05:00
Vijay Janapa Reddi
b461340e34 Fix first frame issue: Show activation output instead of empty prompt
Moved Show command to appear after source activate.sh completes,
so the first visible frame shows the activation finishing instead
of an empty prompt. This makes the recording flow more natural.

Changes:
- cd command stays hidden
- source activate.sh runs inside Hide block
- Show appears after activation completes
- First frame now shows activation output

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:43:04 -05:00
Vijay Janapa Reddi
58fe9363f0 Simplify CLI welcome screen and remove redundant community commands
Dramatically simplified the welcome screen to show only essential info:
- Quick Start (3 commands)
- Track Progress (2 commands)
- Community (1 command)

Removed redundant commands:
- leaderboard -> merged into community
- olympics -> merged into community

These backend-dependent features are consolidated into a single
community command that will handle all social features when the
backend is ready.

Changes:
- Simplified welcome screen (10 lines vs 40+ lines)
- Moved leaderboard.py and olympics.py to _archived/
- Updated all tests (45 passing)
- Cleaner --help output
- Updated archived README

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:41:51 -05:00
Vijay Janapa Reddi
456041a1cb Regenerate all demos with TinyTorch custom theme
All 4 demos now use the custom TinyTorch color palette:
- Demo 00 (Welcome): 440K - Shows TinyTorch branding
- Demo 02 (Build, Test, Ship): 3.3M - Module workflow
- Demo 03 (Milestone Unlocked): 1.7M - Milestone achievement
- Demo 04 (Share Journey): 1.1M - Community engagement

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:35:21 -05:00
Vijay Janapa Reddi
9ad6616d4d Add helper scripts for building book and docs
Replaced tito book and tito demo commands with simple shell scripts:

- scripts/build-book.sh - Build Jupyter Book (with optional browser open)
- scripts/build-docs.sh - Build full website docs (book + static assets)

Easier for developers to run directly without CLI overhead.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:32:07 -05:00
Vijay Janapa Reddi
551fc514a7 Add custom TinyTorch theme to all demos
Replaced Catppuccin Mocha with custom TinyTorch theme matching
our brand colors:
- Dark background (#1E1E2E) for modern look
- Pastel colors (pink, green, yellow, blue, magenta, cyan)
- Consistent with TinyTorch's fire/torch aesthetic

All demos now have unified, branded color scheme!

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:29:03 -05:00
Vijay Janapa Reddi
d9bb2496b7 Add styling to Demo 00: margin, border radius, loop offset
Added the same professional styling to Demo 00 (Welcome) that
the other demos have:
- Margin 20px
- MarginFill #1E1E2E
- BorderRadius 10px
- LoopOffset 10%

Now all demos have consistent polished styling!

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:27:54 -05:00
Vijay Janapa Reddi
2e412bc8b6 Fix all demo tapes: WindowBar at top, proper module completions
- Moved Set WindowBar Colorful to top of all tapes (required by VHS)
- Demo 03: Changed to properly complete modules 01-06 (not just export)
  - Uses Hide/Show pattern to complete modules 01-06 in background
  - Then shows module status to prove modules are completed
  - This ensures milestone 03 prerequisites are met

All tapes now follow VHS best practices!

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:22:24 -05:00
Vijay Janapa Reddi
63e6b282be Remove demo and book commands from CLI
Students can run demos directly with Python, and developers can
run jupyter-book directly. The CLI wrappers don't add value.

Changes:
- Move demo.py and book.py to _archived/
- Remove from main.py command registry
- Remove from __init__.py imports
- Update test expectations (47 tests passing)
- Update archived README with removal rationale

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:19:30 -05:00
Vijay Janapa Reddi
73c757c88c Remove 'Autograd already enabled' warning message
- Silent return when autograd is already enabled
- Cleaner REPL experience without redundant warnings
- First import still shows helpful  message

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:10:13 -05:00
Vijay Janapa Reddi
5db3aa1457 Regenerate demos with all improvements: better examples, styling, and polish
All demos now feature:
- Margin (20px) + MarginFill (#1E1E2E) for depth
- BorderRadius (10px) for modern polished look
- LoopOffset (10%) for better GIF preview

Demo 02 (Build, Test, Ship) - 3.4M:
- Better Tensor example shows sigmoid curve: [-2.0, -1.0, 0.0, 1.0, 2.0]
- Changed message: "You didn't just import it. You BUILT it!"

Demo 03 (Milestone Unlocked) - 1.7M:
- Shows module status for context
- Fixed: tito milestones (not milestone)
- Hidden setup exports modules 01-06 before showing 07

Demo 04 (Share Journey) - 1.5M:
- Correct prompts: GitHub username, Country, Institution
- Removed incorrect "intermediate" prompt

All commands tested and verified working!

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 10:54:32 -05:00
Vijay Janapa Reddi
2995b34d96 Improve all demo tapes: better examples, correct commands, polished styling
Demo 02 (Build, Test, Ship):
- Changed to "You didn't just import it. You BUILT it!"
- Better Tensor example: sig(Tensor([-2.0, -1.0, 0.0, 1.0, 2.0]))

Demo 03 (Milestone Unlocked):
- Added module status to show context
- Fixed command: tito milestones (not milestone)
- Hidden setup: export modules 01-06 before showing module 07

Demo 04 (Share Journey):
- Fixed community prompts: GitHub username, Country, Institution
- Removed incorrect "intermediate" prompt

All demos:
- Added Margin (20px) + MarginFill (#1E1E2E) for depth
- Added BorderRadius (10px) for polished look
- Added LoopOffset (10%) for better GIF preview frame

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 21:47:20 -05:00
Vijay Janapa Reddi
3e0e22a376 Refactor community join to GitHub-first flow with browser redirect
Changed community join from anonymous UUID-based to GitHub-authenticated
profile creation with minimal CLI questions and web completion.

Changes:
- Ask only 3 questions: GitHub username (required), country, institution
- GitHub username is the authentication anchor (no more anonymous UUIDs)
- Auto-detect country when possible
- Open browser to tinytorch.ai/community/join with pre-filled params
- Store minimal profile locally (.tinytorch/community.json)
- Full profile completion happens on website (OAuth, bio, social links)
- Updated command description to be clearer

Benefits:
- Faster CLI experience (3 questions max vs 5+)
- GitHub username = single source of truth
- Better UX for complex forms (website has rich UI)
- OAuth authentication built-in
- Profile sync possible via API later

Local storage format:
{
  "github_username": "studentX",
  "joined_at": "2025-11-29T...",
  "country": "USA",
  "institution": "MIT",
  "profile_url": "https://tinytorch.ai/community/studentX",
  "last_synced": null
}

Tests: 49/49 passing 

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 21:17:45 -05:00
Vijay Janapa Reddi
86d640f66b Regenerate demos 02, 03, 04 with verified working commands
All demos have been regenerated with:
- Fixed cd to TinyTorch directory
- Working module complete command (after fixing import bug)
- Verified Python imports work correctly
- Consistent @profvjreddi 🔥 › prompt

All commands tested and verified before recording.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 21:17:06 -05:00
Vijay Janapa Reddi
dab6ea215f Fix module complete: correct SrcCommand import path
Changed import from `.src` to `..src` since SrcCommand is in
tito/commands/src.py not tito/commands/module/src.py

This fixes the "No module named 'tito.commands.module.src'" error
when running `tito module complete`.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 21:10:55 -05:00
Vijay Janapa Reddi
ad0a0d503d Regenerate Demo 00 with working cd command
Fixed Demo 00 to properly cd into TinyTorch directory before
activating environment. The demo now works correctly and shows
the full tito welcome screen at 1280x1000 dimensions.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 21:04:52 -05:00
Vijay Janapa Reddi
bb5e631214 Remove checkpoint command (superseded by milestones)
The checkpoint command tracked 21 technical capability checkpoints, but
this overlapped significantly with the milestones system which provides
a more engaging, narrative-driven progress tracking experience.

Changes:
- Removed checkpoint command and test files
- Updated milestone.py to remove checkpoint dependencies
- Removed checkpoint integration from export.py, src.py, leaderboard.py
- Updated CLI help text to reference milestones instead
- Updated test suite (49/49 tests passing)
- Archived checkpoint.py for reference

Rationale:
- Milestones is more engaging (historical ML achievements)
- Module status already shows granular progress
- Reduces duplication and confusion
- Single clear progress tracking system

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 01:24:25 +01:00
Vijay Janapa Reddi
f6c0e21b42 Fix all demo tapes: Add cd to TinyTorch directory
All VHS tapes now include a hidden `cd /Users/VJ/GitHub/TinyTorch`
command before activating the environment. This ensures the demos
work regardless of where VHS is run from.

Updated demos:
- 00-welcome: Fixed and regenerated (259K)
- 02-build-test-ship: Added cd command
- 03-milestone-unlocked: Added cd command
- 04-share-journey: Added cd command

All tapes now work reliably!

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:43:01 +01:00
Vijay Janapa Reddi
7ee171dfd2 Update Demo 00: Use taller dimensions to show full tito output
Changed height from 720 to 1000 pixels so the entire tito welcome
screen is visible without scrolling. The full command reference is
now readable in the GIF.

Bonus: File size reduced from 170K to 51K due to better aspect ratio.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:37:21 +01:00
Vijay Janapa Reddi
a3c9f5dc52 Organize demo files: move GIFs to gifs/ subdirectory
Improved demo file organization:
- Created docs/_static/demos/gifs/ for all GIF outputs
- Updated all tape files to output to gifs/ folder
- Moved all existing GIFs to new location

Directory structure:
docs/_static/demos/
├── gifs/           (all GIF outputs)
├── tapes/          (all VHS tape scripts)
├── scripts/        (helper scripts)
├── README.md
└── WORKFLOW.md

This makes the demos directory much cleaner and easier to navigate.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:29:48 +01:00
Vijay Janapa Reddi
677f1fd263 Update Demo 00: Hide activation step for cleaner presentation
Changed welcome demo to use Hide/Show to skip the environment
activation step. Now the GIF starts directly with 'tito' appearing,
making it cleaner and more focused on the beautiful logo and
command reference.

Perfect first impression - just the branding!

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:23:11 +01:00
Vijay Janapa Reddi
bee62ee52a Add Demo 00: Welcome screen showcasing TinyTorch branding
Created a simple, impactful demo that shows:
- The beautiful ASCII TORCH logo
- The "Don't just import it. Build it." tagline
- Complete command reference organized by category
- Quick start guide

Perfect for:
- Social media posts
- README hero image
- First impression for new students

Demo 00 (Welcome): 1.5M

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:21:09 +01:00
Vijay Janapa Reddi
a43a834987 Regenerate all demo GIFs with consistent @profvjreddi prompt
Updated all demo tapes (02, 03, 04) to:
- Use consistent prompt: "@profvjreddi 🔥 › "
- Add "source activate.sh" at beginning to ensure tito is available
- This makes demos work when starting from a fresh terminal

Regenerated GIFs:
- Demo 02 (Build, Test, Ship): 3.2M (was 699K - now includes activation)
- Demo 03 (Milestone Unlocked): 273K (was 143K - now includes activation)
- Demo 04 (Share Journey): TBD

All demos now show the proper branded prompt throughout.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:16:34 +01:00
Vijay Janapa Reddi
204ac81b42 Make CLI welcome screen dynamically generated from registered commands
- Remove hardcoded command list in welcome screen
- Dynamically build help from self.commands registry
- Categorize commands: Essential, Student Workflow, Community, Developer, Shortcuts
- Ensures welcome screen always shows only registered commands
- No more stale command references

Benefits:
- Single source of truth (commands registry)
- Adding/removing commands automatically updates welcome
- Clear categorization for different user roles

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:14:49 +01:00
Vijay Janapa Reddi
f36abec2e7 Fix module completion tracking and add sequential validation
- Remove module from started_modules when marking complete
- Add validation to prevent completing modules out of order
- Show all modules in status (removed smart collapsing)
- Fix data integrity: modules must be completed sequentially

Prevents invalid states where module N is complete but N-1 is not.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:08:52 +01:00
Vijay Janapa Reddi
1cace10289 Move demo GIFs to proper location (docs/_static/demos/)
Removed old GIF files from root directory. The new GIFs are now properly
located in docs/_static/demos/ directory.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:02:26 +01:00
Vijay Janapa Reddi
02553314d3 Fix demo tapes 03 and 04: use Sleep instead of Wait for reliability
Changed VHS Wait syntax to simple Sleep commands for more reliable demo recording.
The Wait+Line syntax was unreliable with the fire emoji prompt pattern.

Generated GIFs:
- Demo 02 (Build, Test, Ship): 699K
- Demo 03 (Milestone Unlocked): 143K
- Demo 04 (Share Journey): 124K

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:01:31 +01:00
Vijay Janapa Reddi
8d3025afc5 Refactor CLI commands into hierarchical folder structure
Reorganize TinyTorch CLI from flat structure to hierarchical organization
with subfolders for complex commands with subcommands.

Changes:
- Create subfolders: module/, system/, package/
- Move module commands: module_workflow.py → module/workflow.py
- Move module_reset.py → module/reset.py
- Move system commands: system.py → system/system.py
- Move system subcommands: info.py, health.py, jupyter.py → system/
- Move package commands: package.py → package/package.py
- Move package helpers: reset.py, nbdev.py → package/
- Archive deprecated files: clean.py, help.py, notebooks.py, status.py
- Update all imports in moved files and main.py
- Add __init__.py exports for each subfolder
- Create comprehensive CLI test suite (52 tests)
  - test_cli_registry.py: Validate command registration
  - test_cli_execution.py: Smoke tests for all commands
  - test_cli_help_consistency.py: Help text validation
- Update tests to match new structure

Benefits:
- Clear ownership: Easy to see which helpers belong to which commands
- Better organization: Related files grouped together
- Scales cleanly: Adding subcommands is straightforward
- Zero user impact: All commands work exactly the same

All 52 tests passing 

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 23:42:03 +01:00
Vijay Janapa Reddi
e159a65118 Fix module reset command: use getattr for optional args
- Fix AttributeError when calling reset without --all flag
- Use getattr() with defaults for 'all' and 'list_backups' attributes
2025-11-28 23:39:13 +01:00
Vijay Janapa Reddi
54c357f566 Update demo scripts and add README for demo workflow 2025-11-28 22:35:20 +01:00
Vijay Janapa Reddi
d3a38a75c0 Remove --skip-checks from milestone demo tape 2025-11-28 22:32:32 +01:00
Vijay Janapa Reddi
921d12360b Add docs/modules and docs/chapters/modules to gitignore
These should be generated from src/*/ABOUT.md during build.
Single source of truth: src/*/ABOUT.md
2025-11-28 22:27:25 +01:00
Vijay Janapa Reddi
d72a637dd1 Add website static assets (CSS, JS, logos, demos) 2025-11-28 22:06:02 +01:00
Vijay Janapa Reddi
6fc2f618c9 Add git pre-push hook to prevent accidental pushes to main repo 2025-11-28 22:05:38 +01:00
Vijay Janapa Reddi
a3de9654e7 Add --all flag to module reset command for bulk module reset 2025-11-28 22:05:14 +01:00
Vijay Janapa Reddi
319260e5cb Update TinyTorch CLI: consistent tagline, milestones naming, and auto-install
- Update tagline across all commands to 'Don't just import it. Build it.'
- Rename milestone command to milestones for better consistency
- Remove duplicate milestones.py file
- Add auto-install of tito CLI in activate.sh
- Add command metadata structure to BaseCommand
- Clean up command registration with single source of truth
2025-11-28 21:29:12 +01:00
Vijay Janapa Reddi
d7bdbe67d4 Remove docs/_build from repository 2025-11-28 14:59:59 +01:00
Vijay Janapa Reddi
403d4c2f4c Add .tito/backups and docs/_build to gitignore 2025-11-28 14:59:51 +01:00
Vijay Janapa Reddi
76843b8f87 Fix 'TinyTorch already exists' error in GIF generation
Clean /tmp/TinyTorch before EACH GIF generation, not just once at the start.

VHS executes real commands and captures actual output, so if /tmp/TinyTorch exists from a previous GIF, the git clone will fail with 'already exists' error.

Now each GIF gets a clean environment:
  🧹 Cleaning /tmp/TinyTorch for this GIF...

This ensures GIF 01 shows successful clone on every generation.
2025-11-28 06:20:33 +01:00
Vijay Janapa Reddi
2902aa564e Regenerate all demo GIFs with environment activation
All 4 GIFs now properly activate the environment before running tito commands.

Changes:
- GIF 01: Updated with measured timing (9s setup, 3s clone)
- GIF 02: Added 'source activate.sh' before tito module commands
- GIF 03: Added 'source activate.sh' before tito milestones commands
- GIF 04: Added 'source activate.sh' before tito community commands

File sizes:
- 01-zero-to-ready.gif: 467KB → 514KB
- 02-build-test-ship.gif: 200KB → 1.3MB (added activation)
- 03-milestone-unlocked.gif: 87KB → 1.1MB (added activation)
- 04-share-journey.gif: 108KB → 942KB (added activation)

All GIFs now show working commands with proper activation sequence.
2025-11-28 06:18:21 +01:00
Vijay Janapa Reddi
8be336f4d2 Add 'source activate.sh' to all demo GIFs that use tito commands
Fixed GIFs 02, 03, and 04 to activate the environment before running tito commands.

Without activation, tito commands fail with 'command not found' error.

Each GIF now starts with:
  Type "source activate.sh"
  Sleep 300ms
  Enter
  Sleep 1s

This ensures tito is available in PATH before any tito commands execute.

GIF 01 already had activation as part of the setup workflow demo.
2025-11-28 06:11:14 +01:00
Vijay Janapa Reddi
654691e0b4 Add execution timing measurements for accurate VHS delays
Test script now measures actual execution time for every command using Python's time.time(), outputting recommendations to /tmp/tinytorch_timing.txt.

Measured timings:
- git clone: 3s (varies by network, using safe 3s)
- setup-environment.sh: 9s (measured 8.6s)
- tito system health: 0.5s (show for 3s for readability)
- tito module status: 0.2s (show for 3s)
- tito logo: 0.1s (show for 6s)

Updated 01-zero-to-ready.tape with measured delays to ensure:
- GIF shows actual command completion
- No typing ahead before previous command finishes
- Realistic demo of student experience

This fixes the issue where VHS would type commands faster than they execute.
2025-11-28 06:06:47 +01:00