feat: add onMemoryPlaced callback for particle system integration

This commit is contained in:
2026-04-11 00:50:18 +00:00
parent 9561488f8a
commit 0bf810f1e8

View File

@@ -32,6 +32,9 @@
const SpatialMemory = (() => {
// ─── CALLBACKS ────────────────────────────────────────
let _onMemoryPlacedCallback = null;
// ─── REGION DEFINITIONS ───────────────────────────────
const REGIONS = {
engineering: {
@@ -301,6 +304,12 @@ const SpatialMemory = (() => {
_dirty = true;
saveToStorage();
console.info('[Mnemosyne] Spatial memory placed:', mem.id, 'in', region.label);
// Fire particle burst callback
if (_onMemoryPlacedCallback) {
_onMemoryPlacedCallback(crystal.position.clone(), mem.category || 'working');
}
return crystal;
}
@@ -897,6 +906,10 @@ const SpatialMemory = (() => {
return obj ? obj.mesh.position.clone() : null;
}
function setOnMemoryPlaced(callback) {
_onMemoryPlacedCallback = callback;
}
return {
init, placeMemory, removeMemory, update, updateMemoryVisual,
getMemoryAtPosition, getRegionAtPosition, getMemoriesInRegion, getAllMemories,
@@ -904,7 +917,8 @@ const SpatialMemory = (() => {
exportIndex, importIndex, exportToFile, importFromFile, searchNearby, REGIONS,
saveToStorage, loadFromStorage, clearStorage,
runGravityLayout,
searchContent, highlightSearchResults, clearSearch, getSearchMatchPosition
searchContent, highlightSearchResults, clearSearch, getSearchMatchPosition,
setOnMemoryPlaced
};
})();