# Product Brief — HS_DollyCam ## Overview **HS_DollyCam** is a cinematic camera dolly HUD for Second Life that enables users to compose, save, and playback professional-grade camera movements and tours. It is distributed as a wearable HUD (single-prim, Controller in ROOT) with a suite of companion scripts that handle playlist playback, continuous tour runtime, camera engine control, dialog menus, visual markers, and field-of-view adjustment. ## Problem Second Life's default camera is imprecise and non-repeatable for cinematic photography, viewer capture, or scripted scene direction. Users cannot reliably reproduce camera angles, compose multi-shot sequences, or execute smooth automated camera rides across predefined waypoints without manual repositioning for each shot. ## Solution A HUD-based camera system that: - Lets users **save camera presets** (position + focus + FOV) into Linkset Data - Enables **smooth cinematic moves** between presets with configurable timing and easing - Supports **playlist playback** from inventory notecards for complex multi-shot sequences - Delivers **continuous tours** via Catmull-Rom spline interpolation with trapezoidal motion profiles - Provides **visual markers** (rez'd pyramids) at preset positions for clickable navigation - Offers **FOV control** via RLVa, **dolly zooms**, **lock/follow modes**, and a **touch menu** for common workflows ## Target Users - **SL photographers** composing cinematic viewer captures - **Content creators** building scripted camera experiences - **Virtual set directors** directing camera movement for viewer recording - **Linden Scripting Language (LSL) developers** using the engine as a reusable camera framework ## Key Constraints - **LSL memory is severely limited** — all scripts must avoid large/mixed-type lists and expensive `llParseString2List` in hot paths - **Single-prim HUD** — the Controller lives in the ROOT prim; all logic must be memory-efficient - **Second Life viewer limitations** — camera permission quirks require ESC-workaround; RLVa required for FOV - **Parcel object limits** — marker rezzing depends on parcel LI and rez permissions ## Scope | In Scope | Out of Scope | |----------|---------------| | Preset save/load/delete/list | Multi-user / networked camera sync | | Notecard-driven playlist playback | Mobile / non-desktop viewer support | | Continuous tour with spline interpolation | Audio synchronization | | FOV control via RLVa | AR / VR viewer camera modes | | Lock / Follow modes | Physics object interaction | | Visual marker system | Cloud-based preset sharing | | Dialog menu UI | REST / external API integration |