@almadar/core 10.42.0 → 10.44.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/builders.d.ts +4 -4
- package/dist/builders.js +45 -27
- package/dist/builders.js.map +1 -1
- package/dist/{effect-D4os99OL.d.ts → effect-NbTgX2yB.d.ts} +65 -110
- package/dist/{expression-DpAj1RzP.d.ts → expression-Yf7qvvOs.d.ts} +85 -10
- package/dist/factory/index.d.ts +5 -6
- package/dist/factory-runtime/index.d.ts +4 -4
- package/dist/factory-runtime/index.js +45 -27
- package/dist/factory-runtime/index.js.map +1 -1
- package/dist/index.d.ts +13 -13
- package/dist/index.js +270 -113
- package/dist/index.js.map +1 -1
- package/dist/mock/index.d.ts +4 -4
- package/dist/mock/index.js +1 -1
- package/dist/mock/index.js.map +1 -1
- package/dist/patterns/component-mapping.json +6 -1
- package/dist/patterns/event-contracts.json +1 -1
- package/dist/patterns/index.d.ts +276 -10
- package/dist/patterns/index.js +117 -6
- package/dist/patterns/index.js.map +1 -1
- package/dist/patterns/patterns-registry.json +109 -4
- package/dist/patterns/registry.json +109 -4
- package/dist/{schema-C_lv_cta.d.ts → schema-DdcBBHkb.d.ts} +7240 -3158
- package/dist/state-machine/index.d.ts +1 -1
- package/dist/{trait-BQIlqUHC.d.ts → trait-DdBiEffx.d.ts} +987 -98
- package/dist/types/index.d.ts +150 -50
- package/dist/types/index.js +154 -107
- package/dist/types/index.js.map +1 -1
- package/dist/{types-Bd_LX0j8.d.ts → types-B4NVh8V9.d.ts} +3 -2
- package/package.json +1 -1
- package/src/types/bindings.ts +79 -0
package/dist/index.js
CHANGED
|
@@ -486,7 +486,7 @@ var OrbitalEntitySchema = z.object({
|
|
|
486
486
|
identity: z.boolean().optional(),
|
|
487
487
|
collection: z.string().optional(),
|
|
488
488
|
fields: z.array(EntityFieldSchema).min(1, "At least one field is required"),
|
|
489
|
-
instances: z.array(z.record(
|
|
489
|
+
instances: z.array(z.record(JsonValueSchema)).optional(),
|
|
490
490
|
timestamps: z.boolean().optional(),
|
|
491
491
|
softDelete: z.boolean().optional(),
|
|
492
492
|
description: z.string().optional(),
|
|
@@ -517,97 +517,15 @@ function isFieldValue(value) {
|
|
|
517
517
|
}
|
|
518
518
|
return false;
|
|
519
519
|
}
|
|
520
|
-
var
|
|
521
|
-
|
|
522
|
-
"main",
|
|
523
|
-
"sidebar",
|
|
524
|
-
"modal",
|
|
525
|
-
"drawer",
|
|
526
|
-
"overlay",
|
|
527
|
-
"center",
|
|
528
|
-
"toast",
|
|
529
|
-
"floating",
|
|
530
|
-
"system",
|
|
531
|
-
// For invisible system components (InputListener, CollisionDetector)
|
|
532
|
-
"content",
|
|
533
|
-
"screen",
|
|
534
|
-
// Game HUD slots
|
|
535
|
-
"hud",
|
|
536
|
-
"hud-top",
|
|
537
|
-
"hud-bottom",
|
|
538
|
-
"hud.health",
|
|
539
|
-
"hud.score",
|
|
540
|
-
"hud.inventory",
|
|
541
|
-
"hud.stamina",
|
|
542
|
-
// Game overlay slots
|
|
543
|
-
"overlay.inventory",
|
|
544
|
-
"overlay.dialogue",
|
|
545
|
-
"overlay.menu",
|
|
546
|
-
"overlay.pause"
|
|
547
|
-
];
|
|
548
|
-
var UISlotSchema = z.enum(UI_SLOTS);
|
|
549
|
-
var EffectSchema = z.array(z.unknown()).min(1).refine(
|
|
550
|
-
(arr) => typeof arr[0] === "string",
|
|
551
|
-
{ message: "Effect must be an S-expression with a string operator as first element" }
|
|
520
|
+
var SExprDataSchema = z.lazy(
|
|
521
|
+
() => z.union([SExprAtomSchema, z.array(SExprDataSchema)])
|
|
552
522
|
);
|
|
553
|
-
function isEffect(value) {
|
|
554
|
-
return Array.isArray(value) && value.length > 0 && typeof value[0] === "string";
|
|
555
|
-
}
|
|
556
|
-
var isSExprEffect = isEffect;
|
|
557
|
-
function set(binding, value) {
|
|
558
|
-
return ["set", binding, value];
|
|
559
|
-
}
|
|
560
|
-
function emit(event, payload) {
|
|
561
|
-
return payload ? ["emit", event, payload] : ["emit", event];
|
|
562
|
-
}
|
|
563
|
-
function navigate(path, params) {
|
|
564
|
-
return params ? ["navigate", path, params] : ["navigate", path];
|
|
565
|
-
}
|
|
566
|
-
function renderUI(target, pattern, props) {
|
|
567
|
-
return props ? ["render-ui", target, pattern, props] : ["render-ui", target, pattern];
|
|
568
|
-
}
|
|
569
|
-
function persist(action, entity, data) {
|
|
570
|
-
if (action === "create" || action === "update") {
|
|
571
|
-
return ["persist", action, entity, data];
|
|
572
|
-
}
|
|
573
|
-
return data ? ["persist", action, entity, data] : ["persist", action, entity];
|
|
574
|
-
}
|
|
575
|
-
function callService(serviceName, config) {
|
|
576
|
-
return ["call-service", serviceName, config];
|
|
577
|
-
}
|
|
578
|
-
function spawn(entity, initialState) {
|
|
579
|
-
return initialState ? ["spawn", entity, initialState] : ["spawn", entity];
|
|
580
|
-
}
|
|
581
|
-
function despawn(entityId) {
|
|
582
|
-
return ["despawn", entityId];
|
|
583
|
-
}
|
|
584
|
-
function doEffects(...effects) {
|
|
585
|
-
return ["do", ...effects];
|
|
586
|
-
}
|
|
587
|
-
function notify(channel, message, recipient) {
|
|
588
|
-
return recipient ? ["notify", channel, message, recipient] : ["notify", channel, message];
|
|
589
|
-
}
|
|
590
|
-
function ref(binding, selector) {
|
|
591
|
-
return selector ? ["ref", binding, selector] : ["ref", binding];
|
|
592
|
-
}
|
|
593
|
-
function deref(binding, selector) {
|
|
594
|
-
return selector ? ["deref", binding, selector] : ["deref", binding];
|
|
595
|
-
}
|
|
596
|
-
function swap(binding, transform) {
|
|
597
|
-
return ["swap!", binding, transform];
|
|
598
|
-
}
|
|
599
|
-
function watch(binding, event, options) {
|
|
600
|
-
return options ? ["watch", binding, event, options] : ["watch", binding, event];
|
|
601
|
-
}
|
|
602
|
-
function atomic(...effects) {
|
|
603
|
-
return ["atomic", ...effects];
|
|
604
|
-
}
|
|
605
523
|
var SExprAtomSchema = z.union([
|
|
606
524
|
z.string(),
|
|
607
525
|
z.number(),
|
|
608
526
|
z.boolean(),
|
|
609
527
|
z.null(),
|
|
610
|
-
z.record(
|
|
528
|
+
z.record(SExprDataSchema)
|
|
611
529
|
// Objects for payload data
|
|
612
530
|
]);
|
|
613
531
|
var SExprSchema = z.lazy(
|
|
@@ -706,6 +624,93 @@ function isEventPayloadValue(value) {
|
|
|
706
624
|
return false;
|
|
707
625
|
}
|
|
708
626
|
|
|
627
|
+
// src/types/effect.ts
|
|
628
|
+
var UI_SLOTS = [
|
|
629
|
+
// App slots
|
|
630
|
+
"main",
|
|
631
|
+
"sidebar",
|
|
632
|
+
"modal",
|
|
633
|
+
"drawer",
|
|
634
|
+
"overlay",
|
|
635
|
+
"center",
|
|
636
|
+
"toast",
|
|
637
|
+
"floating",
|
|
638
|
+
"system",
|
|
639
|
+
// For invisible system components (InputListener, CollisionDetector)
|
|
640
|
+
"content",
|
|
641
|
+
"screen",
|
|
642
|
+
// Game HUD slots
|
|
643
|
+
"hud",
|
|
644
|
+
"hud-top",
|
|
645
|
+
"hud-bottom",
|
|
646
|
+
"hud.health",
|
|
647
|
+
"hud.score",
|
|
648
|
+
"hud.inventory",
|
|
649
|
+
"hud.stamina",
|
|
650
|
+
// Game overlay slots
|
|
651
|
+
"overlay.inventory",
|
|
652
|
+
"overlay.dialogue",
|
|
653
|
+
"overlay.menu",
|
|
654
|
+
"overlay.pause"
|
|
655
|
+
];
|
|
656
|
+
var UISlotSchema = z.enum(UI_SLOTS);
|
|
657
|
+
var EffectSchema = z.array(SExprDataSchema).min(1).refine(
|
|
658
|
+
(arr) => typeof arr[0] === "string",
|
|
659
|
+
{ message: "Effect must be an S-expression with a string operator as first element" }
|
|
660
|
+
);
|
|
661
|
+
function isEffect(value) {
|
|
662
|
+
return Array.isArray(value) && value.length > 0 && typeof value[0] === "string";
|
|
663
|
+
}
|
|
664
|
+
var isSExprEffect = isEffect;
|
|
665
|
+
function set(binding, value) {
|
|
666
|
+
return ["set", binding, value];
|
|
667
|
+
}
|
|
668
|
+
function emit(event, payload) {
|
|
669
|
+
return payload ? ["emit", event, payload] : ["emit", event];
|
|
670
|
+
}
|
|
671
|
+
function navigate(path, params) {
|
|
672
|
+
return params ? ["navigate", path, params] : ["navigate", path];
|
|
673
|
+
}
|
|
674
|
+
function renderUI(target, pattern, props) {
|
|
675
|
+
return props ? ["render-ui", target, pattern, props] : ["render-ui", target, pattern];
|
|
676
|
+
}
|
|
677
|
+
function persist(action, entity, data) {
|
|
678
|
+
if (action === "create" || action === "update") {
|
|
679
|
+
return ["persist", action, entity, data];
|
|
680
|
+
}
|
|
681
|
+
return data ? ["persist", action, entity, data] : ["persist", action, entity];
|
|
682
|
+
}
|
|
683
|
+
function callService(serviceName, config) {
|
|
684
|
+
return ["call-service", serviceName, config];
|
|
685
|
+
}
|
|
686
|
+
function spawn(entity, initialState) {
|
|
687
|
+
return initialState ? ["spawn", entity, initialState] : ["spawn", entity];
|
|
688
|
+
}
|
|
689
|
+
function despawn(entityId) {
|
|
690
|
+
return ["despawn", entityId];
|
|
691
|
+
}
|
|
692
|
+
function doEffects(...effects) {
|
|
693
|
+
return ["do", ...effects];
|
|
694
|
+
}
|
|
695
|
+
function notify(channel, message, recipient) {
|
|
696
|
+
return recipient ? ["notify", channel, message, recipient] : ["notify", channel, message];
|
|
697
|
+
}
|
|
698
|
+
function ref(binding, selector) {
|
|
699
|
+
return selector ? ["ref", binding, selector] : ["ref", binding];
|
|
700
|
+
}
|
|
701
|
+
function deref(binding, selector) {
|
|
702
|
+
return selector ? ["deref", binding, selector] : ["deref", binding];
|
|
703
|
+
}
|
|
704
|
+
function swap(binding, transform) {
|
|
705
|
+
return ["swap!", binding, transform];
|
|
706
|
+
}
|
|
707
|
+
function watch(binding, event, options) {
|
|
708
|
+
return options ? ["watch", binding, event, options] : ["watch", binding, event];
|
|
709
|
+
}
|
|
710
|
+
function atomic(...effects) {
|
|
711
|
+
return ["atomic", ...effects];
|
|
712
|
+
}
|
|
713
|
+
|
|
709
714
|
// src/types/state-machine.ts
|
|
710
715
|
var StateSchema = z.object({
|
|
711
716
|
name: z.string().min(1, "State name is required"),
|
|
@@ -1011,12 +1016,9 @@ var TraitReferenceSchema = z.object({
|
|
|
1011
1016
|
// through to the recursive TraitConfigValue union.
|
|
1012
1017
|
config: z.record(z.union([ConfigFieldDeclarationSchema, TraitConfigValueSchema])).optional(),
|
|
1013
1018
|
appliesTo: z.array(z.string()).optional(),
|
|
1014
|
-
// Phase F.7:
|
|
1015
|
-
//
|
|
1016
|
-
|
|
1017
|
-
// pasted in are already-resolved structured definitions, not nested
|
|
1018
|
-
// overrides.
|
|
1019
|
-
listens: z.array(z.unknown()).optional(),
|
|
1019
|
+
// Phase F.7: caller-supplied listen entries are already-resolved
|
|
1020
|
+
// structured definitions (see `TraitReference.listens`).
|
|
1021
|
+
listens: z.array(TraitEventListenerSchema).optional(),
|
|
1020
1022
|
emitsScope: z.enum(["internal", "external"]).optional(),
|
|
1021
1023
|
// Phase F.8: per-transition effects override. The keys are event
|
|
1022
1024
|
// names (the transition triggers AFTER renames); values are SExpr
|
|
@@ -1038,6 +1040,22 @@ var TraitReferenceSchema = z.object({
|
|
|
1038
1040
|
path: ["events"]
|
|
1039
1041
|
}
|
|
1040
1042
|
);
|
|
1043
|
+
var TraitUIBindingSchema = z.record(
|
|
1044
|
+
z.object({
|
|
1045
|
+
presentation: z.enum(["modal", "drawer", "popover", "inline", "confirm-dialog"]),
|
|
1046
|
+
content: z.union([z.record(JsonValueSchema), z.array(z.record(JsonValueSchema))]),
|
|
1047
|
+
props: z.object({
|
|
1048
|
+
size: z.enum(["sm", "md", "lg", "xl", "full"]).optional(),
|
|
1049
|
+
position: z.enum(["left", "right", "top", "bottom", "center"]).optional(),
|
|
1050
|
+
title: z.string().optional(),
|
|
1051
|
+
closable: z.boolean().optional(),
|
|
1052
|
+
width: z.string().optional(),
|
|
1053
|
+
showProgress: z.boolean().optional(),
|
|
1054
|
+
step: z.number().optional(),
|
|
1055
|
+
totalSteps: z.number().optional()
|
|
1056
|
+
}).optional()
|
|
1057
|
+
})
|
|
1058
|
+
);
|
|
1041
1059
|
var TraitScopeSchema = z.enum(["instance", "collection"]);
|
|
1042
1060
|
var EntityFieldContractSchema = z.object({
|
|
1043
1061
|
requires: z.array(z.string()),
|
|
@@ -1071,7 +1089,7 @@ var TraitSchema = z.object({
|
|
|
1071
1089
|
ticks: z.array(TraitTickSchema).optional(),
|
|
1072
1090
|
emits: z.array(TraitEventContractSchema).optional(),
|
|
1073
1091
|
listens: z.array(TraitEventListenerSchema).optional(),
|
|
1074
|
-
ui:
|
|
1092
|
+
ui: TraitUIBindingSchema.optional(),
|
|
1075
1093
|
config: DeclaredTraitConfigSchema.optional(),
|
|
1076
1094
|
sourceBehavior: SourceBehaviorMetadataSchema.optional(),
|
|
1077
1095
|
sourceEntityDefinition: EntitySchema.optional()
|
|
@@ -1925,6 +1943,29 @@ var BINDING_CONTEXT_RULES = {
|
|
|
1925
1943
|
description: "Ticks can access entity fields, current state, time, trait config (@config.X) for parameterized atoms, and the authenticated user context (@user.id, @user.role). Same substitution semantics as guards/effects."
|
|
1926
1944
|
}
|
|
1927
1945
|
};
|
|
1946
|
+
var RENDER_BINDING_MARKER = "$renderBinding";
|
|
1947
|
+
function isRenderBindingMarker(value) {
|
|
1948
|
+
return typeof value === "object" && value !== null && !Array.isArray(value) && RENDER_BINDING_MARKER in value && value[RENDER_BINDING_MARKER] === true;
|
|
1949
|
+
}
|
|
1950
|
+
var ENTITY_BINDING_RE = /@entity(?=[.\[\]]|$)/;
|
|
1951
|
+
var PAYLOAD_BINDING_RE = /@(?:callsitePayload|payload)(?=[.\[\]]|$)/;
|
|
1952
|
+
function containsEntityBinding(value) {
|
|
1953
|
+
if (typeof value === "string") return ENTITY_BINDING_RE.test(value);
|
|
1954
|
+
if (Array.isArray(value)) return value.some(containsEntityBinding);
|
|
1955
|
+
if (value !== null && typeof value === "object") {
|
|
1956
|
+
if (isRenderBindingMarker(value)) return true;
|
|
1957
|
+
return Object.values(value).some(containsEntityBinding);
|
|
1958
|
+
}
|
|
1959
|
+
return false;
|
|
1960
|
+
}
|
|
1961
|
+
function containsPayloadBinding(value) {
|
|
1962
|
+
if (typeof value === "string") return PAYLOAD_BINDING_RE.test(value);
|
|
1963
|
+
if (Array.isArray(value)) return value.some(containsPayloadBinding);
|
|
1964
|
+
if (value !== null && typeof value === "object") {
|
|
1965
|
+
return Object.values(value).some(containsPayloadBinding);
|
|
1966
|
+
}
|
|
1967
|
+
return false;
|
|
1968
|
+
}
|
|
1928
1969
|
function validateBindingInContext(binding, context) {
|
|
1929
1970
|
const rules = BINDING_CONTEXT_RULES[context];
|
|
1930
1971
|
if (binding.type === "core") {
|
|
@@ -1987,31 +2028,36 @@ function normalizeUserContext(claims) {
|
|
|
1987
2028
|
if (typeof claims.email === "string" && claims.email.length > 0) user.email = claims.email;
|
|
1988
2029
|
return user;
|
|
1989
2030
|
}
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
2031
|
+
function personaFromIdentityRow(row) {
|
|
2032
|
+
const id = row["id"];
|
|
2033
|
+
if (typeof id !== "string" || id.length === 0) return void 0;
|
|
2034
|
+
const persona = { id };
|
|
2035
|
+
for (const [key, value] of Object.entries(row)) {
|
|
2036
|
+
if (key === "id" || value === void 0) continue;
|
|
2037
|
+
persona[key] = value;
|
|
2038
|
+
}
|
|
2039
|
+
return persona;
|
|
2040
|
+
}
|
|
1996
2041
|
var DEFAULT_VIEWER = {
|
|
1997
2042
|
id: "viewer-1",
|
|
1998
2043
|
name: "Dev Viewer",
|
|
1999
2044
|
email: "viewer@example.com",
|
|
2000
2045
|
role: ""
|
|
2001
2046
|
};
|
|
2002
|
-
function
|
|
2003
|
-
return
|
|
2047
|
+
function findPersonaInRoster(roster, idOrRole) {
|
|
2048
|
+
return roster.find((p) => p.id === idOrRole) ?? roster.find((p) => p.role === idOrRole);
|
|
2004
2049
|
}
|
|
2005
|
-
function resolvePersonaSpec(spec) {
|
|
2050
|
+
function resolvePersonaSpec(spec, roster) {
|
|
2006
2051
|
const raw = spec.trim();
|
|
2007
2052
|
if (!raw.startsWith("{")) {
|
|
2008
|
-
const
|
|
2009
|
-
if (!
|
|
2053
|
+
const declared = findPersonaInRoster(roster, raw);
|
|
2054
|
+
if (!declared) {
|
|
2055
|
+
const known = roster.map((p) => `${p.id}/${p.role ?? "-"}`).join(", ");
|
|
2010
2056
|
throw new Error(
|
|
2011
|
-
`Persona "${raw}" is not a
|
|
2057
|
+
`Persona "${raw}" is not a declared persona id or role. ` + (roster.length > 0 ? `Known: ${known}` : "This app declares no [identity] entity, so only the JSON persona form is accepted.")
|
|
2012
2058
|
);
|
|
2013
2059
|
}
|
|
2014
|
-
return
|
|
2060
|
+
return declared;
|
|
2015
2061
|
}
|
|
2016
2062
|
let claims;
|
|
2017
2063
|
try {
|
|
@@ -2106,7 +2152,7 @@ function getInteractionModelForDomain(domain) {
|
|
|
2106
2152
|
// src/patterns/patterns-registry.json
|
|
2107
2153
|
var patterns_registry_default = {
|
|
2108
2154
|
version: "1.0.0",
|
|
2109
|
-
exportedAt: "2026-07-
|
|
2155
|
+
exportedAt: "2026-07-29T19:32:01.461Z",
|
|
2110
2156
|
patterns: {
|
|
2111
2157
|
"entity-table": {
|
|
2112
2158
|
type: "entity-table",
|
|
@@ -10601,6 +10647,25 @@ var patterns_registry_default = {
|
|
|
10601
10647
|
description: "Show arrow",
|
|
10602
10648
|
default: true
|
|
10603
10649
|
},
|
|
10650
|
+
open: {
|
|
10651
|
+
types: [
|
|
10652
|
+
"boolean"
|
|
10653
|
+
],
|
|
10654
|
+
description: "Controlled open state. When set, the host owns visibility and the popover reports intent through onOpenChange instead of toggling itself."
|
|
10655
|
+
},
|
|
10656
|
+
onOpenChange: {
|
|
10657
|
+
types: [
|
|
10658
|
+
"function"
|
|
10659
|
+
],
|
|
10660
|
+
description: "Fired when the popover wants to change visibility (trigger click, outside click)",
|
|
10661
|
+
kind: "callback",
|
|
10662
|
+
callbackArgs: [
|
|
10663
|
+
{
|
|
10664
|
+
name: "open",
|
|
10665
|
+
type: "boolean"
|
|
10666
|
+
}
|
|
10667
|
+
]
|
|
10668
|
+
},
|
|
10604
10669
|
className: {
|
|
10605
10670
|
types: [
|
|
10606
10671
|
"string"
|
|
@@ -35653,6 +35718,13 @@ var patterns_registry_default = {
|
|
|
35653
35718
|
],
|
|
35654
35719
|
description: 'Max inline action buttons before the rest collapse into a "\u22EF" overflow menu. Omit = all inline.'
|
|
35655
35720
|
},
|
|
35721
|
+
itemClickEvent: {
|
|
35722
|
+
types: [
|
|
35723
|
+
"string"
|
|
35724
|
+
],
|
|
35725
|
+
description: "When set, the whole row is clickable and emits UI:{itemClickEvent} with { id, row } (action-button clicks stopPropagation so they still win). Mirrors DataList's contract.",
|
|
35726
|
+
kind: "event"
|
|
35727
|
+
},
|
|
35656
35728
|
selectable: {
|
|
35657
35729
|
types: [
|
|
35658
35730
|
"boolean"
|
|
@@ -37171,9 +37243,22 @@ var patterns_registry_default = {
|
|
|
37171
37243
|
types: [
|
|
37172
37244
|
"number"
|
|
37173
37245
|
],
|
|
37174
|
-
description: "Render scale (
|
|
37246
|
+
description: "Render scale, legacy-squared semantics: on-screen cell \u2248 `256 \xD7 scale\xB2` px (the authored contract every board tuned its value for). Converted internally to the single camera zoom against the board's native tile width, so the cell pitch follows the asset while the on-screen size stays as authored. Ignored when `fit` is on; passed through raw for `free`/`side` (world-pixel-direct).",
|
|
37175
37247
|
default: 0.4
|
|
37176
37248
|
},
|
|
37249
|
+
tileWidth: {
|
|
37250
|
+
types: [
|
|
37251
|
+
"number"
|
|
37252
|
+
],
|
|
37253
|
+
description: "Native tile/cell width in source px for this board's asset (e.g. 16 for Kenney tiny-dungeon, ~128 for iso blocks). The grid cell pitch follows the asset, so tile textures map 1:1 (crisp, no stretch). Defaults to the detected atlas tile width, else 256."
|
|
37254
|
+
},
|
|
37255
|
+
fit: {
|
|
37256
|
+
types: [
|
|
37257
|
+
"boolean"
|
|
37258
|
+
],
|
|
37259
|
+
description: "Auto-fit the board's grid extent to the viewport (default false \u2014 boards render at their authored `scale` and overflow \u2192 pan). Opt in for whole-board-overview boards. User wheel/pinch zoom always wins after the initial fit.",
|
|
37260
|
+
default: false
|
|
37261
|
+
},
|
|
37177
37262
|
showMinimap: {
|
|
37178
37263
|
types: [
|
|
37179
37264
|
"boolean"
|
|
@@ -41609,13 +41694,13 @@ var patterns_registry_default = {
|
|
|
41609
41694
|
types: [
|
|
41610
41695
|
"number"
|
|
41611
41696
|
],
|
|
41612
|
-
description: "Draw width in world units (fractions of `projector.tileWidth`)
|
|
41697
|
+
description: "Draw width in world units (fractions of `projector.tileWidth`). Omitted \u2192 one cell on tile grids (`flat`/`iso`/`hex`); native source px on `free`/`side`."
|
|
41613
41698
|
},
|
|
41614
41699
|
height: {
|
|
41615
41700
|
types: [
|
|
41616
41701
|
"number"
|
|
41617
41702
|
],
|
|
41618
|
-
description: "Draw height in world units (fractions of `projector.tileWidth`)
|
|
41703
|
+
description: "Draw height in world units (fractions of `projector.tileWidth`). Omitted \u2192 one cell on tile grids (`flat`/`iso`/`hex`); native source px on `free`/`side`."
|
|
41619
41704
|
},
|
|
41620
41705
|
frame: {
|
|
41621
41706
|
types: [
|
|
@@ -42358,6 +42443,18 @@ var patterns_registry_default = {
|
|
|
42358
42443
|
],
|
|
42359
42444
|
description: "Minimap overlay (2D)."
|
|
42360
42445
|
},
|
|
42446
|
+
fit: {
|
|
42447
|
+
types: [
|
|
42448
|
+
"boolean"
|
|
42449
|
+
],
|
|
42450
|
+
description: "Auto-fit the board's grid extent to the viewport (2D grid layouts; default false \u2014 boards render at their authored `camera.zoom` scale)."
|
|
42451
|
+
},
|
|
42452
|
+
tileWidth: {
|
|
42453
|
+
types: [
|
|
42454
|
+
"number"
|
|
42455
|
+
],
|
|
42456
|
+
description: "Native tile/cell width in source px of the board's asset (2D grid layouts; defaults to the detected atlas tile width, else 256)."
|
|
42457
|
+
},
|
|
42361
42458
|
backgroundImage: {
|
|
42362
42459
|
types: [
|
|
42363
42460
|
"asset",
|
|
@@ -43138,6 +43235,60 @@ var patterns_registry_default = {
|
|
|
43138
43235
|
},
|
|
43139
43236
|
drawable: true,
|
|
43140
43237
|
drawHost: true
|
|
43238
|
+
},
|
|
43239
|
+
"emoji-picker": {
|
|
43240
|
+
type: "emoji-picker",
|
|
43241
|
+
category: "component",
|
|
43242
|
+
tier: "molecules",
|
|
43243
|
+
family: "core",
|
|
43244
|
+
description: "EmojiPicker component",
|
|
43245
|
+
suggestedFor: [
|
|
43246
|
+
"emoji",
|
|
43247
|
+
"picker",
|
|
43248
|
+
"emoji picker"
|
|
43249
|
+
],
|
|
43250
|
+
typicalSize: "medium",
|
|
43251
|
+
propsSchema: {
|
|
43252
|
+
pickEvent: {
|
|
43253
|
+
types: [
|
|
43254
|
+
"string"
|
|
43255
|
+
],
|
|
43256
|
+
description: "Declarative event name \u2014 picking an emoji emits UI:{pickEvent} with { emoji } via eventBus",
|
|
43257
|
+
kind: "event"
|
|
43258
|
+
},
|
|
43259
|
+
position: {
|
|
43260
|
+
types: [
|
|
43261
|
+
"string"
|
|
43262
|
+
],
|
|
43263
|
+
description: "Which side of the trigger the panel opens on",
|
|
43264
|
+
enumValues: [
|
|
43265
|
+
"top",
|
|
43266
|
+
"bottom"
|
|
43267
|
+
],
|
|
43268
|
+
default: "top"
|
|
43269
|
+
},
|
|
43270
|
+
triggerIcon: {
|
|
43271
|
+
types: [
|
|
43272
|
+
"icon",
|
|
43273
|
+
"string"
|
|
43274
|
+
],
|
|
43275
|
+
description: "Icon shown on the trigger button",
|
|
43276
|
+
default: "smile"
|
|
43277
|
+
},
|
|
43278
|
+
triggerLabel: {
|
|
43279
|
+
types: [
|
|
43280
|
+
"string"
|
|
43281
|
+
],
|
|
43282
|
+
description: "Accessible label for the trigger button",
|
|
43283
|
+
default: "Add emoji"
|
|
43284
|
+
},
|
|
43285
|
+
className: {
|
|
43286
|
+
types: [
|
|
43287
|
+
"string"
|
|
43288
|
+
],
|
|
43289
|
+
description: "Additional CSS classes applied to the trigger button"
|
|
43290
|
+
}
|
|
43291
|
+
}
|
|
43141
43292
|
}
|
|
43142
43293
|
},
|
|
43143
43294
|
categories: [
|
|
@@ -44059,7 +44210,7 @@ var integrators_registry_default = {
|
|
|
44059
44210
|
// src/patterns/component-mapping.json
|
|
44060
44211
|
var component_mapping_default = {
|
|
44061
44212
|
version: "1.0.0",
|
|
44062
|
-
exportedAt: "2026-07-
|
|
44213
|
+
exportedAt: "2026-07-29T19:32:01.461Z",
|
|
44063
44214
|
mappings: {
|
|
44064
44215
|
"page-header": {
|
|
44065
44216
|
component: "PageHeader",
|
|
@@ -45437,6 +45588,11 @@ var component_mapping_default = {
|
|
|
45437
45588
|
component: "DrawGroup",
|
|
45438
45589
|
importPath: "@/components/game/atoms/DrawGroup",
|
|
45439
45590
|
category: "game"
|
|
45591
|
+
},
|
|
45592
|
+
"emoji-picker": {
|
|
45593
|
+
component: "EmojiPicker",
|
|
45594
|
+
importPath: "@/components/core/molecules/EmojiPicker",
|
|
45595
|
+
category: "component"
|
|
45440
45596
|
}
|
|
45441
45597
|
}
|
|
45442
45598
|
};
|
|
@@ -45444,7 +45600,7 @@ var component_mapping_default = {
|
|
|
45444
45600
|
// src/patterns/event-contracts.json
|
|
45445
45601
|
var event_contracts_default = {
|
|
45446
45602
|
version: "1.0.0",
|
|
45447
|
-
exportedAt: "2026-07-
|
|
45603
|
+
exportedAt: "2026-07-29T19:32:01.461Z",
|
|
45448
45604
|
contracts: {
|
|
45449
45605
|
form: {
|
|
45450
45606
|
emits: [
|
|
@@ -46684,6 +46840,7 @@ var PATTERN_TYPES = [
|
|
|
46684
46840
|
"drawer",
|
|
46685
46841
|
"drawer-slot",
|
|
46686
46842
|
"edge-decoration",
|
|
46843
|
+
"emoji-picker",
|
|
46687
46844
|
"empty-state",
|
|
46688
46845
|
"entity-cards",
|
|
46689
46846
|
"entity-list",
|
|
@@ -50464,6 +50621,6 @@ function mergeEntityFrame(current, orderedWrites) {
|
|
|
50464
50621
|
return next;
|
|
50465
50622
|
}
|
|
50466
50623
|
|
|
50467
|
-
export { AGENT_DOMAIN_CATEGORIES, ALLOWED_CUSTOM_COMPONENTS, ANIMATION_NAMES, ANONYMOUS_USER, ASSET_ASPECTS, ASSET_DIMENSIONS, AgentDomainCategorySchema, AnimationDefSchema, AnimationNameSchema, AssetAspectSchema, AssetCatalogEntrySchema, AssetCatalogSchema, AssetDimensionSchema, AssetSchema, BINDING_CONTEXT_RULES, BINDING_DOCS, BINDING_ROOTS, BindingSchema, CAMERA_MODES, COMPONENT_MAPPING, CONFIG_REF_EVENT_PATTERN, CORE_BINDINGS, CameraModeSchema, CameraSchema, ColorSliceSchema, ColorTokensSchema, ComputedEventContractSchema, ComputedEventListenerSchema, ConfigFieldDeclarationSchema, ConfigProvenanceRecordSchema, CustomPatternDefinitionSchema, CustomPatternMapSchema, DEFAULT_INTERACTION_MODELS, DEFAULT_VIEWER, DEV_TOKEN_PREFIX, DeclaredTraitConfigSchema, DensitySliceSchema, DensityTokensSchema, DesignPreferencesSchema, DesignTokensSchema, DomainCategorySchema, DomainContextSchema, DomainVocabularySchema, ENTITY_ROLES, EVENT_CONTRACTS, EffectSchema, ElevationSliceSchema, ElevationTokensSchema, EntityCallSchema, EntityFieldContractSchema, EntityFieldSchema, EntityIdSchema, EntityPersistenceSchema, EntityRefSchema, EntityRefStringSchema, EntityRoleSchema, EntitySchema, EntitySemanticRoleSchema, EventIdSchema, EventListenerSchema, EventPayloadFieldSchema, EventSchema, EventScopeSchema, EventSemanticRoleSchema, EventSourceSchema, ExpressionSchema, FIELD_TYPES, FieldSchema, FieldTypeSchema, GameSubCategorySchema, GeometrySliceSchema, GeometryTokensSchema, GuardSchema, INTEGRATORS_REGISTRY, IconFamilySchema, IconographySliceSchema, IconographyTokensSchema, IdentityLedgerSchema, IllustrationSliceSchema, IllustrationStyleSchema, IllustrationTokensSchema, InteractionModelSchema, KNOWN_VALIDATION_ERROR_CODES, LedgerEntrySchema, LedgerKindSchema, ListenSourceSchema,
|
|
50624
|
+
export { AGENT_DOMAIN_CATEGORIES, ALLOWED_CUSTOM_COMPONENTS, ANIMATION_NAMES, ANONYMOUS_USER, ASSET_ASPECTS, ASSET_DIMENSIONS, AgentDomainCategorySchema, AnimationDefSchema, AnimationNameSchema, AssetAspectSchema, AssetCatalogEntrySchema, AssetCatalogSchema, AssetDimensionSchema, AssetSchema, BINDING_CONTEXT_RULES, BINDING_DOCS, BINDING_ROOTS, BindingSchema, CAMERA_MODES, COMPONENT_MAPPING, CONFIG_REF_EVENT_PATTERN, CORE_BINDINGS, CameraModeSchema, CameraSchema, ColorSliceSchema, ColorTokensSchema, ComputedEventContractSchema, ComputedEventListenerSchema, ConfigFieldDeclarationSchema, ConfigProvenanceRecordSchema, CustomPatternDefinitionSchema, CustomPatternMapSchema, DEFAULT_INTERACTION_MODELS, DEFAULT_VIEWER, DEV_TOKEN_PREFIX, DeclaredTraitConfigSchema, DensitySliceSchema, DensityTokensSchema, DesignPreferencesSchema, DesignTokensSchema, DomainCategorySchema, DomainContextSchema, DomainVocabularySchema, ENTITY_ROLES, EVENT_CONTRACTS, EffectSchema, ElevationSliceSchema, ElevationTokensSchema, EntityCallSchema, EntityFieldContractSchema, EntityFieldSchema, EntityIdSchema, EntityPersistenceSchema, EntityRefSchema, EntityRefStringSchema, EntityRoleSchema, EntitySchema, EntitySemanticRoleSchema, EventIdSchema, EventListenerSchema, EventPayloadFieldSchema, EventSchema, EventScopeSchema, EventSemanticRoleSchema, EventSourceSchema, ExpressionSchema, FIELD_TYPES, FieldSchema, FieldTypeSchema, GameSubCategorySchema, GeometrySliceSchema, GeometryTokensSchema, GuardSchema, INTEGRATORS_REGISTRY, IconFamilySchema, IconographySliceSchema, IconographyTokensSchema, IdentityLedgerSchema, IllustrationSliceSchema, IllustrationStyleSchema, IllustrationTokensSchema, InteractionModelSchema, KNOWN_VALIDATION_ERROR_CODES, LedgerEntrySchema, LedgerKindSchema, ListenSourceSchema, McpServiceDefSchema, MotionDurationKeySchema, MotionDurationPaletteSchema, MotionEasingKeySchema, MotionEasingPaletteSchema, MotionIntentMapSchema, MotionIntentSchema, MotionSliceSchema, MotionTokensSchema, NodeClassificationSchema, OrbitalConfigSchema, OrbitalDefinitionSchema, OrbitalEntitySchema, OrbitalIdSchema, OrbitalPageSchema, OrbitalPageStrictSchema, OrbitalSchemaSchema, OrbitalTraitRefSchema, OrbitalUnitSchema, OrbitalSchema as OrbitalZodSchema, PATTERN_REGISTRY, PATTERN_TYPES, PageIdSchema, PageRefObjectSchema, PageRefSchema, PageRefStringSchema, PageSchema, PageTraitRefSchema, PaletteEntryIdSchema, PatternTypeSchema, PayloadFieldSchema, REFERENCE_CONFIG_TYPES, RENDER_BINDING_MARKER, RelatedLinkSchema, RelationConfigSchema, RequiredFieldSchema, RestAuthConfigSchema, RestServiceDefSchema, SECRET_CONFIG_TYPES, SEMANTIC_STRING_TYPES, SERVICE_TYPES, SExprAtomSchema, SExprDataSchema, SExprSchema, SPRITE_DIRECTIONS, ScenePosSchema, SchemaMetadataSchema, SemanticAssetRefSchema, ServiceDefinitionSchema, ServiceIdSchema, ServiceRefObjectSchema, ServiceRefSchema, ServiceRefStringSchema, ServiceTypeSchema, SkinSpecSchema, SocketEventsSchema, SocketServiceDefSchema, SpacingScaleSchema, SpriteDirectionSchema, SpriteSheetAtlasSchema, StateMachineSchema, StateSchema, StateSemanticRoleSchema, SubTextureSchema, SuggestedGuardSchema, TextureAtlasSchema, ThemeDefinitionSchema, ThemeIdSchema, ThemeRefSchema, ThemeRefStringSchema, ThemeTokensSchema, ThemeVariantSchema, TickIntervalSchema, TilesheetSchema, TraitCategorySchema, TraitConfigSchema, TraitConfigValueSchema, TraitDataEntitySchema, TraitEntityFieldSchema, TraitEventContractSchema, TraitEventListenerSchema, TraitFieldRefSchema, TraitIdSchema, TraitRefSchema, TraitReferenceSchema, TraitSchema, TraitTickSchema, TraitUIBindingSchema, TransitionSchema, TypeIntentMapSchema, TypeIntentSchema, TypeScaleEntrySchema, TypeScaleSchema, TypeScaleTokensSchema, TypeSizeKeySchema, TypeSliceSchema, TypeSlotSchema, TypeWeightSchema, UISlotSchema, UI_SLOTS, UXHintsSchema, UseDeclarationSchema, UserPersonaSchema, VISUAL_STYLES, ViewTypeSchema, VisualStyleSchema, answerToMutations, answersToMutations, applyEventWiring, applyFactoryCallPlanMutation, applyListenPayloadMapping, applyRenderOverlay, asEntityId, asEventId, asOrbitalId, asPageId, asPaletteEntryId, asServiceId, asThemeId, asTraitId, atomic, buildEdgeCoveringWalk, buildGuardPayloads, buildRecommendationContext, buildReplayPaths, buildResolvedTraitConfigs, buildStateGraph, callService, categorizeRemovals, classifyWorkflow, clearSchemaCache, collectBindings, collectEmbeddedTraitReferrers, collectReachableStates, collectRenderUiPatternTypes, collectTraitConfigRefAdjacency, collectTraitEmbedAdjacency, component_mapping_default as componentMapping, composeBehaviors, configRefEventKnob, constTruth, containsEntityBinding, containsPayloadBinding, contractFieldName, createAssetKey, createEmptyResolvedPage, createEmptyResolvedTrait, createLazyService, createResolvedField, createTypedEventBus, decodeDevIdentityToken, deref, deriveCollection, deriveInputType, describeTensorMismatch, despawn, detectLayoutStrategy, detectPageContentReduction, diffFactoryCalls, diffOrbitalSchemas, diffSchemaSemantics, diffSchemas, doEffects, emit, encodeDevIdentityToken, event_contracts_default as eventContracts, extractPayloadFieldRef, findCompatiblePatterns, findPersonaInRoster, findService, fingerprintNode, formatRecommendationsForPrompt, gatherTensorLastDim, generatePatternDescription, generateQuestions, getAllPatternTypes, getArgs, getBindingExamples, getComponentForPattern, getDefaultAnimationsForRole, getEmittedEvents, getEntity, getEntityCardinality, getInteractionModelForDomain, getOperator, getOrbAllowedPatterns, getOrbAllowedPatternsCompact, getOrbAllowedPatternsFiltered, getOrbAllowedPatternsSlim, getPage, getPages, getPatternActionsRef, getPatternDefinition, getPatternMetadata, getPatternPropsCompact, getPatternsGroupedByCategory, getRemovals, getSchemaCacheStats, getServiceNames, getTrait, getTraitConfig, getTraitName, hasService, hasSignificantPageReduction, idKindOf, idPrefix, inferTsType, insertChildAtPath, integrators_registry_default as integratorsRegistry, isBinding, isCallSiteConfigDeclaration, isCircuitEvent, isContentBodyPattern, isContentBodyPatternType, isDestructiveChange, isDrawHostPattern, isDrawablePattern, isEffect, isEmailValue, isEntityAwarePattern, isEntityCall, isEntityId, isEntityReference, isEntityReferenceAny, isEventId, isEventPayloadValue, isFieldValue, isImportedTraitRef, isInlineTrait, isJsonArray, isJsonObject, isJsonPrimitive, isKnownValidationErrorCode, isMainSlotRenderUi, isMcpService, isOrbitalDefinition, isOrbitalId, isPageId, isPageReference, isPageReferenceObject, isPageReferenceString, isPaletteEntryId, isPhoneValue, isPlanSnapshot, isReferenceConfigType, isRenderBindingMarker, isResolvedIR, isRestService, isRuntimeEntity, isSExpr, isSExprAtom, isSExprCall, isSExprEffect, isSecretConfigType, isSemanticStringType, isSemanticStringValue, isServiceId, isServiceReference, isServiceReferenceObject, isSessionHistoryEntry, isSocketService, isTensorValue, isThemeId, isThemeReference, isTraitFieldRef, isTraitId, isUrlValue, isUuidValue, isValidBinding, isValidPatternType, ledgerCurName, ledgerRename, ledgerResolveName, mapTensorLastDim, mergeEntityFrame, mintId, navigate, navigatePatternPath, normalizeCallSiteConfigToValues, normalizeTraitRef, normalizeUserContext, notify, parseAssetKey, parseBinding, parseEntityRef, parseImportedTraitRef, parseOrbitalSchema, parsePageRef, parseServiceRef, patterns_registry_default as patternsRegistry, persist, persistenceModeAllowsOverrides, personaFromIdentityRow, recommendPatterns, ref, registry, removeChildAtPath, renderUI, renderUiPatternTypesOf, replaceChildAtPath, requiresConfirmation, resolveConfigRefEventName, resolvePersonaSpec, safeParseOrbitalSchema, schemaToIR, set, setPropAtPath, sexpr, spawn, summarizeOrbital, summarizeSchema, swap, tensorLastDimSize, tensorShape, toBindingRoot, traitDeclaresConfigForward, translateOverlaysToParams, validateAssetAnimations, validateBindingInContext, validateContract, walkSExpr, walkStatePairs, watch, widenTier };
|
|
50468
50625
|
//# sourceMappingURL=index.js.map
|
|
50469
50626
|
//# sourceMappingURL=index.js.map
|