@almadar/ui 5.53.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 +84 -54
- package/dist/avl/index.js +84 -54
- package/dist/components/index.cjs +25 -2
- package/dist/components/index.js +25 -2
- package/dist/providers/index.cjs +76 -46
- package/dist/providers/index.js +76 -46
- package/dist/runtime/index.cjs +71 -41
- package/dist/runtime/index.js +71 -41
- 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");
|
|
@@ -31538,12 +31549,18 @@ function PlatformerCanvas({
|
|
|
31538
31549
|
camX = Math.max(0, Math.min(px - cw / 2, ww - cw));
|
|
31539
31550
|
camY = Math.max(0, Math.min(py - ch / 2 - 50, wh - ch));
|
|
31540
31551
|
}
|
|
31541
|
-
|
|
31552
|
+
const shouldDiag = plats.length !== lastPlatCountRef.current;
|
|
31553
|
+
if (shouldDiag) {
|
|
31542
31554
|
lastPlatCountRef.current = plats.length;
|
|
31543
31555
|
canvasLog.debug("draw:platforms", {
|
|
31544
31556
|
platformCount: plats.length,
|
|
31545
31557
|
camX,
|
|
31546
31558
|
camY,
|
|
31559
|
+
plat0: JSON.stringify(plats[0]),
|
|
31560
|
+
plat2: JSON.stringify(plats[2]),
|
|
31561
|
+
tSpritesType: tSprites ? tSprites instanceof Map ? "Map" : typeof tSprites : "none",
|
|
31562
|
+
canvasW: canvas.width,
|
|
31563
|
+
canvasH: canvas.height,
|
|
31547
31564
|
player: { x: px, y: py },
|
|
31548
31565
|
worldWidth: ww,
|
|
31549
31566
|
canvasWidth: cw,
|
|
@@ -31584,6 +31601,19 @@ function PlatformerCanvas({
|
|
|
31584
31601
|
const platType = plat.type ?? "ground";
|
|
31585
31602
|
const spriteUrl = tSprites?.[platType];
|
|
31586
31603
|
const tileImg = spriteUrl ? loadImage(spriteUrl) : null;
|
|
31604
|
+
if (shouldDiag) {
|
|
31605
|
+
canvasLog.debug("plat:draw", {
|
|
31606
|
+
platType,
|
|
31607
|
+
platX,
|
|
31608
|
+
platY,
|
|
31609
|
+
w: plat.width,
|
|
31610
|
+
h: plat.height,
|
|
31611
|
+
branch: tileImg ? "tile" : "color",
|
|
31612
|
+
natW: tileImg?.naturalWidth,
|
|
31613
|
+
natH: tileImg?.naturalHeight,
|
|
31614
|
+
spriteUrl: spriteUrl ?? null
|
|
31615
|
+
});
|
|
31616
|
+
}
|
|
31587
31617
|
if (tileImg) {
|
|
31588
31618
|
const tileW = tileImg.naturalWidth;
|
|
31589
31619
|
const tileH = tileImg.naturalHeight;
|
|
@@ -43990,11 +44020,11 @@ var init_Canvas3DErrorBoundary = __esm({
|
|
|
43990
44020
|
"components/game/molecules/three/components/Canvas3DErrorBoundary.css"() {
|
|
43991
44021
|
}
|
|
43992
44022
|
});
|
|
43993
|
-
var
|
|
44023
|
+
var log9, Canvas3DErrorBoundary;
|
|
43994
44024
|
var init_Canvas3DErrorBoundary2 = __esm({
|
|
43995
44025
|
"components/game/molecules/three/components/Canvas3DErrorBoundary.tsx"() {
|
|
43996
44026
|
init_Canvas3DErrorBoundary();
|
|
43997
|
-
|
|
44027
|
+
log9 = logger.createLogger("almadar:ui:game:canvas3d:error-boundary");
|
|
43998
44028
|
Canvas3DErrorBoundary = class extends React90.Component {
|
|
43999
44029
|
constructor(props) {
|
|
44000
44030
|
super(props);
|
|
@@ -44022,8 +44052,8 @@ var init_Canvas3DErrorBoundary2 = __esm({
|
|
|
44022
44052
|
componentDidCatch(error, errorInfo) {
|
|
44023
44053
|
this.setState({ errorInfo });
|
|
44024
44054
|
this.props.onError?.(error, errorInfo);
|
|
44025
|
-
|
|
44026
|
-
|
|
44055
|
+
log9.error("Error caught", { error });
|
|
44056
|
+
log9.error("Component stack", { componentStack: errorInfo.componentStack ?? "<none>" });
|
|
44027
44057
|
}
|
|
44028
44058
|
render() {
|
|
44029
44059
|
if (this.state.hasError) {
|
|
@@ -44086,7 +44116,7 @@ function useGLTFModel(url, resourceBasePath) {
|
|
|
44086
44116
|
setState({ model: null, isLoading: false, error: null });
|
|
44087
44117
|
return;
|
|
44088
44118
|
}
|
|
44089
|
-
|
|
44119
|
+
log10.debug("Loading", { url });
|
|
44090
44120
|
setState((prev) => ({ ...prev, isLoading: true, error: null }));
|
|
44091
44121
|
const assetRoot = resourceBasePath || detectAssetRoot2(url);
|
|
44092
44122
|
const loader = new GLTFLoader.GLTFLoader();
|
|
@@ -44094,7 +44124,7 @@ function useGLTFModel(url, resourceBasePath) {
|
|
|
44094
44124
|
loader.load(
|
|
44095
44125
|
url,
|
|
44096
44126
|
(gltf) => {
|
|
44097
|
-
|
|
44127
|
+
log10.debug("Loaded", { url });
|
|
44098
44128
|
setState({
|
|
44099
44129
|
model: gltf.scene,
|
|
44100
44130
|
isLoading: false,
|
|
@@ -44103,7 +44133,7 @@ function useGLTFModel(url, resourceBasePath) {
|
|
|
44103
44133
|
},
|
|
44104
44134
|
void 0,
|
|
44105
44135
|
(err) => {
|
|
44106
|
-
|
|
44136
|
+
log10.warn("Failed", { url, error: err instanceof Error ? err : String(err) });
|
|
44107
44137
|
setState({
|
|
44108
44138
|
model: null,
|
|
44109
44139
|
isLoading: false,
|
|
@@ -44219,11 +44249,11 @@ function ModelLoader({
|
|
|
44219
44249
|
}
|
|
44220
44250
|
);
|
|
44221
44251
|
}
|
|
44222
|
-
var
|
|
44252
|
+
var log10;
|
|
44223
44253
|
var init_ModelLoader = __esm({
|
|
44224
44254
|
"components/game/molecules/three/components/ModelLoader.tsx"() {
|
|
44225
44255
|
"use client";
|
|
44226
|
-
|
|
44256
|
+
log10 = logger.createLogger("almadar:ui:game:model-loader");
|
|
44227
44257
|
}
|
|
44228
44258
|
});
|
|
44229
44259
|
|
|
@@ -48528,7 +48558,7 @@ function getAllEvents(traits2) {
|
|
|
48528
48558
|
function EventDispatcherTab({ traits: traits2, schema }) {
|
|
48529
48559
|
const eventBus = useEventBus();
|
|
48530
48560
|
const { t } = hooks.useTranslate();
|
|
48531
|
-
const [
|
|
48561
|
+
const [log16, setLog] = React90__namespace.useState([]);
|
|
48532
48562
|
const prevStatesRef = React90__namespace.useRef(/* @__PURE__ */ new Map());
|
|
48533
48563
|
React90__namespace.useEffect(() => {
|
|
48534
48564
|
for (const trait of traits2) {
|
|
@@ -48592,9 +48622,9 @@ function EventDispatcherTab({ traits: traits2, schema }) {
|
|
|
48592
48622
|
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", weight: "medium", className: "text-gray-500 mb-1", children: t("debug.otherEvents") }),
|
|
48593
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)) })
|
|
48594
48624
|
] }),
|
|
48595
|
-
|
|
48625
|
+
log16.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
48596
48626
|
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", weight: "medium", className: "text-gray-500 mb-1", children: t("debug.recentTransitions") }),
|
|
48597
|
-
/* @__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: [
|
|
48598
48628
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-purple-400", children: entry.traitName }),
|
|
48599
48629
|
" ",
|
|
48600
48630
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-500", children: entry.from }),
|
|
@@ -53459,7 +53489,7 @@ function isPatternConfig(value) {
|
|
|
53459
53489
|
if (value instanceof Date) return false;
|
|
53460
53490
|
if (typeof value === "function") return false;
|
|
53461
53491
|
const record = value;
|
|
53462
|
-
return "type" in record && typeof record.type === "string";
|
|
53492
|
+
return "type" in record && typeof record.type === "string" && isKnownPattern(record.type);
|
|
53463
53493
|
}
|
|
53464
53494
|
function isPlainConfigObject(value) {
|
|
53465
53495
|
if (React90__namespace.default.isValidElement(value)) return false;
|
|
@@ -57371,7 +57401,7 @@ function convertObjectProps(props) {
|
|
|
57371
57401
|
function convertFnFormLambdasInProps(props) {
|
|
57372
57402
|
return convertObjectProps(props);
|
|
57373
57403
|
}
|
|
57374
|
-
var
|
|
57404
|
+
var log11 = logger.createLogger("almadar:ui:effects:client-handlers");
|
|
57375
57405
|
function createClientEffectHandlers(options) {
|
|
57376
57406
|
const { eventBus, slotSetter, navigate, notify, callService, liveEntity } = options;
|
|
57377
57407
|
return {
|
|
@@ -57380,11 +57410,11 @@ function createClientEffectHandlers(options) {
|
|
|
57380
57410
|
eventBus.emit(prefixedEvent, payload);
|
|
57381
57411
|
},
|
|
57382
57412
|
persist: async () => {
|
|
57383
|
-
|
|
57413
|
+
log11.warn("persist is server-side only, ignored on client");
|
|
57384
57414
|
},
|
|
57385
57415
|
set: (_entityId, field, value) => {
|
|
57386
57416
|
if (!liveEntity) {
|
|
57387
|
-
|
|
57417
|
+
log11.warn("set is server-side only, ignored on client (no live entity)");
|
|
57388
57418
|
return;
|
|
57389
57419
|
}
|
|
57390
57420
|
liveEntity[field] = value;
|
|
@@ -57416,10 +57446,10 @@ function createClientEffectHandlers(options) {
|
|
|
57416
57446
|
slotSetter.addPattern(slot, pattern, props);
|
|
57417
57447
|
},
|
|
57418
57448
|
navigate: navigate ?? ((path) => {
|
|
57419
|
-
|
|
57449
|
+
log11.warn("No navigate handler, ignoring", { path });
|
|
57420
57450
|
}),
|
|
57421
57451
|
notify: notify ?? ((msg, type) => {
|
|
57422
|
-
|
|
57452
|
+
log11.debug("notify", { type, message: msg });
|
|
57423
57453
|
})
|
|
57424
57454
|
};
|
|
57425
57455
|
}
|
|
@@ -57651,7 +57681,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57651
57681
|
};
|
|
57652
57682
|
}, [traitBindings]);
|
|
57653
57683
|
const executeTransitionEffects = React90.useCallback(async (params) => {
|
|
57654
|
-
const { binding, previousState, newState, payload, flushEvent, syncOnly, log:
|
|
57684
|
+
const { binding, previousState, newState, payload, flushEvent, syncOnly, log: log16 } = params;
|
|
57655
57685
|
const traitName = binding.trait.name;
|
|
57656
57686
|
const linkedEntity = binding.linkedEntity || "";
|
|
57657
57687
|
const entityId = payload?.entityId;
|
|
@@ -57739,7 +57769,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57739
57769
|
...handlers,
|
|
57740
57770
|
set: async (targetId, field, value) => {
|
|
57741
57771
|
if (baseSet) await baseSet(targetId, field, value);
|
|
57742
|
-
|
|
57772
|
+
log16.debug("set:write", {
|
|
57743
57773
|
traitName,
|
|
57744
57774
|
field,
|
|
57745
57775
|
value: JSON.stringify(value),
|
|
@@ -57779,7 +57809,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57779
57809
|
const executor = new runtime.EffectExecutor({ handlers: trackingHandlers, bindings: bindingCtx, context: effectContext });
|
|
57780
57810
|
try {
|
|
57781
57811
|
await executor.executeAll(effects);
|
|
57782
|
-
|
|
57812
|
+
log16.debug("effects:executed", () => ({
|
|
57783
57813
|
traitName,
|
|
57784
57814
|
transition: `${previousState}->${newState}`,
|
|
57785
57815
|
event: flushEvent,
|
|
@@ -57789,7 +57819,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57789
57819
|
slotsTouched: Array.from(pendingSlots.keys()).join(",")
|
|
57790
57820
|
}));
|
|
57791
57821
|
for (const [slot, patterns] of pendingSlots) {
|
|
57792
|
-
|
|
57822
|
+
log16.debug("flush:slot", {
|
|
57793
57823
|
traitName,
|
|
57794
57824
|
slot,
|
|
57795
57825
|
patternCount: patterns.length,
|
|
@@ -57804,7 +57834,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57804
57834
|
});
|
|
57805
57835
|
}
|
|
57806
57836
|
} catch (error) {
|
|
57807
|
-
|
|
57837
|
+
log16.error("effects:error", {
|
|
57808
57838
|
traitName,
|
|
57809
57839
|
transition: `${previousState}->${newState}`,
|
|
57810
57840
|
event: flushEvent,
|
|
@@ -58796,7 +58826,7 @@ OrbitalThemeProvider.displayName = "OrbitalThemeProvider";
|
|
|
58796
58826
|
init_navigation();
|
|
58797
58827
|
init_verificationRegistry();
|
|
58798
58828
|
var PERF_NAMESPACE = "almadar:perf:canvas";
|
|
58799
|
-
var
|
|
58829
|
+
var log13 = logger.createLogger(PERF_NAMESPACE);
|
|
58800
58830
|
var RING_SIZE = 50;
|
|
58801
58831
|
var ring = [];
|
|
58802
58832
|
var writeIdx = 0;
|
|
@@ -58847,7 +58877,7 @@ function perfEnd(name, startToken, detail) {
|
|
|
58847
58877
|
}
|
|
58848
58878
|
}
|
|
58849
58879
|
push({ name, durationMs, ts: endTs, detail });
|
|
58850
|
-
|
|
58880
|
+
log13.debug(name, () => ({ durationMs, ...detail ?? {} }));
|
|
58851
58881
|
}
|
|
58852
58882
|
var profilerOnRender = (id, phase, actualDuration, baseDuration, _startTime, commitTime) => {
|
|
58853
58883
|
if (!isEnabled()) return;
|
|
@@ -58857,7 +58887,7 @@ var profilerOnRender = (id, phase, actualDuration, baseDuration, _startTime, com
|
|
|
58857
58887
|
ts: commitTime,
|
|
58858
58888
|
detail: { baseDuration }
|
|
58859
58889
|
});
|
|
58860
|
-
|
|
58890
|
+
log13.debug(`profiler:${id}:${phase}`, () => ({ actualDuration, baseDuration }));
|
|
58861
58891
|
};
|
|
58862
58892
|
|
|
58863
58893
|
// runtime/prepareSchemaForPreview.ts
|
|
@@ -59500,7 +59530,7 @@ init_useEventBus();
|
|
|
59500
59530
|
// components/avl/molecules/useCanvasDnd.tsx
|
|
59501
59531
|
init_useEventBus();
|
|
59502
59532
|
init_useAlmadarDndCollision();
|
|
59503
|
-
var
|
|
59533
|
+
var log14 = logger.createLogger("almadar:ui:canvas-dnd");
|
|
59504
59534
|
function useCanvasDraggable({
|
|
59505
59535
|
id,
|
|
59506
59536
|
payload,
|
|
@@ -59539,7 +59569,7 @@ function defaultEmit(eventBus, drop) {
|
|
|
59539
59569
|
if (payload.kind === "pattern") {
|
|
59540
59570
|
const patternType = payload.data.type;
|
|
59541
59571
|
if (typeof patternType !== "string") {
|
|
59542
|
-
|
|
59572
|
+
log14.warn("default-emit:pattern:missing-type");
|
|
59543
59573
|
return;
|
|
59544
59574
|
}
|
|
59545
59575
|
const out = { patternType, containerNode: target.containerNode };
|
|
@@ -59548,23 +59578,23 @@ function defaultEmit(eventBus, drop) {
|
|
|
59548
59578
|
out.index = resolved.index;
|
|
59549
59579
|
}
|
|
59550
59580
|
eventBus.emit("UI:PATTERN_DROP", out);
|
|
59551
|
-
|
|
59581
|
+
log14.info("default-emit:pattern", { patternType, level: target.level });
|
|
59552
59582
|
return;
|
|
59553
59583
|
}
|
|
59554
59584
|
if (payload.kind === "behavior") {
|
|
59555
59585
|
const behaviorName = payload.data.name;
|
|
59556
59586
|
if (typeof behaviorName !== "string") {
|
|
59557
|
-
|
|
59587
|
+
log14.warn("default-emit:behavior:missing-name");
|
|
59558
59588
|
return;
|
|
59559
59589
|
}
|
|
59560
59590
|
eventBus.emit("UI:BEHAVIOR_DROP", {
|
|
59561
59591
|
behaviorName,
|
|
59562
59592
|
containerNode: target.containerNode
|
|
59563
59593
|
});
|
|
59564
|
-
|
|
59594
|
+
log14.info("default-emit:behavior", { behaviorName, level: target.level });
|
|
59565
59595
|
return;
|
|
59566
59596
|
}
|
|
59567
|
-
|
|
59597
|
+
log14.debug("default-emit:unhandled-kind", { kind: payload.kind });
|
|
59568
59598
|
}
|
|
59569
59599
|
function CanvasDndProvider({
|
|
59570
59600
|
children,
|
|
@@ -59580,9 +59610,9 @@ function CanvasDndProvider({
|
|
|
59580
59610
|
if (payload) {
|
|
59581
59611
|
setActivePayload(payload);
|
|
59582
59612
|
eventBus.emit("UI:DRAG_START", { kind: payload.kind, data: payload.data });
|
|
59583
|
-
|
|
59613
|
+
log14.info("dragStart", { id: e.active.id, kind: payload.kind });
|
|
59584
59614
|
} else {
|
|
59585
|
-
|
|
59615
|
+
log14.warn("dragStart:missing-payload", { id: e.active.id });
|
|
59586
59616
|
}
|
|
59587
59617
|
}, [eventBus]);
|
|
59588
59618
|
const handleDragEnd = React90__namespace.default.useCallback((e) => {
|
|
@@ -59592,7 +59622,7 @@ function CanvasDndProvider({
|
|
|
59592
59622
|
const overData = e.over?.data.current;
|
|
59593
59623
|
const target = overData?.target;
|
|
59594
59624
|
const accepts = overData?.accepts;
|
|
59595
|
-
|
|
59625
|
+
log14.info("dragEnd", {
|
|
59596
59626
|
activeId: e.active.id,
|
|
59597
59627
|
overId: e.over?.id,
|
|
59598
59628
|
hasPayload: !!payload,
|
|
@@ -59604,7 +59634,7 @@ function CanvasDndProvider({
|
|
|
59604
59634
|
}
|
|
59605
59635
|
if (!payload || !target) return;
|
|
59606
59636
|
if (accepts && !accepts.includes(payload.kind)) {
|
|
59607
|
-
|
|
59637
|
+
log14.debug("dragEnd:rejected:kind", { kind: payload.kind, accepts: [...accepts] });
|
|
59608
59638
|
return;
|
|
59609
59639
|
}
|
|
59610
59640
|
const activator = e.activatorEvent;
|
|
@@ -59616,7 +59646,7 @@ function CanvasDndProvider({
|
|
|
59616
59646
|
}, [eventBus, onDrop]);
|
|
59617
59647
|
const handleDragCancel = React90__namespace.default.useCallback(() => {
|
|
59618
59648
|
setActivePayload(null);
|
|
59619
|
-
|
|
59649
|
+
log14.info("dragCancel");
|
|
59620
59650
|
}, []);
|
|
59621
59651
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
59622
59652
|
core$1.DndContext,
|
|
@@ -61431,7 +61461,7 @@ init_AvlTransitionLane();
|
|
|
61431
61461
|
init_AvlSwimLane();
|
|
61432
61462
|
init_types();
|
|
61433
61463
|
init_avl_elk_layout();
|
|
61434
|
-
var
|
|
61464
|
+
var log15 = logger.createLogger("almadar:ui:avl:trait-scene");
|
|
61435
61465
|
var SWIM_GUTTER2 = 120;
|
|
61436
61466
|
var CENTER_W2 = 360;
|
|
61437
61467
|
var AvlTraitScene = ({
|
|
@@ -61444,7 +61474,7 @@ var AvlTraitScene = ({
|
|
|
61444
61474
|
const dataKey = React90.useMemo(() => JSON.stringify(data), [data]);
|
|
61445
61475
|
React90.useEffect(() => {
|
|
61446
61476
|
computeTraitLayout(data).then(setLayout).catch((error) => {
|
|
61447
|
-
|
|
61477
|
+
log15.error("computeTraitLayout failed", { error: error instanceof Error ? error : String(error) });
|
|
61448
61478
|
});
|
|
61449
61479
|
}, [dataKey]);
|
|
61450
61480
|
if (!layout) {
|