@almadar/core 10.50.0 → 10.52.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.
@@ -1256,10 +1256,24 @@ declare const AssetAspectSchema: z.ZodEnum<["1:1", "16:9", "5:7", "8:1"]>;
1256
1256
  declare const ANIMATION_NAMES: readonly ["idle", "walk", "attack", "hit", "death"];
1257
1257
  type AnimationName = (typeof ANIMATION_NAMES)[number];
1258
1258
  declare const AnimationNameSchema: z.ZodEnum<["idle", "walk", "attack", "hit", "death"]>;
1259
- /** Sheet file directions (physical PNG files a sprite sheet ships as). */
1260
- declare const SPRITE_DIRECTIONS: readonly ["se", "sw"];
1259
+ /**
1260
+ * Sheet file directions (physical PNG files a sprite sheet ships as).
1261
+ * Legacy hand-drawn packs ship only se/sw and mirror-flip for ne/nw (a cheat
1262
+ * that shows the face while walking away); 3D-baked sheets ship all four real
1263
+ * directions — the renderer prefers a real sheet and keeps the flip only as
1264
+ * the legacy fallback.
1265
+ */
1266
+ declare const SPRITE_DIRECTIONS: readonly ["se", "sw", "ne", "nw"];
1261
1267
  type SpriteDirection = (typeof SPRITE_DIRECTIONS)[number];
1262
- declare const SpriteDirectionSchema: z.ZodEnum<["se", "sw"]>;
1268
+ declare const SpriteDirectionSchema: z.ZodEnum<["se", "sw", "ne", "nw"]>;
1269
+ /**
1270
+ * Camera projections a baked sprite sheet can ship. `iso` is directional
1271
+ * (se/sw physical sheets, ne/nw by mirror); `front`/`top`/`perspective` are
1272
+ * single fixed-camera sheets (the mesh reference-sheet camera vocabulary).
1273
+ */
1274
+ declare const SHEET_PROJECTIONS: readonly ["iso", "front", "back", "top", "perspective"];
1275
+ type SheetProjection = (typeof SHEET_PROJECTIONS)[number];
1276
+ declare const SheetProjectionSchema: z.ZodEnum<["iso", "front", "back", "top", "perspective"]>;
1263
1277
  /**
1264
1278
  * Definition for a single named animation within a sprite sheet: which row
1265
1279
  * it occupies, how many frames it has, and its playback rate. This is the
@@ -1322,6 +1336,18 @@ interface SpriteSheetAtlas {
1322
1336
  sheets: Partial<Record<SpriteDirection, string>>;
1323
1337
  /** Animation row layout keyed by animation name. */
1324
1338
  animations: Partial<Record<AnimationName, AnimationDef>>;
1339
+ /**
1340
+ * Per-projection sheet PNGs (additive; absent on legacy atlases). `iso`
1341
+ * mirrors `sheets` (directional se/sw); the fixed cameras carry one sheet
1342
+ * each. `sheets` remains the iso back-compat alias — writers emit both.
1343
+ */
1344
+ projections?: {
1345
+ iso?: Partial<Record<SpriteDirection, string>>;
1346
+ front?: string;
1347
+ back?: string;
1348
+ top?: string;
1349
+ perspective?: string;
1350
+ };
1325
1351
  }
1326
1352
  declare const SpriteSheetAtlasSchema: z.ZodObject<{
1327
1353
  unit: z.ZodOptional<z.ZodString>;
@@ -1330,8 +1356,8 @@ declare const SpriteSheetAtlasSchema: z.ZodObject<{
1330
1356
  frameHeight: z.ZodNumber;
1331
1357
  columns: z.ZodNumber;
1332
1358
  rows: z.ZodNumber;
1333
- directions: z.ZodArray<z.ZodEnum<["se", "sw"]>, "many">;
1334
- sheets: z.ZodRecord<z.ZodEnum<["se", "sw"]>, z.ZodString>;
1359
+ directions: z.ZodArray<z.ZodEnum<["se", "sw", "ne", "nw"]>, "many">;
1360
+ sheets: z.ZodRecord<z.ZodEnum<["se", "sw", "ne", "nw"]>, z.ZodString>;
1335
1361
  animations: z.ZodRecord<z.ZodEnum<["idle", "walk", "attack", "hit", "death"]>, z.ZodObject<{
1336
1362
  row: z.ZodNumber;
1337
1363
  frames: z.ZodNumber;
@@ -1348,13 +1374,32 @@ declare const SpriteSheetAtlasSchema: z.ZodObject<{
1348
1374
  frameRate: number;
1349
1375
  loop: boolean;
1350
1376
  }>>;
1377
+ projections: z.ZodOptional<z.ZodObject<{
1378
+ iso: z.ZodOptional<z.ZodRecord<z.ZodEnum<["se", "sw", "ne", "nw"]>, z.ZodString>>;
1379
+ front: z.ZodOptional<z.ZodString>;
1380
+ back: z.ZodOptional<z.ZodString>;
1381
+ top: z.ZodOptional<z.ZodString>;
1382
+ perspective: z.ZodOptional<z.ZodString>;
1383
+ }, "strip", z.ZodTypeAny, {
1384
+ iso?: Partial<Record<"se" | "sw" | "ne" | "nw", string>> | undefined;
1385
+ front?: string | undefined;
1386
+ back?: string | undefined;
1387
+ top?: string | undefined;
1388
+ perspective?: string | undefined;
1389
+ }, {
1390
+ iso?: Partial<Record<"se" | "sw" | "ne" | "nw", string>> | undefined;
1391
+ front?: string | undefined;
1392
+ back?: string | undefined;
1393
+ top?: string | undefined;
1394
+ perspective?: string | undefined;
1395
+ }>>;
1351
1396
  }, "strip", z.ZodTypeAny, {
1352
1397
  frameWidth: number;
1353
1398
  frameHeight: number;
1354
1399
  columns: number;
1355
1400
  rows: number;
1356
- directions: ("se" | "sw")[];
1357
- sheets: Partial<Record<"se" | "sw", string>>;
1401
+ directions: ("se" | "sw" | "ne" | "nw")[];
1402
+ sheets: Partial<Record<"se" | "sw" | "ne" | "nw", string>>;
1358
1403
  animations: Partial<Record<"idle" | "walk" | "attack" | "hit" | "death", {
1359
1404
  row: number;
1360
1405
  frames: number;
@@ -1363,13 +1408,20 @@ declare const SpriteSheetAtlasSchema: z.ZodObject<{
1363
1408
  }>>;
1364
1409
  type?: string | undefined;
1365
1410
  unit?: string | undefined;
1411
+ projections?: {
1412
+ iso?: Partial<Record<"se" | "sw" | "ne" | "nw", string>> | undefined;
1413
+ front?: string | undefined;
1414
+ back?: string | undefined;
1415
+ top?: string | undefined;
1416
+ perspective?: string | undefined;
1417
+ } | undefined;
1366
1418
  }, {
1367
1419
  frameWidth: number;
1368
1420
  frameHeight: number;
1369
1421
  columns: number;
1370
1422
  rows: number;
1371
- directions: ("se" | "sw")[];
1372
- sheets: Partial<Record<"se" | "sw", string>>;
1423
+ directions: ("se" | "sw" | "ne" | "nw")[];
1424
+ sheets: Partial<Record<"se" | "sw" | "ne" | "nw", string>>;
1373
1425
  animations: Partial<Record<"idle" | "walk" | "attack" | "hit" | "death", {
1374
1426
  row: number;
1375
1427
  frames: number;
@@ -1378,6 +1430,13 @@ declare const SpriteSheetAtlasSchema: z.ZodObject<{
1378
1430
  }>>;
1379
1431
  type?: string | undefined;
1380
1432
  unit?: string | undefined;
1433
+ projections?: {
1434
+ iso?: Partial<Record<"se" | "sw" | "ne" | "nw", string>> | undefined;
1435
+ front?: string | undefined;
1436
+ back?: string | undefined;
1437
+ top?: string | undefined;
1438
+ perspective?: string | undefined;
1439
+ } | undefined;
1381
1440
  }>;
1382
1441
  /**
1383
1442
  * One named sub-rectangle inside a packed sheet. Mirrors the ShoeBox /
@@ -1799,6 +1858,8 @@ interface Camera {
1799
1858
  zoom?: number;
1800
1859
  fov?: number;
1801
1860
  mode?: CameraMode;
1861
+ /** Orbit the mode's framing position around the vertical axis through the target, in radians (3D hosts only). */
1862
+ azimuth?: number;
1802
1863
  }
1803
1864
  declare const CameraSchema: z.ZodObject<{
1804
1865
  pos: z.ZodOptional<z.ZodObject<{
@@ -1830,6 +1891,7 @@ declare const CameraSchema: z.ZodObject<{
1830
1891
  zoom: z.ZodOptional<z.ZodNumber>;
1831
1892
  fov: z.ZodOptional<z.ZodNumber>;
1832
1893
  mode: z.ZodOptional<z.ZodEnum<["isometric", "perspective", "top-down", "front", "follow", "chase"]>>;
1894
+ azimuth: z.ZodOptional<z.ZodNumber>;
1833
1895
  }, "strip", z.ZodTypeAny, {
1834
1896
  target?: {
1835
1897
  x: number;
@@ -1843,7 +1905,8 @@ declare const CameraSchema: z.ZodObject<{
1843
1905
  } | undefined;
1844
1906
  zoom?: number | undefined;
1845
1907
  fov?: number | undefined;
1846
- mode?: "isometric" | "perspective" | "top-down" | "front" | "follow" | "chase" | undefined;
1908
+ mode?: "isometric" | "front" | "perspective" | "top-down" | "follow" | "chase" | undefined;
1909
+ azimuth?: number | undefined;
1847
1910
  }, {
1848
1911
  target?: {
1849
1912
  x: number;
@@ -1857,7 +1920,8 @@ declare const CameraSchema: z.ZodObject<{
1857
1920
  } | undefined;
1858
1921
  zoom?: number | undefined;
1859
1922
  fov?: number | undefined;
1860
- mode?: "isometric" | "perspective" | "top-down" | "front" | "follow" | "chase" | undefined;
1923
+ mode?: "isometric" | "front" | "perspective" | "top-down" | "follow" | "chase" | undefined;
1924
+ azimuth?: number | undefined;
1861
1925
  }>;
1862
1926
  type SemanticAssetRefInput = z.input<typeof SemanticAssetRefSchema>;
1863
1927
  type AnimationDefInput = z.input<typeof AnimationDefSchema>;
@@ -2363,7 +2427,7 @@ type EntityData = Record<string, EntityRow[]>;
2363
2427
  *
2364
2428
  * DO NOT EDIT MANUALLY — regenerated by almadar-pattern-sync `patterns` command.
2365
2429
  *
2366
- * Generated: 2026-08-01T09:06:42.746Z
2430
+ * Generated: 2026-08-02T09:00:22.611Z
2367
2431
  * Pattern count: 269
2368
2432
  */
2369
2433
 
@@ -3376,6 +3440,7 @@ interface PatternPropsMap {
3376
3440
  segments?: number | string | SExpr;
3377
3441
  vertices?: unknown[] | string | SExpr;
3378
3442
  faces?: unknown[] | string | SExpr;
3443
+ uvs?: unknown[] | string | SExpr;
3379
3444
  skin?: PatternPropValue | string | SExpr;
3380
3445
  rotation?: unknown[] | string | SExpr;
3381
3446
  pivot?: string | SExpr;
@@ -3431,6 +3496,7 @@ interface PatternPropsMap {
3431
3496
  height?: number | string | SExpr;
3432
3497
  frame?: PatternPropValue | string | SExpr;
3433
3498
  animation?: string | SExpr;
3499
+ loop?: boolean | string | SExpr;
3434
3500
  flipX?: boolean | string | SExpr;
3435
3501
  rotation?: number | string | SExpr;
3436
3502
  opacity?: number | string | SExpr;
@@ -6583,4 +6649,4 @@ interface RenderUINode {
6583
6649
  renderItem?: RenderUINode;
6584
6650
  }
6585
6651
 
6586
- export { type ComposeEffect as $, type AnyPatternConfig as A, AssetCatalogEntrySchema as B, AssetCatalogSchema as C, type AssetDimension as D, type EntityField as E, type FieldValue as F, AssetDimensionSchema as G, AssetSchema as H, type IdentityLedger as I, type AssetUrl as J, type AtomicEffect as K, type BehaviorEffect as L, CAMERA_MODES as M, type CallServiceConfig as N, type OrbitalId as O, type PageId as P, type CallServiceEffect as Q, type RelationConfig as R, type ServiceRef as S, type TraitId as T, type UISlot as U, type Camera as V, type CameraMode as W, CameraModeSchema as X, CameraSchema as Y, type CheckpointLoadEffect as Z, type CheckpointSaveEffect as _, type EntityPersistence as a, type PersistEmitConfig as a$, type DerefEffect as a0, type DespawnEffect as a1, type DoEffect as a2, ENTITY_ROLES as a3, type EffectInput as a4, EffectSchema as a5, type EmitConfig as a6, type EmitEffect as a7, type EntityData as a8, type EntityFieldInput as a9, type LedgerKind as aA, LedgerKindSchema as aB, type LlmEffect as aC, type LogEffect as aD, type McpServiceDef as aE, McpServiceDefSchema as aF, type MemoryEffect as aG, type NavigateEffect as aH, type NnConfig as aI, type NnLayer as aJ, type NotifyEffect as aK, type ObjectEntityField as aL, type OrbitalEntity as aM, type OrbitalEntityInput as aN, OrbitalEntitySchema as aO, OrbitalIdSchema as aP, type OsEffect as aQ, PATTERN_TYPES as aR, PageIdSchema as aS, type PaletteEntryId as aT, PaletteEntryIdSchema as aU, type PatternConfig as aV, type PatternProps as aW, type PatternPropsMap as aX, type PatternType as aY, type PersistData as aZ, type PersistEffect as a_, EntityFieldSchema as aa, EntityIdSchema as ab, EntityPersistenceSchema as ac, type EntityRole as ad, EntityRoleSchema as ae, EntitySchema as af, type EntityWith as ag, type EnumEntityField as ah, type EvaluateConfig as ai, type EvaluateEffect as aj, EventIdSchema as ak, FIELD_TYPES as al, type FetchEffect as am, type FetchOptions as an, type FetchResult as ao, type Field as ap, FieldSchema as aq, type FieldType as ar, FieldTypeSchema as as, type ForwardConfig as at, type ForwardEffect as au, type IdForKind as av, type IdKind as aw, IdentityLedgerSchema as ax, type LedgerEntry as ay, LedgerEntrySchema as az, type EventId as b, VisualStyleSchema as b$, type RefEffect as b0, RelationConfigSchema as b1, type RelationEntityField as b2, type RenderChildrenMap as b3, type RenderItemLambda as b4, type RenderUINode as b5, type ResolvedPatternProps as b6, type RestAuthConfig as b7, RestAuthConfigSchema as b8, type RestServiceDef as b9, type SocketServiceDef as bA, SocketServiceDefSchema as bB, type SpawnEffect as bC, type SpriteDirection as bD, SpriteDirectionSchema as bE, type SpriteSheetAtlas as bF, type SpriteSheetAtlasInput as bG, SpriteSheetAtlasSchema as bH, type SubTexture as bI, SubTextureSchema as bJ, type SwapEffect as bK, type TextureAtlas as bL, TextureAtlasSchema as bM, type ThemeId as bN, ThemeIdSchema as bO, type Tilesheet as bP, TilesheetSchema as bQ, type TraceEffect as bR, type TrainConfig as bS, type TrainEffect as bT, TraitIdSchema as bU, type TypedEffect as bV, UISlotSchema as bW, UI_SLOTS as bX, VISUAL_STYLES as bY, type ValidateEffect as bZ, type VisualStyle as b_, RestServiceDefSchema as ba, SEMANTIC_STRING_TYPES as bb, SERVICE_TYPES as bc, SPRITE_DIRECTIONS as bd, type ScalarEntityField as be, type ScenePos as bf, ScenePosSchema as bg, type SemanticAssetRef as bh, type SemanticAssetRefInput as bi, SemanticAssetRefSchema as bj, type SemanticStringType as bk, ServiceDefinitionSchema as bl, type ServiceId as bm, ServiceIdSchema as bn, type ServiceParams as bo, type ServiceParamsValue as bp, type ServiceRefObject as bq, ServiceRefObjectSchema as br, ServiceRefSchema as bs, ServiceRefStringSchema as bt, type ServiceType as bu, ServiceTypeSchema as bv, type SessionEffect as bw, type SetEffect as bx, type SocketEvents as by, SocketEventsSchema as bz, type Effect as c, validateAssetAnimations as c$, type WatchEffect as c0, type WatchOptions as c1, asEntityId as c2, asEventId as c3, asOrbitalId as c4, asPageId as c5, asPaletteEntryId as c6, asServiceId as c7, asThemeId as c8, asTraitId as c9, isSExprEffect as cA, isSemanticStringType as cB, isSemanticStringValue as cC, isServiceId as cD, isServiceReference as cE, isServiceReferenceObject as cF, isSocketService as cG, isThemeId as cH, isTraitId as cI, isUrlValue as cJ, isUuidValue as cK, isValidPatternType as cL, ledgerCurName as cM, ledgerRename as cN, ledgerResolveName as cO, mintId as cP, navigate as cQ, notify as cR, parseAssetKey as cS, parseServiceRef as cT, persist as cU, persistenceModeAllowsOverrides as cV, ref as cW, renderUI as cX, set as cY, spawn as cZ, swap as c_, atomic as ca, callService as cb, createAssetKey as cc, deref as cd, deriveCollection as ce, despawn as cf, doEffects as cg, emit as ch, findService as ci, getDefaultAnimationsForRole as cj, getServiceNames as ck, hasService as cl, idKindOf as cm, idPrefix as cn, isEffect as co, isEmailValue as cp, isEntityId as cq, isEventId as cr, isFieldValue as cs, isMcpService as ct, isOrbitalId as cu, isPageId as cv, isPaletteEntryId as cw, isPhoneValue as cx, isRestService as cy, isRuntimeEntity as cz, type EntityId as d, watch as d0, type Entity as e, type EntityRow as f, type ServiceDefinition as g, type RenderBinding as h, type RenderUIEffect as i, ANIMATION_NAMES as j, ASSET_ASPECTS as k, ASSET_DIMENSIONS as l, type AgentEffect as m, type AnimationDef as n, type AnimationDefInput as o, AnimationDefSchema as p, type AnimationName as q, AnimationNameSchema as r, type ApplicationEffect as s, type ArrayEntityField as t, type Asset as u, type AssetAspect as v, AssetAspectSchema as w, type AssetCatalog as x, type AssetCatalogEntry as y, type AssetCatalogEntryInput as z };
6652
+ export { type ComposeEffect as $, type AnyPatternConfig as A, AssetCatalogEntrySchema as B, AssetCatalogSchema as C, type AssetDimension as D, type EntityField as E, type FieldValue as F, AssetDimensionSchema as G, AssetSchema as H, type IdentityLedger as I, type AssetUrl as J, type AtomicEffect as K, type BehaviorEffect as L, CAMERA_MODES as M, type CallServiceConfig as N, type OrbitalId as O, type PageId as P, type CallServiceEffect as Q, type RelationConfig as R, type ServiceRef as S, type TraitId as T, type UISlot as U, type Camera as V, type CameraMode as W, CameraModeSchema as X, CameraSchema as Y, type CheckpointLoadEffect as Z, type CheckpointSaveEffect as _, type EntityPersistence as a, type PersistEmitConfig as a$, type DerefEffect as a0, type DespawnEffect as a1, type DoEffect as a2, ENTITY_ROLES as a3, type EffectInput as a4, EffectSchema as a5, type EmitConfig as a6, type EmitEffect as a7, type EntityData as a8, type EntityFieldInput as a9, type LedgerKind as aA, LedgerKindSchema as aB, type LlmEffect as aC, type LogEffect as aD, type McpServiceDef as aE, McpServiceDefSchema as aF, type MemoryEffect as aG, type NavigateEffect as aH, type NnConfig as aI, type NnLayer as aJ, type NotifyEffect as aK, type ObjectEntityField as aL, type OrbitalEntity as aM, type OrbitalEntityInput as aN, OrbitalEntitySchema as aO, OrbitalIdSchema as aP, type OsEffect as aQ, PATTERN_TYPES as aR, PageIdSchema as aS, type PaletteEntryId as aT, PaletteEntryIdSchema as aU, type PatternConfig as aV, type PatternProps as aW, type PatternPropsMap as aX, type PatternType as aY, type PersistData as aZ, type PersistEffect as a_, EntityFieldSchema as aa, EntityIdSchema as ab, EntityPersistenceSchema as ac, type EntityRole as ad, EntityRoleSchema as ae, EntitySchema as af, type EntityWith as ag, type EnumEntityField as ah, type EvaluateConfig as ai, type EvaluateEffect as aj, EventIdSchema as ak, FIELD_TYPES as al, type FetchEffect as am, type FetchOptions as an, type FetchResult as ao, type Field as ap, FieldSchema as aq, type FieldType as ar, FieldTypeSchema as as, type ForwardConfig as at, type ForwardEffect as au, type IdForKind as av, type IdKind as aw, IdentityLedgerSchema as ax, type LedgerEntry as ay, LedgerEntrySchema as az, type EventId as b, VISUAL_STYLES as b$, type RefEffect as b0, RelationConfigSchema as b1, type RelationEntityField as b2, type RenderChildrenMap as b3, type RenderItemLambda as b4, type RenderUINode as b5, type ResolvedPatternProps as b6, type RestAuthConfig as b7, RestAuthConfigSchema as b8, type RestServiceDef as b9, SheetProjectionSchema as bA, type SocketEvents as bB, SocketEventsSchema as bC, type SocketServiceDef as bD, SocketServiceDefSchema as bE, type SpawnEffect as bF, type SpriteDirection as bG, SpriteDirectionSchema as bH, type SpriteSheetAtlas as bI, type SpriteSheetAtlasInput as bJ, SpriteSheetAtlasSchema as bK, type SubTexture as bL, SubTextureSchema as bM, type SwapEffect as bN, type TextureAtlas as bO, TextureAtlasSchema as bP, type ThemeId as bQ, ThemeIdSchema as bR, type Tilesheet as bS, TilesheetSchema as bT, type TraceEffect as bU, type TrainConfig as bV, type TrainEffect as bW, TraitIdSchema as bX, type TypedEffect as bY, UISlotSchema as bZ, UI_SLOTS as b_, RestServiceDefSchema as ba, SEMANTIC_STRING_TYPES as bb, SERVICE_TYPES as bc, SHEET_PROJECTIONS as bd, SPRITE_DIRECTIONS as be, type ScalarEntityField as bf, type ScenePos as bg, ScenePosSchema as bh, type SemanticAssetRef as bi, type SemanticAssetRefInput as bj, SemanticAssetRefSchema as bk, type SemanticStringType as bl, ServiceDefinitionSchema as bm, type ServiceId as bn, ServiceIdSchema as bo, type ServiceParams as bp, type ServiceParamsValue as bq, type ServiceRefObject as br, ServiceRefObjectSchema as bs, ServiceRefSchema as bt, ServiceRefStringSchema as bu, type ServiceType as bv, ServiceTypeSchema as bw, type SessionEffect as bx, type SetEffect as by, type SheetProjection as bz, type Effect as c, set as c$, type ValidateEffect as c0, type VisualStyle as c1, VisualStyleSchema as c2, type WatchEffect as c3, type WatchOptions as c4, asEntityId as c5, asEventId as c6, asOrbitalId as c7, asPageId as c8, asPaletteEntryId as c9, isPhoneValue as cA, isRestService as cB, isRuntimeEntity as cC, isSExprEffect as cD, isSemanticStringType as cE, isSemanticStringValue as cF, isServiceId as cG, isServiceReference as cH, isServiceReferenceObject as cI, isSocketService as cJ, isThemeId as cK, isTraitId as cL, isUrlValue as cM, isUuidValue as cN, isValidPatternType as cO, ledgerCurName as cP, ledgerRename as cQ, ledgerResolveName as cR, mintId as cS, navigate as cT, notify as cU, parseAssetKey as cV, parseServiceRef as cW, persist as cX, persistenceModeAllowsOverrides as cY, ref as cZ, renderUI as c_, asServiceId as ca, asThemeId as cb, asTraitId as cc, atomic as cd, callService as ce, createAssetKey as cf, deref as cg, deriveCollection as ch, despawn as ci, doEffects as cj, emit as ck, findService as cl, getDefaultAnimationsForRole as cm, getServiceNames as cn, hasService as co, idKindOf as cp, idPrefix as cq, isEffect as cr, isEmailValue as cs, isEntityId as ct, isEventId as cu, isFieldValue as cv, isMcpService as cw, isOrbitalId as cx, isPageId as cy, isPaletteEntryId as cz, type EntityId as d, spawn as d0, swap as d1, validateAssetAnimations as d2, watch as d3, type Entity as e, type EntityRow as f, type ServiceDefinition as g, type RenderBinding as h, type RenderUIEffect as i, ANIMATION_NAMES as j, ASSET_ASPECTS as k, ASSET_DIMENSIONS as l, type AgentEffect as m, type AnimationDef as n, type AnimationDefInput as o, AnimationDefSchema as p, type AnimationName as q, AnimationNameSchema as r, type ApplicationEffect as s, type ArrayEntityField as t, type Asset as u, type AssetAspect as v, AssetAspectSchema as w, type AssetCatalog as x, type AssetCatalogEntry as y, type AssetCatalogEntryInput as z };
@@ -1,4 +1,4 @@
1
- import { O as OrbitalSchema } from './schema-1bzTH92n.js';
1
+ import { O as OrbitalSchema } from './schema-h6xcymfn.js';
2
2
  import { S as SExpr } from './expression-Yf7qvvOs.js';
3
3
 
4
4
  /**
@@ -1,7 +1,7 @@
1
- import { h as FactoryParamValue, c as FactoryConfigTier, b as FactoryConfigParam, F as FactoryCallSite, j as FactorySignature, R as RuleOverlay, p as RuleOverlayEntry, o as PresentationOverlay, T as TraitOverlay } from '../types-CUdqUyzi.js';
2
- export { a as FactoryCallSiteParams, d as FactoryEntitySignature, e as FactoryEventSignature, f as FactoryExposure, g as FactoryPageSignature, i as FactoryProvenance, k as FactorySignatureCatalog, l as FactorySignatureEntityField, m as FactoryTraitSignature, J as JsonSchema, n as JsonSchemaType, O as OwnershipOverlayEntry, P as PresentationNavItem, S as SchemaFieldType, q as TraitOverlayEntry, r as TraitOverlayListener } from '../types-CUdqUyzi.js';
3
- import { a as EntityPersistence, E as EntityField } from '../effect-DjMRX8sI.js';
4
- import { a as TraitReference } from '../trait-DkMVtmED.js';
1
+ import { h as FactoryParamValue, c as FactoryConfigTier, b as FactoryConfigParam, F as FactoryCallSite, j as FactorySignature, R as RuleOverlay, p as RuleOverlayEntry, o as PresentationOverlay, T as TraitOverlay } from '../types-jWqiZC2S.js';
2
+ export { a as FactoryCallSiteParams, d as FactoryEntitySignature, e as FactoryEventSignature, f as FactoryExposure, g as FactoryPageSignature, i as FactoryProvenance, k as FactorySignatureCatalog, l as FactorySignatureEntityField, m as FactoryTraitSignature, J as JsonSchema, n as JsonSchemaType, O as OwnershipOverlayEntry, P as PresentationNavItem, S as SchemaFieldType, q as TraitOverlayEntry, r as TraitOverlayListener } from '../types-jWqiZC2S.js';
3
+ import { a as EntityPersistence, E as EntityField } from '../effect-CqTo1gAF.js';
4
+ import { a as TraitReference } from '../trait-CnbGhs6A.js';
5
5
  export { J as JsonValue } from '../expression-Yf7qvvOs.js';
6
6
  import 'zod';
7
7
 
@@ -1,6 +1,6 @@
1
- import { O as OrbitalSchema, a as OrbitalDefinition } from '../schema-1bzTH92n.js';
2
- import { h as CallSiteConfig, i as CallSiteConfigEntry, g as Trait } from '../trait-DkMVtmED.js';
3
- import { E as EntityField, a as EntityPersistence } from '../effect-DjMRX8sI.js';
1
+ import { O as OrbitalSchema, a as OrbitalDefinition } from '../schema-h6xcymfn.js';
2
+ import { h as CallSiteConfig, i as CallSiteConfigEntry, g as Trait } from '../trait-CnbGhs6A.js';
3
+ import { E as EntityField, a as EntityPersistence } from '../effect-CqTo1gAF.js';
4
4
  import { MakeTraitRefOpts } from '../builders.js';
5
5
  import '../expression-Yf7qvvOs.js';
6
6
  import 'zod';
@@ -243,8 +243,10 @@ var ASSET_ASPECTS = ["1:1", "16:9", "5:7", "8:1"];
243
243
  var AssetAspectSchema = z.enum(ASSET_ASPECTS);
244
244
  var ANIMATION_NAMES = ["idle", "walk", "attack", "hit", "death"];
245
245
  var AnimationNameSchema = z.enum(ANIMATION_NAMES);
246
- var SPRITE_DIRECTIONS = ["se", "sw"];
246
+ var SPRITE_DIRECTIONS = ["se", "sw", "ne", "nw"];
247
247
  var SpriteDirectionSchema = z.enum(SPRITE_DIRECTIONS);
248
+ var SHEET_PROJECTIONS = ["iso", "front", "back", "top", "perspective"];
249
+ z.enum(SHEET_PROJECTIONS);
248
250
  var AnimationDefSchema = z.object({
249
251
  row: z.number().int().nonnegative(),
250
252
  frames: z.number().int().positive(),
@@ -260,7 +262,14 @@ z.object({
260
262
  rows: z.number().int().positive(),
261
263
  directions: z.array(SpriteDirectionSchema),
262
264
  sheets: z.record(SpriteDirectionSchema, z.string()),
263
- animations: z.record(AnimationNameSchema, AnimationDefSchema)
265
+ animations: z.record(AnimationNameSchema, AnimationDefSchema),
266
+ projections: z.object({
267
+ iso: z.record(SpriteDirectionSchema, z.string()).optional(),
268
+ front: z.string().optional(),
269
+ back: z.string().optional(),
270
+ top: z.string().optional(),
271
+ perspective: z.string().optional()
272
+ }).optional()
264
273
  });
265
274
  var SubTextureSchema = z.object({
266
275
  x: z.number().nonnegative(),
@@ -324,7 +333,8 @@ z.object({
324
333
  target: ScenePosSchema.optional(),
325
334
  zoom: z.number().optional(),
326
335
  fov: z.number().optional(),
327
- mode: CameraModeSchema.optional()
336
+ mode: CameraModeSchema.optional(),
337
+ azimuth: z.number().optional()
328
338
  });
329
339
  var SExprDataSchema = z.lazy(
330
340
  () => z.union([SExprAtomSchema, z.array(SExprDataSchema)])