@almadar/ui 5.54.0 → 5.55.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 +64 -53
- package/dist/avl/index.js +64 -53
- package/dist/components/index.cjs +5 -1
- package/dist/components/index.js +5 -1
- package/dist/providers/index.cjs +56 -45
- package/dist/providers/index.js +56 -45
- package/dist/runtime/index.cjs +51 -40
- package/dist/runtime/index.js +51 -40
- package/package.json +1 -1
package/dist/avl/index.cjs
CHANGED
|
@@ -12207,6 +12207,16 @@ var init_Skeleton = __esm({
|
|
|
12207
12207
|
Skeleton.displayName = "Skeleton";
|
|
12208
12208
|
}
|
|
12209
12209
|
});
|
|
12210
|
+
function isKnownPattern(type) {
|
|
12211
|
+
return type in componentMapping;
|
|
12212
|
+
}
|
|
12213
|
+
var componentMapping;
|
|
12214
|
+
var init_pattern_resolver = __esm({
|
|
12215
|
+
"renderer/pattern-resolver.ts"() {
|
|
12216
|
+
logger.createLogger("almadar:ui:pattern-resolver");
|
|
12217
|
+
componentMapping = {};
|
|
12218
|
+
}
|
|
12219
|
+
});
|
|
12210
12220
|
|
|
12211
12221
|
// renderer/slot-definitions.ts
|
|
12212
12222
|
function isPortalSlot(slot) {
|
|
@@ -12315,6 +12325,7 @@ var init_navigation = __esm({
|
|
|
12315
12325
|
// renderer/index.ts
|
|
12316
12326
|
var init_renderer = __esm({
|
|
12317
12327
|
"renderer/index.ts"() {
|
|
12328
|
+
init_pattern_resolver();
|
|
12318
12329
|
init_slot_definitions();
|
|
12319
12330
|
}
|
|
12320
12331
|
});
|
|
@@ -14018,7 +14029,7 @@ function recordTransition(trace) {
|
|
|
14018
14029
|
...trace,
|
|
14019
14030
|
id: `t-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`
|
|
14020
14031
|
};
|
|
14021
|
-
|
|
14032
|
+
log5.debug("transition:recorded", { trait: trace.traitName, from: trace.from, to: trace.to, event: trace.event, effectCount: trace.effects.length });
|
|
14022
14033
|
getState().transitions.push(entry);
|
|
14023
14034
|
if (getState().transitions.length > MAX_TRANSITIONS) {
|
|
14024
14035
|
getState().transitions.shift();
|
|
@@ -14117,7 +14128,7 @@ function getTraitSnapshots() {
|
|
|
14117
14128
|
try {
|
|
14118
14129
|
snapshots.push(getter());
|
|
14119
14130
|
} catch (err) {
|
|
14120
|
-
|
|
14131
|
+
log5.error("traitSnapshot getter failed", { trait: traitName, err: String(err) });
|
|
14121
14132
|
}
|
|
14122
14133
|
}
|
|
14123
14134
|
return snapshots;
|
|
@@ -14216,10 +14227,10 @@ function updateAssetStatus(url, status) {
|
|
|
14216
14227
|
window.__orbitalVerification.assetStatus[url] = status;
|
|
14217
14228
|
}
|
|
14218
14229
|
}
|
|
14219
|
-
var
|
|
14230
|
+
var log5, MAX_TRANSITIONS;
|
|
14220
14231
|
var init_verificationRegistry = __esm({
|
|
14221
14232
|
"lib/verificationRegistry.ts"() {
|
|
14222
|
-
|
|
14233
|
+
log5 = logger.createLogger("almadar:bridge");
|
|
14223
14234
|
MAX_TRANSITIONS = 500;
|
|
14224
14235
|
exposeOnWindow();
|
|
14225
14236
|
}
|
|
@@ -16115,7 +16126,7 @@ function generateDiff(oldVal, newVal) {
|
|
|
16115
16126
|
}
|
|
16116
16127
|
return diff;
|
|
16117
16128
|
}
|
|
16118
|
-
var orbStyleOverrides, orbStyle, loloStyleOverrides, loloStyle,
|
|
16129
|
+
var orbStyleOverrides, orbStyle, loloStyleOverrides, loloStyle, log6, CODE_LANGUAGES, CODE_LANGUAGE_SET, DIFF_STYLES, LINE_PROPS_FN, HIDDEN_LINE_NUMBERS, CodeBlock;
|
|
16119
16130
|
var init_CodeBlock = __esm({
|
|
16120
16131
|
"components/core/molecules/markdown/CodeBlock.tsx"() {
|
|
16121
16132
|
init_cn();
|
|
@@ -16198,7 +16209,7 @@ var init_CodeBlock = __esm({
|
|
|
16198
16209
|
"lolo-op-async": { color: syntax.ORB_COLORS.dark.async }
|
|
16199
16210
|
};
|
|
16200
16211
|
loloStyle = { ...dark__default.default, ...loloStyleOverrides };
|
|
16201
|
-
|
|
16212
|
+
log6 = logger.createLogger("almadar:ui:markdown-code");
|
|
16202
16213
|
CODE_LANGUAGES = [
|
|
16203
16214
|
"text",
|
|
16204
16215
|
"json",
|
|
@@ -16462,7 +16473,7 @@ var init_CodeBlock = __esm({
|
|
|
16462
16473
|
eventBus.emit("UI:COPY_CODE", { language: activeLanguage, success: true });
|
|
16463
16474
|
setTimeout(() => setCopied(false), 2e3);
|
|
16464
16475
|
} catch (err) {
|
|
16465
|
-
|
|
16476
|
+
log6.error("Failed to copy code", { error: err instanceof Error ? err : String(err) });
|
|
16466
16477
|
eventBus.emit("UI:COPY_CODE", { language: activeLanguage, success: false });
|
|
16467
16478
|
}
|
|
16468
16479
|
};
|
|
@@ -20343,14 +20354,14 @@ function useSafeEventBus2() {
|
|
|
20343
20354
|
} };
|
|
20344
20355
|
}
|
|
20345
20356
|
}
|
|
20346
|
-
var
|
|
20357
|
+
var log7, lookStyles4, ButtonGroup;
|
|
20347
20358
|
var init_ButtonGroup = __esm({
|
|
20348
20359
|
"components/core/molecules/ButtonGroup.tsx"() {
|
|
20349
20360
|
"use client";
|
|
20350
20361
|
init_cn();
|
|
20351
20362
|
init_atoms2();
|
|
20352
20363
|
init_useEventBus();
|
|
20353
|
-
|
|
20364
|
+
log7 = logger.createLogger("almadar:ui:button-group");
|
|
20354
20365
|
lookStyles4 = {
|
|
20355
20366
|
"right-aligned-buttons": "",
|
|
20356
20367
|
"floating-bar": "fixed bottom-section left-1/2 -translate-x-1/2 shadow-elevation-toast bg-card p-card-sm rounded-container",
|
|
@@ -20431,7 +20442,7 @@ var init_ButtonGroup = __esm({
|
|
|
20431
20442
|
{
|
|
20432
20443
|
variant: "ghost",
|
|
20433
20444
|
onClick: () => {
|
|
20434
|
-
|
|
20445
|
+
log7.debug("Filter clicked", { field: filter.field });
|
|
20435
20446
|
},
|
|
20436
20447
|
children: filter.label
|
|
20437
20448
|
},
|
|
@@ -28093,9 +28104,9 @@ function debug(...args) {
|
|
|
28093
28104
|
const [first, ...rest] = args;
|
|
28094
28105
|
const message = typeof first === "string" ? first : "<debug>";
|
|
28095
28106
|
if (rest.length === 0 && typeof first === "string") {
|
|
28096
|
-
|
|
28107
|
+
log8.debug(message);
|
|
28097
28108
|
} else {
|
|
28098
|
-
|
|
28109
|
+
log8.debug(message, { args: rest.length > 0 ? formatArgs(rest) : formatArgs([first]) });
|
|
28099
28110
|
}
|
|
28100
28111
|
}
|
|
28101
28112
|
function debugGroup(label) {
|
|
@@ -28123,11 +28134,11 @@ function toLogMetaValue(v) {
|
|
|
28123
28134
|
}
|
|
28124
28135
|
return String(v);
|
|
28125
28136
|
}
|
|
28126
|
-
var NAMESPACE,
|
|
28137
|
+
var NAMESPACE, log8;
|
|
28127
28138
|
var init_debug = __esm({
|
|
28128
28139
|
"lib/debug.ts"() {
|
|
28129
28140
|
NAMESPACE = "almadar:ui:debug";
|
|
28130
|
-
|
|
28141
|
+
log8 = logger.createLogger(NAMESPACE);
|
|
28131
28142
|
logger.createLogger("almadar:ui:debug:input");
|
|
28132
28143
|
logger.createLogger("almadar:ui:debug:collision");
|
|
28133
28144
|
logger.createLogger("almadar:ui:debug:physics");
|
|
@@ -44009,11 +44020,11 @@ var init_Canvas3DErrorBoundary = __esm({
|
|
|
44009
44020
|
"components/game/molecules/three/components/Canvas3DErrorBoundary.css"() {
|
|
44010
44021
|
}
|
|
44011
44022
|
});
|
|
44012
|
-
var
|
|
44023
|
+
var log9, Canvas3DErrorBoundary;
|
|
44013
44024
|
var init_Canvas3DErrorBoundary2 = __esm({
|
|
44014
44025
|
"components/game/molecules/three/components/Canvas3DErrorBoundary.tsx"() {
|
|
44015
44026
|
init_Canvas3DErrorBoundary();
|
|
44016
|
-
|
|
44027
|
+
log9 = logger.createLogger("almadar:ui:game:canvas3d:error-boundary");
|
|
44017
44028
|
Canvas3DErrorBoundary = class extends React90.Component {
|
|
44018
44029
|
constructor(props) {
|
|
44019
44030
|
super(props);
|
|
@@ -44041,8 +44052,8 @@ var init_Canvas3DErrorBoundary2 = __esm({
|
|
|
44041
44052
|
componentDidCatch(error, errorInfo) {
|
|
44042
44053
|
this.setState({ errorInfo });
|
|
44043
44054
|
this.props.onError?.(error, errorInfo);
|
|
44044
|
-
|
|
44045
|
-
|
|
44055
|
+
log9.error("Error caught", { error });
|
|
44056
|
+
log9.error("Component stack", { componentStack: errorInfo.componentStack ?? "<none>" });
|
|
44046
44057
|
}
|
|
44047
44058
|
render() {
|
|
44048
44059
|
if (this.state.hasError) {
|
|
@@ -44105,7 +44116,7 @@ function useGLTFModel(url, resourceBasePath) {
|
|
|
44105
44116
|
setState({ model: null, isLoading: false, error: null });
|
|
44106
44117
|
return;
|
|
44107
44118
|
}
|
|
44108
|
-
|
|
44119
|
+
log10.debug("Loading", { url });
|
|
44109
44120
|
setState((prev) => ({ ...prev, isLoading: true, error: null }));
|
|
44110
44121
|
const assetRoot = resourceBasePath || detectAssetRoot2(url);
|
|
44111
44122
|
const loader = new GLTFLoader.GLTFLoader();
|
|
@@ -44113,7 +44124,7 @@ function useGLTFModel(url, resourceBasePath) {
|
|
|
44113
44124
|
loader.load(
|
|
44114
44125
|
url,
|
|
44115
44126
|
(gltf) => {
|
|
44116
|
-
|
|
44127
|
+
log10.debug("Loaded", { url });
|
|
44117
44128
|
setState({
|
|
44118
44129
|
model: gltf.scene,
|
|
44119
44130
|
isLoading: false,
|
|
@@ -44122,7 +44133,7 @@ function useGLTFModel(url, resourceBasePath) {
|
|
|
44122
44133
|
},
|
|
44123
44134
|
void 0,
|
|
44124
44135
|
(err) => {
|
|
44125
|
-
|
|
44136
|
+
log10.warn("Failed", { url, error: err instanceof Error ? err : String(err) });
|
|
44126
44137
|
setState({
|
|
44127
44138
|
model: null,
|
|
44128
44139
|
isLoading: false,
|
|
@@ -44238,11 +44249,11 @@ function ModelLoader({
|
|
|
44238
44249
|
}
|
|
44239
44250
|
);
|
|
44240
44251
|
}
|
|
44241
|
-
var
|
|
44252
|
+
var log10;
|
|
44242
44253
|
var init_ModelLoader = __esm({
|
|
44243
44254
|
"components/game/molecules/three/components/ModelLoader.tsx"() {
|
|
44244
44255
|
"use client";
|
|
44245
|
-
|
|
44256
|
+
log10 = logger.createLogger("almadar:ui:game:model-loader");
|
|
44246
44257
|
}
|
|
44247
44258
|
});
|
|
44248
44259
|
|
|
@@ -48547,7 +48558,7 @@ function getAllEvents(traits2) {
|
|
|
48547
48558
|
function EventDispatcherTab({ traits: traits2, schema }) {
|
|
48548
48559
|
const eventBus = useEventBus();
|
|
48549
48560
|
const { t } = hooks.useTranslate();
|
|
48550
|
-
const [
|
|
48561
|
+
const [log16, setLog] = React90__namespace.useState([]);
|
|
48551
48562
|
const prevStatesRef = React90__namespace.useRef(/* @__PURE__ */ new Map());
|
|
48552
48563
|
React90__namespace.useEffect(() => {
|
|
48553
48564
|
for (const trait of traits2) {
|
|
@@ -48611,9 +48622,9 @@ function EventDispatcherTab({ traits: traits2, schema }) {
|
|
|
48611
48622
|
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", weight: "medium", className: "text-gray-500 mb-1", children: t("debug.otherEvents") }),
|
|
48612
48623
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1", children: unavailableEvents.map((event) => /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "default", size: "sm", className: "opacity-50", children: event }, event)) })
|
|
48613
48624
|
] }),
|
|
48614
|
-
|
|
48625
|
+
log16.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
48615
48626
|
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", weight: "medium", className: "text-gray-500 mb-1", children: t("debug.recentTransitions") }),
|
|
48616
|
-
/* @__PURE__ */ jsxRuntime.jsx(Stack, { gap: "xs", children:
|
|
48627
|
+
/* @__PURE__ */ jsxRuntime.jsx(Stack, { gap: "xs", children: log16.map((entry, i) => /* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "small", className: "font-mono text-xs", children: [
|
|
48617
48628
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-purple-400", children: entry.traitName }),
|
|
48618
48629
|
" ",
|
|
48619
48630
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-500", children: entry.from }),
|
|
@@ -53478,7 +53489,7 @@ function isPatternConfig(value) {
|
|
|
53478
53489
|
if (value instanceof Date) return false;
|
|
53479
53490
|
if (typeof value === "function") return false;
|
|
53480
53491
|
const record = value;
|
|
53481
|
-
return "type" in record && typeof record.type === "string";
|
|
53492
|
+
return "type" in record && typeof record.type === "string" && isKnownPattern(record.type);
|
|
53482
53493
|
}
|
|
53483
53494
|
function isPlainConfigObject(value) {
|
|
53484
53495
|
if (React90__namespace.default.isValidElement(value)) return false;
|
|
@@ -57390,7 +57401,7 @@ function convertObjectProps(props) {
|
|
|
57390
57401
|
function convertFnFormLambdasInProps(props) {
|
|
57391
57402
|
return convertObjectProps(props);
|
|
57392
57403
|
}
|
|
57393
|
-
var
|
|
57404
|
+
var log11 = logger.createLogger("almadar:ui:effects:client-handlers");
|
|
57394
57405
|
function createClientEffectHandlers(options) {
|
|
57395
57406
|
const { eventBus, slotSetter, navigate, notify, callService, liveEntity } = options;
|
|
57396
57407
|
return {
|
|
@@ -57399,11 +57410,11 @@ function createClientEffectHandlers(options) {
|
|
|
57399
57410
|
eventBus.emit(prefixedEvent, payload);
|
|
57400
57411
|
},
|
|
57401
57412
|
persist: async () => {
|
|
57402
|
-
|
|
57413
|
+
log11.warn("persist is server-side only, ignored on client");
|
|
57403
57414
|
},
|
|
57404
57415
|
set: (_entityId, field, value) => {
|
|
57405
57416
|
if (!liveEntity) {
|
|
57406
|
-
|
|
57417
|
+
log11.warn("set is server-side only, ignored on client (no live entity)");
|
|
57407
57418
|
return;
|
|
57408
57419
|
}
|
|
57409
57420
|
liveEntity[field] = value;
|
|
@@ -57435,10 +57446,10 @@ function createClientEffectHandlers(options) {
|
|
|
57435
57446
|
slotSetter.addPattern(slot, pattern, props);
|
|
57436
57447
|
},
|
|
57437
57448
|
navigate: navigate ?? ((path) => {
|
|
57438
|
-
|
|
57449
|
+
log11.warn("No navigate handler, ignoring", { path });
|
|
57439
57450
|
}),
|
|
57440
57451
|
notify: notify ?? ((msg, type) => {
|
|
57441
|
-
|
|
57452
|
+
log11.debug("notify", { type, message: msg });
|
|
57442
57453
|
})
|
|
57443
57454
|
};
|
|
57444
57455
|
}
|
|
@@ -57670,7 +57681,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57670
57681
|
};
|
|
57671
57682
|
}, [traitBindings]);
|
|
57672
57683
|
const executeTransitionEffects = React90.useCallback(async (params) => {
|
|
57673
|
-
const { binding, previousState, newState, payload, flushEvent, syncOnly, log:
|
|
57684
|
+
const { binding, previousState, newState, payload, flushEvent, syncOnly, log: log16 } = params;
|
|
57674
57685
|
const traitName = binding.trait.name;
|
|
57675
57686
|
const linkedEntity = binding.linkedEntity || "";
|
|
57676
57687
|
const entityId = payload?.entityId;
|
|
@@ -57758,7 +57769,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57758
57769
|
...handlers,
|
|
57759
57770
|
set: async (targetId, field, value) => {
|
|
57760
57771
|
if (baseSet) await baseSet(targetId, field, value);
|
|
57761
|
-
|
|
57772
|
+
log16.debug("set:write", {
|
|
57762
57773
|
traitName,
|
|
57763
57774
|
field,
|
|
57764
57775
|
value: JSON.stringify(value),
|
|
@@ -57798,7 +57809,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57798
57809
|
const executor = new runtime.EffectExecutor({ handlers: trackingHandlers, bindings: bindingCtx, context: effectContext });
|
|
57799
57810
|
try {
|
|
57800
57811
|
await executor.executeAll(effects);
|
|
57801
|
-
|
|
57812
|
+
log16.debug("effects:executed", () => ({
|
|
57802
57813
|
traitName,
|
|
57803
57814
|
transition: `${previousState}->${newState}`,
|
|
57804
57815
|
event: flushEvent,
|
|
@@ -57808,7 +57819,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57808
57819
|
slotsTouched: Array.from(pendingSlots.keys()).join(",")
|
|
57809
57820
|
}));
|
|
57810
57821
|
for (const [slot, patterns] of pendingSlots) {
|
|
57811
|
-
|
|
57822
|
+
log16.debug("flush:slot", {
|
|
57812
57823
|
traitName,
|
|
57813
57824
|
slot,
|
|
57814
57825
|
patternCount: patterns.length,
|
|
@@ -57823,7 +57834,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57823
57834
|
});
|
|
57824
57835
|
}
|
|
57825
57836
|
} catch (error) {
|
|
57826
|
-
|
|
57837
|
+
log16.error("effects:error", {
|
|
57827
57838
|
traitName,
|
|
57828
57839
|
transition: `${previousState}->${newState}`,
|
|
57829
57840
|
event: flushEvent,
|
|
@@ -58815,7 +58826,7 @@ OrbitalThemeProvider.displayName = "OrbitalThemeProvider";
|
|
|
58815
58826
|
init_navigation();
|
|
58816
58827
|
init_verificationRegistry();
|
|
58817
58828
|
var PERF_NAMESPACE = "almadar:perf:canvas";
|
|
58818
|
-
var
|
|
58829
|
+
var log13 = logger.createLogger(PERF_NAMESPACE);
|
|
58819
58830
|
var RING_SIZE = 50;
|
|
58820
58831
|
var ring = [];
|
|
58821
58832
|
var writeIdx = 0;
|
|
@@ -58866,7 +58877,7 @@ function perfEnd(name, startToken, detail) {
|
|
|
58866
58877
|
}
|
|
58867
58878
|
}
|
|
58868
58879
|
push({ name, durationMs, ts: endTs, detail });
|
|
58869
|
-
|
|
58880
|
+
log13.debug(name, () => ({ durationMs, ...detail ?? {} }));
|
|
58870
58881
|
}
|
|
58871
58882
|
var profilerOnRender = (id, phase, actualDuration, baseDuration, _startTime, commitTime) => {
|
|
58872
58883
|
if (!isEnabled()) return;
|
|
@@ -58876,7 +58887,7 @@ var profilerOnRender = (id, phase, actualDuration, baseDuration, _startTime, com
|
|
|
58876
58887
|
ts: commitTime,
|
|
58877
58888
|
detail: { baseDuration }
|
|
58878
58889
|
});
|
|
58879
|
-
|
|
58890
|
+
log13.debug(`profiler:${id}:${phase}`, () => ({ actualDuration, baseDuration }));
|
|
58880
58891
|
};
|
|
58881
58892
|
|
|
58882
58893
|
// runtime/prepareSchemaForPreview.ts
|
|
@@ -59519,7 +59530,7 @@ init_useEventBus();
|
|
|
59519
59530
|
// components/avl/molecules/useCanvasDnd.tsx
|
|
59520
59531
|
init_useEventBus();
|
|
59521
59532
|
init_useAlmadarDndCollision();
|
|
59522
|
-
var
|
|
59533
|
+
var log14 = logger.createLogger("almadar:ui:canvas-dnd");
|
|
59523
59534
|
function useCanvasDraggable({
|
|
59524
59535
|
id,
|
|
59525
59536
|
payload,
|
|
@@ -59558,7 +59569,7 @@ function defaultEmit(eventBus, drop) {
|
|
|
59558
59569
|
if (payload.kind === "pattern") {
|
|
59559
59570
|
const patternType = payload.data.type;
|
|
59560
59571
|
if (typeof patternType !== "string") {
|
|
59561
|
-
|
|
59572
|
+
log14.warn("default-emit:pattern:missing-type");
|
|
59562
59573
|
return;
|
|
59563
59574
|
}
|
|
59564
59575
|
const out = { patternType, containerNode: target.containerNode };
|
|
@@ -59567,23 +59578,23 @@ function defaultEmit(eventBus, drop) {
|
|
|
59567
59578
|
out.index = resolved.index;
|
|
59568
59579
|
}
|
|
59569
59580
|
eventBus.emit("UI:PATTERN_DROP", out);
|
|
59570
|
-
|
|
59581
|
+
log14.info("default-emit:pattern", { patternType, level: target.level });
|
|
59571
59582
|
return;
|
|
59572
59583
|
}
|
|
59573
59584
|
if (payload.kind === "behavior") {
|
|
59574
59585
|
const behaviorName = payload.data.name;
|
|
59575
59586
|
if (typeof behaviorName !== "string") {
|
|
59576
|
-
|
|
59587
|
+
log14.warn("default-emit:behavior:missing-name");
|
|
59577
59588
|
return;
|
|
59578
59589
|
}
|
|
59579
59590
|
eventBus.emit("UI:BEHAVIOR_DROP", {
|
|
59580
59591
|
behaviorName,
|
|
59581
59592
|
containerNode: target.containerNode
|
|
59582
59593
|
});
|
|
59583
|
-
|
|
59594
|
+
log14.info("default-emit:behavior", { behaviorName, level: target.level });
|
|
59584
59595
|
return;
|
|
59585
59596
|
}
|
|
59586
|
-
|
|
59597
|
+
log14.debug("default-emit:unhandled-kind", { kind: payload.kind });
|
|
59587
59598
|
}
|
|
59588
59599
|
function CanvasDndProvider({
|
|
59589
59600
|
children,
|
|
@@ -59599,9 +59610,9 @@ function CanvasDndProvider({
|
|
|
59599
59610
|
if (payload) {
|
|
59600
59611
|
setActivePayload(payload);
|
|
59601
59612
|
eventBus.emit("UI:DRAG_START", { kind: payload.kind, data: payload.data });
|
|
59602
|
-
|
|
59613
|
+
log14.info("dragStart", { id: e.active.id, kind: payload.kind });
|
|
59603
59614
|
} else {
|
|
59604
|
-
|
|
59615
|
+
log14.warn("dragStart:missing-payload", { id: e.active.id });
|
|
59605
59616
|
}
|
|
59606
59617
|
}, [eventBus]);
|
|
59607
59618
|
const handleDragEnd = React90__namespace.default.useCallback((e) => {
|
|
@@ -59611,7 +59622,7 @@ function CanvasDndProvider({
|
|
|
59611
59622
|
const overData = e.over?.data.current;
|
|
59612
59623
|
const target = overData?.target;
|
|
59613
59624
|
const accepts = overData?.accepts;
|
|
59614
|
-
|
|
59625
|
+
log14.info("dragEnd", {
|
|
59615
59626
|
activeId: e.active.id,
|
|
59616
59627
|
overId: e.over?.id,
|
|
59617
59628
|
hasPayload: !!payload,
|
|
@@ -59623,7 +59634,7 @@ function CanvasDndProvider({
|
|
|
59623
59634
|
}
|
|
59624
59635
|
if (!payload || !target) return;
|
|
59625
59636
|
if (accepts && !accepts.includes(payload.kind)) {
|
|
59626
|
-
|
|
59637
|
+
log14.debug("dragEnd:rejected:kind", { kind: payload.kind, accepts: [...accepts] });
|
|
59627
59638
|
return;
|
|
59628
59639
|
}
|
|
59629
59640
|
const activator = e.activatorEvent;
|
|
@@ -59635,7 +59646,7 @@ function CanvasDndProvider({
|
|
|
59635
59646
|
}, [eventBus, onDrop]);
|
|
59636
59647
|
const handleDragCancel = React90__namespace.default.useCallback(() => {
|
|
59637
59648
|
setActivePayload(null);
|
|
59638
|
-
|
|
59649
|
+
log14.info("dragCancel");
|
|
59639
59650
|
}, []);
|
|
59640
59651
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
59641
59652
|
core$1.DndContext,
|
|
@@ -61450,7 +61461,7 @@ init_AvlTransitionLane();
|
|
|
61450
61461
|
init_AvlSwimLane();
|
|
61451
61462
|
init_types();
|
|
61452
61463
|
init_avl_elk_layout();
|
|
61453
|
-
var
|
|
61464
|
+
var log15 = logger.createLogger("almadar:ui:avl:trait-scene");
|
|
61454
61465
|
var SWIM_GUTTER2 = 120;
|
|
61455
61466
|
var CENTER_W2 = 360;
|
|
61456
61467
|
var AvlTraitScene = ({
|
|
@@ -61463,7 +61474,7 @@ var AvlTraitScene = ({
|
|
|
61463
61474
|
const dataKey = React90.useMemo(() => JSON.stringify(data), [data]);
|
|
61464
61475
|
React90.useEffect(() => {
|
|
61465
61476
|
computeTraitLayout(data).then(setLayout).catch((error) => {
|
|
61466
|
-
|
|
61477
|
+
log15.error("computeTraitLayout failed", { error: error instanceof Error ? error : String(error) });
|
|
61467
61478
|
});
|
|
61468
61479
|
}, [dataKey]);
|
|
61469
61480
|
if (!layout) {
|