# 3D Persistent Stream Wheel - Setup & User Guide

This guide explains how to install and operate your custom 3D Stream Wheel. This system uses a Python backend and a Batch script to allow the wheel to automatically save results and remove them from future spins.

## 1. File Structure
For the system to work correctly, ensure all of the following files are in the SAME folder:
- overlay.html (The 3D Wheel)
- admin.html (The Color Configurator)
- server.py (The Python Backend)
- run.bat (The startup script)
- python-3.14.4-amd64.exe (The Python installer)
- names.txt (Your list of contestants, one per line)
- colors.conf (Configuration for your custom colors)
- blacklist.conf (Persistent list of removed results)
- wheel_of_fortune_tick.mp3 (The sound file)

---

## 2. Setup Instructions

### Step 1: Install Python
If Python is not already installed on your system:
1. Double-click 'python-3.14.4-amd64.exe' in your folder.
2. IMPORTANT: Check the box that says "Add Python to PATH" before clicking Install.
3. Follow the prompts to complete the installation.

### Step 2: Start the Server
You must start the backend server before opening the wheel in OBS or your browser.
1. Double-click the 'run.bat' file.
2. A command window will open. Keep this window open while you are streaming.
3. You should see: "Wheel Server running at http://localhost:8000".

### Step 3: Configure Your Visuals
1. Open your browser and go to http://localhost:8000/admin.html.
2. Select your 5 custom colors (Segments, Border, Text, and Center).
3. Click "SAVE COLORS.CONF".
4. Move the downloaded file into your project folder, replacing the old colors.conf file.

### Step 4: Launch the Wheel
1. Go to http://localhost:8000/overlay.html.
2. The wheel will load, read your names.txt, subtract any results already in blacklist.conf, and begin spinning after a 2-second delay.
3. Once it lands, the result is automatically sent to the server and saved to blacklist.conf.

---

## 3. OBS Integration

1. Add a new 'Browser Source' in OBS.
2. Set the URL to: http://localhost:8000/overlay.html
3. Set the Width and Height to 800.
4. Check the box "Shutdown source when not visible" if you want the wheel to spin every time you toggle it on.

---

## 4. Managing Results

- To Reset the Wheel: Open blacklist.conf and delete all text inside.
- To Add New Names: Edit names.txt (one per line) and save the file.
- Dynamic Coloring: The wheel is programmed to automatically alternate between your two chosen segment colors regardless of how many items are removed.