> ## Documentation Index
> Fetch the complete documentation index at: https://globaliptv.misidev.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GlobalTV Roku

> A Roku SceneGraph channel for live TV streaming — with on-device login, playlist loading, ad system, and Channel Store certification support.

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Get a working sideload onto your Roku device in minutes
  </Card>

  <Card title="Architecture" icon="sitemap" href="/architecture/overview">
    Understand how the app is structured and how screens communicate
  </Card>

  <Card title="Build & Deploy" icon="hammer" href="/build/makefile-targets">
    Package, sideload, sign, and submit to the Channel Store
  </Card>

  <Card title="Certification" icon="certificate" href="/build/certification">
    Everything you need to pass the Roku 2026 certification checklist
  </Card>
</CardGroup>

## What is GlobalTV Roku?

GlobalTV Roku is a native Roku SceneGraph channel application that delivers live TV streaming to Roku devices. It is built in BrightScript and implements the full viewer journey — from first launch through channel playback — along with a rich feature set required for commercial deployment.

<CardGroup cols={3}>
  <Card title="Live Playback" icon="play">
    HLS/M3U8 stream playback with overlay, error handling, and automatic reconnection
  </Card>

  <Card title="On-Device Auth" icon="lock">
    Credential-based login with auto-login and Roku Registry persistence
  </Card>

  <Card title="Ad System" icon="rectangle-ad">
    Three ad formats (A, B, C) with polling, impression tracking, and viewport management
  </Card>

  <Card title="Deep Linking" icon="link">
    Supports `mediaType=live` deep links for both launch and input events
  </Card>

  <Card title="Connectivity" icon="wifi">
    Periodic background connectivity polling with graceful offline handling
  </Card>

  <Card title="Channel Store Ready" icon="store">
    Built-in `make check` target validates all Roku 2026 certification requirements
  </Card>
</CardGroup>

## Application version

The current release is **v1.0.6** (manifest `build_version=7`). The internal constant `APP_VERSION` in `source/AppConstants.brs` must stay in sync with the manifest.

## Technology stack

| Layer           | Technology                  |
| --------------- | --------------------------- |
| Language        | BrightScript                |
| UI framework    | Roku SceneGraph (RSG)       |
| Streaming       | HLS / M3U8                  |
| Build tooling   | GNU Make, zip, curl         |
| Target platform | Roku OS (RSG 1.3, FHD + HD) |

## Repository layout

```text theme={null}
manifest                  ← Channel metadata and certification fields
Makefile                  ← Build, sideload, package, and check targets
source/
  main.brs                ← Entry point; creates scene and handles deep links
  AppConstants.brs        ← All configuration constants (endpoints, timeouts, colors)
  AppState.brs            ← Global state initialization (m.global fields)
  utils/                  ← Shared utilities (HTTP, logging, registry, parsing)
components/
  MainScene.*             ← Root scene; orchestrates the full app lifecycle
  SplashScreen/           ← Launch splash with logo
  OnboardingScreen/       ← First-run onboarding flow
  LoginScreen/            ← On-device credential login
  MainScreen/             ← Channel grid / list with AppLaunchComplete beacon
  PlayerScreen/           ← Live stream player with overlays and ads
  SettingsScreen/         ← Server management, channel refresh, logout
  tasks/                  ← Background tasks (auth, playlist, ads, connectivity, metrics)
  ads/                    ← Ad manager and three format renderers
  overlays/               ← Channel number and info overlays
images/                   ← Channel icons, splash screens, HD/FHD logos
out/                      ← Build output (zip, pkg, screenshots)
```

## Next steps

<CardGroup cols={2}>
  <Card title="Requirements" icon="list-check" href="/requirements">
    Hardware and software prerequisites before you start
  </Card>

  <Card title="App flow" icon="arrow-right-arrow-left" href="/architecture/app-flow">
    Trace the full execution path from launch to playback
  </Card>
</CardGroup>
