TUIO Debugger

Connection Status

Socket Connected: {isConnected ? '✓ Connected' : '✗ Disconnected'}

Tangibles & Touches ({tuioHandler.tangiblesManager.tangibles.length})

{#if tuioHandler.tangiblesManager.tangibles.length > 0}
{#each tuioHandler.tangiblesManager.tangibles as tangible} {/each}
Class ID ID Profile Position (u, v) Rotation (Z) Velocity (X, Y)
{tangible.classId} {tangible.id} {tangible.profile} {tangible.u.toFixed(3)}, {tangible.v.toFixed(3)} {tangible.angleZ?.toFixed(2) ?? 'N/A'} {tangible.velocityX?.toFixed(3) ?? 0}, {tangible.velocityY?.toFixed(3) ?? 0}
{:else}

No tangibles or touches detected

{/if}

Active Class IDs ({tuioHandler.tangiblesManager.tangibleClassIds.length})

{#if tuioHandler.tangiblesManager.tangibleClassIds.length > 0}
{#each tuioHandler.tangiblesManager.tangibleClassIds as classId, index} {/each}
Index Class ID
{index} {classId}
{:else}

No active class IDs

{/if}

Touch Zones ({tuioHandler.touchZones.length})

{#if tuioHandler.touchZones.length > 0}
{#each tuioHandler.touchZones as zone} {/each}
ID Position (u, v) Size (w × h) Handlers
{zone.id} {zone.u.toFixed(3)}, {zone.v.toFixed(3)} {zone.normalisedWidth.toFixed(3)} × {zone.normalisedHeight.toFixed(3)} {[ zone.onPlaceTangible ? 'place' : null, zone.onRemoveTangible ? 'remove' : null, zone.onMoveTangible ? 'move' : null, zone.onTouchStart ? 'start' : null, zone.onTouchEnd ? 'end' : null ] .filter(Boolean) .join(', ') || 'none'}
{:else}

No touch zones registered

{/if}