# NTSH-Control

A Node.js control system for Nothing to See Here installation.

## Overview

NTSH-Control provides centralized control and monitoring of:

- [Camera Runner](https://git.morphix.nl/Nothing-to-See-Here/NTSH-CameraRunner) process via WebSocket communication
- Unity application monitoring and lifecycle management
- Real-time system status and calibration through a web dashboard

## Features

- **Web Dashboard**: Monitor system status and control components through a browser interface
- **Camera Management**: Real-time connection monitoring and process control
- **Unity Integration**: Automatic startup and WebSocket communication with Unity applications
- **Calibration Tools**: Live image streaming and calibration interface
- **Process Monitoring**: Track uptime, connection status, and system health

## Installation & Setup

1. Install dependencies:

    ```bash
    npm install
    ```

2. Start the application:

    ```bash
    npm start
    ```

3. Access the web dashboard at `http://localhost:6300`

## Configuration

Configuration is stored in `~/MorphixProductions/NTSHControl/config.json`. Default settings include:

- Web server port: `6300`
- Unity WebSocket: `127.0.0.1:3000`
- [Camera Runner](https://git.morphix.nl/Nothing-to-See-Here/NTSH-CameraRunner) WebSocket: `127.0.0.1:6301`
- Unity startup delay: `5000ms`

## Usage

The system automatically starts the web server and attempts to connect to the configured [Camera Runner](https://git.morphix.nl/Nothing-to-See-Here/NTSH-CameraRunner). The Unity applications is launched after the configured startup delay has exceeded and the [Camera Runner](https://git.morphix.nl/Nothing-to-See-Here/NTSH-CameraRunner) process is ready. The dashboard provides real-time monitoring and control capabilities for all connected systems.

## Project Structure

- `src/` - TypeScript source code
- `frontend/views/dashboard/` - V2 web interface
- `frontend/views/dashboard/` - Legacy web interface
- `dist/` - Compiled JavaScript output
