Skip to content

[MOBILE] Interactive Vector Seating Chart Engine & Real-Time Spatial Canvas Renderer #1181

Description

@Yunusabdul38

Target Location

apps/mobile/components/seating/SeatingCanvas.tsx, apps/mobile/components/seating/SeatNode.tsx, apps/mobile/hooks/useSeatingLayout.ts

Problem Statement

Reserved seating events require rendering complex venue maps with thousands of interactive seats (stages, sections, rows, individual seats) while maintaining a fluid 60 FPS mobile UI during panning, zooming, and seat selection.

Technical Requirements

  1. High-Performance Vector Graphics Engine:
    • Implement a venue chart renderer using React Native Skia (@shopify/react-native-skia) or React Native SVG with native Gesture Handler & Reanimated v3.
    • Render up to 10,000 seats with dynamic spatial indexing (QuadTree / R-Tree) for viewport frustum culling.
  2. Interactive Selection & Viewport Control:
    • Smooth 2D pinch-to-zoom (0.5x to 8x scale) and two-finger pan with momentum decay physics.
    • Real-time seat state rendering (Available = Accent, Reserved = Muted Gray, Selected = Vibrant Blue, VIP = Gold gradient).
  3. WebSocket Real-Time Seat Locking:
    • Integrate WebSocket room subscriptions for live seat lock updates. When another user selects a seat, it locks instantly with a visual countdown timer across all mobile clients.
  4. Accessibility Focus Traversal:
    • Build a screen-reader (TalkBack / VoiceOver) grid navigation layer allowing directional traversal across sections, rows, and seat numbers.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardThird CampaignCampaign: Third CampaignUI/UXhardmobileReact Native Expo Mobile Application

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions