type: object
description: |
    Public channel — `LegacySchemas.PublicChannel` from
    [`api/src/LegacySchemas.ts`](../../../../api/src/LegacySchemas.ts).
    Returned by `/channel/{channelId}` and embedded inside
    `ChannelGroup.channels`. The full admin `Channel` (with `streams`,
    `queries`, `geo`, `ageRestriction`, etc.) is **not** what this surface
    returns — admin-only fields are stripped.
required: [id, name]
properties:
    id: { type: string, description: Channel UUID. }
    name:
        type: string
        description: URL-friendly slug.
    description: { type: string }
    title:
        type: string
        description: Display title.
    roomSettings:
        type: object
        description: Free-form per-channel room settings the VR app applies on join.
        additionalProperties: true
    texture:
        type: object
        description: "`Texture` instance — image asset metadata for the channel tile."
        additionalProperties: true
example:
    id: "01HXKV5G6PQRS8T9UVWXYZABCD"
    name: "live-events"
    title: "Live Events"
    description: "Live concerts, sports, and special broadcasts."
    roomSettings: {}
    texture: {}
