Scene refact3 to dev#9
Closed
KudenikovNS wants to merge 50 commits into
Closed
Conversation
…eries (e.g. TAKE ALL)
…ig and also generate less generic answers.
fix(trigger): ensure keyId takes precedence over idKey
…the two visible closed-console lines (according the GDD).
…e SVG icons.
Since we're using Vite's import.meta.glob('../../../assets/components-icon/*.svg') function, the builder automatically scans this folder and collects a list of all available files.
All you need to do is place a new .svg file in the src/assets/components-icon/ folder and name it the same as the component (use lowercase).
For example, if a "Teleport" component appears, simply drop the teleport.svg file into the folder, and the icon will immediately appear in the editor without any code changes. The only caveat is that if the game is running locally at the time, the development server (Vite) will automatically update everything on the fly via Hot Reload.
Add runtime-only Parser Notes for the LLM cascade so unsupported but plausible player intents can produce grounded Game Master narration without forcing the request into nearby standard actions. Implemented scene and entity PN storage on runtime Scene state, structured setSceneParserNote/setEntityParserNote actions, PN context injection for scene/entities/knownEntities/inventory/focused target, and #PEEK/#PEEKPN debug visibility for PN context and mutations. Added parserNoteNeedsCheck stale markers. Real runtime mutations such as TAKE, PUT, OPEN, CLOSE, and inventory removal now mark existing affected PN as needing verification instead of deleting or silently editing them. LLM prompts now require stale PN to be confirmed, corrected, or cleared before player-facing output. Tightened the LLM prompt contract around creative Game Master behavior, unsupported recognized intent, world-model authority, inventory/spatial separation, and PN ownership so notes describe persistent object or scene facts rather than temporary player character state. Updated Parser.md, GDD.md, and TextAssets.md, and added focused parser, LLM cascade, PN debug, and world-model context coverage. Validation: npm test; npm run typecheck; git diff --check.
Extend object LOOK and EXAMINE responses with contextual extras. When a target object has an Inventory relation for contents, append the same visible contents text produced by LOOK IN before any fresh object Parser Note. Empty containers and stale Parser Notes marked needsCheck are not shown as extras. Adds parser command coverage for fresh/stale Parser Notes, visible inventory contents, empty containers, and the required contents-before-notes ordering.
…y FX
- Integrated Web Audio API with HRTF-based 3D spatialization.
- Implemented a physically grounded 2.5D sound model:
* Parallax 1.1: Head level (Z=0, 20% Reverb/80% Dry, proximity EQ).
* Parallax 1.0: Near field (Z=-400).
* Parallax 0.0: Infinity foreground (Z=-10000, 100% Reverb/0% Dry, mono).
* Parallax < 0: Sound source behind the listener (+Z).
- Dynamic Camera Zoom integration: scales audio Z-depth to simulate distance.
- Advanced DSP chain: Convolution Reverb (Impulse Response support), Slapback Delay, and Distance-based Proximity EQ (+6dB bass boost at 250Hz when close).
- Exponential crossfading between dry and wet signals based on distance.
- Full ScriptAPI exposure and comprehensive technical documentation (SoundSys.md).
…ide default reverb - Added '3D SOUND ENV.' section to Scene Properties panel. - Implemented Scene-wide Default Reverb IR with real-time hot-swapping. - Refactored SoundManager for robust ConvolverNode management and gain staging. - Added 'Reverb Min %' and 'noReverb' flag to Script API. - Updated documentation (SoundSys.md, tech-spec.md) and added test scripts.
…arallax significantly different from 1 The cause was the double application of parallax during hit testing: Entity.hitTest() already expects visual world coordinates and takes camera * (parallax - 1) into account, while the editor passed layer coordinates via cam * parallax. Changed: EditorTransformManager.ts (line 104) and EditorTransformManager.ts (line 471) now correctly select/start dragging entities with parallax != 1. SceneInteraction.ts (line 65) has also been updated to use the same contract so that runtime clicks on parallax entities don't suffer from the same error. Added regression tests: editor-snapping-system.test.ts (line 129) and scene-interaction.test.ts (line 61).
- Refactored api.setInterval and api.setTimeout to use engine-ticked custom timers instead of native JS timers. - Added support for scene-bound and global script scopes (api.makeGlobal()). - Scripts now automatically pause when their bound scene unloads and resume when it reloads. - Added api.wait(ms) for asynchronous pause-aware delay. - Exposed getScriptRuntimeState for debug profiling. - Updated ScriptSys.md to detail lifecycle, scopes, and async limits.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.