HSDollyCam/project-context.md
mita 31443b091f Add user manual for HS DollyCam and FOV extension; introduce project context for AI agents
- Created HS DollyCam HUD user manual (v1.3.0) detailing features, setup, commands, and troubleshooting.
- Added FOV extension manual outlining FOV commands, usage in playlists, and dollyzoom functionality.
- Introduced project context file for AI agents, specifying technology stack, critical implementation rules, and existing patterns.
2026-05-07 06:10:45 +02:00

50 lines
2.4 KiB
Markdown

---
project_name: 'HS_DollyCam'
user_name: 'mita'
date: 'Wed May 06 2026'
sections_completed: ['technology_stack', 'implementation_rules', 'patterns']
existing_patterns_found: 7
---
# Project Context for AI Agents
_This file contains critical rules and patterns that AI agents must follow when implementing code in this project. Focus on unobvious details that agents might otherwise miss._
---
## Technology Stack & Versions
- **Language:** LSL (Linden Scripting Language)
- **Platform:** Second Life
- **Core Communication:** `llMessageLinked` (Linkset Message)
- **Configuration:** `.properties` files (e.g., `HS_CamEngine.properties`)
- **Key Components:** Specialized LSL scripts (`Controller`, `Playlist`, `imEngineTour`, `Core`, etc.)
## Critical Implementation Rules
- **Memory Management (CRITICAL):**
- Avoid large or mixed-type lists to prevent memory pressure.
- Minimize the use of `llParseString2List` in hot paths (e.g., timer events or frequent `llMessageLinked` receivers).
- Use targeted parsing (token-based or separator-based) for payloads like `CE_INT_SET_CAM`.
- Prefer short-lived data and targeted field extraction.
- **Communication Protocol:**
- Adhere to the defined `CE_INT_*` and `CE_CMD_*` constants for inter-script communication.
- Use `llRegionSayTo` for marker communication when the target key is known to reduce region-wide listener wakeups.
- **Parsing & Data Handling:**
- For high-frequency updates (e.g., camera frames), use optimized parsing helpers as seen in `HS_CamEngineCore.lsl`.
- When reading presets, avoid full string splitting if only a subset of fields is required.
- **Workflow Constraints:**
- Keep continuous tour runtime lists in script memory (`HS_CamEngineTour.lsl`) rather than Linkset Data to ensure performance during timer ticks.
## Existing Patterns & Conventions
- **Naming Conventions:**
- Scripts follow the `HS_Cam[Name].lsl` pattern.
- Communication constants use the `CE_CMD_`, `CE_INT_`, `MN_CMD`, etc., prefixes.
- **Code Organization:**
- Modules are split by responsibility (Controller, Playlist, Engine, etc.).
- Use specialized helper scripts for secondary workflows (e.s. `HS_CamTourCommands.lsl`) to reduce memory pressure on main scripts.
- **Error Handling/Validation:**
- Local checks should include brace-balance and conflict marker searches.
- Use targeted `rg` scans to detect accidental reintroductions of inefficient `llParseString2List` calls.