Keep only one active semantic node

NOTE: no action on sem node click
This commit is contained in:
2026-07-14 07:49:44 +02:00
parent 8fec26f69f
commit 5a72c91891
3 changed files with 12 additions and 3 deletions

View File

@@ -45,10 +45,12 @@ export default class extends Controller {
* @param {import("../state.js").NormalizedSceneNode} normNode * @param {import("../state.js").NormalizedSceneNode} normNode
*/ */
addSemanticNode(normNode) { addSemanticNode(normNode) {
if (!AppState.semanticNodes.get(normNode.label)) { // First remove any existing sem node
createSemanticNode(normNode.model, normNode.label); if (AppState.currentSemNodeId) {
AppState.semanticNodes.set(normNode.label, normNode.content); ATON.SemFactory.deleteSemanticNode(AppState.currentSemNodeId);
} }
createSemanticNode(normNode.model, normNode.label);
AppState.currentSemNodeId = normNode.label;
} }
/** /**

View File

@@ -28,7 +28,12 @@ let AppState = {
*/ */
ontology: {}, ontology: {},
treeNodes: {}, treeNodes: {},
// Redundant??
semanticNodes: new Map, semanticNodes: new Map,
/**
* @type {String|null}
*/
currentSemNodeId: null,
mainNodeId: null, mainNodeId: null,
currentScene: null, currentScene: null,
sceneHasAudio: false, sceneHasAudio: false,

View File

@@ -22,6 +22,7 @@ export function initAtonEvents() {
}); });
// Triggers on mouse click / tap events // Triggers on mouse click / tap events
/*
ATON.on("Tap", (e) => { ATON.on("Tap", (e) => {
let node = ATON.getHoveredSemanticNode(); let node = ATON.getHoveredSemanticNode();
if (node) { if (node) {
@@ -35,4 +36,5 @@ export function initAtonEvents() {
document.dispatchEvent(event); document.dispatchEvent(event);
} }
}); });
*/
} }