@almadar/ui 5.74.0 → 5.75.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/avl/index.cjs +42285 -42757
- package/dist/avl/index.css +0 -504
- package/dist/avl/index.js +42495 -42966
- package/dist/components/core/atoms/index.d.ts +1 -1
- package/dist/components/core/molecules/RepeatableFormSection.d.ts +6 -5
- package/dist/components/core/molecules/index.d.ts +1 -1
- package/dist/components/core/organisms/index.d.ts +1 -1
- package/dist/components/core/templates/index.d.ts +12 -12
- package/dist/components/game/{organisms/puzzles/sequencer → 2d}/ActionPalette.d.ts +1 -1
- package/dist/components/game/{organisms/puzzles/sequencer → 2d}/ActionTile.d.ts +2 -2
- package/dist/components/game/{organisms → 2d}/BattleBoard.d.ts +2 -2
- package/dist/components/game/{templates → 2d}/BattleTemplate.d.ts +3 -3
- package/dist/components/game/{organisms → 2d}/BoardgameBoard.d.ts +4 -4
- package/dist/components/game/{organisms/puzzles/builder → 2d}/BuilderBoard.d.ts +1 -1
- package/dist/components/game/2d/Canvas2D.d.ts +161 -0
- package/dist/components/game/{organisms → 2d}/CanvasEffect.d.ts +3 -3
- package/dist/components/game/{templates → 2d}/CardBattlerTemplate.d.ts +1 -1
- package/dist/components/game/{organisms → 2d}/CastleBoard.d.ts +1 -1
- package/dist/components/game/{templates → 2d}/CastleTemplate.d.ts +3 -3
- package/dist/components/game/{templates → 2d}/CityBuilderTemplate.d.ts +1 -1
- package/dist/components/game/{organisms/puzzles/classifier → 2d}/ClassifierBoard.d.ts +1 -1
- package/dist/components/game/2d/ControlGrid.d.ts +41 -0
- package/dist/components/game/{organisms/puzzles/debugger → 2d}/DebuggerBoard.d.ts +1 -1
- package/dist/components/game/{organisms/puzzles/event-handler → 2d}/EventHandlerBoard.d.ts +1 -1
- package/dist/components/game/{organisms → 2d}/FishingBoard.d.ts +1 -1
- package/dist/components/game/{organisms → 2d}/GameAudioProvider.d.ts +1 -1
- package/dist/components/game/2d/GameCard.d.ts +26 -0
- package/dist/components/game/2d/HealthBar.d.ts +26 -0
- package/dist/components/game/{organisms → 2d}/HexStrategyBoard.d.ts +4 -4
- package/dist/components/game/{organisms → 2d}/HolidayRunnerBoard.d.ts +4 -4
- package/dist/components/game/{molecules → 2d}/IsometricCanvas.d.ts +3 -3
- package/dist/components/game/{organisms → 2d}/MatchPuzzleBoard.d.ts +4 -4
- package/dist/components/game/{organisms → 2d}/MinigolfBoard.d.ts +4 -4
- package/dist/components/game/{organisms/puzzles/negotiator → 2d}/NegotiatorBoard.d.ts +1 -1
- package/dist/components/game/{organisms → 2d}/PinballBoard.d.ts +1 -1
- package/dist/components/game/{organisms → 2d}/PirateBoard.d.ts +4 -4
- package/dist/components/game/{organisms → 2d}/PlatformerBoard.d.ts +9 -14
- package/dist/components/game/{molecules → 2d}/PlatformerCanvas.d.ts +1 -1
- package/dist/components/game/{templates → 2d}/PlatformerTemplate.d.ts +1 -1
- package/dist/components/game/{organisms → 2d}/RacingBoard.d.ts +4 -4
- package/dist/components/game/{organisms → 2d}/RoguelikeBoard.d.ts +1 -1
- package/dist/components/game/{templates → 2d}/RoguelikeTemplate.d.ts +2 -2
- package/dist/components/game/{organisms/puzzles/sequencer → 2d}/SequenceBar.d.ts +1 -1
- package/dist/components/game/{organisms/puzzles/sequencer → 2d}/SequencerBoard.d.ts +1 -1
- package/dist/components/game/{organisms/physics-sim → 2d}/SimulationCanvas.d.ts +1 -1
- package/dist/components/game/{organisms/puzzles/simulator → 2d}/SimulatorBoard.d.ts +1 -1
- package/dist/components/game/{organisms → 2d}/SokobanBoard.d.ts +4 -4
- package/dist/components/game/{organisms → 2d}/SpaceShmupBoard.d.ts +4 -4
- package/dist/components/game/{organisms → 2d}/SpaceStationBoard.d.ts +4 -4
- package/dist/components/game/{organisms → 2d}/SportsBoard.d.ts +4 -4
- package/dist/components/game/{atoms → 2d}/Sprite.d.ts +1 -1
- package/dist/components/game/{organisms/puzzles/state-architect → 2d}/StateArchitectBoard.d.ts +1 -1
- package/dist/components/game/{organisms/puzzles/state-architect → 2d}/StateNode.d.ts +1 -1
- package/dist/components/game/{organisms → 2d}/TanksBoard.d.ts +4 -4
- package/dist/components/game/{templates → 2d}/TopDownShooterTemplate.d.ts +1 -1
- package/dist/components/game/{templates → 2d}/TowerDefenseTemplate.d.ts +1 -1
- package/dist/components/game/{organisms → 2d}/TraitStateViewer.d.ts +1 -1
- package/dist/components/game/{organisms/puzzles/state-architect → 2d}/TransitionArrow.d.ts +1 -1
- package/dist/components/game/{organisms → 2d}/UncontrolledBattleBoard.d.ts +1 -1
- package/dist/components/game/{templates → 2d}/VisualNovelTemplate.d.ts +1 -1
- package/dist/components/game/{organisms → 2d}/WorldMapBoard.d.ts +2 -2
- package/dist/components/game/{templates → 2d}/WorldMapTemplate.d.ts +3 -3
- package/dist/components/game/{templates → 2d}/game3dAssetManifest.d.ts +1 -1
- package/dist/components/game/2d/index.d.ts +122 -0
- package/dist/components/game/{organisms/hooks → 2d}/useBattleState.d.ts +1 -1
- package/dist/components/game/{organisms/hooks → 2d}/useCamera.d.ts +1 -1
- package/dist/components/game/{organisms → 2d}/useCanvasEffects.d.ts +1 -1
- package/dist/components/game/{molecules → 2d}/useUnitSpriteAtlas.d.ts +2 -2
- package/dist/components/game/3d/Canvas3D.d.ts +45 -0
- package/dist/components/game/{molecules/three/renderers → 3d}/FeatureRenderer.d.ts +1 -1
- package/dist/components/game/{molecules/three/renderers → 3d}/FeatureRenderer3D.d.ts +1 -1
- package/dist/components/game/{organisms → 3d}/GameBoard3D.d.ts +2 -2
- package/dist/components/game/{molecules → 3d}/GameCanvas3D.d.ts +3 -3
- package/dist/components/game/{templates → 3d}/GameCanvas3DBattleTemplate.d.ts +2 -2
- package/dist/components/game/{templates → 3d}/GameCanvas3DCastleTemplate.d.ts +2 -2
- package/dist/components/game/{templates → 3d}/GameCanvas3DWorldMapTemplate.d.ts +2 -2
- package/dist/components/game/{molecules/three/components → 3d}/PhysicsObject3D.d.ts +1 -1
- package/dist/components/game/{molecules/three/renderers → 3d}/TileRenderer.d.ts +1 -1
- package/dist/components/game/{molecules/three/renderers → 3d}/UnitRenderer.d.ts +3 -3
- package/dist/components/game/{molecules/three → 3d}/index.cjs +218 -301
- package/dist/components/game/{molecules/three → 3d}/index.css +3 -3
- package/dist/components/game/3d/index.d.ts +41 -0
- package/dist/components/game/{molecules/three → 3d}/index.js +29 -113
- package/dist/components/game/{molecules/three → 3d}/patterns.d.ts +5 -5
- package/dist/components/game/{molecules/three/hooks → 3d}/useAssetLoader.d.ts +1 -1
- package/dist/components/game/{molecules/three/hooks → 3d}/useGameCanvas3DEvents.d.ts +1 -1
- package/dist/components/game/{molecules/three/hooks → 3d}/useThree.d.ts +1 -1
- package/dist/components/game/{organisms/utils → shared}/canvasEffects.d.ts +1 -1
- package/dist/components/game/{organisms/utils → shared}/combatPresets.d.ts +1 -1
- package/dist/components/game/{organisms/types → shared}/game.d.ts +2 -2
- package/dist/components/game/shared/index.d.ts +23 -0
- package/dist/components/game/{organisms/types/isometric.d.ts → shared/isometricTypes.d.ts} +3 -7
- package/dist/components/game/{organisms/utils → shared}/spriteAnimation.d.ts +1 -1
- package/dist/components/game/{organisms/utils → shared}/spriteSheetConstants.d.ts +1 -1
- package/dist/components/index.cjs +24732 -25476
- package/dist/components/index.css +0 -504
- package/dist/components/index.js +24287 -25052
- package/dist/context/index.cjs +5 -7
- package/dist/context/index.js +5 -7
- package/dist/docs/index.cjs +108 -53
- package/dist/docs/index.css +0 -504
- package/dist/docs/index.js +108 -53
- package/dist/hooks/index.cjs +7 -9
- package/dist/hooks/index.js +7 -9
- package/dist/providers/index.cjs +43812 -44284
- package/dist/providers/index.css +0 -504
- package/dist/providers/index.js +43764 -44235
- package/dist/runtime/index.cjs +43783 -44255
- package/dist/runtime/index.css +0 -504
- package/dist/runtime/index.js +43642 -44113
- package/package.json +11 -11
- package/dist/components/game/atoms/HealthBar.d.ts +0 -18
- package/dist/components/game/atoms/XPBar.d.ts +0 -20
- package/dist/components/game/atoms/index.d.ts +0 -25
- package/dist/components/game/molecules/ActionButtons.d.ts +0 -38
- package/dist/components/game/molecules/DPad.d.ts +0 -26
- package/dist/components/game/molecules/index.d.ts +0 -32
- package/dist/components/game/molecules/three/components/index.d.ts +0 -10
- package/dist/components/game/molecules/three/index.d.ts +0 -35
- package/dist/components/game/molecules/three/renderers/index.d.ts +0 -11
- package/dist/components/game/organisms/editor/index.d.ts +0 -9
- package/dist/components/game/organisms/hooks/usePhysics2D.d.ts +0 -45
- package/dist/components/game/organisms/hooks/useSpriteAnimations.d.ts +0 -43
- package/dist/components/game/organisms/index.d.ts +0 -66
- package/dist/components/game/organisms/managers/PhysicsManager.d.ts +0 -103
- package/dist/components/game/organisms/physics-sim/index.d.ts +0 -7
- package/dist/components/game/organisms/puzzles/builder/index.d.ts +0 -2
- package/dist/components/game/organisms/puzzles/classifier/index.d.ts +0 -2
- package/dist/components/game/organisms/puzzles/debugger/index.d.ts +0 -2
- package/dist/components/game/organisms/puzzles/event-handler/index.d.ts +0 -8
- package/dist/components/game/organisms/puzzles/negotiator/index.d.ts +0 -2
- package/dist/components/game/organisms/puzzles/sequencer/index.d.ts +0 -8
- package/dist/components/game/organisms/puzzles/simulator/index.d.ts +0 -2
- package/dist/components/game/organisms/puzzles/state-architect/index.d.ts +0 -10
- package/dist/components/game/templates/index.d.ts +0 -4
- /package/dist/components/game/{atoms → 2d}/ActionButton.d.ts +0 -0
- /package/dist/components/game/{organisms → 2d}/CardBattlerBoard.d.ts +0 -0
- /package/dist/components/game/{molecules → 2d}/CardHand.d.ts +0 -0
- /package/dist/components/game/{atoms → 2d}/ChoiceButton.d.ts +0 -0
- /package/dist/components/game/{organisms → 2d}/CityBuilderBoard.d.ts +0 -0
- /package/dist/components/game/{molecules → 2d}/CombatLog.d.ts +0 -0
- /package/dist/components/game/{atoms → 2d}/ComboCounter.d.ts +0 -0
- /package/dist/components/game/{atoms → 2d}/ControlButton.d.ts +0 -0
- /package/dist/components/game/{molecules → 2d}/CraftingRecipe.d.ts +0 -0
- /package/dist/components/game/{atoms → 2d}/DamageNumber.d.ts +0 -0
- /package/dist/components/game/{molecules → 2d}/DialogueBox.d.ts +0 -0
- /package/dist/components/game/{atoms → 2d}/DialogueBubble.d.ts +0 -0
- /package/dist/components/game/{molecules → 2d}/EnemyPlate.d.ts +0 -0
- /package/dist/components/game/{organisms/puzzles/event-handler → 2d}/EventLog.d.ts +0 -0
- /package/dist/components/game/{organisms → 2d}/GameAudioToggle.d.ts +0 -0
- /package/dist/components/game/{molecules → 2d}/GameCanvas2D.d.ts +0 -0
- /package/dist/components/game/{molecules → 2d}/GameHud.d.ts +0 -0
- /package/dist/components/game/{molecules → 2d}/GameMenu.d.ts +0 -0
- /package/dist/components/game/{molecules → 2d}/GameOverScreen.d.ts +0 -0
- /package/dist/components/game/{templates → 2d}/GameShell.d.ts +0 -0
- /package/dist/components/game/{templates → 2d}/GameTemplate.d.ts +0 -0
- /package/dist/components/game/{molecules → 2d}/HealthPanel.d.ts +0 -0
- /package/dist/components/game/{molecules → 2d}/InventoryGrid.d.ts +0 -0
- /package/dist/components/game/{molecules → 2d}/InventoryPanel.d.ts +0 -0
- /package/dist/components/game/{atoms → 2d}/ItemSlot.d.ts +0 -0
- /package/dist/components/game/{atoms → 2d}/MiniMap.d.ts +0 -0
- /package/dist/components/game/{organisms/puzzles/event-handler → 2d}/ObjectRulePanel.d.ts +0 -0
- /package/dist/components/game/{molecules → 2d}/PowerupSlots.d.ts +0 -0
- /package/dist/components/game/{molecules → 2d}/QuestTracker.d.ts +0 -0
- /package/dist/components/game/{molecules → 2d}/ResourceBar.d.ts +0 -0
- /package/dist/components/game/{atoms → 2d}/ResourceCounter.d.ts +0 -0
- /package/dist/components/game/{organisms/puzzles/event-handler → 2d}/RuleEditor.d.ts +0 -0
- /package/dist/components/game/{molecules → 2d}/ScoreBoard.d.ts +0 -0
- /package/dist/components/game/{atoms → 2d}/ScoreDisplay.d.ts +0 -0
- /package/dist/components/game/{organisms/physics-sim → 2d}/SimulationControls.d.ts +0 -0
- /package/dist/components/game/{organisms/physics-sim → 2d}/SimulationGraph.d.ts +0 -0
- /package/dist/components/game/{molecules → 2d}/StatBadge.d.ts +0 -0
- /package/dist/components/game/{atoms → 2d}/StateIndicator.d.ts +0 -0
- /package/dist/components/game/{organisms/puzzles/state-architect → 2d}/StateJsonView.d.ts +0 -0
- /package/dist/components/game/{atoms → 2d}/StatusEffect.d.ts +0 -0
- /package/dist/components/game/{atoms → 2d}/TimerDisplay.d.ts +0 -0
- /package/dist/components/game/{organisms → 2d}/TopDownShooterBoard.d.ts +0 -0
- /package/dist/components/game/{organisms → 2d}/TowerDefenseBoard.d.ts +0 -0
- /package/dist/components/game/{organisms → 2d}/TraitSlot.d.ts +0 -0
- /package/dist/components/game/{atoms → 2d}/TurnIndicator.d.ts +0 -0
- /package/dist/components/game/{molecules → 2d}/TurnPanel.d.ts +0 -0
- /package/dist/components/game/{molecules → 2d}/UnitCommandBar.d.ts +0 -0
- /package/dist/components/game/{organisms/puzzles/state-architect → 2d}/VariablePanel.d.ts +0 -0
- /package/dist/components/game/{organisms → 2d}/VisualNovelBoard.d.ts +0 -0
- /package/dist/components/game/{atoms → 2d}/WaypointMarker.d.ts +0 -0
- /package/dist/components/game/{organisms/editor → 2d}/editorUtils.d.ts +0 -0
- /package/dist/components/game/{organisms/physics-sim/presets → 2d}/mechanics.d.ts +0 -0
- /package/dist/components/game/{organisms/physics-sim/presets/index.d.ts → 2d/physicsPresets.d.ts} +0 -0
- /package/dist/components/game/{organisms/puzzles/event-handler → 2d}/puzzleObject.d.ts +0 -0
- /package/dist/components/game/{organisms/physics-sim/presets → 2d}/types.d.ts +0 -0
- /package/dist/components/game/{organisms/hooks → 2d}/useGameAudio.d.ts +0 -0
- /package/dist/components/game/{molecules/three/loaders → 3d}/AssetLoader.d.ts +0 -0
- /package/dist/components/game/{molecules/three → 3d}/Camera3D.d.ts +0 -0
- /package/dist/components/game/{molecules/three/components → 3d}/Canvas3DErrorBoundary.d.ts +0 -0
- /package/dist/components/game/{molecules/three/components → 3d}/Canvas3DLoadingState.d.ts +0 -0
- /package/dist/components/game/{molecules/three → 3d}/Lighting3D.d.ts +0 -0
- /package/dist/components/game/{molecules/three/components → 3d}/ModelLoader.d.ts +0 -0
- /package/dist/components/game/{molecules/three → 3d}/Scene3D.d.ts +0 -0
- /package/dist/components/game/{molecules/three/utils → 3d}/culling.d.ts +0 -0
- /package/dist/components/game/{molecules/three/utils → 3d}/grid3D.d.ts +0 -0
- /package/dist/components/game/{molecules/three/hooks → 3d}/useRaycaster.d.ts +0 -0
- /package/dist/components/game/{molecules/three/hooks → 3d}/useSceneGraph.d.ts +0 -0
- /package/dist/components/game/{organisms → shared}/boardEntity.d.ts +0 -0
- /package/dist/components/game/{organisms/utils → shared}/combatEffects.d.ts +0 -0
- /package/dist/components/game/{organisms/types → shared}/effects.d.ts +0 -0
- /package/dist/components/game/{organisms/utils → shared}/isometric.d.ts +0 -0
- /package/dist/components/game/{organisms/utils → shared}/makeAsset.d.ts +0 -0
- /package/dist/components/game/{organisms/types/spriteAnimation.d.ts → shared/spriteAnimationTypes.d.ts} +0 -0
- /package/dist/components/game/{organisms/hooks → shared}/useImageCache.d.ts +0 -0
package/dist/hooks/index.cjs
CHANGED
|
@@ -1042,10 +1042,6 @@ var DEFAULT_SOURCES = ALL_SLOTS.reduce(
|
|
|
1042
1042
|
},
|
|
1043
1043
|
{}
|
|
1044
1044
|
);
|
|
1045
|
-
var idCounter = 0;
|
|
1046
|
-
function generateId() {
|
|
1047
|
-
return `slot-content-${++idCounter}-${Date.now()}`;
|
|
1048
|
-
}
|
|
1049
1045
|
function aggregateSlot(sources) {
|
|
1050
1046
|
if (!sources) return null;
|
|
1051
1047
|
const entries = Object.entries(sources);
|
|
@@ -1122,8 +1118,8 @@ function useUISlotManager() {
|
|
|
1122
1118
|
}, []);
|
|
1123
1119
|
const render = react.useCallback(
|
|
1124
1120
|
(config) => {
|
|
1125
|
-
const id = generateId();
|
|
1126
1121
|
const sourceKey = config.sourceTrait ?? DEFAULT_SOURCE_KEY;
|
|
1122
|
+
const id = `slot-content-${config.target}-${sourceKey}`;
|
|
1127
1123
|
const content = {
|
|
1128
1124
|
id,
|
|
1129
1125
|
pattern: config.pattern,
|
|
@@ -1139,10 +1135,12 @@ function useUISlotManager() {
|
|
|
1139
1135
|
};
|
|
1140
1136
|
if (config.autoDismissMs && config.autoDismissMs > 0) {
|
|
1141
1137
|
content.autoDismissAt = Date.now() + config.autoDismissMs;
|
|
1138
|
+
const prevTimer = timersRef.current.get(id);
|
|
1139
|
+
if (prevTimer) clearTimeout(prevTimer);
|
|
1142
1140
|
const timer = setTimeout(() => {
|
|
1143
1141
|
setSources((prev) => {
|
|
1144
1142
|
const slotSources = prev[config.target];
|
|
1145
|
-
if (slotSources && slotSources[sourceKey]
|
|
1143
|
+
if (slotSources && slotSources[sourceKey] === content) {
|
|
1146
1144
|
content.onDismiss?.();
|
|
1147
1145
|
const next = { ...slotSources };
|
|
1148
1146
|
delete next[sourceKey];
|
|
@@ -1334,7 +1332,7 @@ function useUISlotManager() {
|
|
|
1334
1332
|
);
|
|
1335
1333
|
const updateTraitContent = react.useCallback(
|
|
1336
1334
|
(traitName, content) => {
|
|
1337
|
-
const id =
|
|
1335
|
+
const id = `slot-content-trait-${traitName}`;
|
|
1338
1336
|
const fullContent = { ...content, id, sourceTrait: traitName };
|
|
1339
1337
|
indexTraitRender(traitName, fullContent);
|
|
1340
1338
|
notifyTraitSubscribers(traitName, fullContent);
|
|
@@ -1481,7 +1479,7 @@ function parseQueryBinding(binding) {
|
|
|
1481
1479
|
// stores/entityStore.ts
|
|
1482
1480
|
var entities = /* @__PURE__ */ new Map();
|
|
1483
1481
|
var listeners = /* @__PURE__ */ new Set();
|
|
1484
|
-
var
|
|
1482
|
+
var idCounter = 0;
|
|
1485
1483
|
function subscribe(listener) {
|
|
1486
1484
|
listeners.add(listener);
|
|
1487
1485
|
return () => listeners.delete(listener);
|
|
@@ -1503,7 +1501,7 @@ function getSingleton(type) {
|
|
|
1503
1501
|
return [...entities.values()].find((e) => e.type === type);
|
|
1504
1502
|
}
|
|
1505
1503
|
function spawnEntity(config) {
|
|
1506
|
-
const id = config.id ?? `entity_${++
|
|
1504
|
+
const id = config.id ?? `entity_${++idCounter}`;
|
|
1507
1505
|
const entity = { ...config, id };
|
|
1508
1506
|
entities = new Map(entities);
|
|
1509
1507
|
entities.set(id, entity);
|
package/dist/hooks/index.js
CHANGED
|
@@ -1040,10 +1040,6 @@ var DEFAULT_SOURCES = ALL_SLOTS.reduce(
|
|
|
1040
1040
|
},
|
|
1041
1041
|
{}
|
|
1042
1042
|
);
|
|
1043
|
-
var idCounter = 0;
|
|
1044
|
-
function generateId() {
|
|
1045
|
-
return `slot-content-${++idCounter}-${Date.now()}`;
|
|
1046
|
-
}
|
|
1047
1043
|
function aggregateSlot(sources) {
|
|
1048
1044
|
if (!sources) return null;
|
|
1049
1045
|
const entries = Object.entries(sources);
|
|
@@ -1120,8 +1116,8 @@ function useUISlotManager() {
|
|
|
1120
1116
|
}, []);
|
|
1121
1117
|
const render = useCallback(
|
|
1122
1118
|
(config) => {
|
|
1123
|
-
const id = generateId();
|
|
1124
1119
|
const sourceKey = config.sourceTrait ?? DEFAULT_SOURCE_KEY;
|
|
1120
|
+
const id = `slot-content-${config.target}-${sourceKey}`;
|
|
1125
1121
|
const content = {
|
|
1126
1122
|
id,
|
|
1127
1123
|
pattern: config.pattern,
|
|
@@ -1137,10 +1133,12 @@ function useUISlotManager() {
|
|
|
1137
1133
|
};
|
|
1138
1134
|
if (config.autoDismissMs && config.autoDismissMs > 0) {
|
|
1139
1135
|
content.autoDismissAt = Date.now() + config.autoDismissMs;
|
|
1136
|
+
const prevTimer = timersRef.current.get(id);
|
|
1137
|
+
if (prevTimer) clearTimeout(prevTimer);
|
|
1140
1138
|
const timer = setTimeout(() => {
|
|
1141
1139
|
setSources((prev) => {
|
|
1142
1140
|
const slotSources = prev[config.target];
|
|
1143
|
-
if (slotSources && slotSources[sourceKey]
|
|
1141
|
+
if (slotSources && slotSources[sourceKey] === content) {
|
|
1144
1142
|
content.onDismiss?.();
|
|
1145
1143
|
const next = { ...slotSources };
|
|
1146
1144
|
delete next[sourceKey];
|
|
@@ -1332,7 +1330,7 @@ function useUISlotManager() {
|
|
|
1332
1330
|
);
|
|
1333
1331
|
const updateTraitContent = useCallback(
|
|
1334
1332
|
(traitName, content) => {
|
|
1335
|
-
const id =
|
|
1333
|
+
const id = `slot-content-trait-${traitName}`;
|
|
1336
1334
|
const fullContent = { ...content, id, sourceTrait: traitName };
|
|
1337
1335
|
indexTraitRender(traitName, fullContent);
|
|
1338
1336
|
notifyTraitSubscribers(traitName, fullContent);
|
|
@@ -1479,7 +1477,7 @@ function parseQueryBinding(binding) {
|
|
|
1479
1477
|
// stores/entityStore.ts
|
|
1480
1478
|
var entities = /* @__PURE__ */ new Map();
|
|
1481
1479
|
var listeners = /* @__PURE__ */ new Set();
|
|
1482
|
-
var
|
|
1480
|
+
var idCounter = 0;
|
|
1483
1481
|
function subscribe(listener) {
|
|
1484
1482
|
listeners.add(listener);
|
|
1485
1483
|
return () => listeners.delete(listener);
|
|
@@ -1501,7 +1499,7 @@ function getSingleton(type) {
|
|
|
1501
1499
|
return [...entities.values()].find((e) => e.type === type);
|
|
1502
1500
|
}
|
|
1503
1501
|
function spawnEntity(config) {
|
|
1504
|
-
const id = config.id ?? `entity_${++
|
|
1502
|
+
const id = config.id ?? `entity_${++idCounter}`;
|
|
1505
1503
|
const entity = { ...config, id };
|
|
1506
1504
|
entities = new Map(entities);
|
|
1507
1505
|
entities.set(id, entity);
|