@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.js
CHANGED
|
@@ -12160,6 +12160,16 @@ var init_Skeleton = __esm({
|
|
|
12160
12160
|
Skeleton.displayName = "Skeleton";
|
|
12161
12161
|
}
|
|
12162
12162
|
});
|
|
12163
|
+
function isKnownPattern(type) {
|
|
12164
|
+
return type in componentMapping;
|
|
12165
|
+
}
|
|
12166
|
+
var componentMapping;
|
|
12167
|
+
var init_pattern_resolver = __esm({
|
|
12168
|
+
"renderer/pattern-resolver.ts"() {
|
|
12169
|
+
createLogger("almadar:ui:pattern-resolver");
|
|
12170
|
+
componentMapping = {};
|
|
12171
|
+
}
|
|
12172
|
+
});
|
|
12163
12173
|
|
|
12164
12174
|
// renderer/slot-definitions.ts
|
|
12165
12175
|
function isPortalSlot(slot) {
|
|
@@ -12268,6 +12278,7 @@ var init_navigation = __esm({
|
|
|
12268
12278
|
// renderer/index.ts
|
|
12269
12279
|
var init_renderer = __esm({
|
|
12270
12280
|
"renderer/index.ts"() {
|
|
12281
|
+
init_pattern_resolver();
|
|
12271
12282
|
init_slot_definitions();
|
|
12272
12283
|
}
|
|
12273
12284
|
});
|
|
@@ -13971,7 +13982,7 @@ function recordTransition(trace) {
|
|
|
13971
13982
|
...trace,
|
|
13972
13983
|
id: `t-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`
|
|
13973
13984
|
};
|
|
13974
|
-
|
|
13985
|
+
log5.debug("transition:recorded", { trait: trace.traitName, from: trace.from, to: trace.to, event: trace.event, effectCount: trace.effects.length });
|
|
13975
13986
|
getState().transitions.push(entry);
|
|
13976
13987
|
if (getState().transitions.length > MAX_TRANSITIONS) {
|
|
13977
13988
|
getState().transitions.shift();
|
|
@@ -14070,7 +14081,7 @@ function getTraitSnapshots() {
|
|
|
14070
14081
|
try {
|
|
14071
14082
|
snapshots.push(getter());
|
|
14072
14083
|
} catch (err) {
|
|
14073
|
-
|
|
14084
|
+
log5.error("traitSnapshot getter failed", { trait: traitName, err: String(err) });
|
|
14074
14085
|
}
|
|
14075
14086
|
}
|
|
14076
14087
|
return snapshots;
|
|
@@ -14169,10 +14180,10 @@ function updateAssetStatus(url, status) {
|
|
|
14169
14180
|
window.__orbitalVerification.assetStatus[url] = status;
|
|
14170
14181
|
}
|
|
14171
14182
|
}
|
|
14172
|
-
var
|
|
14183
|
+
var log5, MAX_TRANSITIONS;
|
|
14173
14184
|
var init_verificationRegistry = __esm({
|
|
14174
14185
|
"lib/verificationRegistry.ts"() {
|
|
14175
|
-
|
|
14186
|
+
log5 = createLogger("almadar:bridge");
|
|
14176
14187
|
MAX_TRANSITIONS = 500;
|
|
14177
14188
|
exposeOnWindow();
|
|
14178
14189
|
}
|
|
@@ -16068,7 +16079,7 @@ function generateDiff(oldVal, newVal) {
|
|
|
16068
16079
|
}
|
|
16069
16080
|
return diff;
|
|
16070
16081
|
}
|
|
16071
|
-
var orbStyleOverrides, orbStyle, loloStyleOverrides, loloStyle,
|
|
16082
|
+
var orbStyleOverrides, orbStyle, loloStyleOverrides, loloStyle, log6, CODE_LANGUAGES, CODE_LANGUAGE_SET, DIFF_STYLES, LINE_PROPS_FN, HIDDEN_LINE_NUMBERS, CodeBlock;
|
|
16072
16083
|
var init_CodeBlock = __esm({
|
|
16073
16084
|
"components/core/molecules/markdown/CodeBlock.tsx"() {
|
|
16074
16085
|
init_cn();
|
|
@@ -16151,7 +16162,7 @@ var init_CodeBlock = __esm({
|
|
|
16151
16162
|
"lolo-op-async": { color: ORB_COLORS.dark.async }
|
|
16152
16163
|
};
|
|
16153
16164
|
loloStyle = { ...dark, ...loloStyleOverrides };
|
|
16154
|
-
|
|
16165
|
+
log6 = createLogger("almadar:ui:markdown-code");
|
|
16155
16166
|
CODE_LANGUAGES = [
|
|
16156
16167
|
"text",
|
|
16157
16168
|
"json",
|
|
@@ -16415,7 +16426,7 @@ var init_CodeBlock = __esm({
|
|
|
16415
16426
|
eventBus.emit("UI:COPY_CODE", { language: activeLanguage, success: true });
|
|
16416
16427
|
setTimeout(() => setCopied(false), 2e3);
|
|
16417
16428
|
} catch (err) {
|
|
16418
|
-
|
|
16429
|
+
log6.error("Failed to copy code", { error: err instanceof Error ? err : String(err) });
|
|
16419
16430
|
eventBus.emit("UI:COPY_CODE", { language: activeLanguage, success: false });
|
|
16420
16431
|
}
|
|
16421
16432
|
};
|
|
@@ -20296,14 +20307,14 @@ function useSafeEventBus2() {
|
|
|
20296
20307
|
} };
|
|
20297
20308
|
}
|
|
20298
20309
|
}
|
|
20299
|
-
var
|
|
20310
|
+
var log7, lookStyles4, ButtonGroup;
|
|
20300
20311
|
var init_ButtonGroup = __esm({
|
|
20301
20312
|
"components/core/molecules/ButtonGroup.tsx"() {
|
|
20302
20313
|
"use client";
|
|
20303
20314
|
init_cn();
|
|
20304
20315
|
init_atoms2();
|
|
20305
20316
|
init_useEventBus();
|
|
20306
|
-
|
|
20317
|
+
log7 = createLogger("almadar:ui:button-group");
|
|
20307
20318
|
lookStyles4 = {
|
|
20308
20319
|
"right-aligned-buttons": "",
|
|
20309
20320
|
"floating-bar": "fixed bottom-section left-1/2 -translate-x-1/2 shadow-elevation-toast bg-card p-card-sm rounded-container",
|
|
@@ -20384,7 +20395,7 @@ var init_ButtonGroup = __esm({
|
|
|
20384
20395
|
{
|
|
20385
20396
|
variant: "ghost",
|
|
20386
20397
|
onClick: () => {
|
|
20387
|
-
|
|
20398
|
+
log7.debug("Filter clicked", { field: filter.field });
|
|
20388
20399
|
},
|
|
20389
20400
|
children: filter.label
|
|
20390
20401
|
},
|
|
@@ -28046,9 +28057,9 @@ function debug(...args) {
|
|
|
28046
28057
|
const [first, ...rest] = args;
|
|
28047
28058
|
const message = typeof first === "string" ? first : "<debug>";
|
|
28048
28059
|
if (rest.length === 0 && typeof first === "string") {
|
|
28049
|
-
|
|
28060
|
+
log8.debug(message);
|
|
28050
28061
|
} else {
|
|
28051
|
-
|
|
28062
|
+
log8.debug(message, { args: rest.length > 0 ? formatArgs(rest) : formatArgs([first]) });
|
|
28052
28063
|
}
|
|
28053
28064
|
}
|
|
28054
28065
|
function debugGroup(label) {
|
|
@@ -28076,11 +28087,11 @@ function toLogMetaValue(v) {
|
|
|
28076
28087
|
}
|
|
28077
28088
|
return String(v);
|
|
28078
28089
|
}
|
|
28079
|
-
var NAMESPACE,
|
|
28090
|
+
var NAMESPACE, log8;
|
|
28080
28091
|
var init_debug = __esm({
|
|
28081
28092
|
"lib/debug.ts"() {
|
|
28082
28093
|
NAMESPACE = "almadar:ui:debug";
|
|
28083
|
-
|
|
28094
|
+
log8 = createLogger(NAMESPACE);
|
|
28084
28095
|
createLogger("almadar:ui:debug:input");
|
|
28085
28096
|
createLogger("almadar:ui:debug:collision");
|
|
28086
28097
|
createLogger("almadar:ui:debug:physics");
|
|
@@ -43962,11 +43973,11 @@ var init_Canvas3DErrorBoundary = __esm({
|
|
|
43962
43973
|
"components/game/molecules/three/components/Canvas3DErrorBoundary.css"() {
|
|
43963
43974
|
}
|
|
43964
43975
|
});
|
|
43965
|
-
var
|
|
43976
|
+
var log9, Canvas3DErrorBoundary;
|
|
43966
43977
|
var init_Canvas3DErrorBoundary2 = __esm({
|
|
43967
43978
|
"components/game/molecules/three/components/Canvas3DErrorBoundary.tsx"() {
|
|
43968
43979
|
init_Canvas3DErrorBoundary();
|
|
43969
|
-
|
|
43980
|
+
log9 = createLogger("almadar:ui:game:canvas3d:error-boundary");
|
|
43970
43981
|
Canvas3DErrorBoundary = class extends Component {
|
|
43971
43982
|
constructor(props) {
|
|
43972
43983
|
super(props);
|
|
@@ -43994,8 +44005,8 @@ var init_Canvas3DErrorBoundary2 = __esm({
|
|
|
43994
44005
|
componentDidCatch(error, errorInfo) {
|
|
43995
44006
|
this.setState({ errorInfo });
|
|
43996
44007
|
this.props.onError?.(error, errorInfo);
|
|
43997
|
-
|
|
43998
|
-
|
|
44008
|
+
log9.error("Error caught", { error });
|
|
44009
|
+
log9.error("Component stack", { componentStack: errorInfo.componentStack ?? "<none>" });
|
|
43999
44010
|
}
|
|
44000
44011
|
render() {
|
|
44001
44012
|
if (this.state.hasError) {
|
|
@@ -44058,7 +44069,7 @@ function useGLTFModel(url, resourceBasePath) {
|
|
|
44058
44069
|
setState({ model: null, isLoading: false, error: null });
|
|
44059
44070
|
return;
|
|
44060
44071
|
}
|
|
44061
|
-
|
|
44072
|
+
log10.debug("Loading", { url });
|
|
44062
44073
|
setState((prev) => ({ ...prev, isLoading: true, error: null }));
|
|
44063
44074
|
const assetRoot = resourceBasePath || detectAssetRoot2(url);
|
|
44064
44075
|
const loader = new GLTFLoader$1();
|
|
@@ -44066,7 +44077,7 @@ function useGLTFModel(url, resourceBasePath) {
|
|
|
44066
44077
|
loader.load(
|
|
44067
44078
|
url,
|
|
44068
44079
|
(gltf) => {
|
|
44069
|
-
|
|
44080
|
+
log10.debug("Loaded", { url });
|
|
44070
44081
|
setState({
|
|
44071
44082
|
model: gltf.scene,
|
|
44072
44083
|
isLoading: false,
|
|
@@ -44075,7 +44086,7 @@ function useGLTFModel(url, resourceBasePath) {
|
|
|
44075
44086
|
},
|
|
44076
44087
|
void 0,
|
|
44077
44088
|
(err) => {
|
|
44078
|
-
|
|
44089
|
+
log10.warn("Failed", { url, error: err instanceof Error ? err : String(err) });
|
|
44079
44090
|
setState({
|
|
44080
44091
|
model: null,
|
|
44081
44092
|
isLoading: false,
|
|
@@ -44191,11 +44202,11 @@ function ModelLoader({
|
|
|
44191
44202
|
}
|
|
44192
44203
|
);
|
|
44193
44204
|
}
|
|
44194
|
-
var
|
|
44205
|
+
var log10;
|
|
44195
44206
|
var init_ModelLoader = __esm({
|
|
44196
44207
|
"components/game/molecules/three/components/ModelLoader.tsx"() {
|
|
44197
44208
|
"use client";
|
|
44198
|
-
|
|
44209
|
+
log10 = createLogger("almadar:ui:game:model-loader");
|
|
44199
44210
|
}
|
|
44200
44211
|
});
|
|
44201
44212
|
|
|
@@ -48500,7 +48511,7 @@ function getAllEvents(traits2) {
|
|
|
48500
48511
|
function EventDispatcherTab({ traits: traits2, schema }) {
|
|
48501
48512
|
const eventBus = useEventBus();
|
|
48502
48513
|
const { t } = useTranslate();
|
|
48503
|
-
const [
|
|
48514
|
+
const [log16, setLog] = React90.useState([]);
|
|
48504
48515
|
const prevStatesRef = React90.useRef(/* @__PURE__ */ new Map());
|
|
48505
48516
|
React90.useEffect(() => {
|
|
48506
48517
|
for (const trait of traits2) {
|
|
@@ -48564,9 +48575,9 @@ function EventDispatcherTab({ traits: traits2, schema }) {
|
|
|
48564
48575
|
/* @__PURE__ */ jsx(Typography, { variant: "small", weight: "medium", className: "text-gray-500 mb-1", children: t("debug.otherEvents") }),
|
|
48565
48576
|
/* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1", children: unavailableEvents.map((event) => /* @__PURE__ */ jsx(Badge, { variant: "default", size: "sm", className: "opacity-50", children: event }, event)) })
|
|
48566
48577
|
] }),
|
|
48567
|
-
|
|
48578
|
+
log16.length > 0 && /* @__PURE__ */ jsxs("div", { children: [
|
|
48568
48579
|
/* @__PURE__ */ jsx(Typography, { variant: "small", weight: "medium", className: "text-gray-500 mb-1", children: t("debug.recentTransitions") }),
|
|
48569
|
-
/* @__PURE__ */ jsx(Stack, { gap: "xs", children:
|
|
48580
|
+
/* @__PURE__ */ jsx(Stack, { gap: "xs", children: log16.map((entry, i) => /* @__PURE__ */ jsxs(Typography, { variant: "small", className: "font-mono text-xs", children: [
|
|
48570
48581
|
/* @__PURE__ */ jsx("span", { className: "text-purple-400", children: entry.traitName }),
|
|
48571
48582
|
" ",
|
|
48572
48583
|
/* @__PURE__ */ jsx("span", { className: "text-gray-500", children: entry.from }),
|
|
@@ -53431,7 +53442,7 @@ function isPatternConfig(value) {
|
|
|
53431
53442
|
if (value instanceof Date) return false;
|
|
53432
53443
|
if (typeof value === "function") return false;
|
|
53433
53444
|
const record = value;
|
|
53434
|
-
return "type" in record && typeof record.type === "string";
|
|
53445
|
+
return "type" in record && typeof record.type === "string" && isKnownPattern(record.type);
|
|
53435
53446
|
}
|
|
53436
53447
|
function isPlainConfigObject(value) {
|
|
53437
53448
|
if (React90__default.isValidElement(value)) return false;
|
|
@@ -57343,7 +57354,7 @@ function convertObjectProps(props) {
|
|
|
57343
57354
|
function convertFnFormLambdasInProps(props) {
|
|
57344
57355
|
return convertObjectProps(props);
|
|
57345
57356
|
}
|
|
57346
|
-
var
|
|
57357
|
+
var log11 = createLogger("almadar:ui:effects:client-handlers");
|
|
57347
57358
|
function createClientEffectHandlers(options) {
|
|
57348
57359
|
const { eventBus, slotSetter, navigate, notify, callService, liveEntity } = options;
|
|
57349
57360
|
return {
|
|
@@ -57352,11 +57363,11 @@ function createClientEffectHandlers(options) {
|
|
|
57352
57363
|
eventBus.emit(prefixedEvent, payload);
|
|
57353
57364
|
},
|
|
57354
57365
|
persist: async () => {
|
|
57355
|
-
|
|
57366
|
+
log11.warn("persist is server-side only, ignored on client");
|
|
57356
57367
|
},
|
|
57357
57368
|
set: (_entityId, field, value) => {
|
|
57358
57369
|
if (!liveEntity) {
|
|
57359
|
-
|
|
57370
|
+
log11.warn("set is server-side only, ignored on client (no live entity)");
|
|
57360
57371
|
return;
|
|
57361
57372
|
}
|
|
57362
57373
|
liveEntity[field] = value;
|
|
@@ -57388,10 +57399,10 @@ function createClientEffectHandlers(options) {
|
|
|
57388
57399
|
slotSetter.addPattern(slot, pattern, props);
|
|
57389
57400
|
},
|
|
57390
57401
|
navigate: navigate ?? ((path) => {
|
|
57391
|
-
|
|
57402
|
+
log11.warn("No navigate handler, ignoring", { path });
|
|
57392
57403
|
}),
|
|
57393
57404
|
notify: notify ?? ((msg, type) => {
|
|
57394
|
-
|
|
57405
|
+
log11.debug("notify", { type, message: msg });
|
|
57395
57406
|
})
|
|
57396
57407
|
};
|
|
57397
57408
|
}
|
|
@@ -57623,7 +57634,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57623
57634
|
};
|
|
57624
57635
|
}, [traitBindings]);
|
|
57625
57636
|
const executeTransitionEffects = useCallback(async (params) => {
|
|
57626
|
-
const { binding, previousState, newState, payload, flushEvent, syncOnly, log:
|
|
57637
|
+
const { binding, previousState, newState, payload, flushEvent, syncOnly, log: log16 } = params;
|
|
57627
57638
|
const traitName = binding.trait.name;
|
|
57628
57639
|
const linkedEntity = binding.linkedEntity || "";
|
|
57629
57640
|
const entityId = payload?.entityId;
|
|
@@ -57711,7 +57722,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57711
57722
|
...handlers,
|
|
57712
57723
|
set: async (targetId, field, value) => {
|
|
57713
57724
|
if (baseSet) await baseSet(targetId, field, value);
|
|
57714
|
-
|
|
57725
|
+
log16.debug("set:write", {
|
|
57715
57726
|
traitName,
|
|
57716
57727
|
field,
|
|
57717
57728
|
value: JSON.stringify(value),
|
|
@@ -57751,7 +57762,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57751
57762
|
const executor = new EffectExecutor({ handlers: trackingHandlers, bindings: bindingCtx, context: effectContext });
|
|
57752
57763
|
try {
|
|
57753
57764
|
await executor.executeAll(effects);
|
|
57754
|
-
|
|
57765
|
+
log16.debug("effects:executed", () => ({
|
|
57755
57766
|
traitName,
|
|
57756
57767
|
transition: `${previousState}->${newState}`,
|
|
57757
57768
|
event: flushEvent,
|
|
@@ -57761,7 +57772,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57761
57772
|
slotsTouched: Array.from(pendingSlots.keys()).join(",")
|
|
57762
57773
|
}));
|
|
57763
57774
|
for (const [slot, patterns] of pendingSlots) {
|
|
57764
|
-
|
|
57775
|
+
log16.debug("flush:slot", {
|
|
57765
57776
|
traitName,
|
|
57766
57777
|
slot,
|
|
57767
57778
|
patternCount: patterns.length,
|
|
@@ -57776,7 +57787,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57776
57787
|
});
|
|
57777
57788
|
}
|
|
57778
57789
|
} catch (error) {
|
|
57779
|
-
|
|
57790
|
+
log16.error("effects:error", {
|
|
57780
57791
|
traitName,
|
|
57781
57792
|
transition: `${previousState}->${newState}`,
|
|
57782
57793
|
event: flushEvent,
|
|
@@ -58768,7 +58779,7 @@ OrbitalThemeProvider.displayName = "OrbitalThemeProvider";
|
|
|
58768
58779
|
init_navigation();
|
|
58769
58780
|
init_verificationRegistry();
|
|
58770
58781
|
var PERF_NAMESPACE = "almadar:perf:canvas";
|
|
58771
|
-
var
|
|
58782
|
+
var log13 = createLogger(PERF_NAMESPACE);
|
|
58772
58783
|
var RING_SIZE = 50;
|
|
58773
58784
|
var ring = [];
|
|
58774
58785
|
var writeIdx = 0;
|
|
@@ -58819,7 +58830,7 @@ function perfEnd(name, startToken, detail) {
|
|
|
58819
58830
|
}
|
|
58820
58831
|
}
|
|
58821
58832
|
push({ name, durationMs, ts: endTs, detail });
|
|
58822
|
-
|
|
58833
|
+
log13.debug(name, () => ({ durationMs, ...detail ?? {} }));
|
|
58823
58834
|
}
|
|
58824
58835
|
var profilerOnRender = (id, phase, actualDuration, baseDuration, _startTime, commitTime) => {
|
|
58825
58836
|
if (!isEnabled()) return;
|
|
@@ -58829,7 +58840,7 @@ var profilerOnRender = (id, phase, actualDuration, baseDuration, _startTime, com
|
|
|
58829
58840
|
ts: commitTime,
|
|
58830
58841
|
detail: { baseDuration }
|
|
58831
58842
|
});
|
|
58832
|
-
|
|
58843
|
+
log13.debug(`profiler:${id}:${phase}`, () => ({ actualDuration, baseDuration }));
|
|
58833
58844
|
};
|
|
58834
58845
|
|
|
58835
58846
|
// runtime/prepareSchemaForPreview.ts
|
|
@@ -59472,7 +59483,7 @@ init_useEventBus();
|
|
|
59472
59483
|
// components/avl/molecules/useCanvasDnd.tsx
|
|
59473
59484
|
init_useEventBus();
|
|
59474
59485
|
init_useAlmadarDndCollision();
|
|
59475
|
-
var
|
|
59486
|
+
var log14 = createLogger("almadar:ui:canvas-dnd");
|
|
59476
59487
|
function useCanvasDraggable({
|
|
59477
59488
|
id,
|
|
59478
59489
|
payload,
|
|
@@ -59511,7 +59522,7 @@ function defaultEmit(eventBus, drop) {
|
|
|
59511
59522
|
if (payload.kind === "pattern") {
|
|
59512
59523
|
const patternType = payload.data.type;
|
|
59513
59524
|
if (typeof patternType !== "string") {
|
|
59514
|
-
|
|
59525
|
+
log14.warn("default-emit:pattern:missing-type");
|
|
59515
59526
|
return;
|
|
59516
59527
|
}
|
|
59517
59528
|
const out = { patternType, containerNode: target.containerNode };
|
|
@@ -59520,23 +59531,23 @@ function defaultEmit(eventBus, drop) {
|
|
|
59520
59531
|
out.index = resolved.index;
|
|
59521
59532
|
}
|
|
59522
59533
|
eventBus.emit("UI:PATTERN_DROP", out);
|
|
59523
|
-
|
|
59534
|
+
log14.info("default-emit:pattern", { patternType, level: target.level });
|
|
59524
59535
|
return;
|
|
59525
59536
|
}
|
|
59526
59537
|
if (payload.kind === "behavior") {
|
|
59527
59538
|
const behaviorName = payload.data.name;
|
|
59528
59539
|
if (typeof behaviorName !== "string") {
|
|
59529
|
-
|
|
59540
|
+
log14.warn("default-emit:behavior:missing-name");
|
|
59530
59541
|
return;
|
|
59531
59542
|
}
|
|
59532
59543
|
eventBus.emit("UI:BEHAVIOR_DROP", {
|
|
59533
59544
|
behaviorName,
|
|
59534
59545
|
containerNode: target.containerNode
|
|
59535
59546
|
});
|
|
59536
|
-
|
|
59547
|
+
log14.info("default-emit:behavior", { behaviorName, level: target.level });
|
|
59537
59548
|
return;
|
|
59538
59549
|
}
|
|
59539
|
-
|
|
59550
|
+
log14.debug("default-emit:unhandled-kind", { kind: payload.kind });
|
|
59540
59551
|
}
|
|
59541
59552
|
function CanvasDndProvider({
|
|
59542
59553
|
children,
|
|
@@ -59552,9 +59563,9 @@ function CanvasDndProvider({
|
|
|
59552
59563
|
if (payload) {
|
|
59553
59564
|
setActivePayload(payload);
|
|
59554
59565
|
eventBus.emit("UI:DRAG_START", { kind: payload.kind, data: payload.data });
|
|
59555
|
-
|
|
59566
|
+
log14.info("dragStart", { id: e.active.id, kind: payload.kind });
|
|
59556
59567
|
} else {
|
|
59557
|
-
|
|
59568
|
+
log14.warn("dragStart:missing-payload", { id: e.active.id });
|
|
59558
59569
|
}
|
|
59559
59570
|
}, [eventBus]);
|
|
59560
59571
|
const handleDragEnd = React90__default.useCallback((e) => {
|
|
@@ -59564,7 +59575,7 @@ function CanvasDndProvider({
|
|
|
59564
59575
|
const overData = e.over?.data.current;
|
|
59565
59576
|
const target = overData?.target;
|
|
59566
59577
|
const accepts = overData?.accepts;
|
|
59567
|
-
|
|
59578
|
+
log14.info("dragEnd", {
|
|
59568
59579
|
activeId: e.active.id,
|
|
59569
59580
|
overId: e.over?.id,
|
|
59570
59581
|
hasPayload: !!payload,
|
|
@@ -59576,7 +59587,7 @@ function CanvasDndProvider({
|
|
|
59576
59587
|
}
|
|
59577
59588
|
if (!payload || !target) return;
|
|
59578
59589
|
if (accepts && !accepts.includes(payload.kind)) {
|
|
59579
|
-
|
|
59590
|
+
log14.debug("dragEnd:rejected:kind", { kind: payload.kind, accepts: [...accepts] });
|
|
59580
59591
|
return;
|
|
59581
59592
|
}
|
|
59582
59593
|
const activator = e.activatorEvent;
|
|
@@ -59588,7 +59599,7 @@ function CanvasDndProvider({
|
|
|
59588
59599
|
}, [eventBus, onDrop]);
|
|
59589
59600
|
const handleDragCancel = React90__default.useCallback(() => {
|
|
59590
59601
|
setActivePayload(null);
|
|
59591
|
-
|
|
59602
|
+
log14.info("dragCancel");
|
|
59592
59603
|
}, []);
|
|
59593
59604
|
return /* @__PURE__ */ jsxs(
|
|
59594
59605
|
DndContext,
|
|
@@ -61403,7 +61414,7 @@ init_AvlTransitionLane();
|
|
|
61403
61414
|
init_AvlSwimLane();
|
|
61404
61415
|
init_types();
|
|
61405
61416
|
init_avl_elk_layout();
|
|
61406
|
-
var
|
|
61417
|
+
var log15 = createLogger("almadar:ui:avl:trait-scene");
|
|
61407
61418
|
var SWIM_GUTTER2 = 120;
|
|
61408
61419
|
var CENTER_W2 = 360;
|
|
61409
61420
|
var AvlTraitScene = ({
|
|
@@ -61416,7 +61427,7 @@ var AvlTraitScene = ({
|
|
|
61416
61427
|
const dataKey = useMemo(() => JSON.stringify(data), [data]);
|
|
61417
61428
|
useEffect(() => {
|
|
61418
61429
|
computeTraitLayout(data).then(setLayout).catch((error) => {
|
|
61419
|
-
|
|
61430
|
+
log15.error("computeTraitLayout failed", { error: error instanceof Error ? error : String(error) });
|
|
61420
61431
|
});
|
|
61421
61432
|
}, [dataKey]);
|
|
61422
61433
|
if (!layout) {
|
|
@@ -7186,6 +7186,9 @@ var init_Skeleton = __esm({
|
|
|
7186
7186
|
Skeleton.displayName = "Skeleton";
|
|
7187
7187
|
}
|
|
7188
7188
|
});
|
|
7189
|
+
function isKnownPattern(type) {
|
|
7190
|
+
return type in componentMapping;
|
|
7191
|
+
}
|
|
7189
7192
|
function getKnownPatterns() {
|
|
7190
7193
|
return Object.keys(componentMapping);
|
|
7191
7194
|
}
|
|
@@ -7281,6 +7284,7 @@ var init_slot_definitions = __esm({
|
|
|
7281
7284
|
// renderer/index.ts
|
|
7282
7285
|
var init_renderer = __esm({
|
|
7283
7286
|
"renderer/index.ts"() {
|
|
7287
|
+
init_pattern_resolver();
|
|
7284
7288
|
init_slot_definitions();
|
|
7285
7289
|
}
|
|
7286
7290
|
});
|
|
@@ -52512,7 +52516,7 @@ function isPatternConfig(value) {
|
|
|
52512
52516
|
if (value instanceof Date) return false;
|
|
52513
52517
|
if (typeof value === "function") return false;
|
|
52514
52518
|
const record = value;
|
|
52515
|
-
return "type" in record && typeof record.type === "string";
|
|
52519
|
+
return "type" in record && typeof record.type === "string" && isKnownPattern(record.type);
|
|
52516
52520
|
}
|
|
52517
52521
|
function isPlainConfigObject(value) {
|
|
52518
52522
|
if (React76__namespace.default.isValidElement(value)) return false;
|
package/dist/components/index.js
CHANGED
|
@@ -7140,6 +7140,9 @@ var init_Skeleton = __esm({
|
|
|
7140
7140
|
Skeleton.displayName = "Skeleton";
|
|
7141
7141
|
}
|
|
7142
7142
|
});
|
|
7143
|
+
function isKnownPattern(type) {
|
|
7144
|
+
return type in componentMapping;
|
|
7145
|
+
}
|
|
7143
7146
|
function getKnownPatterns() {
|
|
7144
7147
|
return Object.keys(componentMapping);
|
|
7145
7148
|
}
|
|
@@ -7235,6 +7238,7 @@ var init_slot_definitions = __esm({
|
|
|
7235
7238
|
// renderer/index.ts
|
|
7236
7239
|
var init_renderer = __esm({
|
|
7237
7240
|
"renderer/index.ts"() {
|
|
7241
|
+
init_pattern_resolver();
|
|
7238
7242
|
init_slot_definitions();
|
|
7239
7243
|
}
|
|
7240
7244
|
});
|
|
@@ -52466,7 +52470,7 @@ function isPatternConfig(value) {
|
|
|
52466
52470
|
if (value instanceof Date) return false;
|
|
52467
52471
|
if (typeof value === "function") return false;
|
|
52468
52472
|
const record = value;
|
|
52469
|
-
return "type" in record && typeof record.type === "string";
|
|
52473
|
+
return "type" in record && typeof record.type === "string" && isKnownPattern(record.type);
|
|
52470
52474
|
}
|
|
52471
52475
|
function isPlainConfigObject(value) {
|
|
52472
52476
|
if (React76__default.isValidElement(value)) return false;
|