Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
2613f65
Fix inventory item selection coordinates
z-hunter Apr 25, 2026
4aaa3a8
Improve take source success messages
z-hunter Apr 25, 2026
380fd80
Hydrate surface items on scene change
z-hunter Apr 25, 2026
e2371b4
Fix Exit collision with parallax quads
z-hunter Apr 25, 2026
8070fdb
Fix: correctly parse empty object names for 'all' and 'both' group qu…
z-hunter Apr 26, 2026
98cc02b
Add LLM prompt peek console commands
z-hunter Apr 26, 2026
4dde4d3
Refactoring & Fixes
z-hunter Apr 26, 2026
9775b42
Fix subscene technical surface click blocking
z-hunter Apr 26, 2026
e0cb111
content pdate
z-hunter Apr 26, 2026
ec18c3e
Add Actor component conversion
z-hunter Apr 26, 2026
9114755
Refactoring & Fixes
z-hunter Apr 26, 2026
dfe2f70
documentation update
z-hunter Apr 27, 2026
11d990d
Add Actor route pathfinding
z-hunter May 5, 2026
fbea8ff
AI settings update
z-hunter May 5, 2026
af53e2f
AI settings update
z-hunter May 5, 2026
f9673c2
AI setings
z-hunter May 5, 2026
bde13ad
Improvement: using LLM to improve Parser cascade 1 intention recogniz…
z-hunter May 5, 2026
51e64b6
Add TA-driven semantic facts for LLM parser context
z-hunter May 6, 2026
7b45344
Add session wrap-up for semantic facts work
z-hunter May 6, 2026
89fe62b
Various Fixes
z-hunter May 6, 2026
069d3db
docs: replace hardcoded path in AGENTS.md with placeholder
z-hunter May 6, 2026
2fcb17e
Fix spatial relation type narrowing
z-hunter May 6, 2026
8f7b3f0
Feature: closed-console modal state for parser responses that exceed …
z-hunter May 7, 2026
ea38df4
Add TA take refusal overrides
z-hunter May 7, 2026
1b43375
Imrovement: Click on Inventory Item now work as LOOK command instead …
z-hunter May 7, 2026
e8aa71a
Fixed Hidden Items mechanic and imroved LLM prompt about it
z-hunter May 7, 2026
3689cda
Make inventory preview item parser default target
z-hunter May 7, 2026
95e2c15
Documentation update
z-hunter May 8, 2026
ff24ce8
Improvement: Components blocks headers in Properties Panel UI now hav…
z-hunter May 8, 2026
324320b
Improvements to the previous commit (Component Icins)
z-hunter May 8, 2026
a77f73f
Add hidden lore text assets for LLM context
z-hunter May 9, 2026
bd1ef1e
Content update
z-hunter May 9, 2026
1ed03e0
Major Feature: add runtime Parser Notes for LLM GM memory
z-hunter May 9, 2026
97789e9
Parser: show object contents and notes on look
z-hunter May 10, 2026
c2ace62
Add scene-local parser history to LLM context
z-hunter May 10, 2026
57b4dd6
Fixes and updates
z-hunter May 10, 2026
0627301
Content update
z-hunter May 10, 2026
dbf47e0
Ignore pseudo-floor walkboxes for LOOK
z-hunter May 10, 2026
bd0b7ec
Handle floor LOOK via current walkbox
z-hunter May 10, 2026
f38dcbe
Add LLM prompt cache split
z-hunter May 10, 2026
90d4b9b
Update session log
z-hunter May 10, 2026
93874b6
Fixed m-dash in LLM output (now we insert spaces between dash and let…
z-hunter May 10, 2026
fa9fcbc
Feature: Sound Manager with 3d spatial system and dynamic reverb/dela…
z-hunter May 12, 2026
75a0093
Sound manager fixes and minor improvements
z-hunter May 12, 2026
d4b6647
Fix PUT target distance in subscenes
z-hunter May 12, 2026
0abbdb6
Fix parser take clarification and plan scope refresh
z-hunter May 12, 2026
98a7069
feat(audio): implement comprehensive 3D sound environment and scene-w…
z-hunter May 12, 2026
8036221
Fixed bug with mouse selection of objects in the editor that have a p…
z-hunter May 12, 2026
69362b6
Improvement: Script API
z-hunter May 12, 2026
e160a21
Fixed LLM Parser Notes fenced-response regression
z-hunter May 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 22 additions & 20 deletions .agent/current_task.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,32 @@
# Current Task: Entry/Exit Implementation & Camera Snapping
# Current Task: 3D Spatial Audio & SoundManager Implementation

## Status: COMPLETED ✅

## What was done this session

### 1. Game.ts Decomposition
- **InventoryManager** moved to `src/systems/`.
- **GameSemanticAPI** extracted to `src/systems/`.
- MONOLITH reduced from 80KB to 40KB.
### 1. SoundManager Architecture
- Implemented `SoundManager.ts` using **Web Audio API**.
- Support for **3D Spatial Audio** (HRTF panning), **Convolution Reverb**, and **Delay** effects.
- Dynamic **Proximity EQ** (+6dB bass boost at 250Hz) and **Reverb Scaling**.

### 2. Universal Exit/Entry Components ✅
- Implemented `Exit` and `Entry` components working on ANY object type (Entities, Triggerboxes, Quads).
- Supported **Same-Scene Teleportation** (empty `targetSceneId`).
- Automated collision-based transitions in `ComponentSystem`.
- Verified actor transfer and state persistence (NPCs & Player).
### 2. 2.5D Spatial Logic ✅
- Developed a physically grounded 2.5D sound model:
* `Parallax 1.1` = Head Level (Z=0).
* `Parallax 1.0` = Foreground (Z=-400).
* `Parallax 0.0` = Infinity (Z=-10000).
* `Parallax < 0` = Behind Listener (+Z).
- Integrated **Camera Zoom** scaling: Z-depth is attenuated by `1/zoom`.

### 3. Camera Snap ✅
- Implemented `scene.snapCameraToPlayer()` for instant positioning after transition.
- Fixed bug where camera would "stick" to old player reference after scene load.
### 3. Engine Integration ✅
- Synchronized `SoundManager` update loop in `Game.ts`.
- Exposed complete Audio API through `ScriptAPI.ts` (`api.playSoundAttached`, `api.loadReverbIR`, etc.).
- Created a demo script and scene for visual/auditory validation.

### 4. Verification ✅
- `npm run typecheck` passed.
- `npm run test` passed: 18 files, 205 tests.
- Restored storage/semantic runtime contracts after a partial API rewrite caused PUT/DROP and inventory regressions.
### 4. Documentation & Memory ✅
- Wrote comprehensive technical documentation in `SoundSys.md`.
- Persisted architectural facts in `agent_memory`.

## Next Steps
1. **Feature Development**: Resume gameplay features as per `GDD.md`.
2. **Architecture Audit**: Review remaining "any" casts in `ComponentSystem.ts`.
3. **Browser QA**: Optionally verify instant camera snap visually in the editor/runtime.
1. **Performance Tuning**: Monitor `ConvolverNode` overhead in high-density scenes.
2. **SFX Library**: Start populating the `/public/sounds/` directory with production assets.
3. **Gameplay Mechanics**: Integrate sound triggers into common object prefabs (Doors, Switches).
41 changes: 41 additions & 0 deletions .agent/rules/kairo.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
trigger: always_on
---

## Kairo TaskOps Skill

Use Kairo CLI for task tracking and status reconciliation in the Scanline Engine project.

### Core Workflow

1. **Check Context**: At the start of a session, run `kairo api list --proj quest` to understand the current backlog and active tasks.
2. **Reconcile**: If the user's request matches an existing task, update its status to `doing` using `kairo api update --id <id> --status doing`.
3. **Track Progress**: For tasks that span multiple turns, keep the description updated with key findings.
4. **Wrap-up**: When a task is finished, mark it as `done` and store any durable knowledge (decisions, runbooks, incidents) in `agent_memory`.

### CLI Command Reference

- **List Project Tasks**:
`kairo api list --proj quest` (filters tasks carrying the `proj:quest` tag)
- **Create New Task**:
`kairo api create --title "[Quest] <action phrase>" --description "Owner: <codex|user|gemini>\nContext: <details>\nExpected outcome: <outcome>" --tag "proj:quest" --tag "owner:codex" --tag "type:<bug|feature|chore|research>" --priority <0-3>`
- **Update Task Status**:
`kairo api update --id <id> --status <todo|doing|done|blocked>`
- **Mark as Done**:
`kairo api update --id <id> --status done`

### Standard Tagging Taxonomy

- `proj:quest`: Mandatory for all project-related tasks.
- `owner:<codex|gemini|antigravity|user>`: Who is responsible for the task.
- `type:<bug|feature|research|docs|chore|test|decision|review|followup>`: Category of work.
- `area:<parser|scene|systems|ui|core|infra|movement|pathfinding|gdd|llm>`: Specific subsystem.
- `source:<chat|review|test|notebooklm|memory|gdd|user>`: Where the task originated.
- `status-meta:<blocked|needs-user|needs-acceptance|waiting|delegated>`: Additional status metadata.
- `session:<YYYY-MM-DD>`: The session date when the task was created or updated.

### Integration with agent_memory

- Kairo is for **tasks** (the "what" and "status").
- `agent_memory` is for **durable knowledge** (the "how", "why", and "what was learned").
- Always cross-reference: mention the Kairo task ID in memory entries and commit messages when relevant.
24 changes: 24 additions & 0 deletions .agent/rules/wrap-up.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
trigger: always_on
---

## Wrap-up Protocol

When the user requests a `wrap-up` or `wrap-up-session`:

1. **Summarize the Session**: Create a comprehensive summary of the current session, including:
- **Session Goal**: What was the primary objective?
- **What Was Implemented**: Detailed list of features, fixes, and changes.
- **Architecture/Runtime Decisions**: Any key decisions made and their rationale.
- **Parser/Mechanics/Scene Changes**: Specific updates to core subsystems.
- **Tests Run**: Outcomes of `npm test`, `npx vitest`, or specific manual checks.
- **Commits Created**: List hashes and messages of commits made during the session.
- **Current State**: Summary of the project status at the end of the session.
- **Remaining Work / Next Steps**: Actionable tasks for the next session.
- **Risks / Caveats**: Any known issues, technical debt, or open questions.
2. **Update `Sessions.md`**: Append the summary to the end of `Sessions.md` in the project root, using the established `## Session Entry - YYYY-MM-DD HH:mm [Timezone]` format.
3. **Persist Knowledge**:
- Store high-value, durable knowledge in `agent_memory` (facts, decisions, runbooks).
- Update `.agent/context.md` and `.agent/current_task.md` to reflect the new state.
4. **Kairo Cleanup**: Close completed tasks in Kairo and create follow-up tasks for the `Remaining Work`.
5. **Final Report**: Provide the user with a brief confirmation that the wrap-up is complete and point them to the updated `Sessions.md`.
Loading
Loading