- 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.
50 lines
2.4 KiB
Markdown
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.
|