@almadar/ui 6.10.0 → 6.11.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/{EntityBindingContext-Y4zXyNJZ.d.cts → EntityBindingContext-D5lRu6p1.d.cts} +11 -0
- package/dist/{EntityBindingContext-Y4zXyNJZ.d.ts → EntityBindingContext-D5lRu6p1.d.ts} +11 -0
- package/dist/{GameAudioProvider-Dk_Y3LN3.d.cts → GameAudioProvider-D8GynTNq.d.cts} +1 -1
- package/dist/{GameAudioProvider-Ctceau1s.d.ts → GameAudioProvider-Dozqx4sL.d.ts} +1 -1
- package/dist/avl/index.cjs +250 -106
- package/dist/avl/index.js +209 -65
- package/dist/{avl-schema-parser-DncJLEn9.d.ts → avl-schema-parser-DX-aVCCm.d.ts} +1 -1
- package/dist/{avl-schema-parser-FQ1474v8.d.cts → avl-schema-parser-PVu8rgsy.d.cts} +1 -1
- package/dist/{cn-C7fvp9gH.d.ts → cn-Do5gsPBm.d.cts} +2 -100
- package/dist/{cn-DnLYahyL.d.cts → cn-Do5gsPBm.d.ts} +2 -100
- package/dist/components/index.cjs +103 -68
- package/dist/components/index.d.cts +44 -20
- package/dist/components/index.d.ts +44 -20
- package/dist/components/index.js +64 -29
- package/dist/lib/drawable/three/index.d.cts +3 -4
- package/dist/lib/drawable/three/index.d.ts +3 -4
- package/dist/lib/index.cjs +7 -23
- package/dist/lib/index.d.cts +6 -28
- package/dist/lib/index.d.ts +6 -28
- package/dist/lib/index.js +5 -23
- package/dist/{paintDispatch-B5ObLnUv.d.ts → paintDispatch-CK5uwYEq.d.cts} +50 -3
- package/dist/{paintDispatch-D3R8NNmV.d.cts → paintDispatch-CK5uwYEq.d.ts} +50 -3
- package/dist/providers/index.cjs +129 -78
- package/dist/providers/index.d.cts +5 -3
- package/dist/providers/index.d.ts +5 -3
- package/dist/providers/index.js +90 -39
- package/dist/runtime/index.cjs +249 -105
- package/dist/runtime/index.d.cts +27 -5
- package/dist/runtime/index.d.ts +27 -5
- package/dist/runtime/index.js +208 -64
- package/dist/verificationRegistry-BLsjb1oU.d.cts +110 -0
- package/dist/verificationRegistry-D8bHWD8Q.d.ts +110 -0
- package/package.json +7 -7
- package/dist/types-B3nHgnMG.d.cts +0 -51
- package/dist/types-B3nHgnMG.d.ts +0 -51
|
@@ -3,19 +3,19 @@ import React__default, { ReactNode, ErrorInfo } from 'react';
|
|
|
3
3
|
import { Asset, EventKey, EventPayload, EventEmit, AssetUrl, FieldValue, EntityRow, EntityRole, AnimationName, SpriteDirection, AnimationDef, ScenePos, Camera, SoundEntry, EntityWith, TraitConfigValue, EventListen, JsonValue, AssetCatalog, JsonObject, EventPayloadValue, DeclaredTraitConfig, TraitConfig, ControlValue, OrbitalSchema, Trait, OrbitalEntity, FormSubmitPayload, UISlot, EditFocus, TraceSubagent, TraceActivity, TraceChatMessage } from '@almadar/core';
|
|
4
4
|
export { AnimationDef, AnimationName, AudioManifest, BusEvent, BusEventListener, BusEventSource, BusEventListener as EventListener, SoundEntry, SpriteDirection, UISlot, Unsubscribe } from '@almadar/core';
|
|
5
5
|
import { LucideIcon } from 'lucide-react';
|
|
6
|
-
import { C as ColorToken, U as UiError, P as Point, L as LinkAction, I as ImageSource } from '../
|
|
7
|
-
export { R as Rect } from '../
|
|
6
|
+
import { C as ColorToken, U as UiError, D as DrawableNode, P as Point, a as Projector, F as FxOverlayItem, M as MeshShapeKind, b as MeshMaterial, c as DrawGroupProps, d as DrawTextProps, e as DrawMeshProps, L as LinkAction, I as ImageSource } from '../paintDispatch-CK5uwYEq.js';
|
|
7
|
+
export { f as FxOverlayKind, R as Rect } from '../paintDispatch-CK5uwYEq.js';
|
|
8
8
|
import { SExpr } from '@almadar/evaluator';
|
|
9
|
-
import { U as UnitAnimationState, F as FacingDirection, S as SpriteSheetUrls, g as SpriteFrameDims, R as ResolvedFrame, h as CanvasLighting, i as CanvasPost, a as IsometricUnit, j as CameraState, k as FieldInfo, l as OrbitalTraitInfo, m as OrbitalPageInfo, T as TraitLevelData, E as ExternalLink } from '../avl-schema-parser-
|
|
10
|
-
export { B as BoardTile, G as GameAction, n as GamePhase, o as GameState, p as GameUnit, b as IsometricFeature, I as IsometricTile, P as Position, q as UnitTrait, r as calculateAttackTargets, s as calculateValidMoves, t as createInitialGameState } from '../avl-schema-parser-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
export { G as
|
|
14
|
-
import {
|
|
15
|
-
export { a6 as BloomLevel, a7 as BloomQuizBlock, a8 as BloomQuizBlockProps, a9 as MixedSegment, u as cn, Q as parseLessonSegments, aa as parseMarkdownWithCodeBlocks } from '../cn-C7fvp9gH.js';
|
|
9
|
+
import { U as UnitAnimationState, F as FacingDirection, S as SpriteSheetUrls, g as SpriteFrameDims, R as ResolvedFrame, h as CanvasLighting, i as CanvasPost, a as IsometricUnit, j as CameraState, k as FieldInfo, l as OrbitalTraitInfo, m as OrbitalPageInfo, T as TraitLevelData, E as ExternalLink } from '../avl-schema-parser-DX-aVCCm.js';
|
|
10
|
+
export { B as BoardTile, G as GameAction, n as GamePhase, o as GameState, p as GameUnit, b as IsometricFeature, I as IsometricTile, P as Position, q as UnitTrait, r as calculateAttackTargets, s as calculateValidMoves, t as createInitialGameState } from '../avl-schema-parser-DX-aVCCm.js';
|
|
11
|
+
export { G as GameAudioContext, a as GameAudioContextValue, e as GameAudioControls, b as GameAudioProvider, c as GameAudioProviderProps, U as UseGameAudioOptions, f as useGameAudio, u as useGameAudioContext } from '../GameAudioProvider-Dozqx4sL.js';
|
|
12
|
+
import { i as EditorMotion, j as EditorOperator, C as ContentSegment, L as LessonSegment, F as InteractiveOrbitalType, c as DomLayoutData, e as DomStateNode, V as VisualizerConfig, f as DomTransitionLabel } from '../cn-Do5gsPBm.js';
|
|
13
|
+
export { G as BloomLevel, H as BloomQuizBlock, J as BloomQuizBlockProps, M as MixedSegment, o as cn, x as parseLessonSegments, K as parseMarkdownWithCodeBlocks } from '../cn-Do5gsPBm.js';
|
|
14
|
+
import { LanguageCode } from '@almadar/core/i18n';
|
|
16
15
|
import { EmojiPickPayload, SelectionChangePayload, ItemActionPayload } from '@almadar/core/patterns';
|
|
17
16
|
import { b as SlotContent, d as SlotPropValue } from '../useUISlots-GNwGLlW2.js';
|
|
18
17
|
export { D as DEFAULT_SLOTS, S as SlotAnimation, a as SlotChangeCallback, c as SlotRenderConfig, U as UISlotManager, u as useUISlotManager } from '../useUISlots-GNwGLlW2.js';
|
|
18
|
+
import '../verificationRegistry-D8bHWD8Q.js';
|
|
19
19
|
export { ALMADAR_DND_MIME, AuthContextValue, AuthUser, CanvasGestureCallbacks, CanvasGestureHandlers, CompileResult, CompileStage, DragReorderResult, DraggablePayload, Extension, ExtensionManifest, FileSystemFile, FileSystemStatus, GitHubRepo, GitHubStatus, HistoryChangeSummary, HistoryTimelineItem, I18nContextValue, I18nProvider, InfiniteScrollOptions, InfiniteScrollResult, LongPressHandlers, LongPressOptions, OpenFile, Positioned, PullToRefreshOptions, PullToRefreshResult, QuerySingletonEntity, QuerySingletonResult, QuerySingletonState, QueryState, RenderInterpolationHandle, RenderInterpolationOptions, RevertResult, SelectedFile, SharedEntityStore, SharedEntityStoreContext, SharedEntitySubscriber, SharedEntityWriter, SwipeGestureOptions, SwipeGestureResult, SwipeHandlers, TapRevealOptions, TapRevealResult, TraitListenSpec, TranslateFunction, UseCanvasGesturesOptions, UseCompileResult, UseDraggableOptions, UseDraggableResult, UseDropZoneOptions, UseDropZoneResult, UseExtensionsOptions, UseExtensionsResult, UseFileEditorOptions, UseFileEditorResult, UseFileSystemResult, UseOrbitalHistoryOptions, UseOrbitalHistoryResult, createSharedEntityStore, createTranslate, parseQueryBinding, runTickFrame, useAgentChat, useAuthContext, useCanvasGestures, useCompile, useConnectGitHub, useDeepAgentGeneration, useDisconnectGitHub, useDragReorder, useDraggable, useDropZone, useExtensions, useFileEditor, useFileSystem, useGitHubBranches, useGitHubRepo, useGitHubRepos, useGitHubStatus, useInfiniteScroll, useLongPress, useMediaQuery, useOrbitalHistory, usePreview, usePullToRefresh, useQuerySingleton, useRenderInterpolation, useSharedEntitySnapshot, useSharedEntityStore, useSharedEntityStoreContext, useSwipeGesture, useTapReveal, useTraitListens, useTranslate, useUIEvents, useValidation } from '../hooks/index.js';
|
|
20
20
|
export { E as EditorKeyEvent, a as KeyCaptureEntry, K as KeyCaptureTable, U as UseKeyboardRouterOptions, k as keyChord, m as mergeCaptureTables, u as useEmitEvent, b as useEventBus, c as useEventListener, d as useKeyboardRouter } from '../useKeyboardRouter-B1pIi9jo.js';
|
|
21
21
|
export { E as EventBusContextType } from '../event-bus-types-Bl78kokd.js';
|
|
@@ -5648,6 +5648,15 @@ interface CodeBlockProps {
|
|
|
5648
5648
|
wordWrap?: boolean;
|
|
5649
5649
|
/** Multiple files shown as tabs */
|
|
5650
5650
|
files?: readonly CodeViewerFile[];
|
|
5651
|
+
/**
|
|
5652
|
+
* Show the program in these natural languages as tabs, translating on the
|
|
5653
|
+
* fly. Only meaningful for `language` 'lolo' / 'orb'; ignored otherwise.
|
|
5654
|
+
*
|
|
5655
|
+
* Fewer than two entries renders exactly as without the prop. `editable`
|
|
5656
|
+
* wins: editing a translation is not a thing, so the English source is
|
|
5657
|
+
* shown and this is ignored.
|
|
5658
|
+
*/
|
|
5659
|
+
naturalLanguages?: readonly LanguageCode[];
|
|
5651
5660
|
/** Action badges in the toolbar */
|
|
5652
5661
|
actions?: readonly CodeViewerAction[];
|
|
5653
5662
|
/** Loading state */
|
|
@@ -8331,6 +8340,8 @@ interface SwipeAction {
|
|
|
8331
8340
|
icon?: IconInput;
|
|
8332
8341
|
variant?: 'primary' | 'secondary' | 'danger' | 'ghost';
|
|
8333
8342
|
event: EventKey;
|
|
8343
|
+
/** Payload included with the `event` emit
|
|
8344
|
+
* @payloadFor event */
|
|
8334
8345
|
eventPayload?: EventPayload;
|
|
8335
8346
|
}
|
|
8336
8347
|
interface SwipeableRowProps {
|
|
@@ -8338,7 +8349,7 @@ interface SwipeableRowProps {
|
|
|
8338
8349
|
rightActions?: SwipeAction[];
|
|
8339
8350
|
threshold?: number;
|
|
8340
8351
|
children: React__default.ReactNode;
|
|
8341
|
-
itemData?:
|
|
8352
|
+
itemData?: EntityRow;
|
|
8342
8353
|
className?: string;
|
|
8343
8354
|
}
|
|
8344
8355
|
declare const SwipeableRow: React__default.FC<SwipeableRowProps>;
|
|
@@ -10422,17 +10433,30 @@ declare const WizardContainer: React__default.FC<WizardContainerProps>;
|
|
|
10422
10433
|
* - 4f (61+): Multi-lobe - Violet
|
|
10423
10434
|
*/
|
|
10424
10435
|
|
|
10425
|
-
|
|
10426
|
-
|
|
10427
|
-
|
|
10428
|
-
|
|
10429
|
-
|
|
10430
|
-
|
|
10431
|
-
|
|
10432
|
-
|
|
10433
|
-
|
|
10434
|
-
|
|
10436
|
+
/** One page's contribution to {@link OrbitalVisualizationSchemaSummary} — only
|
|
10437
|
+
* a section COUNT feeds the complexity score (`calculateComplexity`); no
|
|
10438
|
+
* per-section field is ever read, so a count is the honest declared shape. */
|
|
10439
|
+
interface OrbitalVisualizationPageSummary {
|
|
10440
|
+
/** Section count for this page. */
|
|
10441
|
+
sections?: number;
|
|
10442
|
+
}
|
|
10443
|
+
/** A complexity-scoring SUMMARY of a KFlow schema — counts only, never the
|
|
10444
|
+
* full entity/trait/section objects (`calculateComplexity` reads nothing
|
|
10445
|
+
* but `.length`/count fields). The caller computes these counts from
|
|
10446
|
+
* whatever full schema it holds; this component never needs the rows. */
|
|
10447
|
+
interface OrbitalVisualizationSchemaSummary {
|
|
10448
|
+
/** Data-entity count. */
|
|
10449
|
+
dataEntities?: number;
|
|
10450
|
+
ui?: {
|
|
10451
|
+
pages?: OrbitalVisualizationPageSummary[];
|
|
10435
10452
|
};
|
|
10453
|
+
/** Trait count. */
|
|
10454
|
+
traits?: number;
|
|
10455
|
+
}
|
|
10456
|
+
interface OrbitalVisualizationProps {
|
|
10457
|
+
/** Complexity-scoring summary of a KFlow schema (counts only — see
|
|
10458
|
+
* {@link OrbitalVisualizationSchemaSummary}). */
|
|
10459
|
+
schema?: OrbitalVisualizationSchemaSummary;
|
|
10436
10460
|
/** Direct complexity override (1-100+) */
|
|
10437
10461
|
complexity?: number;
|
|
10438
10462
|
/** Size of the visualization */
|
package/dist/components/index.js
CHANGED
|
@@ -12,14 +12,15 @@ import { useTranslate } from '@almadar/ui/hooks';
|
|
|
12
12
|
import { useUISlots, useTheme } from '@almadar/ui/context';
|
|
13
13
|
import { evaluate, createMinimalContext } from '@almadar/evaluator';
|
|
14
14
|
import { createContextFromBindings, interpolateValue } from '@almadar/runtime';
|
|
15
|
-
import { UI_SLOTS, mergeEntityFrame, isFileValue, isInlineTrait, isSecretConfigType, isRenderBindingMarker } from '@almadar/core';
|
|
15
|
+
import { UI_SLOTS, getNestedValue, mergeEntityFrame, isFileValue, isInlineTrait, isSecretConfigType, isRenderBindingMarker } from '@almadar/core';
|
|
16
16
|
import { createPortal } from 'react-dom';
|
|
17
17
|
import { wrapCallbackForEvent, perfStart, perfEnd } from '@almadar/runtime/ui';
|
|
18
18
|
import { Link, Outlet, useLocation } from 'react-router-dom';
|
|
19
19
|
import ELK from 'elkjs/lib/elk.bundled.js';
|
|
20
20
|
import SyntaxHighlighter from 'react-syntax-highlighter/dist/esm/prism-light.js';
|
|
21
21
|
import dark from 'react-syntax-highlighter/dist/esm/styles/prism/vsc-dark-plus.js';
|
|
22
|
-
import { orbLanguage, loloLanguage, ORB_COLORS } from '@almadar/syntax';
|
|
22
|
+
import { orbLanguage, loloLanguage, ORB_COLORS, translateLolo, translateOrb } from '@almadar/syntax';
|
|
23
|
+
import { coreTables } from '@almadar/core/i18n';
|
|
23
24
|
import langJson from 'react-syntax-highlighter/dist/esm/languages/prism/json.js';
|
|
24
25
|
import langJavascript from 'react-syntax-highlighter/dist/esm/languages/prism/javascript.js';
|
|
25
26
|
import langTypescript from 'react-syntax-highlighter/dist/esm/languages/prism/typescript.js';
|
|
@@ -14039,6 +14040,15 @@ function buildLineProps(errorLines, extraClassName) {
|
|
|
14039
14040
|
};
|
|
14040
14041
|
};
|
|
14041
14042
|
}
|
|
14043
|
+
function translateProgram(source, language, lang) {
|
|
14044
|
+
if (lang === "en") return source;
|
|
14045
|
+
if (language === "lolo") return translateLolo(source, lang);
|
|
14046
|
+
if (language === "orb") {
|
|
14047
|
+
const translated = translateOrb(source, lang);
|
|
14048
|
+
return typeof translated === "string" ? translated : source;
|
|
14049
|
+
}
|
|
14050
|
+
return source;
|
|
14051
|
+
}
|
|
14042
14052
|
var dynamicallyLoaded, codeLanguageLoader, orbStyleOverrides, orbStyle, loloStyleOverrides, loloStyle, log5, CODE_LANGUAGES, CODE_LANGUAGE_SET, DIFF_STYLES, DIFF_STYLE_FALLBACK, LINE_PROPS_FN, HIDDEN_LINE_NUMBERS, HIGHLIGHT_CAPACITY_BYTES, MONO_FONT_FAMILY, VIEWER_LINE_NUMBER_STYLE, CodeBlock;
|
|
14043
14053
|
var init_CodeBlock = __esm({
|
|
14044
14054
|
"components/core/molecules/markdown/CodeBlock.tsx"() {
|
|
@@ -14304,6 +14314,7 @@ var init_CodeBlock = __esm({
|
|
|
14304
14314
|
showLineNumbers = false,
|
|
14305
14315
|
wordWrap = false,
|
|
14306
14316
|
files,
|
|
14317
|
+
naturalLanguages,
|
|
14307
14318
|
actions,
|
|
14308
14319
|
isLoading = false,
|
|
14309
14320
|
error,
|
|
@@ -14350,7 +14361,48 @@ var init_CodeBlock = __esm({
|
|
|
14350
14361
|
"replace"
|
|
14351
14362
|
]
|
|
14352
14363
|
}) => {
|
|
14353
|
-
const
|
|
14364
|
+
const englishCode = typeof rawCode === "string" ? rawCode : String(rawCode ?? "");
|
|
14365
|
+
const naturalTabs = !editable && naturalLanguages && naturalLanguages.length > 1 ? naturalLanguages : void 0;
|
|
14366
|
+
const [naturalLanguage, setNaturalLanguage] = useState(() => naturalTabs?.[0] ?? "en");
|
|
14367
|
+
const activeNaturalLanguage = naturalTabs?.includes(naturalLanguage) === true ? naturalLanguage : naturalTabs?.[0] ?? "en";
|
|
14368
|
+
const translationCache = useMemo(() => /* @__PURE__ */ new Map(), [englishCode, files]);
|
|
14369
|
+
const translateFor = useCallback(
|
|
14370
|
+
(source, sourceLanguage, cacheKey) => {
|
|
14371
|
+
if (activeNaturalLanguage === "en") return source;
|
|
14372
|
+
const key = `${cacheKey}|${sourceLanguage}|${activeNaturalLanguage}`;
|
|
14373
|
+
const hit = translationCache.get(key);
|
|
14374
|
+
if (hit !== void 0) return hit;
|
|
14375
|
+
const translated = translateProgram(source, sourceLanguage, activeNaturalLanguage);
|
|
14376
|
+
translationCache.set(key, translated);
|
|
14377
|
+
return translated;
|
|
14378
|
+
},
|
|
14379
|
+
[translationCache, activeNaturalLanguage]
|
|
14380
|
+
);
|
|
14381
|
+
const code = translateFor(englishCode, language, "code");
|
|
14382
|
+
const naturalTabItems = naturalTabs?.map((lang) => ({
|
|
14383
|
+
id: `lang-${lang}`,
|
|
14384
|
+
label: coreTables[lang].meta.name,
|
|
14385
|
+
content: null
|
|
14386
|
+
}));
|
|
14387
|
+
const naturalTabStrip = naturalTabs && naturalTabItems ? /* @__PURE__ */ jsx(
|
|
14388
|
+
Box,
|
|
14389
|
+
{
|
|
14390
|
+
className: "border-b border-border",
|
|
14391
|
+
dir: coreTables[activeNaturalLanguage].meta.rtl ? "rtl" : "ltr",
|
|
14392
|
+
"data-testid": "codeblock-language-tabs",
|
|
14393
|
+
children: /* @__PURE__ */ jsx(
|
|
14394
|
+
Tabs,
|
|
14395
|
+
{
|
|
14396
|
+
tabs: naturalTabItems,
|
|
14397
|
+
activeTab: `lang-${activeNaturalLanguage}`,
|
|
14398
|
+
onTabChange: (id) => {
|
|
14399
|
+
const next = naturalTabs.find((lang) => `lang-${lang}` === id);
|
|
14400
|
+
if (next) setNaturalLanguage(next);
|
|
14401
|
+
}
|
|
14402
|
+
}
|
|
14403
|
+
)
|
|
14404
|
+
}
|
|
14405
|
+
) : null;
|
|
14354
14406
|
const activeStyle = resolveHighlightStyle(language);
|
|
14355
14407
|
const overCapacity = code.length > HIGHLIGHT_CAPACITY_BYTES;
|
|
14356
14408
|
const plainCodeColor = plainCodeColorOf(activeStyle);
|
|
@@ -14363,8 +14415,8 @@ var init_CodeBlock = __esm({
|
|
|
14363
14415
|
const [wrap, setWrap] = useState(wordWrap);
|
|
14364
14416
|
const [activeFileIndex, setActiveFileIndex] = useState(0);
|
|
14365
14417
|
const activeFile = files?.[activeFileIndex];
|
|
14366
|
-
const activeCode = activeFile?.code ?? code;
|
|
14367
14418
|
const activeLanguage = activeFile?.language ?? language;
|
|
14419
|
+
const activeCode = activeFile ? translateFor(activeFile.code, activeLanguage, `file-${activeFileIndex}`) : code;
|
|
14368
14420
|
const languageReady = useLanguageReady(activeLanguage);
|
|
14369
14421
|
const viewerStyle = resolveHighlightStyle(activeLanguage);
|
|
14370
14422
|
const viewerPlainCodeColor = plainCodeColorOf(viewerStyle);
|
|
@@ -14849,6 +14901,7 @@ var init_CodeBlock = __esm({
|
|
|
14849
14901
|
content: null
|
|
14850
14902
|
}));
|
|
14851
14903
|
return /* @__PURE__ */ jsx(Card, { className: cn("overflow-hidden", className), children: /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column" }, children: [
|
|
14904
|
+
naturalTabStrip,
|
|
14852
14905
|
tabItems && tabItems.length > 1 && /* @__PURE__ */ jsx(Box, { className: "border-b border-border", children: /* @__PURE__ */ jsx(
|
|
14853
14906
|
Tabs,
|
|
14854
14907
|
{
|
|
@@ -14910,7 +14963,7 @@ var init_CodeBlock = __esm({
|
|
|
14910
14963
|
]
|
|
14911
14964
|
}
|
|
14912
14965
|
),
|
|
14913
|
-
/* @__PURE__ */ jsx(Box, { className: "overflow-auto bg-muted/20", style: { maxHeight }, children: diffLines ? /* @__PURE__ */ jsx("div", { style: { display: "flex", flexDirection: "column" }, className: "font-mono text-xs", children: diffRowElements }) : /* @__PURE__ */ jsx("div", { className: "font-mono text-xs", children: viewerHighlightedElement }) })
|
|
14966
|
+
/* @__PURE__ */ jsx(Box, { className: "overflow-auto bg-muted/20", style: { maxHeight }, dir: "ltr", children: diffLines ? /* @__PURE__ */ jsx("div", { style: { display: "flex", flexDirection: "column" }, className: "font-mono text-xs", children: diffRowElements }) : /* @__PURE__ */ jsx("div", { className: "font-mono text-xs", children: viewerHighlightedElement }) })
|
|
14914
14967
|
] }) });
|
|
14915
14968
|
}
|
|
14916
14969
|
const hasHeader = showLanguageBadge || effectiveCopy;
|
|
@@ -14937,6 +14990,7 @@ var init_CodeBlock = __esm({
|
|
|
14937
14990
|
]
|
|
14938
14991
|
}
|
|
14939
14992
|
),
|
|
14993
|
+
naturalTabStrip,
|
|
14940
14994
|
editable ? (
|
|
14941
14995
|
/* GAP-77 / GAP-82 / GAP-83: editable mode = transparent textarea on
|
|
14942
14996
|
top of a Prism-highlighted SyntaxHighlighter overlay.
|
|
@@ -15088,6 +15142,7 @@ var init_CodeBlock = __esm({
|
|
|
15088
15142
|
{
|
|
15089
15143
|
ref: scrollRef,
|
|
15090
15144
|
onCopy: handleSelectionCopy,
|
|
15145
|
+
dir: "ltr",
|
|
15091
15146
|
style: {
|
|
15092
15147
|
flex: 1,
|
|
15093
15148
|
minHeight: 0,
|
|
@@ -15106,7 +15161,7 @@ var init_CodeBlock = __esm({
|
|
|
15106
15161
|
)
|
|
15107
15162
|
] });
|
|
15108
15163
|
},
|
|
15109
|
-
(prev, next) => prev.language === next.language && prev.code === next.code && prev.showCopyButton === next.showCopyButton && prev.showCopy === next.showCopy && prev.maxHeight === next.maxHeight && prev.foldable === next.foldable && prev.editable === next.editable && prev.onChange === next.onChange && prev.errorLines === next.errorLines && prev.mode === next.mode && prev.title === next.title && prev.diff === next.diff && prev.files === next.files && prev.actions === next.actions && prev.isLoading === next.isLoading && prev.error === next.error && prev.editorId === next.editorId && prev.onEditorFocus === next.onEditorFocus && prev.onEditorBlur === next.onEditorBlur && prev.onMotion === next.onMotion && prev.onOperate === next.onOperate && prev.onInsertText === next.onInsertText && prev.onSetMode === next.onSetMode && prev.motions === next.motions && prev.operators === next.operators
|
|
15164
|
+
(prev, next) => prev.language === next.language && prev.code === next.code && prev.showCopyButton === next.showCopyButton && prev.showCopy === next.showCopy && prev.maxHeight === next.maxHeight && prev.foldable === next.foldable && prev.editable === next.editable && prev.onChange === next.onChange && prev.errorLines === next.errorLines && prev.mode === next.mode && prev.title === next.title && prev.diff === next.diff && prev.files === next.files && prev.naturalLanguages === next.naturalLanguages && prev.actions === next.actions && prev.isLoading === next.isLoading && prev.error === next.error && prev.editorId === next.editorId && prev.onEditorFocus === next.onEditorFocus && prev.onEditorBlur === next.onEditorBlur && prev.onMotion === next.onMotion && prev.onOperate === next.onOperate && prev.onInsertText === next.onInsertText && prev.onSetMode === next.onSetMode && prev.motions === next.motions && prev.operators === next.operators
|
|
15110
15165
|
);
|
|
15111
15166
|
CodeBlock.displayName = "CodeBlock";
|
|
15112
15167
|
}
|
|
@@ -18801,26 +18856,6 @@ var init_ButtonGroup = __esm({
|
|
|
18801
18856
|
ButtonGroup.displayName = "ButtonGroup";
|
|
18802
18857
|
}
|
|
18803
18858
|
});
|
|
18804
|
-
function getNestedValue(obj, path) {
|
|
18805
|
-
if (obj === null || obj === void 0 || !path) {
|
|
18806
|
-
return void 0;
|
|
18807
|
-
}
|
|
18808
|
-
if (!path.includes(".")) {
|
|
18809
|
-
return obj[path];
|
|
18810
|
-
}
|
|
18811
|
-
const parts = path.split(".");
|
|
18812
|
-
let value = obj;
|
|
18813
|
-
for (const part of parts) {
|
|
18814
|
-
if (value === null || value === void 0) {
|
|
18815
|
-
return void 0;
|
|
18816
|
-
}
|
|
18817
|
-
if (typeof value !== "object" || Array.isArray(value)) {
|
|
18818
|
-
return void 0;
|
|
18819
|
-
}
|
|
18820
|
-
value = value[part];
|
|
18821
|
-
}
|
|
18822
|
-
return value;
|
|
18823
|
-
}
|
|
18824
18859
|
function resolveImageUrl(value) {
|
|
18825
18860
|
if (typeof value === "string") {
|
|
18826
18861
|
return value;
|
|
@@ -43009,11 +43044,11 @@ var init_WizardContainer = __esm({
|
|
|
43009
43044
|
});
|
|
43010
43045
|
function calculateComplexity(schema) {
|
|
43011
43046
|
if (!schema) return 1;
|
|
43012
|
-
const entities = schema.dataEntities
|
|
43047
|
+
const entities = schema.dataEntities || 0;
|
|
43013
43048
|
const pages = schema.ui?.pages?.length || 0;
|
|
43014
|
-
const traits2 = schema.traits
|
|
43049
|
+
const traits2 = schema.traits || 0;
|
|
43015
43050
|
const sections = schema.ui?.pages?.reduce(
|
|
43016
|
-
(acc, page) => acc + (page.sections
|
|
43051
|
+
(acc, page) => acc + (page.sections || 0),
|
|
43017
43052
|
0
|
|
43018
43053
|
) || 0;
|
|
43019
43054
|
return entities * 3 + pages * 2 + traits2 * 2 + sections * 1;
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import { C as CanvasPointLightConfig, I as IsometricTile, a as IsometricUnit, b as IsometricFeature, A as ApplicationLevelData, O as OrbitalLevelData, T as TraitLevelData, c as TransitionLevelData } from '../../../avl-schema-parser-
|
|
2
|
-
export { d as Canvas3DHost, e as Canvas3DHostHandle, f as Canvas3DHostProps, d as GameCanvas3D, U as UnitAnimationState } from '../../../avl-schema-parser-
|
|
1
|
+
import { C as CanvasPointLightConfig, I as IsometricTile, a as IsometricUnit, b as IsometricFeature, A as ApplicationLevelData, O as OrbitalLevelData, T as TraitLevelData, c as TransitionLevelData } from '../../../avl-schema-parser-PVu8rgsy.cjs';
|
|
2
|
+
export { d as Canvas3DHost, e as Canvas3DHostHandle, f as Canvas3DHostProps, d as GameCanvas3D, U as UnitAnimationState } from '../../../avl-schema-parser-PVu8rgsy.cjs';
|
|
3
3
|
import * as React$1 from 'react';
|
|
4
4
|
import React__default, { Component, ReactNode, ErrorInfo } from 'react';
|
|
5
5
|
import * as THREE from 'three';
|
|
6
6
|
import { QuadraticBezierCurve3 } from 'three';
|
|
7
7
|
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js';
|
|
8
8
|
import { JsonObject, EventEmit, OrbitalSchema } from '@almadar/core';
|
|
9
|
-
import '../../../paintDispatch-
|
|
10
|
-
import '../../../types-B3nHgnMG.cjs';
|
|
9
|
+
import '../../../paintDispatch-CK5uwYEq.cjs';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Scene3D
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import { C as CanvasPointLightConfig, I as IsometricTile, a as IsometricUnit, b as IsometricFeature, A as ApplicationLevelData, O as OrbitalLevelData, T as TraitLevelData, c as TransitionLevelData } from '../../../avl-schema-parser-
|
|
2
|
-
export { d as Canvas3DHost, e as Canvas3DHostHandle, f as Canvas3DHostProps, d as GameCanvas3D, U as UnitAnimationState } from '../../../avl-schema-parser-
|
|
1
|
+
import { C as CanvasPointLightConfig, I as IsometricTile, a as IsometricUnit, b as IsometricFeature, A as ApplicationLevelData, O as OrbitalLevelData, T as TraitLevelData, c as TransitionLevelData } from '../../../avl-schema-parser-DX-aVCCm.js';
|
|
2
|
+
export { d as Canvas3DHost, e as Canvas3DHostHandle, f as Canvas3DHostProps, d as GameCanvas3D, U as UnitAnimationState } from '../../../avl-schema-parser-DX-aVCCm.js';
|
|
3
3
|
import * as React$1 from 'react';
|
|
4
4
|
import React__default, { Component, ReactNode, ErrorInfo } from 'react';
|
|
5
5
|
import * as THREE from 'three';
|
|
6
6
|
import { QuadraticBezierCurve3 } from 'three';
|
|
7
7
|
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js';
|
|
8
8
|
import { JsonObject, EventEmit, OrbitalSchema } from '@almadar/core';
|
|
9
|
-
import '../../../paintDispatch-
|
|
10
|
-
import '../../../types-B3nHgnMG.js';
|
|
9
|
+
import '../../../paintDispatch-CK5uwYEq.js';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Scene3D
|
package/dist/lib/index.cjs
CHANGED
|
@@ -619,8 +619,9 @@ function getTransitionsForTrait(traitName) {
|
|
|
619
619
|
return getState().transitions.filter((t) => t.traitName === traitName);
|
|
620
620
|
}
|
|
621
621
|
function recordServerResponse(orbitalName, event, response) {
|
|
622
|
+
const { effectResults, ...responseFields } = response;
|
|
622
623
|
const serverResponse = {
|
|
623
|
-
...
|
|
624
|
+
...responseFields,
|
|
624
625
|
orbitalName,
|
|
625
626
|
timestamp: Date.now()
|
|
626
627
|
};
|
|
@@ -630,7 +631,7 @@ function recordServerResponse(orbitalName, event, response) {
|
|
|
630
631
|
from: "server",
|
|
631
632
|
to: "server",
|
|
632
633
|
event,
|
|
633
|
-
effects: [],
|
|
634
|
+
effects: effectResults ?? [],
|
|
634
635
|
serverResponse,
|
|
635
636
|
timestamp: Date.now()
|
|
636
637
|
};
|
|
@@ -927,26 +928,6 @@ function sortRows(rows, field, direction = "asc") {
|
|
|
927
928
|
const dir = direction === "desc" ? -1 : 1;
|
|
928
929
|
return [...rows].sort((a, b) => dir * compareCellValues(a?.[field], b?.[field]));
|
|
929
930
|
}
|
|
930
|
-
function getNestedValue(obj, path) {
|
|
931
|
-
if (obj === null || obj === void 0 || !path) {
|
|
932
|
-
return void 0;
|
|
933
|
-
}
|
|
934
|
-
if (!path.includes(".")) {
|
|
935
|
-
return obj[path];
|
|
936
|
-
}
|
|
937
|
-
const parts = path.split(".");
|
|
938
|
-
let value = obj;
|
|
939
|
-
for (const part of parts) {
|
|
940
|
-
if (value === null || value === void 0) {
|
|
941
|
-
return void 0;
|
|
942
|
-
}
|
|
943
|
-
if (typeof value !== "object" || Array.isArray(value)) {
|
|
944
|
-
return void 0;
|
|
945
|
-
}
|
|
946
|
-
value = value[part];
|
|
947
|
-
}
|
|
948
|
-
return value;
|
|
949
|
-
}
|
|
950
931
|
function resolveImageUrl(value) {
|
|
951
932
|
if (typeof value === "string") {
|
|
952
933
|
return value;
|
|
@@ -2523,6 +2504,10 @@ Object.defineProperty(exports, "perfTimeAsync", {
|
|
|
2523
2504
|
enumerable: true,
|
|
2524
2505
|
get: function () { return ui.perfTimeAsync; }
|
|
2525
2506
|
});
|
|
2507
|
+
Object.defineProperty(exports, "getNestedValue", {
|
|
2508
|
+
enumerable: true,
|
|
2509
|
+
get: function () { return core.getNestedValue; }
|
|
2510
|
+
});
|
|
2526
2511
|
exports.ApiError = ApiError;
|
|
2527
2512
|
exports.DEFAULT_CONFIG = DEFAULT_CONFIG;
|
|
2528
2513
|
exports.EDITOR_MOTIONS = EDITOR_MOTIONS;
|
|
@@ -2584,7 +2569,6 @@ exports.getEventsBySource = getEventsBySource;
|
|
|
2584
2569
|
exports.getEventsByType = getEventsByType;
|
|
2585
2570
|
exports.getGuardEvaluationsForTrait = getGuardEvaluationsForTrait;
|
|
2586
2571
|
exports.getGuardHistory = getGuardHistory;
|
|
2587
|
-
exports.getNestedValue = getNestedValue;
|
|
2588
2572
|
exports.getRecentEvents = getRecentEvents;
|
|
2589
2573
|
exports.getRecentGuardEvaluations = getRecentGuardEvaluations;
|
|
2590
2574
|
exports.getSnapshot = getSnapshot;
|
package/dist/lib/index.d.cts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export { A as ApplyOperatorInput, a as ApplyOperatorResult, C as ContentSegment, D as DEFAULT_CONFIG, b as DomEntityBox, c as DomLayoutData, d as DomOutputsBox, e as DomStateNode, f as DomTransitionLabel, g as DomTransitionPath, E as EDITOR_MOTIONS, h as EDITOR_OPERATORS, i as EditorMotion, j as EditorOperator, k as EntityDefinition, I as INDENT_UNIT, L as LessonSegment, R as RenderOptions, S as StateDefinition, l as StateMachineDefinition, T as
|
|
2
|
-
import { FieldValue, EntityRow
|
|
3
|
-
export { AssetLoadStatus, BridgeHealth, CheckStatus, EffectTrace, EventLogEntry, OrbitalVerificationAPI, ServerResponseTrace, TraitStateSnapshot, TransitionTrace, VerificationCheck, VerificationSnapshot, VerificationSummary } from '@almadar/core';
|
|
1
|
+
export { A as ApplyOperatorInput, a as ApplyOperatorResult, C as ContentSegment, D as DEFAULT_CONFIG, b as DomEntityBox, c as DomLayoutData, d as DomOutputsBox, e as DomStateNode, f as DomTransitionLabel, g as DomTransitionPath, E as EDITOR_MOTIONS, h as EDITOR_OPERATORS, i as EditorMotion, j as EditorOperator, k as EntityDefinition, I as INDENT_UNIT, L as LessonSegment, R as RenderOptions, S as StateDefinition, l as StateMachineDefinition, T as TransitionDefinition, V as VisualizerConfig, m as applyMotion, n as applyOperator, o as cn, p as extractOutputsFromTransitions, q as extractStateMachine, r as formatGuard, s as getEffectSummary, t as isEditorMotion, u as isEditorOperator, v as motionRange, w as parseContentSegments, x as parseLessonSegments, y as parseMarkdownWithCodeBlocks, z as renderStateMachineToDomData, B as renderStateMachineToSvg } from '../cn-Do5gsPBm.cjs';
|
|
2
|
+
import { FieldValue, EntityRow } from '@almadar/core';
|
|
3
|
+
export { AssetLoadStatus, BridgeHealth, CheckStatus, EffectTrace, EventLogEntry, OrbitalVerificationAPI, ServerResponseTrace, TraitStateSnapshot, TransitionTrace, VerificationCheck, VerificationSnapshot, VerificationSummary, getNestedValue } from '@almadar/core';
|
|
4
4
|
export { p as profilerOnRender, u as usePerfBuffer } from '../perf-DaVdsbU0.cjs';
|
|
5
|
+
export { T as TraitSnapshotGetter, b as bindCanvasCapture, a as bindEventBus, c as bindLastDrawables, d as bindTraitStateGetter, e as clearVerification, g as getAllChecks, f as getBridgeHealth, h as getSnapshot, i as getSummary, j as getTraitSnapshots, k as getTransitions, l as getTransitionsForTrait, r as recordServerResponse, m as recordTransition, n as registerCheck, o as registerTraitSnapshot, s as subscribeToVerification, u as updateAssetStatus, p as updateBridgeHealth, q as updateCheck, w as waitForTransition } from '../verificationRegistry-BLsjb1oU.cjs';
|
|
5
6
|
export { PERF_NAMESPACE, PerfEntry, clearPerf, perfEnd, perfGauge, perfStart, perfTime, perfTimeAsync } from '@almadar/runtime/ui';
|
|
6
7
|
import 'react';
|
|
7
|
-
import '../paintDispatch-D3R8NNmV.cjs';
|
|
8
|
-
import '../types-B3nHgnMG.cjs';
|
|
9
8
|
import 'clsx';
|
|
9
|
+
import '../paintDispatch-CK5uwYEq.cjs';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Trait Registry - Tracks active traits and their state machines for debugging
|
|
@@ -389,28 +389,6 @@ declare function compareCellValues(a: FieldValue | undefined, b: FieldValue | un
|
|
|
389
389
|
*/
|
|
390
390
|
declare function sortRows<T extends Record<string, FieldValue | undefined>>(rows: readonly T[], field?: string, direction?: SortDirection): readonly T[];
|
|
391
391
|
|
|
392
|
-
/**
|
|
393
|
-
* Get Nested Value Utility
|
|
394
|
-
*
|
|
395
|
-
* Safely retrieves nested values from objects using dot-notation paths.
|
|
396
|
-
* Used by display components to support relation field access like "company.name".
|
|
397
|
-
*
|
|
398
|
-
* @packageDocumentation
|
|
399
|
-
*/
|
|
400
|
-
/**
|
|
401
|
-
* Get a nested value from an object using dot-notation path.
|
|
402
|
-
*
|
|
403
|
-
* @param obj - The object to traverse
|
|
404
|
-
* @param path - Dot-notation path (e.g., "company.name", "address.city")
|
|
405
|
-
* @returns The value at the path, or undefined if not found
|
|
406
|
-
*
|
|
407
|
-
* @example
|
|
408
|
-
* const data = { company: { name: "Acme Corp", address: { city: "NYC" } } };
|
|
409
|
-
* getNestedValue(data, "company.name"); // => "Acme Corp"
|
|
410
|
-
* getNestedValue(data, "company.address.city"); // => "NYC"
|
|
411
|
-
* getNestedValue(data, "company.missing"); // => undefined
|
|
412
|
-
*/
|
|
413
|
-
declare function getNestedValue(obj: EventPayload | Record<string, FieldValue | undefined> | null | undefined, path: string): FieldValue | undefined;
|
|
414
392
|
/**
|
|
415
393
|
* Resolve a field value that may be a raw URL string (legacy `image`/`url` fields) or a
|
|
416
394
|
* structured `file`-typed {@link FileValue} into the URL an `<img src>` can use. Gallery/card
|
|
@@ -615,4 +593,4 @@ declare function eightPointedStarPath(cx: number, cy: number, outerR: number, in
|
|
|
615
593
|
*/
|
|
616
594
|
declare function arrowheadPath(size: number): string;
|
|
617
595
|
|
|
618
|
-
export { ApiError, type CommandSendPump, type DebugEvent, type DebugEventType, type EntitySnapshot, type EntityState, type GuardContext, type GuardEvaluation, JAZARI_COLORS, type JazariArmLayout, type JazariEffectInfo, type JazariGearLayout, type JazariGuardInfo, type JazariLayout, type LayoutInput, type LayoutState, type LayoutTransition, type PersistentEntityInfo, type RuntimeEntity, type SortDirection, type TickExecution, type TickSendRelay, type TraitDebugInfo, type TraitGuard, type TraitTransition, type ValueFormat, apiClient, arrowheadPath, brainIconPath, clearDebugEvents, clearEntityProvider, clearGuardHistory, clearTicks, clearTraits, compareCellValues, computeJazariLayout, createCommandSendPump, createTickSendRelay, debug, debugCollision, debugError, debugGameState, debugGroup, debugGroupEnd, debugInput, debugPhysics, debugTable, debugTime, debugTimeEnd, debugWarn, eightPointedStarPath, formatDate, formatDateTime, formatNestedFieldLabel, formatTime, formatValue, gearTeethPath, getAllTicks, getAllTraits, getDebugEvents, getEntitiesByType, getEntityById, getEntitySnapshot, getEventsBySource, getEventsByType, getGuardEvaluationsForTrait, getGuardHistory,
|
|
596
|
+
export { ApiError, type CommandSendPump, type DebugEvent, type DebugEventType, type EntitySnapshot, type EntityState, type GuardContext, type GuardEvaluation, JAZARI_COLORS, type JazariArmLayout, type JazariEffectInfo, type JazariGearLayout, type JazariGuardInfo, type JazariLayout, type LayoutInput, type LayoutState, type LayoutTransition, type PersistentEntityInfo, type RuntimeEntity, type SortDirection, type TickExecution, type TickSendRelay, type TraitDebugInfo, type TraitGuard, type TraitTransition, type ValueFormat, apiClient, arrowheadPath, brainIconPath, clearDebugEvents, clearEntityProvider, clearGuardHistory, clearTicks, clearTraits, compareCellValues, computeJazariLayout, createCommandSendPump, createTickSendRelay, debug, debugCollision, debugError, debugGameState, debugGroup, debugGroupEnd, debugInput, debugPhysics, debugTable, debugTime, debugTimeEnd, debugWarn, eightPointedStarPath, formatDate, formatDateTime, formatNestedFieldLabel, formatTime, formatValue, gearTeethPath, getAllTicks, getAllTraits, getDebugEvents, getEntitiesByType, getEntityById, getEntitySnapshot, getEventsBySource, getEventsByType, getGuardEvaluationsForTrait, getGuardHistory, getRecentEvents, getRecentGuardEvaluations, getTick, getTrait, humanizeEnumValue, humanizeFieldName, initDebugShortcut, isDebugEnabled, lockIconPath, logDebugEvent, logEffectExecuted, logError, logEventFired, logInfo, logStateChange, logWarning, onDebugToggle, pipeIconPath, recordGuardEvaluation, registerTick, registerTrait, resolveImageUrl, setDebugEnabled, setEntityProvider, setTickActive, sortRows, subscribeToDebugEvents, subscribeToGuardChanges, subscribeToTickChanges, subscribeToTraitChanges, toggleDebug, unregisterTick, unregisterTrait, updateGuardResult, updateTickExecution, updateTraitState };
|
package/dist/lib/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export { A as ApplyOperatorInput, a as ApplyOperatorResult, C as ContentSegment, D as DEFAULT_CONFIG, b as DomEntityBox, c as DomLayoutData, d as DomOutputsBox, e as DomStateNode, f as DomTransitionLabel, g as DomTransitionPath, E as EDITOR_MOTIONS, h as EDITOR_OPERATORS, i as EditorMotion, j as EditorOperator, k as EntityDefinition, I as INDENT_UNIT, L as LessonSegment, R as RenderOptions, S as StateDefinition, l as StateMachineDefinition, T as
|
|
2
|
-
import { FieldValue, EntityRow
|
|
3
|
-
export { AssetLoadStatus, BridgeHealth, CheckStatus, EffectTrace, EventLogEntry, OrbitalVerificationAPI, ServerResponseTrace, TraitStateSnapshot, TransitionTrace, VerificationCheck, VerificationSnapshot, VerificationSummary } from '@almadar/core';
|
|
1
|
+
export { A as ApplyOperatorInput, a as ApplyOperatorResult, C as ContentSegment, D as DEFAULT_CONFIG, b as DomEntityBox, c as DomLayoutData, d as DomOutputsBox, e as DomStateNode, f as DomTransitionLabel, g as DomTransitionPath, E as EDITOR_MOTIONS, h as EDITOR_OPERATORS, i as EditorMotion, j as EditorOperator, k as EntityDefinition, I as INDENT_UNIT, L as LessonSegment, R as RenderOptions, S as StateDefinition, l as StateMachineDefinition, T as TransitionDefinition, V as VisualizerConfig, m as applyMotion, n as applyOperator, o as cn, p as extractOutputsFromTransitions, q as extractStateMachine, r as formatGuard, s as getEffectSummary, t as isEditorMotion, u as isEditorOperator, v as motionRange, w as parseContentSegments, x as parseLessonSegments, y as parseMarkdownWithCodeBlocks, z as renderStateMachineToDomData, B as renderStateMachineToSvg } from '../cn-Do5gsPBm.js';
|
|
2
|
+
import { FieldValue, EntityRow } from '@almadar/core';
|
|
3
|
+
export { AssetLoadStatus, BridgeHealth, CheckStatus, EffectTrace, EventLogEntry, OrbitalVerificationAPI, ServerResponseTrace, TraitStateSnapshot, TransitionTrace, VerificationCheck, VerificationSnapshot, VerificationSummary, getNestedValue } from '@almadar/core';
|
|
4
4
|
export { p as profilerOnRender, u as usePerfBuffer } from '../perf-DaVdsbU0.js';
|
|
5
|
+
export { T as TraitSnapshotGetter, b as bindCanvasCapture, a as bindEventBus, c as bindLastDrawables, d as bindTraitStateGetter, e as clearVerification, g as getAllChecks, f as getBridgeHealth, h as getSnapshot, i as getSummary, j as getTraitSnapshots, k as getTransitions, l as getTransitionsForTrait, r as recordServerResponse, m as recordTransition, n as registerCheck, o as registerTraitSnapshot, s as subscribeToVerification, u as updateAssetStatus, p as updateBridgeHealth, q as updateCheck, w as waitForTransition } from '../verificationRegistry-D8bHWD8Q.js';
|
|
5
6
|
export { PERF_NAMESPACE, PerfEntry, clearPerf, perfEnd, perfGauge, perfStart, perfTime, perfTimeAsync } from '@almadar/runtime/ui';
|
|
6
7
|
import 'react';
|
|
7
|
-
import '../paintDispatch-B5ObLnUv.js';
|
|
8
|
-
import '../types-B3nHgnMG.js';
|
|
9
8
|
import 'clsx';
|
|
9
|
+
import '../paintDispatch-CK5uwYEq.js';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Trait Registry - Tracks active traits and their state machines for debugging
|
|
@@ -389,28 +389,6 @@ declare function compareCellValues(a: FieldValue | undefined, b: FieldValue | un
|
|
|
389
389
|
*/
|
|
390
390
|
declare function sortRows<T extends Record<string, FieldValue | undefined>>(rows: readonly T[], field?: string, direction?: SortDirection): readonly T[];
|
|
391
391
|
|
|
392
|
-
/**
|
|
393
|
-
* Get Nested Value Utility
|
|
394
|
-
*
|
|
395
|
-
* Safely retrieves nested values from objects using dot-notation paths.
|
|
396
|
-
* Used by display components to support relation field access like "company.name".
|
|
397
|
-
*
|
|
398
|
-
* @packageDocumentation
|
|
399
|
-
*/
|
|
400
|
-
/**
|
|
401
|
-
* Get a nested value from an object using dot-notation path.
|
|
402
|
-
*
|
|
403
|
-
* @param obj - The object to traverse
|
|
404
|
-
* @param path - Dot-notation path (e.g., "company.name", "address.city")
|
|
405
|
-
* @returns The value at the path, or undefined if not found
|
|
406
|
-
*
|
|
407
|
-
* @example
|
|
408
|
-
* const data = { company: { name: "Acme Corp", address: { city: "NYC" } } };
|
|
409
|
-
* getNestedValue(data, "company.name"); // => "Acme Corp"
|
|
410
|
-
* getNestedValue(data, "company.address.city"); // => "NYC"
|
|
411
|
-
* getNestedValue(data, "company.missing"); // => undefined
|
|
412
|
-
*/
|
|
413
|
-
declare function getNestedValue(obj: EventPayload | Record<string, FieldValue | undefined> | null | undefined, path: string): FieldValue | undefined;
|
|
414
392
|
/**
|
|
415
393
|
* Resolve a field value that may be a raw URL string (legacy `image`/`url` fields) or a
|
|
416
394
|
* structured `file`-typed {@link FileValue} into the URL an `<img src>` can use. Gallery/card
|
|
@@ -615,4 +593,4 @@ declare function eightPointedStarPath(cx: number, cy: number, outerR: number, in
|
|
|
615
593
|
*/
|
|
616
594
|
declare function arrowheadPath(size: number): string;
|
|
617
595
|
|
|
618
|
-
export { ApiError, type CommandSendPump, type DebugEvent, type DebugEventType, type EntitySnapshot, type EntityState, type GuardContext, type GuardEvaluation, JAZARI_COLORS, type JazariArmLayout, type JazariEffectInfo, type JazariGearLayout, type JazariGuardInfo, type JazariLayout, type LayoutInput, type LayoutState, type LayoutTransition, type PersistentEntityInfo, type RuntimeEntity, type SortDirection, type TickExecution, type TickSendRelay, type TraitDebugInfo, type TraitGuard, type TraitTransition, type ValueFormat, apiClient, arrowheadPath, brainIconPath, clearDebugEvents, clearEntityProvider, clearGuardHistory, clearTicks, clearTraits, compareCellValues, computeJazariLayout, createCommandSendPump, createTickSendRelay, debug, debugCollision, debugError, debugGameState, debugGroup, debugGroupEnd, debugInput, debugPhysics, debugTable, debugTime, debugTimeEnd, debugWarn, eightPointedStarPath, formatDate, formatDateTime, formatNestedFieldLabel, formatTime, formatValue, gearTeethPath, getAllTicks, getAllTraits, getDebugEvents, getEntitiesByType, getEntityById, getEntitySnapshot, getEventsBySource, getEventsByType, getGuardEvaluationsForTrait, getGuardHistory,
|
|
596
|
+
export { ApiError, type CommandSendPump, type DebugEvent, type DebugEventType, type EntitySnapshot, type EntityState, type GuardContext, type GuardEvaluation, JAZARI_COLORS, type JazariArmLayout, type JazariEffectInfo, type JazariGearLayout, type JazariGuardInfo, type JazariLayout, type LayoutInput, type LayoutState, type LayoutTransition, type PersistentEntityInfo, type RuntimeEntity, type SortDirection, type TickExecution, type TickSendRelay, type TraitDebugInfo, type TraitGuard, type TraitTransition, type ValueFormat, apiClient, arrowheadPath, brainIconPath, clearDebugEvents, clearEntityProvider, clearGuardHistory, clearTicks, clearTraits, compareCellValues, computeJazariLayout, createCommandSendPump, createTickSendRelay, debug, debugCollision, debugError, debugGameState, debugGroup, debugGroupEnd, debugInput, debugPhysics, debugTable, debugTime, debugTimeEnd, debugWarn, eightPointedStarPath, formatDate, formatDateTime, formatNestedFieldLabel, formatTime, formatValue, gearTeethPath, getAllTicks, getAllTraits, getDebugEvents, getEntitiesByType, getEntityById, getEntitySnapshot, getEventsBySource, getEventsByType, getGuardEvaluationsForTrait, getGuardHistory, getRecentEvents, getRecentGuardEvaluations, getTick, getTrait, humanizeEnumValue, humanizeFieldName, initDebugShortcut, isDebugEnabled, lockIconPath, logDebugEvent, logEffectExecuted, logError, logEventFired, logInfo, logStateChange, logWarning, onDebugToggle, pipeIconPath, recordGuardEvaluation, registerTick, registerTrait, resolveImageUrl, setDebugEnabled, setEntityProvider, setTickActive, sortRows, subscribeToDebugEvents, subscribeToGuardChanges, subscribeToTickChanges, subscribeToTraitChanges, toggleDebug, unregisterTick, unregisterTrait, updateGuardResult, updateTickExecution, updateTraitState };
|
package/dist/lib/index.js
CHANGED
|
@@ -5,6 +5,7 @@ import { useSyncExternalStore } from 'react';
|
|
|
5
5
|
import { perfStore, pushPerfEntry } from '@almadar/runtime/ui';
|
|
6
6
|
export { PERF_NAMESPACE, clearPerf, perfEnd, perfGauge, perfStart, perfTime, perfTimeAsync } from '@almadar/runtime/ui';
|
|
7
7
|
import { isFileValue } from '@almadar/core';
|
|
8
|
+
export { getNestedValue } from '@almadar/core';
|
|
8
9
|
|
|
9
10
|
var __defProp = Object.defineProperty;
|
|
10
11
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
@@ -618,8 +619,9 @@ function getTransitionsForTrait(traitName) {
|
|
|
618
619
|
return getState().transitions.filter((t) => t.traitName === traitName);
|
|
619
620
|
}
|
|
620
621
|
function recordServerResponse(orbitalName, event, response) {
|
|
622
|
+
const { effectResults, ...responseFields } = response;
|
|
621
623
|
const serverResponse = {
|
|
622
|
-
...
|
|
624
|
+
...responseFields,
|
|
623
625
|
orbitalName,
|
|
624
626
|
timestamp: Date.now()
|
|
625
627
|
};
|
|
@@ -629,7 +631,7 @@ function recordServerResponse(orbitalName, event, response) {
|
|
|
629
631
|
from: "server",
|
|
630
632
|
to: "server",
|
|
631
633
|
event,
|
|
632
|
-
effects: [],
|
|
634
|
+
effects: effectResults ?? [],
|
|
633
635
|
serverResponse,
|
|
634
636
|
timestamp: Date.now()
|
|
635
637
|
};
|
|
@@ -926,26 +928,6 @@ function sortRows(rows, field, direction = "asc") {
|
|
|
926
928
|
const dir = direction === "desc" ? -1 : 1;
|
|
927
929
|
return [...rows].sort((a, b) => dir * compareCellValues(a?.[field], b?.[field]));
|
|
928
930
|
}
|
|
929
|
-
function getNestedValue(obj, path) {
|
|
930
|
-
if (obj === null || obj === void 0 || !path) {
|
|
931
|
-
return void 0;
|
|
932
|
-
}
|
|
933
|
-
if (!path.includes(".")) {
|
|
934
|
-
return obj[path];
|
|
935
|
-
}
|
|
936
|
-
const parts = path.split(".");
|
|
937
|
-
let value = obj;
|
|
938
|
-
for (const part of parts) {
|
|
939
|
-
if (value === null || value === void 0) {
|
|
940
|
-
return void 0;
|
|
941
|
-
}
|
|
942
|
-
if (typeof value !== "object" || Array.isArray(value)) {
|
|
943
|
-
return void 0;
|
|
944
|
-
}
|
|
945
|
-
value = value[part];
|
|
946
|
-
}
|
|
947
|
-
return value;
|
|
948
|
-
}
|
|
949
931
|
function resolveImageUrl(value) {
|
|
950
932
|
if (typeof value === "string") {
|
|
951
933
|
return value;
|
|
@@ -2494,4 +2476,4 @@ function applyOperator(input) {
|
|
|
2494
2476
|
}
|
|
2495
2477
|
}
|
|
2496
2478
|
|
|
2497
|
-
export { ApiError, DEFAULT_CONFIG, EDITOR_MOTIONS, EDITOR_OPERATORS, INDENT_UNIT, JAZARI_COLORS, apiClient, applyMotion, applyOperator, arrowheadPath, bindCanvasCapture, bindEventBus, bindLastDrawables, bindTraitStateGetter, brainIconPath, clearDebugEvents, clearEntityProvider, clearGuardHistory, clearTicks, clearTraits, clearVerification, cn, compareCellValues, computeJazariLayout, createCommandSendPump, createTickSendRelay, debug, debugCollision, debugError, debugGameState, debugGroup, debugGroupEnd, debugInput, debugPhysics, debugTable, debugTime, debugTimeEnd, debugWarn, eightPointedStarPath, extractOutputsFromTransitions, extractStateMachine, formatDate, formatDateTime, formatGuard, formatNestedFieldLabel, formatTime, formatValue, gearTeethPath, getAllChecks, getAllTicks, getAllTraits, getBridgeHealth, getDebugEvents, getEffectSummary, getEntitiesByType, getEntityById, getEntitySnapshot, getEventsBySource, getEventsByType, getGuardEvaluationsForTrait, getGuardHistory,
|
|
2479
|
+
export { ApiError, DEFAULT_CONFIG, EDITOR_MOTIONS, EDITOR_OPERATORS, INDENT_UNIT, JAZARI_COLORS, apiClient, applyMotion, applyOperator, arrowheadPath, bindCanvasCapture, bindEventBus, bindLastDrawables, bindTraitStateGetter, brainIconPath, clearDebugEvents, clearEntityProvider, clearGuardHistory, clearTicks, clearTraits, clearVerification, cn, compareCellValues, computeJazariLayout, createCommandSendPump, createTickSendRelay, debug, debugCollision, debugError, debugGameState, debugGroup, debugGroupEnd, debugInput, debugPhysics, debugTable, debugTime, debugTimeEnd, debugWarn, eightPointedStarPath, extractOutputsFromTransitions, extractStateMachine, formatDate, formatDateTime, formatGuard, formatNestedFieldLabel, formatTime, formatValue, gearTeethPath, getAllChecks, getAllTicks, getAllTraits, getBridgeHealth, getDebugEvents, getEffectSummary, getEntitiesByType, getEntityById, getEntitySnapshot, getEventsBySource, getEventsByType, getGuardEvaluationsForTrait, getGuardHistory, getRecentEvents, getRecentGuardEvaluations, getSnapshot, getSummary, getTick, getTrait, getTraitSnapshots, getTransitions, getTransitionsForTrait, humanizeEnumValue, humanizeFieldName, initDebugShortcut, isDebugEnabled, isEditorMotion, isEditorOperator, lockIconPath, logDebugEvent, logEffectExecuted, logError, logEventFired, logInfo, logStateChange, logWarning, motionRange, onDebugToggle, parseContentSegments, parseLessonSegments, parseMarkdownWithCodeBlocks, pipeIconPath, profilerOnRender, recordGuardEvaluation, recordServerResponse, recordTransition, registerCheck, registerTick, registerTrait, registerTraitSnapshot, renderStateMachineToDomData, renderStateMachineToSvg, resolveImageUrl, setDebugEnabled, setEntityProvider, setTickActive, sortRows, subscribeToDebugEvents, subscribeToGuardChanges, subscribeToTickChanges, subscribeToTraitChanges, subscribeToVerification, toggleDebug, unregisterTick, unregisterTrait, updateAssetStatus, updateBridgeHealth, updateCheck, updateGuardResult, updateTickExecution, updateTraitState, usePerfBuffer, waitForTransition };
|