@almadar/shell-web 1.0.0 → 1.2.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/LICENSE +72 -0
- package/dist/AvlGlyph-KZMJDBEB.js +5 -0
- package/dist/AvlStateMachine-KVZMFHFU.js +8 -0
- package/dist/AvlTransitionDetail-7DVGV27I.js +10 -0
- package/dist/AvlTransitionExplainer-RMJ5LQLK.js +11 -0
- package/dist/BehaviorView-EYRPME67.js +10 -0
- package/dist/{FileTree-BCFnBEuQ.d.ts → FileTree-B3GDAjaQ.d.ts} +131 -4
- package/dist/FlowCanvas-J54627TC.js +23 -0
- package/dist/{FlowCanvas-3JRMNJLV.css → FlowCanvas-R4LL3KRI.css} +190 -192
- package/dist/{GameAudioProvider-ceM_n0ey.d.ts → GameAudioProvider-BgWOOYT3.d.ts} +15 -20
- package/dist/{KernelEngineContext-CcxGYtlr.d.ts → KernelEngineContext-BPx-q0iw.d.ts} +15 -2
- package/dist/{LayersPanel-M2LHWUFF.js → LayersPanel-PSXI4EHG.js} +4 -4
- package/dist/ModuleCard-TNRLL45H.js +6 -0
- package/dist/{OrbInspector-MHLJ6OEE.css → OrbInspector-2EGVZLOJ.css} +190 -192
- package/dist/OrbInspector-UBEQWWZ2.js +23 -0
- package/dist/{parseLessonSegments-GpCeMrb2.d.ts → SegmentRenderer-BAQ6Jwf6.d.ts} +4 -20
- package/dist/{Select-B-iDdnvE.d.ts → Select-BJ8Fgc8A.d.ts} +1 -1
- package/dist/{UISlotContext-Dl_ewwCI.d.ts → UISlotContext-7r0SQdTL.d.ts} +1 -1
- package/dist/UISlotRenderer-5OURMAP2.js +23 -0
- package/dist/{UISlotRenderer-KVFO6J7R.css → UISlotRenderer-SJBSQGBQ.css} +190 -192
- package/dist/auth/react/index.js +7 -6
- package/dist/avl/index.css +190 -192
- package/dist/avl/index.d.ts +19 -7
- package/dist/avl/index.js +170 -39
- package/dist/{chunk-AE7VCQB6.js → chunk-2LNXLMK3.js} +2 -2
- package/dist/{chunk-REXYVBUO.js → chunk-3DA36FOA.js} +1 -1
- package/dist/{chunk-UXLE3IPR.js → chunk-3UQNFRYV.js} +207 -9
- package/dist/{chunk-AGXD77SL.js → chunk-3YUMGEEW.js} +1 -1
- package/dist/{chunk-K4MOPSEL.js → chunk-6RXP5ZXE.js} +7 -8
- package/dist/{chunk-E6KA4J6N.js → chunk-7UCL26QB.js} +4 -5
- package/dist/{chunk-57DC34LY.js → chunk-AL2XXMYR.js} +2 -2
- package/dist/{chunk-YHMRX6YA.js → chunk-ANTJUQRD.js} +53 -13
- package/dist/{chunk-P4ZFUQFF.js → chunk-AZ74UPG6.js} +4 -1
- package/dist/{chunk-ROICKAU7.js → chunk-B23EZH2P.js} +3 -3
- package/dist/{chunk-CPLN6NBQ.js → chunk-CCO2ZH7F.js} +3 -4
- package/dist/{chunk-4YXBKHHM.js → chunk-D5FJU4XC.js} +87 -16
- package/dist/{chunk-HH5KSMH5.js → chunk-DPDKBY6Z.js} +1 -1
- package/dist/{chunk-A2LR6VQQ.js → chunk-ECC3WQIB.js} +9 -93
- package/dist/{chunk-VO2TTLS5.js → chunk-GHAF7QUD.js} +1 -1
- package/dist/{chunk-TXAUOLWZ.js → chunk-HA2BYO5E.js} +1 -1
- package/dist/{chunk-ILQXJ2AR.js → chunk-JEN4EIUF.js} +1 -1
- package/dist/{chunk-UTDC2NEA.js → chunk-KTYOYEVA.js} +1 -1
- package/dist/{chunk-X3DMMX27.js → chunk-LINJRTNB.js} +2 -2
- package/dist/{chunk-TUPZWTRE.js → chunk-LKL5RULQ.js} +467 -141
- package/dist/{chunk-UU57VNS2.js → chunk-PWXZN5G5.js} +2 -2
- package/dist/{chunk-SP5CDJ6K.js → chunk-RDPELAFQ.js} +4 -4
- package/dist/{chunk-PRXQGGCO.js → chunk-S3LS3B7N.js} +1 -1
- package/dist/{chunk-LHP2TK7O.js → chunk-TAEOMNDK.js} +3611 -4737
- package/dist/{chunk-3S54FWRC.js → chunk-UFQLHCFJ.js} +1 -1
- package/dist/{chunk-AB3X7QTE.js → chunk-V5SVGUYN.js} +2 -3
- package/dist/{chunk-3VZ36ZKO.js → chunk-ZDRDJKYB.js} +5 -2
- package/dist/components/index.css +190 -192
- package/dist/components/index.d.ts +568 -190
- package/dist/components/index.js +27 -30
- package/dist/context/index.d.ts +2 -2
- package/dist/context/index.js +5 -5
- package/dist/core.d.ts +21 -4
- package/dist/core.js +1 -1
- package/dist/{fx-CmQjnHmT.d.ts → fx-Bx5RqplG.d.ts} +10 -7
- package/dist/hooks/index.d.ts +8 -8
- package/dist/hooks/index.js +6 -6
- package/dist/index.d.ts +4 -0
- package/dist/index.js +2 -2
- package/dist/{katexPlugin-FA7NX4PE.css → katexPlugin-BUHVNRBJ.css} +1 -1
- package/dist/{kernel-client-TZKGHJRY.js → kernel-client-NMZ56JVU.js} +60 -6
- package/dist/{kernel-wire-wNdAPfhJ.d.ts → kernel-wire-CRsHtLsf.d.ts} +8 -1
- package/dist/lib/index.d.ts +3 -4
- package/dist/lib/index.js +435 -4
- package/dist/providers/index.css +190 -192
- package/dist/providers/index.d.ts +6 -8
- package/dist/providers/index.js +21 -25
- package/dist/renderer/index.d.ts +3 -79
- package/dist/renderer/index.js +2 -2
- package/dist/runtime/index.css +190 -192
- package/dist/runtime/index.d.ts +9 -2
- package/dist/runtime/index.js +20 -23
- package/dist/ssr/index.cjs +105 -28
- package/dist/ssr/index.js +106 -29
- package/dist/test-support.js +2 -2
- package/dist/{useUISlots-CiobNFGb.d.ts → useUISlots-BLcGd__D.d.ts} +2 -0
- package/dist/{paintDispatch-CuJLsr9Y.d.ts → verificationRegistry-BLuQU1JV.d.ts} +127 -15
- package/package.json +10 -38
- package/src/core/locales/ar.json +10 -1
- package/src/core/locales/en.json +10 -1
- package/src/core/locales/sl.json +10 -1
- package/tailwind-preset.cjs +8 -4
- package/dist/AvlGlyph-EPJKFEO3.js +0 -6
- package/dist/AvlStateMachine-RKZIKNGC.js +0 -9
- package/dist/AvlTransitionDetail-63SD6GZF.js +0 -11
- package/dist/AvlTransitionExplainer-ZBTLOM3T.js +0 -12
- package/dist/BehaviorView-YS5G4GNB.js +0 -11
- package/dist/Canvas3DHost-BkZQB5l2.d.ts +0 -552
- package/dist/FlowCanvas-AUMTWMNG.js +0 -26
- package/dist/ModuleCard-QHDGK5XK.js +0 -7
- package/dist/OrbInspector-QCPEPUPH.js +0 -26
- package/dist/UISlotRenderer-C7WWOK43.js +0 -26
- package/dist/avl-3d-context-BycmO6tG.d.ts +0 -201
- package/dist/avl-schema-parser-CtJxJ9KU.d.ts +0 -132
- package/dist/avl-zoom-state-CKMVuBFg.d.ts +0 -17
- package/dist/chunk-4T3P43NS.js +0 -1133
- package/dist/chunk-DZBQA2OW.js +0 -176
- package/dist/chunk-EOWMARUB.js +0 -16
- package/dist/chunk-GFXCPUMX.js +0 -1334
- package/dist/chunk-ILZ7ORX7.js +0 -432
- package/dist/three/index.css +0 -503
- package/dist/three/index.d.ts +0 -1185
- package/dist/three/index.js +0 -3908
- package/dist/verificationRegistry-CVrcxG1s.d.ts +0 -122
- /package/dist/{katexPlugin-NCDKOOQY.js → katexPlugin-WGJ4JFZU.js} +0 -0
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import React__default from 'react';
|
|
2
|
-
import { ScenePos, Asset } from '@almadar/core';
|
|
3
|
-
import { P as Point, R as Rect, F as FxItem, a as FxPreset } from './fx-
|
|
2
|
+
import { ScenePos, Asset, OrbitalVerificationAPI, TraitStateSnapshot, EventPayload, BusEvent, VerificationCheck, BridgeHealth, VerificationSnapshot, VerificationSummary, TransitionTrace, EventRequest, EventResponse, ServerResponseTrace, EffectTrace, CheckStatus, ServerEffectResult, AssetLoadStatus } from '@almadar/core';
|
|
3
|
+
import { P as Point, R as Rect, F as FxItem, a as FxPreset } from './fx-Bx5RqplG.js';
|
|
4
4
|
import './EventBusProvider-BFFHfN4O.js';
|
|
5
|
+
import { EventTransport } from '@almadar/shell-runtime/client/EventTransport';
|
|
6
|
+
import './verification-C5pTeMJv.js';
|
|
5
7
|
|
|
6
8
|
/** A polyline/polygon vertex in pixel space. */
|
|
7
9
|
interface PainterPoint {
|
|
@@ -77,8 +79,7 @@ interface DrawableBase {
|
|
|
77
79
|
* `draw-shape` — the neutral vector-fill/stroke drawable atom (dimension-agnostic).
|
|
78
80
|
*
|
|
79
81
|
* ONE descriptor (`DrawShapeProps`, grounded in core `ScenePos`) with TWO
|
|
80
|
-
* backends: `paintShape` (2D, here) and
|
|
81
|
-
* `lib/drawable/mesh3d`, kept OUT of this file so the 2D path never pulls R3F).
|
|
82
|
+
* backends: `paintShape` (2D, here) and a ground-plane mesh in orbital-canvas's 3D scene.
|
|
82
83
|
* Paints a cell footprint, an axis-aligned rect, an ellipse, a poly, or an SVG
|
|
83
84
|
* path at a scene position, fill and/or stroke. Genre uses (tile fallback, iso/hex
|
|
84
85
|
* diamond fallback, cell highlight, feature disc, unit selection ring, unit
|
|
@@ -229,9 +230,7 @@ declare function DrawShape(props: DrawShapeProps): React__default.JSX.Element |
|
|
|
229
230
|
*
|
|
230
231
|
* ONE descriptor (`DrawSpriteProps`, grounded in core `ScenePos` + `Asset`) with
|
|
231
232
|
* TWO backends: `paintSprite` (2D, here — via the portable `Painter2D` seam) and
|
|
232
|
-
*
|
|
233
|
-
* 2D paint path never pulls `three`/`drei` into an app bundle — the codebase
|
|
234
|
-
* code-splits R3F). The canvas host picks the backend by `mode`; that is what
|
|
233
|
+
* orbital-canvas's 3D scene (the `canvas` mode:"3d" mapper). The canvas host picks the backend by `mode`; that is what
|
|
235
234
|
* makes canvas-2d and canvas-3d the same `children` interface. Genre uses (tile,
|
|
236
235
|
* unit body, feature, effect, movement ghost, background cover) are all this atom
|
|
237
236
|
* with different `anchor`/`size`/`frame`/`flip`/`shadow` — composed in `.lolo`,
|
|
@@ -276,8 +275,7 @@ declare function DrawSprite(_props: DrawSpriteProps): React__default.JSX.Element
|
|
|
276
275
|
* `draw-text` — the neutral text drawable atom (dimension-agnostic).
|
|
277
276
|
*
|
|
278
277
|
* ONE descriptor (`DrawTextProps`, grounded in core `ScenePos`) with TWO backends:
|
|
279
|
-
* `paintText` (2D, here) and
|
|
280
|
-
* `lib/drawable/mesh3d`, kept OUT of this file so the 2D path never pulls R3F).
|
|
278
|
+
* `paintText` (2D, here) and billboarded text in orbital-canvas's 3D scene.
|
|
281
279
|
* Paints a string at a scene position with font/color/alignment. The React
|
|
282
280
|
* component renders `null` (a drawable is painted by the host, not the DOM).
|
|
283
281
|
*/
|
|
@@ -312,9 +310,8 @@ declare function DrawText(_props: DrawTextProps): React__default.JSX.Element | n
|
|
|
312
310
|
/**
|
|
313
311
|
* `draw-mesh` — the volumetric 3D drawable atom (3D-canvas backend).
|
|
314
312
|
*
|
|
315
|
-
* ONE descriptor (`DrawMeshProps`, grounded in core `ScenePos`)
|
|
316
|
-
*
|
|
317
|
-
* the 2D path never pulls three). A parametric primitive (box, sphere, capsule,
|
|
313
|
+
* ONE descriptor (`DrawMeshProps`, grounded in core `ScenePos`) drawn by
|
|
314
|
+
* orbital-canvas's 3D scene. A parametric primitive (box, sphere, capsule,
|
|
318
315
|
* cylinder, cone, torus, plane, circle — `plane`/`circle` lie flat in the
|
|
319
316
|
* scene ground plane facing up, matching the 2D painter) or a raw-geometry `polyhedron`
|
|
320
317
|
* (`vertices` + `faces` as plain data) at a scene position — `position.z` is
|
|
@@ -656,7 +653,7 @@ interface DrawFxLayerProps extends DrawableBase {
|
|
|
656
653
|
type: 'draw-fx-layer';
|
|
657
654
|
/** The live fx entries — the mechanic's `@entity.fx` list passed whole; `space: "screen"` entries are skipped (the overlay owns those). */
|
|
658
655
|
items: FxItem[];
|
|
659
|
-
/** Consumer-declared effect vocabulary — one row per fx `type` (look
|
|
656
|
+
/** Consumer-declared effect vocabulary — one row per fx `type` (look, recipe and motion). An item whose `type` has no row draws only from its own fields, and a missing required field is a typed error. */
|
|
660
657
|
presets?: FxPreset[];
|
|
661
658
|
/** Vector art per fx type (an asset-art map: type → anim-state → drawables); a type's `idle` state wins over sprites/procedural. */
|
|
662
659
|
art?: Record<string, Record<string, DrawableNode[]>>;
|
|
@@ -684,5 +681,120 @@ declare function DrawFxLayer(_props: DrawFxLayerProps): React__default.JSX.Eleme
|
|
|
684
681
|
/** Every drawable descriptor. The host's `children` are a `DrawableNode[]`. */
|
|
685
682
|
type DrawableNode = DrawSpriteProps | DrawShapeProps | DrawTextProps | DrawGroupProps | DrawMeshProps | DrawSkinnedMeshProps | DrawSpriteLayerProps | DrawShapeLayerProps | DrawTextLayerProps | DrawFxLayerProps;
|
|
686
683
|
|
|
687
|
-
|
|
688
|
-
|
|
684
|
+
/**
|
|
685
|
+
* Verification Registry - Tracks runtime verification checks and transition traces
|
|
686
|
+
*
|
|
687
|
+
* Provides:
|
|
688
|
+
* 1. A checklist of pass/fail checks (INIT has fetch, bridge connected, etc.)
|
|
689
|
+
* 2. A full transition timeline with effect execution results
|
|
690
|
+
* 3. ServerBridge health snapshot
|
|
691
|
+
* 4. window.__orbitalVerification for Playwright/automation
|
|
692
|
+
*
|
|
693
|
+
* @packageDocumentation
|
|
694
|
+
*/
|
|
695
|
+
|
|
696
|
+
type ChangeListener = () => void;
|
|
697
|
+
/**
|
|
698
|
+
* Per-trait snapshot getter. Each generated trait logic hook (or
|
|
699
|
+
* `useTraitStateMachine` trait binding) registers one on mount so the
|
|
700
|
+
* verifier can read the live reducer state for that trait.
|
|
701
|
+
*/
|
|
702
|
+
type TraitSnapshotGetter = () => TraitStateSnapshot;
|
|
703
|
+
declare function registerCheck(id: string, label: string, status?: CheckStatus, details?: string): void;
|
|
704
|
+
declare function updateCheck(id: string, status: CheckStatus, details?: string): void;
|
|
705
|
+
declare function getAllChecks(): VerificationCheck[];
|
|
706
|
+
declare function recordTransition(trace: Omit<TransitionTrace, "id">): void;
|
|
707
|
+
declare function getTransitions(): TransitionTrace[];
|
|
708
|
+
declare function getTransitionsForTrait(traitName: string): TransitionTrace[];
|
|
709
|
+
/**
|
|
710
|
+
* Record a server response as a timeline entry.
|
|
711
|
+
* Creates a synthetic transition entry with type "server-response" to show
|
|
712
|
+
* what the server returned (clientEffects, data counts, emitted events).
|
|
713
|
+
*
|
|
714
|
+
* `effectResults` — the server's persist/set/call-service outcomes, already
|
|
715
|
+
* mapped to `EffectTrace` by the caller — populate `entry.effects` so a
|
|
716
|
+
* denied or failed persist is visible on this synthetic entry too. Before
|
|
717
|
+
* this it was always `[]`: the ONLY entry the driver's per-event
|
|
718
|
+
* `server:<orbital>` lookup (`default-snapshot.ts`'s `lastEffectResultsFor`)
|
|
719
|
+
* can find carried nothing.
|
|
720
|
+
*/
|
|
721
|
+
declare function recordServerResponse(orbitalName: string, event: string, response: Omit<ServerResponseTrace, "orbitalName" | "timestamp"> & {
|
|
722
|
+
effectResults?: EffectTrace[];
|
|
723
|
+
}): void;
|
|
724
|
+
/** A server response's `effectResults` as timeline traces, carrying each persist's real outcome (entity, action, resulting id, denied). */
|
|
725
|
+
declare function serverEffectTraces(results: readonly ServerEffectResult[] | undefined): EffectTrace[];
|
|
726
|
+
/** Record one answered server leg on the timeline as a `server:<orbital>` trace. */
|
|
727
|
+
declare function recordOrbitalResponse(orbitalName: string, request: EventRequest, response: EventResponse): void;
|
|
728
|
+
/** `transport` with every answered post recorded on the verification timeline; the one place the circuit client's server responses are captured. */
|
|
729
|
+
declare function recordingTransport(transport: EventTransport): EventTransport;
|
|
730
|
+
declare function updateBridgeHealth(health: BridgeHealth): void;
|
|
731
|
+
declare function getBridgeHealth(): BridgeHealth | null;
|
|
732
|
+
declare function getSummary(): VerificationSummary;
|
|
733
|
+
declare function getSnapshot(): VerificationSnapshot;
|
|
734
|
+
/**
|
|
735
|
+
* Per-trait snapshot for the verifier.
|
|
736
|
+
*
|
|
737
|
+
* Iterates every registered trait getter and collects the live reducer
|
|
738
|
+
* state. Empty until at least one trait hook calls `registerTraitSnapshot`.
|
|
739
|
+
* A getter that throws is logged and skipped — one broken trait must not
|
|
740
|
+
* poison the rest of the snapshot.
|
|
741
|
+
*/
|
|
742
|
+
declare function getTraitSnapshots(): TraitStateSnapshot[];
|
|
743
|
+
declare function subscribeToVerification(listener: ChangeListener): () => void;
|
|
744
|
+
declare global {
|
|
745
|
+
interface Window {
|
|
746
|
+
__orbitalVerification?: OrbitalVerificationAPI;
|
|
747
|
+
}
|
|
748
|
+
}
|
|
749
|
+
/** Whether a verifier is driving this page: the `__ALMADAR_VERIFY__` window flag it sets before the bundle runs. */
|
|
750
|
+
declare function verifierAttached(): boolean;
|
|
751
|
+
/**
|
|
752
|
+
* Wait for a transition matching the given event to appear.
|
|
753
|
+
* Returns the trace or null on timeout.
|
|
754
|
+
*/
|
|
755
|
+
declare function waitForTransition(event: string, timeoutMs?: number): Promise<TransitionTrace | null>;
|
|
756
|
+
/**
|
|
757
|
+
* Bind the EventBus so automation can send events and log emissions.
|
|
758
|
+
* Call this during app initialization.
|
|
759
|
+
*/
|
|
760
|
+
declare function bindEventBus(eventBus: {
|
|
761
|
+
emit: (type: string, payload?: EventPayload) => void;
|
|
762
|
+
onAny?: (listener: (event: BusEvent) => void) => () => void;
|
|
763
|
+
}): void;
|
|
764
|
+
declare function bindConfigApplier(applyConfig: NonNullable<OrbitalVerificationAPI['applyConfig']>): () => void;
|
|
765
|
+
/**
|
|
766
|
+
* Bind a trait state getter so automation can query current states.
|
|
767
|
+
*/
|
|
768
|
+
declare function bindTraitStateGetter(getter: (traitName: string) => string | undefined): void;
|
|
769
|
+
/**
|
|
770
|
+
* Register a per-trait snapshot provider. The generated trait logic hook
|
|
771
|
+
* (or `useTraitStateMachine`) calls this once on mount, passing a getter
|
|
772
|
+
* that reads the current reducer state via a ref. Returns an unregister
|
|
773
|
+
* function for cleanup on unmount.
|
|
774
|
+
*
|
|
775
|
+
* Calling this twice for the same `traitName` replaces the previous
|
|
776
|
+
* getter (e.g. page navigation remounts the trait; the new registration
|
|
777
|
+
* wins).
|
|
778
|
+
*/
|
|
779
|
+
declare function registerTraitSnapshot(traitName: string, getter: TraitSnapshotGetter): () => void;
|
|
780
|
+
/**
|
|
781
|
+
* Register a canvas frame capture function.
|
|
782
|
+
* Called by game organisms (IsometricCanvas, PlatformerCanvas)
|
|
783
|
+
* so the verifier can snapshot canvas content at checkpoints.
|
|
784
|
+
*/
|
|
785
|
+
declare function bindCanvasCapture(captureFn: () => string | null): void;
|
|
786
|
+
/**
|
|
787
|
+
* Bind a reader for the last drawables list received by a canvas host.
|
|
788
|
+
* Lets verification scripts inspect exactly which neutral descriptors reached
|
|
789
|
+
* the painter without re-deriving them from state.
|
|
790
|
+
*/
|
|
791
|
+
declare function bindLastDrawables(getDrawables: () => DrawableNode[] | null): void;
|
|
792
|
+
/**
|
|
793
|
+
* Update asset load status for canvas verification.
|
|
794
|
+
* Game organisms call this when images load or fail.
|
|
795
|
+
*/
|
|
796
|
+
declare function updateAssetStatus(url: string, status: AssetLoadStatus): void;
|
|
797
|
+
declare function clearVerification(): void;
|
|
798
|
+
|
|
799
|
+
export { DrawFxLayer as A, DrawGroup as B, DrawMesh as C, DrawShape as E, DrawShapeLayer as F, DrawSkinnedMesh as G, DrawSprite as H, DrawSpriteLayer as I, DrawText as J, DrawTextLayer as K, bindConfigApplier as a, bindCanvasCapture as b, bindEventBus as c, bindLastDrawables as d, bindTraitStateGetter as e, clearVerification as f, getAllChecks as g, getBridgeHealth as h, getSnapshot as i, getSummary as j, getTraitSnapshots as k, getTransitions as l, getTransitionsForTrait as m, recordServerResponse as n, recordTransition as o, recordingTransport as p, registerCheck as q, recordOrbitalResponse as r, registerTraitSnapshot as s, serverEffectTraces as t, subscribeToVerification as u, updateAssetStatus as v, updateBridgeHealth as w, updateCheck as x, verifierAttached as y, waitForTransition as z };
|
|
800
|
+
export type { DrawableNode as D, MeshShapeKind as M, Projector as P, TraitSnapshotGetter as T };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@almadar/shell-web",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"orbRelease": {
|
|
5
5
|
"severity": "normal"
|
|
6
6
|
},
|
|
@@ -64,11 +64,6 @@
|
|
|
64
64
|
"import": "./dist/lib/index.js",
|
|
65
65
|
"default": "./dist/lib/index.js"
|
|
66
66
|
},
|
|
67
|
-
"./three": {
|
|
68
|
-
"types": "./dist/three/index.d.ts",
|
|
69
|
-
"import": "./dist/three/index.js",
|
|
70
|
-
"default": "./dist/three/index.js"
|
|
71
|
-
},
|
|
72
67
|
"./avl": {
|
|
73
68
|
"types": "./dist/avl/index.d.ts",
|
|
74
69
|
"import": "./dist/avl/index.js",
|
|
@@ -134,11 +129,11 @@
|
|
|
134
129
|
"access": "public"
|
|
135
130
|
},
|
|
136
131
|
"dependencies": {
|
|
137
|
-
"@almadar/core": "^11.
|
|
138
|
-
"@almadar/kernel": "^19.0
|
|
139
|
-
"@almadar/logger": "^2.
|
|
140
|
-
"@almadar/std": "^17.
|
|
141
|
-
"@almadar/syntax": "^2.
|
|
132
|
+
"@almadar/core": "^11.4.0",
|
|
133
|
+
"@almadar/kernel": "^19.2.0",
|
|
134
|
+
"@almadar/logger": "^2.4.0",
|
|
135
|
+
"@almadar/std": "^17.2.0",
|
|
136
|
+
"@almadar/syntax": "^2.2.0",
|
|
142
137
|
"@dnd-kit/core": "^6.3.1",
|
|
143
138
|
"@dnd-kit/sortable": "^10.0.0",
|
|
144
139
|
"@dnd-kit/utilities": "^3.2.2",
|
|
@@ -166,14 +161,11 @@
|
|
|
166
161
|
"remark-math": "^6.0.0",
|
|
167
162
|
"tailwind-merge": "^2.2.0",
|
|
168
163
|
"zod": "^4.6.7",
|
|
169
|
-
"@almadar/shell-browser": "^1.
|
|
170
|
-
"@almadar/shell-runtime": "^1.
|
|
164
|
+
"@almadar/shell-browser": "^1.2.0",
|
|
165
|
+
"@almadar/shell-runtime": "^1.2.0"
|
|
171
166
|
},
|
|
172
167
|
"devDependencies": {
|
|
173
|
-
"@almadar/eslint-plugin": "^3.
|
|
174
|
-
"@react-three/drei": "^10.7.7",
|
|
175
|
-
"@react-three/fiber": "^9.6.0",
|
|
176
|
-
"@react-three/postprocessing": "3.0.4",
|
|
168
|
+
"@almadar/eslint-plugin": "^3.1.0",
|
|
177
169
|
"@tanstack/react-query": "^5.0.0",
|
|
178
170
|
"@testing-library/jest-dom": "^6.4.0",
|
|
179
171
|
"@testing-library/react": "^14.2.0",
|
|
@@ -184,7 +176,6 @@
|
|
|
184
176
|
"@types/react": "^19.0.0",
|
|
185
177
|
"@types/react-dom": "^19.0.0",
|
|
186
178
|
"@types/react-syntax-highlighter": "^15.5.0",
|
|
187
|
-
"@types/three": "^0.160.0",
|
|
188
179
|
"@typescript-eslint/parser": "8.65.0",
|
|
189
180
|
"@typescript/native": "npm:typescript@^7.0.2",
|
|
190
181
|
"@vitejs/plugin-react": "^4.2.0",
|
|
@@ -198,14 +189,11 @@
|
|
|
198
189
|
"jsdom": "^24.0.0",
|
|
199
190
|
"katex": "^0.16.0",
|
|
200
191
|
"postcss": "^8.4.35",
|
|
201
|
-
"postprocessing": "6.39.0",
|
|
202
192
|
"react": "^19.0.0",
|
|
203
193
|
"react-compiler-runtime": "19.0.0-beta-af1b7da-20250417",
|
|
204
194
|
"react-dom": "^19.0.0",
|
|
205
195
|
"react-router-dom": "^7.18.2",
|
|
206
196
|
"tailwindcss": "^3.4.0",
|
|
207
|
-
"three": "^0.160.1",
|
|
208
|
-
"three-stdlib": "^2.35.6",
|
|
209
197
|
"tsup": "^9.0.0",
|
|
210
198
|
"tsx": "^4.7.0",
|
|
211
199
|
"turbo": "^2.8.17",
|
|
@@ -223,30 +211,14 @@
|
|
|
223
211
|
"node": ">=22.19.0"
|
|
224
212
|
},
|
|
225
213
|
"peerDependencies": {
|
|
226
|
-
"@react-three/drei": "^10.7.7",
|
|
227
|
-
"@react-three/fiber": "^9.0.0",
|
|
228
|
-
"@react-three/postprocessing": "^3.0.0",
|
|
229
214
|
"@tanstack/react-query": "^5.0.0",
|
|
230
215
|
"postcss": "^8.4.35",
|
|
231
216
|
"react": ">=18.0.0",
|
|
232
217
|
"react-dom": ">=18.0.0",
|
|
233
218
|
"react-router-dom": "^7.0.0",
|
|
234
|
-
"tailwindcss": "^3.4.0"
|
|
235
|
-
"three": "^0.160.0"
|
|
219
|
+
"tailwindcss": "^3.4.0"
|
|
236
220
|
},
|
|
237
221
|
"peerDependenciesMeta": {
|
|
238
|
-
"@react-three/drei": {
|
|
239
|
-
"optional": true
|
|
240
|
-
},
|
|
241
|
-
"@react-three/fiber": {
|
|
242
|
-
"optional": true
|
|
243
|
-
},
|
|
244
|
-
"@react-three/postprocessing": {
|
|
245
|
-
"optional": true
|
|
246
|
-
},
|
|
247
|
-
"three": {
|
|
248
|
-
"optional": true
|
|
249
|
-
},
|
|
250
222
|
"postcss": {
|
|
251
223
|
"optional": true
|
|
252
224
|
},
|
package/src/core/locales/ar.json
CHANGED
|
@@ -58,6 +58,7 @@
|
|
|
58
58
|
"status.archived": "مؤرشف",
|
|
59
59
|
"error.generic": "حدث خطأ ما",
|
|
60
60
|
"error.traitMountFailed": "تعذّر بدء {{trait}}",
|
|
61
|
+
"error.serverRefused": "رفض الخادم هذه الصفحة",
|
|
61
62
|
"error.retry": "حاول مرة أخرى",
|
|
62
63
|
"error.notFound": "غير موجود",
|
|
63
64
|
"error.loadFailed": "فشل التحميل: {{message}}",
|
|
@@ -136,6 +137,7 @@
|
|
|
136
137
|
"aria.closeMenu": "إغلاق القائمة",
|
|
137
138
|
"aria.openSidebar": "فتح الشريط الجانبي",
|
|
138
139
|
"aria.openRow": "فتح العنصر {{position}}",
|
|
140
|
+
"aria.scrollableBoard": "لوحة قابلة للتمرير",
|
|
139
141
|
"sidebar.expand": "توسيع الشريط الجانبي",
|
|
140
142
|
"sidebar.collapse": "طي الشريط الجانبي",
|
|
141
143
|
"sidebar.close": "إغلاق الشريط الجانبي",
|
|
@@ -1231,6 +1233,7 @@
|
|
|
1231
1233
|
"agentActivity.change.trait-config-changed": "تم تغيير إعدادات {{orbitalName}}",
|
|
1232
1234
|
"agentActivity.change.theme-changed": "تم تغيير سمة {{orbitalName}}",
|
|
1233
1235
|
"agentActivity.llmResponse": "استجابة LLM خام",
|
|
1236
|
+
"agentActivity.unknown": "نشاط غير معروف: {{kind}}",
|
|
1234
1237
|
"agentActivity.llmDuration": "{{seconds}} ث",
|
|
1235
1238
|
"agentActivity.llmTokens": "{{prompt}} داخل / {{completion}} خارج",
|
|
1236
1239
|
"agentActivity.llmResponseLabel": "الاستجابة",
|
|
@@ -1272,5 +1275,11 @@
|
|
|
1272
1275
|
"debug.replayPause": "إيقاف مؤقت",
|
|
1273
1276
|
"debug.replayStep": "{{step}} / {{total}}",
|
|
1274
1277
|
"stateMachine.inspect": "فحص: اختر سمة من الصفحة",
|
|
1275
|
-
"stateMachine.inspectHint": "انقر جزءًا من الصفحة · Esc للإيقاف"
|
|
1278
|
+
"stateMachine.inspectHint": "انقر جزءًا من الصفحة · Esc للإيقاف",
|
|
1279
|
+
"themeToggle.switchToLight": "التبديل إلى الوضع الفاتح",
|
|
1280
|
+
"themeToggle.switchToDark": "التبديل إلى الوضع الداكن",
|
|
1281
|
+
"themeToggle.light": "فاتح",
|
|
1282
|
+
"themeToggle.dark": "داكن",
|
|
1283
|
+
"agentActivity.toolDone": "{{tool}} — تم",
|
|
1284
|
+
"agentActivity.toolFailed": "{{tool}} — تعذّر"
|
|
1276
1285
|
}
|
package/src/core/locales/en.json
CHANGED
|
@@ -59,6 +59,7 @@
|
|
|
59
59
|
"status.archived": "Archived",
|
|
60
60
|
"error.generic": "Something went wrong",
|
|
61
61
|
"error.traitMountFailed": "{{trait}} failed to start",
|
|
62
|
+
"error.serverRefused": "The server refused this page",
|
|
62
63
|
"error.retry": "Try again",
|
|
63
64
|
"error.notFound": "Not found",
|
|
64
65
|
"error.loadFailed": "Failed to load: {{message}}",
|
|
@@ -140,6 +141,7 @@
|
|
|
140
141
|
"aria.closeMenu": "Close menu",
|
|
141
142
|
"aria.openSidebar": "Open sidebar",
|
|
142
143
|
"aria.openRow": "Open item {{position}}",
|
|
144
|
+
"aria.scrollableBoard": "Scrollable board",
|
|
143
145
|
"sidebar.expand": "Expand sidebar",
|
|
144
146
|
"sidebar.collapse": "Collapse sidebar",
|
|
145
147
|
"sidebar.close": "Close sidebar",
|
|
@@ -1231,6 +1233,7 @@
|
|
|
1231
1233
|
"agentActivity.change.trait-config-changed": "Changed the settings of {{orbitalName}}",
|
|
1232
1234
|
"agentActivity.change.theme-changed": "Changed the theme of {{orbitalName}}",
|
|
1233
1235
|
"agentActivity.llmResponse": "Raw LLM response",
|
|
1236
|
+
"agentActivity.unknown": "Unknown activity: {{kind}}",
|
|
1234
1237
|
"agentActivity.llmDuration": "{{seconds}}s",
|
|
1235
1238
|
"agentActivity.llmTokens": "{{prompt}} in / {{completion}} out tokens",
|
|
1236
1239
|
"agentActivity.llmResponseLabel": "Response",
|
|
@@ -1272,5 +1275,11 @@
|
|
|
1272
1275
|
"debug.replayPause": "Pause",
|
|
1273
1276
|
"debug.replayStep": "{{step}} / {{total}}",
|
|
1274
1277
|
"stateMachine.inspect": "Inspect: pick a trait on the page",
|
|
1275
|
-
"stateMachine.inspectHint": "Click a part of the page · Esc to stop"
|
|
1278
|
+
"stateMachine.inspectHint": "Click a part of the page · Esc to stop",
|
|
1279
|
+
"themeToggle.switchToLight": "Switch to light mode",
|
|
1280
|
+
"themeToggle.switchToDark": "Switch to dark mode",
|
|
1281
|
+
"themeToggle.light": "Light",
|
|
1282
|
+
"themeToggle.dark": "Dark",
|
|
1283
|
+
"agentActivity.toolDone": "{{tool}} — done",
|
|
1284
|
+
"agentActivity.toolFailed": "{{tool}} — failed"
|
|
1276
1285
|
}
|
package/src/core/locales/sl.json
CHANGED
|
@@ -58,6 +58,7 @@
|
|
|
58
58
|
"status.archived": "Arhivirano",
|
|
59
59
|
"error.generic": "Nekaj je šlo narobe",
|
|
60
60
|
"error.traitMountFailed": "{{trait}} se ni zagnal",
|
|
61
|
+
"error.serverRefused": "Strežnik je zavrnil to stran",
|
|
61
62
|
"error.retry": "Poskusite znova",
|
|
62
63
|
"error.notFound": "Ni najdeno",
|
|
63
64
|
"error.loadFailed": "Nalaganje ni uspelo: {{message}}",
|
|
@@ -136,6 +137,7 @@
|
|
|
136
137
|
"aria.closeMenu": "Zapri meni",
|
|
137
138
|
"aria.openSidebar": "Odpri stransko vrstico",
|
|
138
139
|
"aria.openRow": "Odpri element {{position}}",
|
|
140
|
+
"aria.scrollableBoard": "Drsljiva tabla",
|
|
139
141
|
"sidebar.expand": "Razširi stransko vrstico",
|
|
140
142
|
"sidebar.collapse": "Strni stransko vrstico",
|
|
141
143
|
"sidebar.close": "Zapri stransko vrstico",
|
|
@@ -1231,6 +1233,7 @@
|
|
|
1231
1233
|
"agentActivity.change.trait-config-changed": "Spremenjene nastavitve {{orbitalName}}",
|
|
1232
1234
|
"agentActivity.change.theme-changed": "Spremenjena tema {{orbitalName}}",
|
|
1233
1235
|
"agentActivity.llmResponse": "Surov odgovor LLM",
|
|
1236
|
+
"agentActivity.unknown": "Neznana dejavnost: {{kind}}",
|
|
1234
1237
|
"agentActivity.llmDuration": "{{seconds}} s",
|
|
1235
1238
|
"agentActivity.llmTokens": "{{prompt}} vhodnih / {{completion}} izhodnih žetonov",
|
|
1236
1239
|
"agentActivity.llmResponseLabel": "Odgovor",
|
|
@@ -1272,5 +1275,11 @@
|
|
|
1272
1275
|
"debug.replayPause": "Premor",
|
|
1273
1276
|
"debug.replayStep": "{{step}} / {{total}}",
|
|
1274
1277
|
"stateMachine.inspect": "Pregled: izberi lastnost na strani",
|
|
1275
|
-
"stateMachine.inspectHint": "Klikni del strani · Esc za konec"
|
|
1278
|
+
"stateMachine.inspectHint": "Klikni del strani · Esc za konec",
|
|
1279
|
+
"themeToggle.switchToLight": "Preklopi na svetli način",
|
|
1280
|
+
"themeToggle.switchToDark": "Preklopi na temni način",
|
|
1281
|
+
"themeToggle.light": "Svetla",
|
|
1282
|
+
"themeToggle.dark": "Temna",
|
|
1283
|
+
"agentActivity.toolDone": "{{tool}} — končano",
|
|
1284
|
+
"agentActivity.toolFailed": "{{tool}} — ni uspelo"
|
|
1276
1285
|
}
|
package/tailwind-preset.cjs
CHANGED
|
@@ -492,6 +492,10 @@ module.exports = {
|
|
|
492
492
|
"after:content-['']",
|
|
493
493
|
'after:rounded-[inherit]',
|
|
494
494
|
'grow-[1.6]',
|
|
495
|
+
|
|
496
|
+
// Input leading/trailing icon padding follows the icon size token (G-ORBITAL-SHELL-TYPESCRIPT-070)
|
|
497
|
+
'pl-[calc(var(--icon-default-size,16px)+1.5rem)]',
|
|
498
|
+
'pr-[calc(var(--icon-default-size,16px)+1.5rem)]',
|
|
495
499
|
],
|
|
496
500
|
theme: {
|
|
497
501
|
fontFamily: {
|
|
@@ -630,7 +634,7 @@ module.exports = {
|
|
|
630
634
|
keyframes: {
|
|
631
635
|
'almadar-marquee': {
|
|
632
636
|
from: { transform: 'translateX(0)' },
|
|
633
|
-
to: { transform: 'translateX(var(--marquee-
|
|
637
|
+
to: { transform: 'translateX(calc(var(--marquee-sign, -1) * var(--marquee-distance, 50%)))' },
|
|
634
638
|
},
|
|
635
639
|
'modal-in': {
|
|
636
640
|
'0%': {
|
|
@@ -921,15 +925,15 @@ module.exports = {
|
|
|
921
925
|
'border-radius': 'var(--surface-content-radius, var(--radius-container, var(--radius-md)))',
|
|
922
926
|
'box-shadow': 'var(--surface-content-shadow, var(--elevation-card, var(--shadow-sm)))',
|
|
923
927
|
},
|
|
924
|
-
//
|
|
928
|
+
// Box `marquee`: a clipped strip fades at both edges; its track moves one copy's width per loop.
|
|
925
929
|
'.proof-marquee': {
|
|
926
930
|
overflow: 'hidden',
|
|
927
931
|
'mask-image': 'linear-gradient(to right, transparent, black 8%, black 92%, transparent)',
|
|
928
932
|
'-webkit-mask-image': 'linear-gradient(to right, transparent, black 8%, black 92%, transparent)',
|
|
929
933
|
},
|
|
930
934
|
'.proof-marquee-track': { display: 'flex', width: 'max-content' },
|
|
931
|
-
// An RTL strip starts at the right edge, so the
|
|
932
|
-
'[dir="rtl"] .proof-marquee-track': { '--marquee-
|
|
935
|
+
// An RTL strip starts at the right edge, so moving toward the start slides right.
|
|
936
|
+
'[dir="rtl"] .proof-marquee-track': { '--marquee-sign': '1' },
|
|
933
937
|
// Full-width band layers (Box edgeTop/edgeBottom/texture/backdrop, std-hero scrim).
|
|
934
938
|
'.band': { position: 'relative', overflow: 'hidden', isolation: 'isolate' },
|
|
935
939
|
// Zero specificity: a child's own position utility (std-hero's absolute backdrop) must win.
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export { AvlStateMachine, BODY_CHAR, MARGIN, MAX_SCALE, MIN_SCALE, MONO_CHAR, PILL_H, metricsFor, pillWidth } from './chunk-SP5CDJ6K.js';
|
|
2
|
-
import './chunk-TXAUOLWZ.js';
|
|
3
|
-
import './chunk-AB3X7QTE.js';
|
|
4
|
-
import './chunk-DZBQA2OW.js';
|
|
5
|
-
import './chunk-TZZBINQY.js';
|
|
6
|
-
import './chunk-PCR37T3U.js';
|
|
7
|
-
import './chunk-UXLE3IPR.js';
|
|
8
|
-
import './chunk-4YXBKHHM.js';
|
|
9
|
-
import './chunk-G7DCAZ22.js';
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export { AvlTransitionDetail } from './chunk-K4MOPSEL.js';
|
|
2
|
-
import './chunk-ILQXJ2AR.js';
|
|
3
|
-
import './chunk-REXYVBUO.js';
|
|
4
|
-
import './chunk-AGXD77SL.js';
|
|
5
|
-
import './chunk-TXAUOLWZ.js';
|
|
6
|
-
import './chunk-AB3X7QTE.js';
|
|
7
|
-
import './chunk-DZBQA2OW.js';
|
|
8
|
-
import './chunk-PCR37T3U.js';
|
|
9
|
-
import './chunk-UXLE3IPR.js';
|
|
10
|
-
import './chunk-4YXBKHHM.js';
|
|
11
|
-
import './chunk-G7DCAZ22.js';
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export { AvlTransitionExplainer } from './chunk-X3DMMX27.js';
|
|
2
|
-
import './chunk-K4MOPSEL.js';
|
|
3
|
-
import './chunk-ILQXJ2AR.js';
|
|
4
|
-
import './chunk-REXYVBUO.js';
|
|
5
|
-
import './chunk-AGXD77SL.js';
|
|
6
|
-
import './chunk-TXAUOLWZ.js';
|
|
7
|
-
import './chunk-AB3X7QTE.js';
|
|
8
|
-
import './chunk-DZBQA2OW.js';
|
|
9
|
-
import './chunk-PCR37T3U.js';
|
|
10
|
-
import './chunk-UXLE3IPR.js';
|
|
11
|
-
import './chunk-4YXBKHHM.js';
|
|
12
|
-
import './chunk-G7DCAZ22.js';
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export { BehaviorView } from './chunk-ROICKAU7.js';
|
|
2
|
-
import './chunk-SP5CDJ6K.js';
|
|
3
|
-
import './chunk-AGXD77SL.js';
|
|
4
|
-
import './chunk-TXAUOLWZ.js';
|
|
5
|
-
import './chunk-AB3X7QTE.js';
|
|
6
|
-
import './chunk-DZBQA2OW.js';
|
|
7
|
-
import './chunk-TZZBINQY.js';
|
|
8
|
-
import './chunk-PCR37T3U.js';
|
|
9
|
-
import './chunk-UXLE3IPR.js';
|
|
10
|
-
import './chunk-4YXBKHHM.js';
|
|
11
|
-
import './chunk-G7DCAZ22.js';
|