# 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/` - Web interface
-   `dist/` - Compiled JavaScript output
