@neocompose/cli 0.10.0 → 0.10.2
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/CHANGELOG.md +27 -1
- package/dist/neo.mjs +126 -81
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,35 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [
|
|
3
|
+
## [0.10.2] - 2026-07-25
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- Read `required` and an override's `extendsMemberId` from source instead of
|
|
8
|
+
carrying the pulled value forward. A member whose stored `required`
|
|
9
|
+
contradicted its own return type, and an override pointing past the member
|
|
10
|
+
it directly overrides, are corrected on the next push.
|
|
11
|
+
- Persist a class's `schemaKeyOrder` only where the declaration order differs
|
|
12
|
+
from the one its schema map already implies. An equivalent order is stored
|
|
13
|
+
as absent rather than spelled out, and the answer no longer depends on
|
|
14
|
+
having pulled the class.
|
|
15
|
+
- Restore the server-owned envelope on reconstructed records before
|
|
16
|
+
prospective animation validation, so a workspace with animation schema no
|
|
17
|
+
longer reports every class as malformed. Validation failures now name the
|
|
18
|
+
offending record.
|
|
19
|
+
|
|
20
|
+
## [0.10.1] - 2026-07-25
|
|
4
21
|
|
|
5
22
|
### Changed
|
|
6
23
|
|
|
24
|
+
- Derive a collection's hidden entry member id from the member that declares
|
|
25
|
+
it, instead of carrying it forward from the manifest cache. A workspace that
|
|
26
|
+
pushes without `neo/obj/` no longer re-mints every list and dictionary entry
|
|
27
|
+
member, and any workspace declaring the same collection reproduces the same
|
|
28
|
+
id. Every override in a collection family resolves to its declaring member's
|
|
29
|
+
one entry, which is what the hardcoded world entry-id table used to
|
|
30
|
+
approximate; an override that tries to change a collection's element type is
|
|
31
|
+
now an error rather than a silent collapse onto whichever member lowered
|
|
32
|
+
first.
|
|
7
33
|
- Document the final relation-only world layer-link contract and keep the
|
|
8
34
|
format-4 Hello World corpus free of the retired value-side binding field.
|
|
9
35
|
|
package/dist/neo.mjs
CHANGED
|
@@ -28844,6 +28844,19 @@ var init_ui_action_source = __esm({
|
|
|
28844
28844
|
}
|
|
28845
28845
|
});
|
|
28846
28846
|
|
|
28847
|
+
// ../src/models/members/entry-member-id.ts
|
|
28848
|
+
function derivedEntryMemberId(declaringMemberId) {
|
|
28849
|
+
return v5_default(declaringMemberId, NEO_ENTRY_MEMBER_NAMESPACE);
|
|
28850
|
+
}
|
|
28851
|
+
var NEO_ENTRY_MEMBER_NAMESPACE;
|
|
28852
|
+
var init_entry_member_id = __esm({
|
|
28853
|
+
"../src/models/members/entry-member-id.ts"() {
|
|
28854
|
+
"use strict";
|
|
28855
|
+
init_dist_node();
|
|
28856
|
+
NEO_ENTRY_MEMBER_NAMESPACE = "4d1c4a2f-1a0f-5f3e-9a5c-2b7d6e8f0c31";
|
|
28857
|
+
}
|
|
28858
|
+
});
|
|
28859
|
+
|
|
28847
28860
|
// src/project-source/lower-members.ts
|
|
28848
28861
|
function lowerClass(context, declaration) {
|
|
28849
28862
|
const id2 = materializedId(declaration, "class", declaration.name);
|
|
@@ -28902,11 +28915,7 @@ function lowerClass(context, declaration) {
|
|
|
28902
28915
|
selectionSpan: span(parameter3.identity)
|
|
28903
28916
|
};
|
|
28904
28917
|
});
|
|
28905
|
-
const
|
|
28906
|
-
const baseOwnOrder = baseEffectiveOrder.filter(
|
|
28907
|
-
(name) => Object.hasOwn(base?.schema ?? {}, name)
|
|
28908
|
-
);
|
|
28909
|
-
const persistedSchemaOrder = base && JSON.stringify(baseOwnOrder) === JSON.stringify(schemaKeyOrder) ? base.schemaKeyOrder : schemaKeyOrder;
|
|
28918
|
+
const persistedSchemaOrder = isImpliedSchemaKeyOrder(schemaKeyOrder) ? null : schemaKeyOrder;
|
|
28910
28919
|
return {
|
|
28911
28920
|
id: id2,
|
|
28912
28921
|
source: sourceIdentity2(declaration, "class", declaration.name),
|
|
@@ -29107,7 +29116,7 @@ function projectSchemaJsonValue(value) {
|
|
|
29107
29116
|
}
|
|
29108
29117
|
function memberCommon(context, ownerClass, declaration, id2, owner, base) {
|
|
29109
29118
|
const storage = annotation(declaration.annotations, "storage");
|
|
29110
|
-
const inheritedId = declaration.modifiers.includes("override") || declaration.modifiers.includes("sealed") ?
|
|
29119
|
+
const inheritedId = declaration.modifiers.includes("override") || declaration.modifiers.includes("sealed") ? inheritedMemberId(context, ownerClass, declaration.name) : null;
|
|
29111
29120
|
return {
|
|
29112
29121
|
id: id2,
|
|
29113
29122
|
source: sourceIdentity2(declaration, "member", declaration.name),
|
|
@@ -29122,7 +29131,10 @@ function memberCommon(context, ownerClass, declaration, id2, owner, base) {
|
|
|
29122
29131
|
accessModifier: owner.kind === "classMember" ? effectiveSourceAccessModifier(declaration.modifiers, "class") : "public",
|
|
29123
29132
|
modifier: memberModifier2(declaration.modifiers, base?.modifier),
|
|
29124
29133
|
locked: hasAnnotation(declaration.annotations, "locked"),
|
|
29125
|
-
|
|
29134
|
+
// Every declaration kind carries a type, and its nullability is the whole
|
|
29135
|
+
// of what `required` means. Properties and getters used to fall back to
|
|
29136
|
+
// the pulled value, which left a fresh workspace calling them optional.
|
|
29137
|
+
required: !declaration.type.nullable,
|
|
29126
29138
|
defaultValue: null,
|
|
29127
29139
|
overrideOf: inheritedId,
|
|
29128
29140
|
system: systemMetadata(declaration.annotations),
|
|
@@ -29271,7 +29283,9 @@ function lowerFieldMember(context, ownerClass, declaration, id2, commonInput, ba
|
|
|
29271
29283
|
multiselect: true
|
|
29272
29284
|
};
|
|
29273
29285
|
}
|
|
29274
|
-
const entryId =
|
|
29286
|
+
const entryId = derivedEntryMemberId(
|
|
29287
|
+
declaringCollectionMemberId(context, id2, common.overrideOf)
|
|
29288
|
+
);
|
|
29275
29289
|
lowerCollectionEntry(context, ownerClass, entryType, entryId, id2);
|
|
29276
29290
|
return {
|
|
29277
29291
|
...common,
|
|
@@ -29288,7 +29302,9 @@ function lowerFieldMember(context, ownerClass, declaration, id2, commonInput, ba
|
|
|
29288
29302
|
}
|
|
29289
29303
|
const keyType = requiredTypeArgument(fieldType, 0);
|
|
29290
29304
|
const entryType = requiredTypeArgument(fieldType, 1);
|
|
29291
|
-
const entryId =
|
|
29305
|
+
const entryId = derivedEntryMemberId(
|
|
29306
|
+
declaringCollectionMemberId(context, id2, common.overrideOf)
|
|
29307
|
+
);
|
|
29292
29308
|
lowerCollectionEntry(context, ownerClass, entryType, entryId, id2);
|
|
29293
29309
|
return {
|
|
29294
29310
|
...common,
|
|
@@ -29413,7 +29429,39 @@ function assertListAnnotationPlacement(ownerClass, declaration, loweredKind) {
|
|
|
29413
29429
|
);
|
|
29414
29430
|
}
|
|
29415
29431
|
}
|
|
29432
|
+
function declaringCollectionMemberId(context, memberId, overrideOf) {
|
|
29433
|
+
const visited = /* @__PURE__ */ new Set([memberId]);
|
|
29434
|
+
let declaring = memberId;
|
|
29435
|
+
let parent = overrideOf;
|
|
29436
|
+
while (parent !== null && !visited.has(parent)) {
|
|
29437
|
+
visited.add(parent);
|
|
29438
|
+
declaring = parent;
|
|
29439
|
+
parent = overrideParentMemberId(context, parent);
|
|
29440
|
+
}
|
|
29441
|
+
return declaring;
|
|
29442
|
+
}
|
|
29443
|
+
function overrideParentMemberId(context, memberId) {
|
|
29444
|
+
const lowered = context.loweredMembers.get(memberId);
|
|
29445
|
+
if (lowered !== void 0) return lowered.overrideOf;
|
|
29446
|
+
const persisted = context.baseMembers.get(memberId);
|
|
29447
|
+
if (persisted !== void 0) return persisted.overrideOf;
|
|
29448
|
+
const placement = context.sourceMembersById.get(memberId);
|
|
29449
|
+
if (placement === void 0) return null;
|
|
29450
|
+
const { ownerClass, member } = placement;
|
|
29451
|
+
const overrides = member.modifiers.includes("override") || member.modifiers.includes("sealed");
|
|
29452
|
+
return overrides ? inheritedMemberId(context, ownerClass, member.name) : null;
|
|
29453
|
+
}
|
|
29416
29454
|
function lowerCollectionEntry(context, ownerClass, entryType, entryId, parentMemberId) {
|
|
29455
|
+
const already = context.entryTypesByEntryId.get(entryId);
|
|
29456
|
+
if (already !== void 0) {
|
|
29457
|
+
if (JSON.stringify(already) !== JSON.stringify(entryType)) {
|
|
29458
|
+
throw new Error(
|
|
29459
|
+
`Collection member ${ownerClass.name}.${parentMemberId} declares entry type ${entryType.name}, but the member it overrides declares ${already.name}. An override cannot change a collection's element type.`
|
|
29460
|
+
);
|
|
29461
|
+
}
|
|
29462
|
+
return;
|
|
29463
|
+
}
|
|
29464
|
+
context.entryTypesByEntryId.set(entryId, entryType);
|
|
29417
29465
|
if (context.loweredMembers.has(entryId)) return;
|
|
29418
29466
|
const base = context.baseMembers.get(entryId);
|
|
29419
29467
|
if (base) {
|
|
@@ -29425,7 +29473,7 @@ function lowerCollectionEntry(context, ownerClass, entryType, entryId, parentMem
|
|
|
29425
29473
|
}
|
|
29426
29474
|
const declaration = {
|
|
29427
29475
|
id: entryId,
|
|
29428
|
-
state:
|
|
29476
|
+
state: "stable",
|
|
29429
29477
|
source: {
|
|
29430
29478
|
uri: ownerClass.source.uri,
|
|
29431
29479
|
range: ownerClass.source.range
|
|
@@ -30112,6 +30160,9 @@ function referenceId(raw) {
|
|
|
30112
30160
|
return null;
|
|
30113
30161
|
}
|
|
30114
30162
|
}
|
|
30163
|
+
function isImpliedSchemaKeyOrder(order) {
|
|
30164
|
+
return order.every((key, index) => index === 0 || order[index - 1] <= key);
|
|
30165
|
+
}
|
|
30115
30166
|
function memberModifier2(modifiers, baseModifier) {
|
|
30116
30167
|
if (modifiers.includes("override")) {
|
|
30117
30168
|
if (modifiers.includes("abstract")) return "abstractOverride";
|
|
@@ -30251,6 +30302,7 @@ var init_lower_members = __esm({
|
|
|
30251
30302
|
init_src();
|
|
30252
30303
|
init_lower_support();
|
|
30253
30304
|
init_ui_action_source();
|
|
30305
|
+
init_entry_member_id();
|
|
30254
30306
|
UNSET_LIST_COLUMN_WIDTH = -1;
|
|
30255
30307
|
primitiveMemberKinds = /* @__PURE__ */ new Set([
|
|
30256
30308
|
"null",
|
|
@@ -30645,6 +30697,7 @@ function lowerProjectSchemaV4(base, analysis, options = {}) {
|
|
|
30645
30697
|
genericParametersByClass,
|
|
30646
30698
|
enumOptionsByName,
|
|
30647
30699
|
loweredMembers: /* @__PURE__ */ new Map(),
|
|
30700
|
+
entryTypesByEntryId: /* @__PURE__ */ new Map(),
|
|
30648
30701
|
placements: /* @__PURE__ */ new Map(),
|
|
30649
30702
|
staticValueIdsBySymbol: options.staticValueIdsBySymbol ?? /* @__PURE__ */ new Map(),
|
|
30650
30703
|
templateIdsByName: new Map(
|
|
@@ -35714,47 +35767,7 @@ function worldAnimationChildOverrideBindingMemberId(classId) {
|
|
|
35714
35767
|
WORLD_ANIMATION_CHILD_OVERRIDE_BINDING_MEMBER_NAMESPACE
|
|
35715
35768
|
);
|
|
35716
35769
|
}
|
|
35717
|
-
|
|
35718
|
-
const baseMemberId = args.extendsMemberId ?? args.id;
|
|
35719
|
-
if (baseMemberId === WORLD_GRID_CHILDREN_MEMBER_ID) {
|
|
35720
|
-
return WORLD_GRID_CHILDREN_ENTRY_MEMBER_ID;
|
|
35721
|
-
}
|
|
35722
|
-
if (baseMemberId === WORLD_OBJECT_CHILDREN_MEMBER_ID) {
|
|
35723
|
-
return WORLD_OBJECT_CHILDREN_ENTRY_MEMBER_ID;
|
|
35724
|
-
}
|
|
35725
|
-
if (baseMemberId === WORLD_OBJECT_PLACEMENT_TILES_MEMBER_ID) {
|
|
35726
|
-
return WORLD_OBJECT_PLACEMENT_TILES_ENTRY_MEMBER_ID;
|
|
35727
|
-
}
|
|
35728
|
-
if (baseMemberId === WORLD_OBJECT_LAYER_LINK_OBJECTS_MEMBER_ID) {
|
|
35729
|
-
return WORLD_OBJECT_LAYER_LINK_OBJECT_ENTRY_MEMBER_ID;
|
|
35730
|
-
}
|
|
35731
|
-
if (baseMemberId === WORLD_SMART_TILE_RULES_MEMBER_ID) {
|
|
35732
|
-
return WORLD_SMART_TILE_RULES_ENTRY_MEMBER_ID;
|
|
35733
|
-
}
|
|
35734
|
-
if (baseMemberId === WORLD_SMART_TILE_RULE_NEIGHBORS_MEMBER_ID) {
|
|
35735
|
-
return WORLD_SMART_TILE_RULE_NEIGHBORS_ENTRY_MEMBER_ID;
|
|
35736
|
-
}
|
|
35737
|
-
if (baseMemberId === WORLD_SMART_TILE_RULE_SPRITES_MEMBER_ID) {
|
|
35738
|
-
return WORLD_SMART_TILE_RULE_SPRITES_ENTRY_MEMBER_ID;
|
|
35739
|
-
}
|
|
35740
|
-
if (baseMemberId === WORLD_ANIMATION_CLIP_FRAMES_MEMBER_ID) {
|
|
35741
|
-
return WORLD_ANIMATION_CLIP_FRAMES_ENTRY_MEMBER_ID;
|
|
35742
|
-
}
|
|
35743
|
-
if (baseMemberId === WORLD_ANIMATION_CLIP_TRACKS_MEMBER_ID) {
|
|
35744
|
-
return WORLD_ANIMATION_CLIP_TRACKS_ENTRY_MEMBER_ID;
|
|
35745
|
-
}
|
|
35746
|
-
if (baseMemberId === WORLD_ANIMATION_FRAME_CHILD_OVERRIDES_MEMBER_ID) {
|
|
35747
|
-
return WORLD_ANIMATION_FRAME_CHILD_OVERRIDES_ENTRY_MEMBER_ID;
|
|
35748
|
-
}
|
|
35749
|
-
if (baseMemberId === WORLD_ANIMATION_FRAME_CHILD_OVERRIDES_ENTRY_MEMBER_ID) {
|
|
35750
|
-
return WORLD_ANIMATION_FRAME_CHILD_OVERRIDES_ENTRY_MEMBER_ID;
|
|
35751
|
-
}
|
|
35752
|
-
if (baseMemberId === WORLD_ANIMATION_FRAME_ACTIONS_MEMBER_ID) {
|
|
35753
|
-
return WORLD_ANIMATION_FRAME_ACTIONS_ENTRY_MEMBER_ID;
|
|
35754
|
-
}
|
|
35755
|
-
return args.entryMemberId;
|
|
35756
|
-
}
|
|
35757
|
-
var WORLD_SORTING_LAYERS_MEMBER_ID, WORLD_SORTING_LAYER_NAME_MEMBER_ID, WORLD_LAYER_NAME_MEMBER_ID, WORLD_LAYER_SORTING_LAYER_MEMBER_ID, WORLD_LAYER_SORTING_ORDER_MEMBER_ID, WORLD_SORTING_ORDER_MIN, WORLD_SORTING_ORDER_MAX, WORLD_GRID_CHILDREN_MEMBER_ID, WORLD_GRID_CHILDREN_ENTRY_MEMBER_ID, WORLD_ASSET_NAME_MEMBER_ID, WORLD_TILE_SPRITE_MEMBER_ID, WORLD_OBJECT_BASE_NAME_MEMBER_ID, WORLD_OBJECT_BASE_POSITION_MEMBER_ID, WORLD_OBJECT_BASE_SIZE_MEMBER_ID, WORLD_SPRITE_OBJECT_NAME_MEMBER_ID, WORLD_SPRITE_OBJECT_SPRITE_MEMBER_ID, WORLD_OBJECT_CHILDREN_MEMBER_ID, WORLD_OBJECT_CHILDREN_ENTRY_MEMBER_ID, WORLD_OBJECT_COLLIDER_MEMBER_ID, WORLD_OBJECT_PLACEMENT_TILES_MEMBER_ID, WORLD_OBJECT_PLACEMENT_TILES_ENTRY_MEMBER_ID, WORLD_OBJECT_PLACEMENT_TILE_CELL_MEMBER_ID, WORLD_TILE_INSTANCE_CELL_MEMBER_ID, WORLD_TILE_LAYER_LINK_LAYER_MEMBER_ID, WORLD_TILE_LAYER_LINK_TILES_MEMBER_ID, WORLD_TILE_LAYER_LINK_TILE_ENTRY_MEMBER_ID, WORLD_OBJECT_LAYER_LINK_LAYER_MEMBER_ID, WORLD_OBJECT_LAYER_LINK_OBJECTS_MEMBER_ID, WORLD_OBJECT_LAYER_LINK_OBJECT_ENTRY_MEMBER_ID, WORLD_TILE_SMART_TILE_SCHEMA_KEY, WORLD_TILE_SMART_TILE_MEMBER_ID, WORLD_SMART_TILE_DEFAULT_COLLIDER_SCHEMA_KEY, WORLD_SMART_TILE_DEFAULT_COLLIDER_MEMBER_ID, WORLD_SMART_TILE_RULES_SCHEMA_KEY, WORLD_SMART_TILE_RULES_MEMBER_ID, WORLD_SMART_TILE_RULES_ENTRY_MEMBER_ID, WORLD_SMART_TILE_RULE_NEIGHBORS_SCHEMA_KEY, WORLD_SMART_TILE_RULE_NEIGHBORS_MEMBER_ID, WORLD_SMART_TILE_RULE_NEIGHBORS_ENTRY_MEMBER_ID, WORLD_SMART_TILE_RULE_SPRITES_SCHEMA_KEY, WORLD_SMART_TILE_RULE_SPRITES_MEMBER_ID, WORLD_SMART_TILE_RULE_SPRITES_ENTRY_MEMBER_ID, WORLD_SMART_TILE_RULE_OUTPUT_SCHEMA_KEY, WORLD_SMART_TILE_RULE_OUTPUT_MEMBER_ID, WORLD_SMART_TILE_RULE_COLLIDER_SCHEMA_KEY, WORLD_SMART_TILE_RULE_COLLIDER_MEMBER_ID, WORLD_SMART_TILE_RULE_TRANSFORM_SCHEMA_KEY, WORLD_SMART_TILE_RULE_TRANSFORM_MEMBER_ID, WORLD_SMART_TILE_RULE_MIN_ANIMATION_SPEED_SCHEMA_KEY, WORLD_SMART_TILE_RULE_MIN_ANIMATION_SPEED_MEMBER_ID, WORLD_SMART_TILE_RULE_MAX_ANIMATION_SPEED_SCHEMA_KEY, WORLD_SMART_TILE_RULE_MAX_ANIMATION_SPEED_MEMBER_ID, WORLD_SMART_TILE_NEIGHBOR_CELL_SCHEMA_KEY, WORLD_SMART_TILE_NEIGHBOR_CELL_MEMBER_ID, WORLD_SMART_TILE_NEIGHBOR_CONDITION_SCHEMA_KEY, WORLD_SMART_TILE_NEIGHBOR_CONDITION_MEMBER_ID, WORLD_SMART_TILE_CONDITION_ENUM_ID, WORLD_SMART_TILE_OUTPUT_ENUM_ID, WORLD_SMART_TILE_COLLIDER_ENUM_ID, WORLD_SMART_TILE_TRANSFORM_ENUM_ID, WORLD_SMART_TILE_CONDITION_THIS_OPTION_ID, WORLD_SMART_TILE_OUTPUT_SINGLE_OPTION_ID, WORLD_SMART_TILE_COLLIDER_SPRITE_OPTION_ID, WORLD_SMART_TILE_TRANSFORM_FIXED_OPTION_ID, WORLD_ANIMATION_CLIP_TARGET_PARAM_ID, WORLD_ANIMATION_FRAME_TARGET_PARAM_ID, WORLD_ANIMATION_CHILD_OVERRIDE_ENTRY_PARAM_ID, WORLD_ANIMATION_CHILD_OVERRIDE_BINDING_MEMBER_NAME, WORLD_ANIMATION_CHILD_OVERRIDE_BINDING_MEMBER_NAMESPACE, WORLD_ANIMATION_CLIP_FPS_MEMBER_ID, WORLD_ANIMATION_CLIP_DURATION_MEMBER_ID, WORLD_ANIMATION_CLIP_FRAMES_MEMBER_ID, WORLD_ANIMATION_CLIP_FRAMES_ENTRY_MEMBER_ID, WORLD_ANIMATION_CLIP_TRACKS_MEMBER_ID, WORLD_ANIMATION_CLIP_TRACKS_ENTRY_MEMBER_ID, WORLD_ANIMATION_FRAME_INDEX_MEMBER_ID, WORLD_ANIMATION_FRAME_OVERRIDES_MEMBER_ID, WORLD_ANIMATION_FRAME_CHILD_OVERRIDES_MEMBER_ID, WORLD_ANIMATION_FRAME_CHILD_OVERRIDES_ENTRY_MEMBER_ID, WORLD_ANIMATION_FRAME_ACTIONS_MEMBER_ID, WORLD_ANIMATION_FRAME_ACTIONS_ENTRY_MEMBER_ID, WORLD_ANIMATION_CHILD_OVERRIDE_CHILD_MEMBER_ID, WORLD_ANIMATION_CHILD_OVERRIDE_OVERRIDES_MEMBER_ID, WORLD_ANIMATION_CHILD_TRACK_CHILD_MEMBER_ID, WORLD_ANIMATION_CHILD_TRACK_CLIP_KEY_MEMBER_ID, WORLD_ANIMATION_CHILD_TRACK_START_FRAME_MEMBER_ID, WORLD_ANIMATION_OBJECT_BASE_BINDING_MEMBER_ID, WORLD_SYSTEM_CLASS_DEFINITIONS, ANIMATION_WORLD_KINDS;
|
|
35770
|
+
var WORLD_SORTING_LAYERS_MEMBER_ID, WORLD_SORTING_LAYER_ENTRY_MEMBER_ID, WORLD_SORTING_LAYER_NAME_MEMBER_ID, WORLD_LAYER_NAME_MEMBER_ID, WORLD_LAYER_SORTING_LAYER_MEMBER_ID, WORLD_LAYER_SORTING_ORDER_MEMBER_ID, WORLD_SORTING_ORDER_MIN, WORLD_SORTING_ORDER_MAX, WORLD_GRID_CHILDREN_MEMBER_ID, WORLD_GRID_CHILDREN_ENTRY_MEMBER_ID, WORLD_ASSET_NAME_MEMBER_ID, WORLD_TILE_SPRITE_MEMBER_ID, WORLD_OBJECT_BASE_NAME_MEMBER_ID, WORLD_OBJECT_BASE_POSITION_MEMBER_ID, WORLD_OBJECT_BASE_SIZE_MEMBER_ID, WORLD_SPRITE_OBJECT_NAME_MEMBER_ID, WORLD_SPRITE_OBJECT_SPRITE_MEMBER_ID, WORLD_OBJECT_CHILDREN_MEMBER_ID, WORLD_OBJECT_CHILDREN_ENTRY_MEMBER_ID, WORLD_OBJECT_COLLIDER_MEMBER_ID, WORLD_OBJECT_PLACEMENT_TILES_MEMBER_ID, WORLD_OBJECT_PLACEMENT_TILES_ENTRY_MEMBER_ID, WORLD_OBJECT_PLACEMENT_TILE_CELL_MEMBER_ID, WORLD_TILE_INSTANCE_CELL_MEMBER_ID, WORLD_TILE_LAYER_LINK_LAYER_MEMBER_ID, WORLD_TILE_LAYER_LINK_TILES_MEMBER_ID, WORLD_TILE_LAYER_LINK_TILE_ENTRY_MEMBER_ID, WORLD_OBJECT_LAYER_LINK_LAYER_MEMBER_ID, WORLD_OBJECT_LAYER_LINK_OBJECTS_MEMBER_ID, WORLD_OBJECT_LAYER_LINK_OBJECT_ENTRY_MEMBER_ID, WORLD_TILE_SMART_TILE_SCHEMA_KEY, WORLD_TILE_SMART_TILE_MEMBER_ID, WORLD_SMART_TILE_DEFAULT_COLLIDER_SCHEMA_KEY, WORLD_SMART_TILE_DEFAULT_COLLIDER_MEMBER_ID, WORLD_SMART_TILE_RULES_SCHEMA_KEY, WORLD_SMART_TILE_RULES_MEMBER_ID, WORLD_SMART_TILE_RULES_ENTRY_MEMBER_ID, WORLD_SMART_TILE_RULE_NEIGHBORS_SCHEMA_KEY, WORLD_SMART_TILE_RULE_NEIGHBORS_MEMBER_ID, WORLD_SMART_TILE_RULE_NEIGHBORS_ENTRY_MEMBER_ID, WORLD_SMART_TILE_RULE_SPRITES_SCHEMA_KEY, WORLD_SMART_TILE_RULE_SPRITES_MEMBER_ID, WORLD_SMART_TILE_RULE_SPRITES_ENTRY_MEMBER_ID, WORLD_SMART_TILE_RULE_OUTPUT_SCHEMA_KEY, WORLD_SMART_TILE_RULE_OUTPUT_MEMBER_ID, WORLD_SMART_TILE_RULE_COLLIDER_SCHEMA_KEY, WORLD_SMART_TILE_RULE_COLLIDER_MEMBER_ID, WORLD_SMART_TILE_RULE_TRANSFORM_SCHEMA_KEY, WORLD_SMART_TILE_RULE_TRANSFORM_MEMBER_ID, WORLD_SMART_TILE_RULE_MIN_ANIMATION_SPEED_SCHEMA_KEY, WORLD_SMART_TILE_RULE_MIN_ANIMATION_SPEED_MEMBER_ID, WORLD_SMART_TILE_RULE_MAX_ANIMATION_SPEED_SCHEMA_KEY, WORLD_SMART_TILE_RULE_MAX_ANIMATION_SPEED_MEMBER_ID, WORLD_SMART_TILE_NEIGHBOR_CELL_SCHEMA_KEY, WORLD_SMART_TILE_NEIGHBOR_CELL_MEMBER_ID, WORLD_SMART_TILE_NEIGHBOR_CONDITION_SCHEMA_KEY, WORLD_SMART_TILE_NEIGHBOR_CONDITION_MEMBER_ID, WORLD_SMART_TILE_CONDITION_ENUM_ID, WORLD_SMART_TILE_OUTPUT_ENUM_ID, WORLD_SMART_TILE_COLLIDER_ENUM_ID, WORLD_SMART_TILE_TRANSFORM_ENUM_ID, WORLD_SMART_TILE_CONDITION_THIS_OPTION_ID, WORLD_SMART_TILE_OUTPUT_SINGLE_OPTION_ID, WORLD_SMART_TILE_COLLIDER_SPRITE_OPTION_ID, WORLD_SMART_TILE_TRANSFORM_FIXED_OPTION_ID, WORLD_ANIMATION_CLIP_TARGET_PARAM_ID, WORLD_ANIMATION_FRAME_TARGET_PARAM_ID, WORLD_ANIMATION_CHILD_OVERRIDE_ENTRY_PARAM_ID, WORLD_ANIMATION_CHILD_OVERRIDE_BINDING_MEMBER_NAME, WORLD_ANIMATION_CHILD_OVERRIDE_BINDING_MEMBER_NAMESPACE, WORLD_ANIMATION_CLIP_FPS_MEMBER_ID, WORLD_ANIMATION_CLIP_DURATION_MEMBER_ID, WORLD_ANIMATION_CLIP_FRAMES_MEMBER_ID, WORLD_ANIMATION_CLIP_FRAMES_ENTRY_MEMBER_ID, WORLD_ANIMATION_CLIP_TRACKS_MEMBER_ID, WORLD_ANIMATION_CLIP_TRACKS_ENTRY_MEMBER_ID, WORLD_ANIMATION_FRAME_INDEX_MEMBER_ID, WORLD_ANIMATION_FRAME_OVERRIDES_MEMBER_ID, WORLD_ANIMATION_FRAME_CHILD_OVERRIDES_MEMBER_ID, WORLD_ANIMATION_FRAME_CHILD_OVERRIDES_ENTRY_MEMBER_ID, WORLD_ANIMATION_FRAME_ACTIONS_MEMBER_ID, WORLD_ANIMATION_FRAME_ACTIONS_ENTRY_MEMBER_ID, WORLD_ANIMATION_CHILD_OVERRIDE_CHILD_MEMBER_ID, WORLD_ANIMATION_CHILD_OVERRIDE_OVERRIDES_MEMBER_ID, WORLD_ANIMATION_CHILD_TRACK_CHILD_MEMBER_ID, WORLD_ANIMATION_CHILD_TRACK_CLIP_KEY_MEMBER_ID, WORLD_ANIMATION_CHILD_TRACK_START_FRAME_MEMBER_ID, WORLD_ANIMATION_OBJECT_BASE_BINDING_MEMBER_ID, WORLD_SYSTEM_CLASS_DEFINITIONS, ANIMATION_WORLD_KINDS;
|
|
35758
35771
|
var init_world_system_classes = __esm({
|
|
35759
35772
|
"../src/models/classes/world-system-classes.ts"() {
|
|
35760
35773
|
"use strict";
|
|
@@ -35762,7 +35775,11 @@ var init_world_system_classes = __esm({
|
|
|
35762
35775
|
init_member_storage();
|
|
35763
35776
|
init_core();
|
|
35764
35777
|
init_dist_node();
|
|
35778
|
+
init_entry_member_id();
|
|
35765
35779
|
WORLD_SORTING_LAYERS_MEMBER_ID = "7ec79ef8-a216-407f-8886-9f770bc9895b";
|
|
35780
|
+
WORLD_SORTING_LAYER_ENTRY_MEMBER_ID = derivedEntryMemberId(
|
|
35781
|
+
WORLD_SORTING_LAYERS_MEMBER_ID
|
|
35782
|
+
);
|
|
35766
35783
|
WORLD_SORTING_LAYER_NAME_MEMBER_ID = "e963862e-6228-4594-8220-8ef06098c253";
|
|
35767
35784
|
WORLD_LAYER_NAME_MEMBER_ID = "788a3dbc-6167-4320-83aa-1e884924f776";
|
|
35768
35785
|
WORLD_LAYER_SORTING_LAYER_MEMBER_ID = "89dbb12e-1d7c-42ad-b872-63fc7fe8bd5b";
|
|
@@ -35770,7 +35787,9 @@ var init_world_system_classes = __esm({
|
|
|
35770
35787
|
WORLD_SORTING_ORDER_MIN = -32768;
|
|
35771
35788
|
WORLD_SORTING_ORDER_MAX = 32767;
|
|
35772
35789
|
WORLD_GRID_CHILDREN_MEMBER_ID = "98578ba3-a70e-4397-9283-996a898d44c8";
|
|
35773
|
-
WORLD_GRID_CHILDREN_ENTRY_MEMBER_ID =
|
|
35790
|
+
WORLD_GRID_CHILDREN_ENTRY_MEMBER_ID = derivedEntryMemberId(
|
|
35791
|
+
WORLD_GRID_CHILDREN_MEMBER_ID
|
|
35792
|
+
);
|
|
35774
35793
|
WORLD_ASSET_NAME_MEMBER_ID = "3b02422f-1ef2-4a50-8386-155d5001082b";
|
|
35775
35794
|
WORLD_TILE_SPRITE_MEMBER_ID = "cbd6db9a-f473-44b5-b913-7cdc06452f35";
|
|
35776
35795
|
WORLD_OBJECT_BASE_NAME_MEMBER_ID = "b21bfd01-1234-4f49-ab6b-889f829cb148";
|
|
@@ -35779,31 +35798,37 @@ var init_world_system_classes = __esm({
|
|
|
35779
35798
|
WORLD_SPRITE_OBJECT_NAME_MEMBER_ID = "441cb790-a45f-4488-a5a9-6f375af6c369";
|
|
35780
35799
|
WORLD_SPRITE_OBJECT_SPRITE_MEMBER_ID = "e9288ba9-f5a2-4485-8443-6afb155b31e0";
|
|
35781
35800
|
WORLD_OBJECT_CHILDREN_MEMBER_ID = "bb5d2cf1-a0dd-4eba-a62e-0e1bf0177071";
|
|
35782
|
-
WORLD_OBJECT_CHILDREN_ENTRY_MEMBER_ID =
|
|
35801
|
+
WORLD_OBJECT_CHILDREN_ENTRY_MEMBER_ID = derivedEntryMemberId(
|
|
35802
|
+
WORLD_OBJECT_CHILDREN_MEMBER_ID
|
|
35803
|
+
);
|
|
35783
35804
|
WORLD_OBJECT_COLLIDER_MEMBER_ID = "a0083c92-72f7-405f-8863-ff86f995d36d";
|
|
35784
35805
|
WORLD_OBJECT_PLACEMENT_TILES_MEMBER_ID = "5a9ca1f5-a21b-4d4e-8c55-00341af594b4";
|
|
35785
|
-
WORLD_OBJECT_PLACEMENT_TILES_ENTRY_MEMBER_ID =
|
|
35806
|
+
WORLD_OBJECT_PLACEMENT_TILES_ENTRY_MEMBER_ID = derivedEntryMemberId(WORLD_OBJECT_PLACEMENT_TILES_MEMBER_ID);
|
|
35786
35807
|
WORLD_OBJECT_PLACEMENT_TILE_CELL_MEMBER_ID = "b0b3c45c-a87d-4218-b056-7418ef46aac5";
|
|
35787
35808
|
WORLD_TILE_INSTANCE_CELL_MEMBER_ID = "f4be2707-74f5-4833-9784-e81bb2474330";
|
|
35788
35809
|
WORLD_TILE_LAYER_LINK_LAYER_MEMBER_ID = "325dba0e-5967-4e18-937e-5c6800b68abc";
|
|
35789
35810
|
WORLD_TILE_LAYER_LINK_TILES_MEMBER_ID = "98655d2b-ad0b-45e2-a901-62600b4d3a22";
|
|
35790
|
-
WORLD_TILE_LAYER_LINK_TILE_ENTRY_MEMBER_ID =
|
|
35811
|
+
WORLD_TILE_LAYER_LINK_TILE_ENTRY_MEMBER_ID = derivedEntryMemberId(
|
|
35812
|
+
WORLD_TILE_LAYER_LINK_TILES_MEMBER_ID
|
|
35813
|
+
);
|
|
35791
35814
|
WORLD_OBJECT_LAYER_LINK_LAYER_MEMBER_ID = "9cc0ab67-e138-4d11-8011-fab7d7a75b13";
|
|
35792
35815
|
WORLD_OBJECT_LAYER_LINK_OBJECTS_MEMBER_ID = "f8e217b1-da89-4819-9c8d-e9c9da2bdfb2";
|
|
35793
|
-
WORLD_OBJECT_LAYER_LINK_OBJECT_ENTRY_MEMBER_ID =
|
|
35816
|
+
WORLD_OBJECT_LAYER_LINK_OBJECT_ENTRY_MEMBER_ID = derivedEntryMemberId(WORLD_OBJECT_LAYER_LINK_OBJECTS_MEMBER_ID);
|
|
35794
35817
|
WORLD_TILE_SMART_TILE_SCHEMA_KEY = "SmartTile";
|
|
35795
35818
|
WORLD_TILE_SMART_TILE_MEMBER_ID = "96cda8f5-3100-45b5-adcb-0552d21504dd";
|
|
35796
35819
|
WORLD_SMART_TILE_DEFAULT_COLLIDER_SCHEMA_KEY = "DefaultCollider";
|
|
35797
35820
|
WORLD_SMART_TILE_DEFAULT_COLLIDER_MEMBER_ID = "0a51bdef-4b3e-49d6-913b-11cbea98bced";
|
|
35798
35821
|
WORLD_SMART_TILE_RULES_SCHEMA_KEY = "Rules";
|
|
35799
35822
|
WORLD_SMART_TILE_RULES_MEMBER_ID = "97cb9d95-2d54-4809-ae88-0b0ba7859248";
|
|
35800
|
-
WORLD_SMART_TILE_RULES_ENTRY_MEMBER_ID =
|
|
35823
|
+
WORLD_SMART_TILE_RULES_ENTRY_MEMBER_ID = derivedEntryMemberId(
|
|
35824
|
+
WORLD_SMART_TILE_RULES_MEMBER_ID
|
|
35825
|
+
);
|
|
35801
35826
|
WORLD_SMART_TILE_RULE_NEIGHBORS_SCHEMA_KEY = "Neighbors";
|
|
35802
35827
|
WORLD_SMART_TILE_RULE_NEIGHBORS_MEMBER_ID = "8bfadaa8-14e9-4488-a103-ee688c1cc9c4";
|
|
35803
|
-
WORLD_SMART_TILE_RULE_NEIGHBORS_ENTRY_MEMBER_ID =
|
|
35828
|
+
WORLD_SMART_TILE_RULE_NEIGHBORS_ENTRY_MEMBER_ID = derivedEntryMemberId(WORLD_SMART_TILE_RULE_NEIGHBORS_MEMBER_ID);
|
|
35804
35829
|
WORLD_SMART_TILE_RULE_SPRITES_SCHEMA_KEY = "Sprites";
|
|
35805
35830
|
WORLD_SMART_TILE_RULE_SPRITES_MEMBER_ID = "fd3a7f0f-cff8-4069-9b19-004015a6aca1";
|
|
35806
|
-
WORLD_SMART_TILE_RULE_SPRITES_ENTRY_MEMBER_ID =
|
|
35831
|
+
WORLD_SMART_TILE_RULE_SPRITES_ENTRY_MEMBER_ID = derivedEntryMemberId(WORLD_SMART_TILE_RULE_SPRITES_MEMBER_ID);
|
|
35807
35832
|
WORLD_SMART_TILE_RULE_OUTPUT_SCHEMA_KEY = "Output";
|
|
35808
35833
|
WORLD_SMART_TILE_RULE_OUTPUT_MEMBER_ID = "9b22d8df-ea41-4c76-9d2e-a6c64c95a64a";
|
|
35809
35834
|
WORLD_SMART_TILE_RULE_COLLIDER_SCHEMA_KEY = "Collider";
|
|
@@ -35834,15 +35859,19 @@ var init_world_system_classes = __esm({
|
|
|
35834
35859
|
WORLD_ANIMATION_CLIP_FPS_MEMBER_ID = "af2d8db8-817b-46f0-adbe-cf9113b77155";
|
|
35835
35860
|
WORLD_ANIMATION_CLIP_DURATION_MEMBER_ID = "e1a1ba86-2599-43dc-a19a-46d08a2e4256";
|
|
35836
35861
|
WORLD_ANIMATION_CLIP_FRAMES_MEMBER_ID = "485b0f05-ec7b-4e61-ba80-9a5d7d262b39";
|
|
35837
|
-
WORLD_ANIMATION_CLIP_FRAMES_ENTRY_MEMBER_ID =
|
|
35862
|
+
WORLD_ANIMATION_CLIP_FRAMES_ENTRY_MEMBER_ID = derivedEntryMemberId(
|
|
35863
|
+
WORLD_ANIMATION_CLIP_FRAMES_MEMBER_ID
|
|
35864
|
+
);
|
|
35838
35865
|
WORLD_ANIMATION_CLIP_TRACKS_MEMBER_ID = "eb602654-04a9-4766-860f-300b443be86e";
|
|
35839
|
-
WORLD_ANIMATION_CLIP_TRACKS_ENTRY_MEMBER_ID =
|
|
35866
|
+
WORLD_ANIMATION_CLIP_TRACKS_ENTRY_MEMBER_ID = derivedEntryMemberId(
|
|
35867
|
+
WORLD_ANIMATION_CLIP_TRACKS_MEMBER_ID
|
|
35868
|
+
);
|
|
35840
35869
|
WORLD_ANIMATION_FRAME_INDEX_MEMBER_ID = "0dbdd0f9-9dd2-4b4b-9403-50180c1500dd";
|
|
35841
35870
|
WORLD_ANIMATION_FRAME_OVERRIDES_MEMBER_ID = "8ab7bb00-a475-43f0-8579-1b08f133d658";
|
|
35842
35871
|
WORLD_ANIMATION_FRAME_CHILD_OVERRIDES_MEMBER_ID = "a5905750-c472-46a8-89e9-f04f0bf66696";
|
|
35843
|
-
WORLD_ANIMATION_FRAME_CHILD_OVERRIDES_ENTRY_MEMBER_ID =
|
|
35872
|
+
WORLD_ANIMATION_FRAME_CHILD_OVERRIDES_ENTRY_MEMBER_ID = derivedEntryMemberId(WORLD_ANIMATION_FRAME_CHILD_OVERRIDES_MEMBER_ID);
|
|
35844
35873
|
WORLD_ANIMATION_FRAME_ACTIONS_MEMBER_ID = "23e05410-6428-4bd1-b085-c0390ed7fcb7";
|
|
35845
|
-
WORLD_ANIMATION_FRAME_ACTIONS_ENTRY_MEMBER_ID =
|
|
35874
|
+
WORLD_ANIMATION_FRAME_ACTIONS_ENTRY_MEMBER_ID = derivedEntryMemberId(WORLD_ANIMATION_FRAME_ACTIONS_MEMBER_ID);
|
|
35846
35875
|
WORLD_ANIMATION_CHILD_OVERRIDE_CHILD_MEMBER_ID = "6e15db41-a6f2-43fd-9793-c52fe4f3d0f8";
|
|
35847
35876
|
WORLD_ANIMATION_CHILD_OVERRIDE_OVERRIDES_MEMBER_ID = "819b3743-0c3d-4896-b679-9aeeb73255f4";
|
|
35848
35877
|
WORLD_ANIMATION_CHILD_TRACK_CHILD_MEMBER_ID = "29abc85e-2d38-4cef-a200-88915d176d06";
|
|
@@ -37144,12 +37173,7 @@ function isAnimationChildOverrideEntrySlot(slotMember, members) {
|
|
|
37144
37173
|
const id2 = getOptionalString(current, "id");
|
|
37145
37174
|
if (id2 === void 0 || visited.has(id2)) return false;
|
|
37146
37175
|
visited.add(id2);
|
|
37147
|
-
|
|
37148
|
-
entryMemberId: id2,
|
|
37149
|
-
extendsMemberId: current.extendsMemberId,
|
|
37150
|
-
id: id2
|
|
37151
|
-
});
|
|
37152
|
-
if (canonicalId === WORLD_ANIMATION_FRAME_CHILD_OVERRIDES_ENTRY_MEMBER_ID) {
|
|
37176
|
+
if (id2 === WORLD_ANIMATION_FRAME_CHILD_OVERRIDES_MEMBER_ID || id2 === WORLD_ANIMATION_FRAME_CHILD_OVERRIDES_ENTRY_MEMBER_ID) {
|
|
37153
37177
|
return true;
|
|
37154
37178
|
}
|
|
37155
37179
|
current = typeof current.extendsMemberId === "string" ? membersById.get(current.extendsMemberId) : void 0;
|
|
@@ -48893,28 +48917,28 @@ function validateProspectiveAnimationRecordsV4(records2) {
|
|
|
48893
48917
|
if (record3.recordKind === "project") {
|
|
48894
48918
|
if (!isProject(record3.data)) {
|
|
48895
48919
|
throw new Error(
|
|
48896
|
-
|
|
48920
|
+
`Prospective animation validation received an invalid project record ${recordLabel(record3.data)}.`
|
|
48897
48921
|
);
|
|
48898
48922
|
}
|
|
48899
48923
|
project = record3.data;
|
|
48900
48924
|
} else if (record3.recordKind === "class") {
|
|
48901
48925
|
if (!isNeoSchemaClass(record3.data)) {
|
|
48902
48926
|
throw new Error(
|
|
48903
|
-
|
|
48927
|
+
`Prospective animation validation received an invalid class record ${recordLabel(record3.data)}.`
|
|
48904
48928
|
);
|
|
48905
48929
|
}
|
|
48906
48930
|
classes.push(record3.data);
|
|
48907
48931
|
} else if (record3.recordKind === "member") {
|
|
48908
48932
|
if (!isMember(record3.data)) {
|
|
48909
48933
|
throw new Error(
|
|
48910
|
-
|
|
48934
|
+
`Prospective animation validation received an invalid member record ${recordLabel(record3.data)}.`
|
|
48911
48935
|
);
|
|
48912
48936
|
}
|
|
48913
48937
|
members.push(record3.data);
|
|
48914
48938
|
} else if (record3.recordKind === "value") {
|
|
48915
48939
|
if (!isMemberValue(record3.data)) {
|
|
48916
48940
|
throw new Error(
|
|
48917
|
-
|
|
48941
|
+
`Prospective animation validation received an invalid value record ${recordLabel(record3.data)}.`
|
|
48918
48942
|
);
|
|
48919
48943
|
}
|
|
48920
48944
|
values.push(record3.data);
|
|
@@ -48923,6 +48947,18 @@ function validateProspectiveAnimationRecordsV4(records2) {
|
|
|
48923
48947
|
if (project === void 0) return;
|
|
48924
48948
|
assertAnimationClipDocumentValid({ project, classes, members, values });
|
|
48925
48949
|
}
|
|
48950
|
+
function serverEnvelope(stored) {
|
|
48951
|
+
if (!isObjectRecord2(stored)) return {};
|
|
48952
|
+
const envelope = {};
|
|
48953
|
+
for (const field of ["projectId", "createdAt", "updatedAt"]) {
|
|
48954
|
+
if (stored[field] !== void 0) envelope[field] = stored[field];
|
|
48955
|
+
}
|
|
48956
|
+
return envelope;
|
|
48957
|
+
}
|
|
48958
|
+
function recordLabel(data) {
|
|
48959
|
+
const id2 = typeof data.id === "string" ? data.id : "<no id>";
|
|
48960
|
+
return typeof data.name === "string" ? `${id2} ("${data.name}")` : id2;
|
|
48961
|
+
}
|
|
48926
48962
|
function prospectiveAnimationRecords(base, reconstructed3, changes, seeds) {
|
|
48927
48963
|
const prospective = /* @__PURE__ */ new Map();
|
|
48928
48964
|
for (const [key, state] of Object.entries(base)) {
|
|
@@ -48935,16 +48971,25 @@ function prospectiveAnimationRecords(base, reconstructed3, changes, seeds) {
|
|
|
48935
48971
|
const key = recordStateKey(change.recordKind, change.recordId);
|
|
48936
48972
|
if (change.kind === "delete") prospective.delete(key);
|
|
48937
48973
|
}
|
|
48938
|
-
|
|
48939
|
-
prospective.set(key, {
|
|
48940
|
-
recordKind: record3.recordKind,
|
|
48941
|
-
data: record3.fullData
|
|
48942
|
-
});
|
|
48943
|
-
}
|
|
48944
|
-
const projectId = [...prospective.values()].find(
|
|
48974
|
+
const projectRecord = [...prospective.values()].find(
|
|
48945
48975
|
(record3) => record3.recordKind === "project"
|
|
48946
|
-
)
|
|
48976
|
+
) ?? [...reconstructed3.values()].filter((record3) => record3.recordKind === "project").map((record3) => ({
|
|
48977
|
+
recordKind: record3.recordKind,
|
|
48978
|
+
data: record3.fullData
|
|
48979
|
+
}))[0];
|
|
48980
|
+
const projectId = projectRecord?.data.id;
|
|
48947
48981
|
const seedEnvelope = typeof projectId === "string" ? { projectId, createdAt: 0, updatedAt: 0 } : {};
|
|
48982
|
+
for (const [key, record3] of reconstructed3) {
|
|
48983
|
+
const envelope = {
|
|
48984
|
+
...seedEnvelope,
|
|
48985
|
+
...serverEnvelope(prospective.get(key)?.data)
|
|
48986
|
+
};
|
|
48987
|
+
const data = { ...record3.fullData };
|
|
48988
|
+
for (const [field, value] of Object.entries(envelope)) {
|
|
48989
|
+
if (data[field] === void 0) data[field] = value;
|
|
48990
|
+
}
|
|
48991
|
+
prospective.set(key, { recordKind: record3.recordKind, data });
|
|
48992
|
+
}
|
|
48948
48993
|
for (const [memberId, seed] of seeds) {
|
|
48949
48994
|
for (const bindingMember of seed.bindingMembers ?? []) {
|
|
48950
48995
|
prospective.set(recordStateKey("member", bindingMember.id), {
|