diff --git a/packages/dds/tree/src/codec/codec.ts b/packages/dds/tree/src/codec/codec.ts index 0cfaf0cf1ef1..c2bc2610a5c9 100644 --- a/packages/dds/tree/src/codec/codec.ts +++ b/packages/dds/tree/src/codec/codec.ts @@ -523,6 +523,11 @@ export const FluidClientVersion = { * @remarks * New formats introduced in 2.73: * - FieldBatchFormatVersion v2 + * - SharedTreeSummaryFormatVersion v2 + * - DetachedFieldIndexSummaryFormatVersion v2 + * - SchemaSummaryFormatVersion v2 + * - EditManagerSummaryFormatVersion v2 + * - ForestSummaryFormatVersion v2 */ v2_73: "2.73.0", } as const satisfies Record; diff --git a/packages/dds/tree/src/feature-libraries/detachedFieldIndexSummarizer.ts b/packages/dds/tree/src/feature-libraries/detachedFieldIndexSummarizer.ts index 118fce9be33d..70d530a800a1 100644 --- a/packages/dds/tree/src/feature-libraries/detachedFieldIndexSummarizer.ts +++ b/packages/dds/tree/src/feature-libraries/detachedFieldIndexSummarizer.ts @@ -7,16 +7,17 @@ import { bufferToString } from "@fluid-internal/client-utils"; import type { IChannelStorageService } from "@fluidframework/datastore-definitions/internal"; import type { IExperimentalIncrementalSummaryContext, - ISummaryTreeWithStats, ITelemetryContext, + MinimumVersionForCollab, } from "@fluidframework/runtime-definitions/internal"; -import { createSingleBlobSummary } from "@fluidframework/shared-object-base/internal"; +import type { SummaryTreeBuilder } from "@fluidframework/runtime-utils/internal"; import type { DetachedFieldIndex } from "../core/index.js"; -import type { - Summarizable, - SummaryElementParser, - SummaryElementStringifier, +import { + type Summarizable, + type SummaryElementParser, + type SummaryElementStringifier, + VersionedSummarizer, } from "../shared-tree-core/index.js"; import type { JsonCompatibleReadOnly } from "../util/index.js"; @@ -26,25 +27,68 @@ import type { JsonCompatibleReadOnly } from "../util/index.js"; const detachedFieldIndexBlobKey = "DetachedFieldIndexBlob"; /** - * Provides methods for summarizing and loading a tree index. + * The versions for the detached field index summary format. + */ +export const enum DetachedFieldIndexSummaryFormatVersion { + /** + * This version represents summary format before summary versioning was introduced. + */ + v1 = 1, + /** + * This version adds metadata to the summary. This is backward compatible with version 1. + */ + v2 = 2, + /** + * The latest version of the summary. Must be updated when a new version is added. + */ + vLatest = v2, +} + +const supportedVersions = new Set([ + DetachedFieldIndexSummaryFormatVersion.v1, + DetachedFieldIndexSummaryFormatVersion.v2, +]); + +/** + * Returns the summary version to use as per the given minimum version for collab. */ -export class DetachedFieldIndexSummarizer implements Summarizable { - public readonly key = "DetachedFieldIndex"; +function minVersionToDetachedFieldIndexSummaryFormatVersion( + version: MinimumVersionForCollab, +): DetachedFieldIndexSummaryFormatVersion { + // Currently, version 2 is written which adds metadata blob to the summary. + return DetachedFieldIndexSummaryFormatVersion.v2; +} - public constructor(private readonly detachedFieldIndex: DetachedFieldIndex) {} +/** + * Provides methods for summarizing and loading a tree index. + */ +export class DetachedFieldIndexSummarizer extends VersionedSummarizer implements Summarizable { + public constructor( + private readonly detachedFieldIndex: DetachedFieldIndex, + minVersionForCollab: MinimumVersionForCollab, + ) { + super({ + key: "DetachedFieldIndex", + writeVersion: minVersionToDetachedFieldIndexSummaryFormatVersion(minVersionForCollab), + supportedVersions, + defaultVersion: DetachedFieldIndexSummaryFormatVersion.v1, + }); + } - public summarize(props: { + protected summarizeInternal(props: { stringify: SummaryElementStringifier; fullTree?: boolean; trackState?: boolean; telemetryContext?: ITelemetryContext; incrementalSummaryContext?: IExperimentalIncrementalSummaryContext; - }): ISummaryTreeWithStats { + builder: SummaryTreeBuilder; + }): void { + const { stringify, builder } = props; const data = this.detachedFieldIndex.encode(); - return createSingleBlobSummary(detachedFieldIndexBlobKey, props.stringify(data)); + builder.addBlob(detachedFieldIndexBlobKey, stringify(data)); } - public async load( + protected async loadInternal( services: IChannelStorageService, parse: SummaryElementParser, ): Promise { diff --git a/packages/dds/tree/src/feature-libraries/forest-summary/codec.ts b/packages/dds/tree/src/feature-libraries/forest-summary/codec.ts index 68b02925974f..c74f040074f4 100644 --- a/packages/dds/tree/src/feature-libraries/forest-summary/codec.ts +++ b/packages/dds/tree/src/feature-libraries/forest-summary/codec.ts @@ -29,7 +29,7 @@ export type ForestCodec = IJsonCodec { const keys: FieldKey[] = []; @@ -70,5 +70,5 @@ export function makeForestSummarizerCodec( export function getCodecTreeForForestFormat( clientVersion: MinimumVersionForCollab, ): CodecTree { - return { name: "Forest", version: clientVersionToForestSummaryVersion(clientVersion) }; + return { name: "Forest", version: clientVersionToForestSummaryFormatVersion(clientVersion) }; } diff --git a/packages/dds/tree/src/feature-libraries/forest-summary/forestSummarizer.ts b/packages/dds/tree/src/feature-libraries/forest-summary/forestSummarizer.ts index 4b43114baa1c..efe2c64ec7df 100644 --- a/packages/dds/tree/src/feature-libraries/forest-summary/forestSummarizer.ts +++ b/packages/dds/tree/src/feature-libraries/forest-summary/forestSummarizer.ts @@ -3,15 +3,14 @@ * Licensed under the MIT License. */ -import { bufferToString } from "@fluid-internal/client-utils"; import { assert } from "@fluidframework/core-utils/internal"; import type { IChannelStorageService } from "@fluidframework/datastore-definitions/internal"; import type { IIdCompressor } from "@fluidframework/id-compressor"; import type { IExperimentalIncrementalSummaryContext, - ISummaryTreeWithStats, ITelemetryContext, } from "@fluidframework/runtime-definitions/internal"; +import type { SummaryTreeBuilder } from "@fluidframework/runtime-utils/internal"; import type { CodecWriteOptions } from "../../codec/index.js"; import { @@ -27,12 +26,13 @@ import { forEachField, makeDetachedFieldIndex, } from "../../core/index.js"; -import type { - Summarizable, - SummaryElementParser, - SummaryElementStringifier, +import { + VersionedSummarizer, + type Summarizable, + type SummaryElementParser, + type SummaryElementStringifier, } from "../../shared-tree-core/index.js"; -import { idAllocatorFromMaxId, type JsonCompatible } from "../../util/index.js"; +import { idAllocatorFromMaxId, readAndParseSnapshotBlob } from "../../util/index.js"; // eslint-disable-next-line import-x/no-internal-modules import { chunkFieldSingle, defaultChunkPolicy } from "../chunked-forest/chunkTree.js"; import { @@ -46,24 +46,20 @@ import { type ForestCodec, makeForestSummarizerCodec } from "./codec.js"; import { ForestIncrementalSummaryBehavior, ForestIncrementalSummaryBuilder, - forestSummaryContentKey, } from "./incrementalSummaryBuilder.js"; import { TreeCompressionStrategyExtended } from "../treeCompressionUtils.js"; -import type { IFluidHandle } from "@fluidframework/core-interfaces"; - -/** - * The key for the tree that contains the overall forest's summary tree. - * This tree is added by the parent of the forest summarizer. - * See {@link ForestIncrementalSummaryBuilder} for details on the summary structure. - */ -export const forestSummaryKey = "Forest"; +import { + forestSummaryContentKey, + ForestSummaryFormatVersion, + forestSummaryKey, + minVersionToForestSummaryFormatVersion, + supportedForestSummaryFormatVersions, +} from "./summaryTypes.js"; /** * Provides methods for summarizing and loading a forest. */ -export class ForestSummarizer implements Summarizable { - public readonly key = forestSummaryKey; - +export class ForestSummarizer extends VersionedSummarizer implements Summarizable { private readonly codec: ForestCodec; private readonly incrementalSummaryBuilder: ForestIncrementalSummaryBuilder; @@ -81,6 +77,13 @@ export class ForestSummarizer implements Summarizable { initialSequenceNumber: number, shouldEncodeIncrementally: IncrementalEncodingPolicy = defaultIncrementalEncodingPolicy, ) { + super({ + key: forestSummaryKey, + writeVersion: minVersionToForestSummaryFormatVersion(options.minVersionForCollab), + supportedVersions: supportedForestSummaryFormatVersions, + defaultVersion: ForestSummaryFormatVersion.v1, + }); + // TODO: this should take in CodecWriteOptions, and use it to pick the write version. this.codec = makeForestSummarizerCodec(options, fieldBatchCodec); this.incrementalSummaryBuilder = new ForestIncrementalSummaryBuilder( @@ -102,14 +105,15 @@ export class ForestSummarizer implements Summarizable { * * TODO: when perf matters, this should be replaced with a chunked async version using a binary format. */ - public summarize(props: { + protected summarizeInternal(props: { stringify: SummaryElementStringifier; fullTree?: boolean; trackState?: boolean; telemetryContext?: ITelemetryContext; incrementalSummaryContext?: IExperimentalIncrementalSummaryContext; - }): ISummaryTreeWithStats { - const { stringify, fullTree = false, incrementalSummaryContext } = props; + builder: SummaryTreeBuilder; + }): void { + const { stringify, fullTree = false, incrementalSummaryContext, builder } = props; const rootCursor = this.forest.getCursorAboveDetachedFields(); const fieldMap: Map = @@ -132,6 +136,7 @@ export class ForestSummarizer implements Summarizable { fullTree, incrementalSummaryContext, stringify, + builder, }); const encoderContext: FieldBatchEncodingContext = { ...this.encoderContext, @@ -143,13 +148,14 @@ export class ForestSummarizer implements Summarizable { const encoded = this.codec.encode(fieldMap, encoderContext); fieldMap.forEach((value) => value.free()); - return this.incrementalSummaryBuilder.completeSummary({ + this.incrementalSummaryBuilder.completeSummary({ incrementalSummaryContext, forestSummaryContent: stringify(encoded), + builder, }); } - public async load( + protected async loadInternal( services: IChannelStorageService, parse: SummaryElementParser, ): Promise { @@ -164,24 +170,23 @@ export class ForestSummarizer implements Summarizable { 0xc21 /* Forest summary content missing in snapshot */, ); - const readAndParseBlob = async >( - id: string, - ): Promise => { - const treeBuffer = await services.readBlob(id); - const treeBufferString = bufferToString(treeBuffer, "utf8"); - return parse(treeBufferString) as T; - }; - // Load the incremental summary builder so that it can download any incremental chunks in the // snapshot. - await this.incrementalSummaryBuilder.load(services, readAndParseBlob); + await this.incrementalSummaryBuilder.load({ + services, + readAndParseChunk: async (chunkBlobPath: string) => + readAndParseSnapshotBlob(chunkBlobPath, services, parse), + }); // TODO: this code is parsing data without an optional validator, this should be defined in a typebox schema as part of the // forest summary format. - const fields = this.codec.decode(await readAndParseBlob(forestSummaryContentKey), { - ...this.encoderContext, - incrementalEncoderDecoder: this.incrementalSummaryBuilder, - }); + const fields = this.codec.decode( + await readAndParseSnapshotBlob(forestSummaryContentKey, services, parse), + { + ...this.encoderContext, + incrementalEncoderDecoder: this.incrementalSummaryBuilder, + }, + ); const allocator = idAllocatorFromMaxId(); const fieldChanges: [FieldKey, DeltaFieldChanges][] = []; const build: DeltaDetachedNodeBuild[] = []; diff --git a/packages/dds/tree/src/feature-libraries/forest-summary/incrementalSummaryBuilder.ts b/packages/dds/tree/src/feature-libraries/forest-summary/incrementalSummaryBuilder.ts index 391e44338c97..a73dfc060e81 100644 --- a/packages/dds/tree/src/feature-libraries/forest-summary/incrementalSummaryBuilder.ts +++ b/packages/dds/tree/src/feature-libraries/forest-summary/incrementalSummaryBuilder.ts @@ -4,10 +4,7 @@ */ import { assert } from "@fluidframework/core-utils/internal"; -import type { - IExperimentalIncrementalSummaryContext, - ISummaryTreeWithStats, -} from "@fluidframework/runtime-definitions/internal"; +import type { IExperimentalIncrementalSummaryContext } from "@fluidframework/runtime-definitions/internal"; import { SummaryTreeBuilder } from "@fluidframework/runtime-utils/internal"; import { brand, @@ -30,21 +27,7 @@ import type { ISnapshotTree } from "@fluidframework/driver-definitions/internal" import { LoggingError } from "@fluidframework/telemetry-utils/internal"; import type { IFluidHandle } from "@fluidframework/core-interfaces"; import type { SummaryElementStringifier } from "../../shared-tree-core/index.js"; - -/** - * The key for the blob under ForestSummarizer's root. - * This blob contains the ForestCodec's output. - * See {@link ForestIncrementalSummaryBuilder} for details on the summary structure. - */ -export const forestSummaryContentKey = "ForestTree"; - -/** - * The contents of an incremental chunk is under a summary tree node with its {@link ChunkReferenceId} as the key. - * The inline portion of the chunk content is encoded with the forest codec is stored in a blob with this key. - * The rest of the chunk contents is stored in the summary tree under the summary tree node. - * See the summary format in {@link ForestIncrementalSummaryBuilder} for more details. - */ -const chunkContentsBlobKey = "contents"; +import { chunkContentsBlobKey, forestSummaryContentKey } from "./summaryTypes.js"; /** * State that tells whether a summary is currently being tracked. @@ -299,11 +282,13 @@ export class ForestIncrementalSummaryBuilder implements IncrementalEncoderDecode * contents of the chunks. * @param readAndParse - A function that reads and parses a blob from the storage service. */ - public async load( - services: IChannelStorageService, - readAndParseChunk: >(id: string) => Promise, - ): Promise { - const forestTree = services.getSnapshotTree?.(); + public async load(args: { + services: IChannelStorageService; + readAndParseChunk: >( + chunkBlobPath: string, + ) => Promise; + }): Promise { + const forestTree = args.services.getSnapshotTree?.(); // Snapshot tree should be available when loading forest's contents. However, it is an optional function // and may not be implemented by the storage service. if (forestTree === undefined) { @@ -321,12 +306,13 @@ export class ForestIncrementalSummaryBuilder implements IncrementalEncoderDecode for (const [chunkReferenceId, chunkSnapshotTree] of Object.entries(snapshotTree.trees)) { const chunkSubTreePath = `${parentTreeKey}${chunkReferenceId}`; const chunkContentsPath = `${chunkSubTreePath}/${chunkContentsBlobKey}`; - if (!(await services.contains(chunkContentsPath))) { + if (!(await args.services.contains(chunkContentsPath))) { throw new LoggingError( `SharedTree: Cannot find contents for incremental chunk ${chunkContentsPath}`, ); } - const chunkContents = await readAndParseChunk(chunkContentsPath); + const chunkContents = + await args.readAndParseChunk(chunkContentsPath); this.loadedChunksMap.set(chunkReferenceId, { encodedContents: chunkContents, summaryPath: chunkSubTreePath, @@ -357,8 +343,9 @@ export class ForestIncrementalSummaryBuilder implements IncrementalEncoderDecode fullTree: boolean; incrementalSummaryContext: IExperimentalIncrementalSummaryContext | undefined; stringify: SummaryElementStringifier; + builder: SummaryTreeBuilder; }): ForestIncrementalSummaryBehavior { - const { fullTree, incrementalSummaryContext, stringify } = args; + const { fullTree, incrementalSummaryContext, stringify, builder } = args; // If there is no incremental summary context, do not summarize incrementally. This happens in two scenarios: // 1. When summarizing a detached container, i.e., the first ever summary. // 2. When running GC, the default behavior is to call summarize on DDS without incrementalSummaryContext. @@ -374,7 +361,7 @@ export class ForestIncrementalSummaryBuilder implements IncrementalEncoderDecode summarySequenceNumber: incrementalSummaryContext.summarySequenceNumber, latestSummaryBasePath: incrementalSummaryContext.summaryPath, chunkSummaryPath: [], - parentSummaryBuilder: new SummaryTreeBuilder(), + parentSummaryBuilder: builder, fullTree, stringify, }; @@ -469,25 +456,24 @@ export class ForestIncrementalSummaryBuilder implements IncrementalEncoderDecode * @param incrementalSummaryContext - The context for the incremental summary that contains the sequence numbers. * If this is undefined, the summary tree will only contain a summary blob for `forestSummaryContent`. * @param forestSummaryContent - The stringified ForestCodec output of top-level Forest content. + * @param builder - The summary tree builder to use to add the forest's contents. Note that if tracking an incremental + * summary, this builder will be the same as the one tracked in `trackedSummaryProperties`. * @returns the Forest's summary tree. */ public completeSummary(args: { incrementalSummaryContext: IExperimentalIncrementalSummaryContext | undefined; forestSummaryContent: string; - }): ISummaryTreeWithStats { - const { incrementalSummaryContext, forestSummaryContent } = args; + builder: SummaryTreeBuilder; + }): void { + const { incrementalSummaryContext, forestSummaryContent, builder } = args; if (!this.enableIncrementalSummary || incrementalSummaryContext === undefined) { - const summaryBuilder = new SummaryTreeBuilder(); - summaryBuilder.addBlob(forestSummaryContentKey, forestSummaryContent); - return summaryBuilder.getSummaryTree(); + builder.addBlob(forestSummaryContentKey, forestSummaryContent); + return; } validateTrackingSummary(this.forestSummaryState, this.trackedSummaryProperties); - this.trackedSummaryProperties.parentSummaryBuilder.addBlob( - forestSummaryContentKey, - forestSummaryContent, - ); + builder.addBlob(forestSummaryContentKey, forestSummaryContent); // Copy over the entries from the latest summary to the current summary. // In the current summary, there can be fields that haven't changed since the latest summary and the chunks @@ -516,9 +502,7 @@ export class ForestIncrementalSummaryBuilder implements IncrementalEncoderDecode } this.forestSummaryState = ForestSummaryTrackingState.ReadyToTrack; - const summaryTree = this.trackedSummaryProperties.parentSummaryBuilder.getSummaryTree(); this.trackedSummaryProperties = undefined; - return summaryTree; } /** diff --git a/packages/dds/tree/src/feature-libraries/forest-summary/index.ts b/packages/dds/tree/src/feature-libraries/forest-summary/index.ts index 46d033022366..5410c3a185e1 100644 --- a/packages/dds/tree/src/feature-libraries/forest-summary/index.ts +++ b/packages/dds/tree/src/feature-libraries/forest-summary/index.ts @@ -3,6 +3,7 @@ * Licensed under the MIT License. */ -export { forestSummaryKey, ForestSummarizer } from "./forestSummarizer.js"; +export { ForestSummarizer } from "./forestSummarizer.js"; export { getCodecTreeForForestFormat } from "./codec.js"; export { ForestFormatVersion } from "./format.js"; +export { forestSummaryKey } from "./summaryTypes.js"; diff --git a/packages/dds/tree/src/feature-libraries/forest-summary/summaryTypes.ts b/packages/dds/tree/src/feature-libraries/forest-summary/summaryTypes.ts new file mode 100644 index 000000000000..e1e05bc42a2a --- /dev/null +++ b/packages/dds/tree/src/feature-libraries/forest-summary/summaryTypes.ts @@ -0,0 +1,61 @@ +/*! + * Copyright (c) Microsoft Corporation and contributors. All rights reserved. + * Licensed under the MIT License. + */ + +import type { MinimumVersionForCollab } from "@fluidframework/runtime-definitions/internal"; + +/** + * The key for the tree that contains the overall forest's summary tree. + * This tree is added by the parent of the forest summarizer. + * See {@link ForestIncrementalSummaryBuilder} for details on the summary structure. + */ +export const forestSummaryKey = "Forest"; + +/** + * The key for the blob under ForestSummarizer's root. + * This blob contains the ForestCodec's output. + * See {@link ForestIncrementalSummaryBuilder} for details on the summary structure. + */ +export const forestSummaryContentKey = "ForestTree"; + +/** + * The contents of an incremental chunk is under a summary tree node with its {@link ChunkReferenceId} as the key. + * The inline portion of the chunk content is encoded with the forest codec is stored in a blob with this key. + * The rest of the chunk contents is stored in the summary tree under the summary tree node. + * See the summary format in {@link ForestIncrementalSummaryBuilder} for more details. + */ +export const chunkContentsBlobKey = "contents"; + +/** + * The versions for the forest summary. + */ +export enum ForestSummaryFormatVersion { + /** + * This version represents summary format before summary versioning was introduced. + */ + v1 = 1, + /** + * This version adds metadata to the summary. This is backward compatible with version 1. + */ + v2 = 2, + /** + * The latest version of the summary. Must be updated when a new version is added. + */ + vLatest = v2, +} + +export const supportedForestSummaryFormatVersions = new Set([ + ForestSummaryFormatVersion.v1, + ForestSummaryFormatVersion.v2, +]); + +/** + * Returns the summary version to use as per the given minimum version for collab. + */ +export function minVersionToForestSummaryFormatVersion( + version: MinimumVersionForCollab, +): ForestSummaryFormatVersion { + // Currently, version 2 is written which adds metadata blob to the summary. + return ForestSummaryFormatVersion.v2; +} diff --git a/packages/dds/tree/src/feature-libraries/schema-index/schemaSummarizer.ts b/packages/dds/tree/src/feature-libraries/schema-index/schemaSummarizer.ts index 6c437e23c441..63ece904cf62 100644 --- a/packages/dds/tree/src/feature-libraries/schema-index/schemaSummarizer.ts +++ b/packages/dds/tree/src/feature-libraries/schema-index/schemaSummarizer.ts @@ -9,10 +9,10 @@ import type { IChannelStorageService } from "@fluidframework/datastore-definitio import { SummaryType } from "@fluidframework/driver-definitions"; import type { IExperimentalIncrementalSummaryContext, - ISummaryTreeWithStats, ITelemetryContext, + MinimumVersionForCollab, } from "@fluidframework/runtime-definitions/internal"; -import { SummaryTreeBuilder } from "@fluidframework/runtime-utils/internal"; +import type { SummaryTreeBuilder } from "@fluidframework/runtime-utils/internal"; import type { IJsonCodec } from "../../codec/index.js"; import { @@ -21,10 +21,11 @@ import { type TreeStoredSchema, schemaDataIsEmpty, } from "../../core/index.js"; -import type { - Summarizable, - SummaryElementParser, - SummaryElementStringifier, +import { + VersionedSummarizer, + type Summarizable, + type SummaryElementParser, + type SummaryElementStringifier, } from "../../shared-tree-core/index.js"; import type { JsonCompatible } from "../../util/index.js"; import type { CollabWindow } from "../incrementalSummarizationUtils.js"; @@ -32,19 +33,58 @@ import type { CollabWindow } from "../incrementalSummarizationUtils.js"; import { encodeRepo } from "./codec.js"; const schemaStringKey = "SchemaString"; + /** - * Provides methods for summarizing and loading a schema repository. + * The versions for the schema summary format. + */ +export const enum SchemaSummaryFormatVersion { + /** + * This version represents summary format before summary versioning was introduced. + */ + v1 = 1, + /** + * This version adds metadata to the summary. This is backward compatible with version 1. + */ + v2 = 2, + /** + * The latest version of the summary. Must be updated when a new version is added. + */ + vLatest = v2, +} + +const supportedVersions = new Set([ + SchemaSummaryFormatVersion.v1, + SchemaSummaryFormatVersion.v2, +]); + +/** + * Returns the summary version to use as per the given minimum version for collab. */ -export class SchemaSummarizer implements Summarizable { - public readonly key = "Schema"; +function minVersionToSchemaSummaryFormatVersion( + version: MinimumVersionForCollab, +): SchemaSummaryFormatVersion { + // Currently, version 2 is written which adds metadata blob to the summary. + return SchemaSummaryFormatVersion.v2; +} +/** + * Provides methods for summarizing and loading a schema repository. + */ +export class SchemaSummarizer extends VersionedSummarizer implements Summarizable { private schemaIndexLastChangedSeq: number | undefined; public constructor( private readonly schema: MutableTreeStoredSchema, collabWindow: CollabWindow, private readonly codec: IJsonCodec, + minVersionForCollab: MinimumVersionForCollab, ) { + super({ + key: "Schema", + writeVersion: minVersionToSchemaSummaryFormatVersion(minVersionForCollab), + supportedVersions, + defaultVersion: SchemaSummaryFormatVersion.v1, + }); this.schema.events.on("afterSchemaChange", () => { // Invalidate the cache, as we need to regenerate the blob if the schema changes // We are assuming that schema changes from remote ops are valid, as we are in a summarization context. @@ -52,16 +92,15 @@ export class SchemaSummarizer implements Summarizable { }); } - public summarize(props: { + protected summarizeInternal(props: { stringify: SummaryElementStringifier; fullTree?: boolean; trackState?: boolean; telemetryContext?: ITelemetryContext; incrementalSummaryContext?: IExperimentalIncrementalSummaryContext; - }): ISummaryTreeWithStats { - const incrementalSummaryContext = props.incrementalSummaryContext; - const builder = new SummaryTreeBuilder(); - const fullTree = props.fullTree ?? false; + builder: SummaryTreeBuilder; + }): void { + const { builder, incrementalSummaryContext, stringify, fullTree = false } = props; if ( !fullTree && incrementalSummaryContext !== undefined && @@ -74,13 +113,12 @@ export class SchemaSummarizer implements Summarizable { `${incrementalSummaryContext.summaryPath}/${schemaStringKey}`, ); } else { - const dataString = JSON.stringify(this.codec.encode(this.schema)); + const dataString = stringify(this.codec.encode(this.schema)); builder.addBlob(schemaStringKey, dataString); } - return builder.getSummaryTree(); } - public async load( + protected async loadInternal( services: IChannelStorageService, parse: SummaryElementParser, ): Promise { diff --git a/packages/dds/tree/src/shared-tree-core/editManagerSummarizer.ts b/packages/dds/tree/src/shared-tree-core/editManagerSummarizer.ts index 139bd1e28619..d0cc795c1601 100644 --- a/packages/dds/tree/src/shared-tree-core/editManagerSummarizer.ts +++ b/packages/dds/tree/src/shared-tree-core/editManagerSummarizer.ts @@ -9,10 +9,10 @@ import type { IChannelStorageService } from "@fluidframework/datastore-definitio import type { IIdCompressor } from "@fluidframework/id-compressor"; import type { IExperimentalIncrementalSummaryContext, - ISummaryTreeWithStats, ITelemetryContext, + MinimumVersionForCollab, } from "@fluidframework/runtime-definitions/internal"; -import { createSingleBlobSummary } from "@fluidframework/shared-object-base/internal"; +import type { SummaryTreeBuilder } from "@fluidframework/runtime-utils/internal"; import type { IJsonCodec } from "../codec/index.js"; import type { ChangeFamily, ChangeFamilyEditor, SchemaAndPolicy } from "../core/index.js"; @@ -24,16 +24,51 @@ import type { Summarizable, SummaryElementParser, SummaryElementStringifier, -} from "./sharedTreeCore.js"; +} from "./summaryTypes.js"; +import { VersionedSummarizer } from "./versionedSummarizer.js"; const stringKey = "String"; /** - * Provides methods for summarizing and loading an `EditManager` + * The versions for the edit manager summary format. */ -export class EditManagerSummarizer implements Summarizable { - public readonly key = "EditManager"; +export const enum EditManagerSummaryFormatVersion { + /** + * This version represents summary format before summary versioning was introduced. + */ + v1 = 1, + /** + * This version adds metadata to the summary. This is backward compatible with version 1. + */ + v2 = 2, + /** + * The latest version of the summary. Must be updated when a new version is added. + */ + vLatest = v2, +} + +const supportedVersions = new Set([ + EditManagerSummaryFormatVersion.v1, + EditManagerSummaryFormatVersion.v2, +]); + +/** + * Returns the summary version to use as per the given minimum version for collab. + */ +function minVersionToEditManagerSummaryFormatVersion( + version: MinimumVersionForCollab, +): EditManagerSummaryFormatVersion { + // Currently, version 2 is written which adds metadata blob to the summary. + return EditManagerSummaryFormatVersion.v2; +} +/** + * Provides methods for summarizing and loading an `EditManager` + */ +export class EditManagerSummarizer + extends VersionedSummarizer + implements Summarizable +{ public constructor( private readonly editManager: EditManager< ChangeFamilyEditor, @@ -47,30 +82,36 @@ export class EditManagerSummarizer implements Summarizable { EditManagerEncodingContext >, private readonly idCompressor: IIdCompressor, + minVersionForCollab: MinimumVersionForCollab, private readonly schemaAndPolicy?: SchemaAndPolicy, - ) {} + ) { + super({ + key: "EditManager", + writeVersion: minVersionToEditManagerSummaryFormatVersion(minVersionForCollab), + supportedVersions, + defaultVersion: EditManagerSummaryFormatVersion.v1, + }); + } - public summarize(props: { + protected summarizeInternal(props: { stringify: SummaryElementStringifier; fullTree?: boolean; trackState?: boolean; telemetryContext?: ITelemetryContext; incrementalSummaryContext?: IExperimentalIncrementalSummaryContext; - }): ISummaryTreeWithStats { - return this.summarizeCore(props.stringify); - } - - private summarizeCore(stringify: SummaryElementStringifier): ISummaryTreeWithStats { + builder: SummaryTreeBuilder; + }): void { + const { stringify, builder } = props; const context: EditManagerEncodingContext = this.schemaAndPolicy !== undefined ? { schema: this.schemaAndPolicy, idCompressor: this.idCompressor } : { idCompressor: this.idCompressor }; const jsonCompatible = this.codec.encode(this.editManager.getSummaryData(), context); const dataString = stringify(jsonCompatible); - return createSingleBlobSummary(stringKey, dataString); + builder.addBlob(stringKey, dataString); } - public async load( + protected async loadInternal( services: IChannelStorageService, parse: SummaryElementParser, ): Promise { diff --git a/packages/dds/tree/src/shared-tree-core/index.ts b/packages/dds/tree/src/shared-tree-core/index.ts index 03eeb63bdc97..80fd86757dff 100644 --- a/packages/dds/tree/src/shared-tree-core/index.ts +++ b/packages/dds/tree/src/shared-tree-core/index.ts @@ -23,12 +23,18 @@ export { export { SharedTreeCore, - type Summarizable, - type SummaryElementParser, - type SummaryElementStringifier, type ClonableSchemaAndPolicy, type SharedTreeCoreOptionsInternal as SharedTreCoreOptionsInternal, } from "./sharedTreeCore.js"; +export { + SharedTreeSummaryFormatVersion, + type SharedTreeSummarizableMetadata, + type Summarizable, + type SummaryElementParser, + type SummaryElementStringifier, + summarizablesMetadataKey, +} from "./summaryTypes.js"; +export { VersionedSummarizer } from "./versionedSummarizer.js"; export type { ResubmitMachine } from "./resubmitMachine.js"; export { DefaultResubmitMachine } from "./defaultResubmitMachine.js"; diff --git a/packages/dds/tree/src/shared-tree-core/sharedTreeCore.ts b/packages/dds/tree/src/shared-tree-core/sharedTreeCore.ts index cc14de227925..e9ee8644d700 100644 --- a/packages/dds/tree/src/shared-tree-core/sharedTreeCore.ts +++ b/packages/dds/tree/src/shared-tree-core/sharedTreeCore.ts @@ -62,9 +62,16 @@ import { import type { DecodedMessage } from "./messageTypes.js"; import type { ResubmitMachine } from "./resubmitMachine.js"; import type { MessageFormatVersion } from "./messageFormat.js"; - -// TODO: Organize this to be adjacent to persisted types. -const summarizablesTreeKey = "indexes"; +import { + minVersionToSharedTreeSummaryFormatVersion, + SharedTreeSummaryFormatVersion, + summarizablesTreeKey, + supportedSharedTreeSummaryFormatVersions, + type Summarizable, + type SummaryElementParser, + type SummaryElementStringifier, +} from "./summaryTypes.js"; +import { VersionedSummarizer } from "./versionedSummarizer.js"; export interface ClonableSchemaAndPolicy extends SchemaAndPolicy { schema: TreeStoredSchemaRepository; @@ -80,7 +87,8 @@ export interface SharedTreeCoreOptionsInternal */ @breakingClass export class SharedTreeCore - implements WithBreakable + extends VersionedSummarizer + implements WithBreakable, Summarizable { private readonly editManager: EditManager>; private readonly summarizables: readonly [EditManagerSummarizer, ...Summarizable[]]; @@ -139,6 +147,13 @@ export class SharedTreeCore enricher?: ChangeEnricherReadonlyCheckout, public readonly getEditor: () => TEditor = () => this.getLocalBranch().editor, ) { + super({ + key: summarizablesTreeKey, + writeVersion: minVersionToSharedTreeSummaryFormatVersion(options.minVersionForCollab), + supportedVersions: supportedSharedTreeSummaryFormatVersions, + defaultVersion: SharedTreeSummaryFormatVersion.v1, + }); + this.schemaAndPolicy = { schema, policy: schemaPolicy, @@ -178,6 +193,7 @@ export class SharedTreeCore this.editManager, editManagerCodec, this.idCompressor, + options.minVersionForCollab, this.schemaAndPolicy, ), ...summarizables, @@ -203,14 +219,16 @@ export class SharedTreeCore // TODO: SharedObject's merging of the two summary methods into summarizeCore is not what we want here: // We might want to not subclass it, or override/reimplement most of its functionality. - @throwIfBroken - public summarizeCore( - serializer: IFluidSerializer, - telemetryContext?: ITelemetryContext, - incrementalSummaryContext?: IExperimentalIncrementalSummaryContext, - fullTree?: boolean, - ): ISummaryTreeWithStats { - const builder = new SummaryTreeBuilder(); + protected summarizeInternal(props: { + stringify: SummaryElementStringifier; + fullTree?: boolean; + trackState?: boolean; + telemetryContext?: ITelemetryContext; + incrementalSummaryContext?: IExperimentalIncrementalSummaryContext; + builder: SummaryTreeBuilder; + }): void { + const { stringify, fullTree, telemetryContext, incrementalSummaryContext, builder } = + props; const summarizableBuilder = new SummaryTreeBuilder(); // Merge the summaries of all summarizables together under a single ISummaryTree for (const s of this.summarizables) { @@ -226,28 +244,24 @@ export class SharedTreeCore summarizableBuilder.addWithStats( s.key, s.summarize({ - stringify: (contents: unknown) => - serializer.stringify(contents, this.sharedObject.handle), + stringify, fullTree, telemetryContext, incrementalSummaryContext: childIncrementalSummaryContext, }), ); } - builder.addWithStats(summarizablesTreeKey, summarizableBuilder.getSummaryTree()); - return builder.getSummaryTree(); } - public async loadCore(services: IChannelStorageService): Promise { - assert( - this.getLocalBranch().getHead() === this.editManager.getTrunkHead("main"), - 0xaaa /* All local changes should be applied to the trunk before loading from summary */, - ); + protected async loadInternal( + services: IChannelStorageService, + parse: SummaryElementParser, + ): Promise { const [editManagerSummarizer, ...summarizables] = this.summarizables; - const loadEditManager = this.loadSummarizable(editManagerSummarizer, services); + const loadEditManager = this.loadSummarizable(editManagerSummarizer, services, parse); const loadSummarizables = summarizables.map(async (s) => - this.loadSummarizable(s, services), + this.loadSummarizable(s, services, parse), ); if (this.detachedRevision !== undefined) { @@ -268,6 +282,30 @@ export class SharedTreeCore } } + @throwIfBroken + public summarizeCore( + serializer: IFluidSerializer, + telemetryContext?: ITelemetryContext, + incrementalSummaryContext?: IExperimentalIncrementalSummaryContext, + fullTree?: boolean, + ): ISummaryTreeWithStats { + return this.summarize({ + stringify: (contents: unknown) => + serializer.stringify(contents, this.sharedObject.handle), + fullTree, + telemetryContext, + incrementalSummaryContext, + }); + } + + public async loadCore(services: IChannelStorageService): Promise { + assert( + this.getLocalBranch().getHead() === this.editManager.getTrunkHead("main"), + 0xaaa /* All local changes should be applied to the trunk before loading from summary */, + ); + await super.load(services, (contents) => this.serializer.parse(contents)); + } + private registerSharedBranch(branchId: BranchId): void { this.editManager.getLocalBranch(branchId).events.on("beforeChange", (change) => { if (change.type === "append") { @@ -286,10 +324,11 @@ export class SharedTreeCore private async loadSummarizable( summarizable: Summarizable, services: IChannelStorageService, + parse: SummaryElementParser, ): Promise { return summarizable.load( scopeStorageService(services, summarizablesTreeKey, summarizable.key), - (contents) => this.serializer.parse(contents), + parse, ); } @@ -646,57 +685,6 @@ function isClonableSchemaPolicy( return schemaAndPolicy.schema !== undefined && schemaAndPolicy.policy !== undefined; } -/** - * Specifies the behavior of a component that puts data in a summary. - */ -export interface Summarizable { - /** - * Field name in summary json under which this element stores its data. - */ - readonly key: string; - - /** - * {@inheritDoc @fluidframework/datastore-definitions#(IChannel:interface).summarize} - * @param stringify - Serializes the contents of the component (including {@link (IFluidHandle:interface)}s) for storage. - * @param fullTree - A flag indicating whether the attempt should generate a full - * summary tree without any handles for unchanged subtrees. It should only be set to true when generating - * a summary from the entire container. The default value is false. - * @param trackState - An optimization for tracking state of objects across summaries. If the state - * of an object did not change since last successful summary, an - * {@link @fluidframework/protocol-definitions#ISummaryHandle} can be used - * instead of re-summarizing it. If this is `false`, the expectation is that you should never - * send an `ISummaryHandle`, since you are not expected to track state. The default value is true. - * @param telemetryContext - See {@link @fluidframework/runtime-definitions#ITelemetryContext}. - * @param incrementalSummaryContext - See {@link @fluidframework/runtime-definitions#IExperimentalIncrementalSummaryContext}. - */ - summarize(props: { - stringify: SummaryElementStringifier; - fullTree?: boolean; - trackState?: boolean; - telemetryContext?: ITelemetryContext; - incrementalSummaryContext?: IExperimentalIncrementalSummaryContext; - }): ISummaryTreeWithStats; - - /** - * Allows the component to perform custom loading. The storage service is scoped to this component and therefore - * paths in this component will not collide with those in other components, even if they are the same string. - * @param service - Storage used by the component - * @param parse - Parses serialized data from storage into runtime objects for the component - */ - load(service: IChannelStorageService, parse: SummaryElementParser): Promise; -} - -/** - * Serializes the given contents into a string acceptable for storing in summaries, i.e. all - * Fluid handles have been replaced appropriately by an IFluidSerializer - */ -export type SummaryElementStringifier = (contents: unknown) => string; - -/** - * Parses a serialized/summarized string into an object, rehydrating any Fluid handles as necessary - */ -export type SummaryElementParser = (contents: string) => unknown; - /** * Compose an {@link IChannelStorageService} which prefixes all paths before forwarding them to the original service */ diff --git a/packages/dds/tree/src/shared-tree-core/summaryTypes.ts b/packages/dds/tree/src/shared-tree-core/summaryTypes.ts new file mode 100644 index 000000000000..5816744ed45b --- /dev/null +++ b/packages/dds/tree/src/shared-tree-core/summaryTypes.ts @@ -0,0 +1,122 @@ +/*! + * Copyright (c) Microsoft Corporation and contributors. All rights reserved. + * Licensed under the MIT License. + */ + +import type { IChannelStorageService } from "@fluidframework/datastore-definitions/internal"; +import type { + IExperimentalIncrementalSummaryContext, + ISummaryTreeWithStats, + ITelemetryContext, + MinimumVersionForCollab, +} from "@fluidframework/runtime-definitions/internal"; + +// TODO: Organize this to be adjacent to persisted types. +/** + * The storage key for the subtree containing all summarizable indexes in the SharedTree summary. + */ +export const summarizablesTreeKey = "indexes"; + +/** + * The storage key for the blob containing metadata for the summarizable's summary. + */ +export const summarizablesMetadataKey = ".metadata"; + +/** + * Specifies the behavior of a component that puts data in a summary. + */ +export interface Summarizable { + /** + * Field name in summary json under which this element stores its data. + */ + readonly key: string; + + /** + * {@inheritDoc @fluidframework/datastore-definitions#(IChannel:interface).summarize} + * @param stringify - Serializes the contents of the component (including {@link (IFluidHandle:interface)}s) for storage. + * @param fullTree - A flag indicating whether the attempt should generate a full + * summary tree without any handles for unchanged subtrees. It should only be set to true when generating + * a summary from the entire container. The default value is false. + * @param trackState - An optimization for tracking state of objects across summaries. If the state + * of an object did not change since last successful summary, an + * {@link @fluidframework/protocol-definitions#ISummaryHandle} can be used + * instead of re-summarizing it. If this is `false`, the expectation is that you should never + * send an `ISummaryHandle`, since you are not expected to track state. The default value is true. + * @param telemetryContext - See {@link @fluidframework/runtime-definitions#ITelemetryContext}. + * @param incrementalSummaryContext - See {@link @fluidframework/runtime-definitions#IExperimentalIncrementalSummaryContext}. + */ + summarize(props: { + stringify: SummaryElementStringifier; + fullTree?: boolean; + trackState?: boolean; + telemetryContext?: ITelemetryContext; + incrementalSummaryContext?: IExperimentalIncrementalSummaryContext; + }): ISummaryTreeWithStats; + + /** + * Allows the component to perform custom loading. The storage service is scoped to this component and therefore + * paths in this component will not collide with those in other components, even if they are the same string. + * @param service - Storage used by the component + * @param parse - Parses serialized data from storage into runtime objects for the component + */ + load(service: IChannelStorageService, parse: SummaryElementParser): Promise; +} + +/** + * Serializes the given contents into a string acceptable for storing in summaries, i.e. all + * Fluid handles have been replaced appropriately by an IFluidSerializer + */ +export type SummaryElementStringifier = (contents: unknown) => string; + +/** + * Parses a serialized/summarized string into an object, rehydrating any Fluid handles as necessary + */ +export type SummaryElementParser = (contents: string) => unknown; + +/** + * The type for the metadata in the summarizable's summary. + * The metadata is stored under the {@link summarizablesMetadataKey} key in the summary. + * @remarks + * This is common metadata used by all summarizables. If a summarizable needs to add more metadata, + * it should define its own metadata type that extends this type. + */ +// Using type definition instead of interface to make this compatible with JsonCompatible. +// eslint-disable-next-line @typescript-eslint/consistent-type-definitions +export type SharedTreeSummarizableMetadata = { + /** The version of the SharedTree summary. */ + readonly version: number; +}; + +/** + * The versions for the SharedTree summary format. + */ +export const enum SharedTreeSummaryFormatVersion { + /** + * This version represents summary format before summary versioning was introduced. + */ + v1 = 1, + /** + * This version adds metadata to the summary. This is backward compatible with version 1. + */ + v2 = 2, + /** + * The latest version of the SharedTree summary. Must be updated when a new version is added. + */ + vLatest = v2, +} + +export const supportedSharedTreeSummaryFormatVersions = + new Set([ + SharedTreeSummaryFormatVersion.v1, + SharedTreeSummaryFormatVersion.v2, + ]); + +/** + * Returns the summary version to use as per the given minimum version for collab. + */ +export function minVersionToSharedTreeSummaryFormatVersion( + version: MinimumVersionForCollab, +): SharedTreeSummaryFormatVersion { + // Currently, version 2 is written which adds metadata blob to the summary. + return SharedTreeSummaryFormatVersion.v2; +} diff --git a/packages/dds/tree/src/shared-tree-core/versionedSummarizer.ts b/packages/dds/tree/src/shared-tree-core/versionedSummarizer.ts new file mode 100644 index 000000000000..79f5f5a47ed8 --- /dev/null +++ b/packages/dds/tree/src/shared-tree-core/versionedSummarizer.ts @@ -0,0 +1,111 @@ +/*! + * Copyright (c) Microsoft Corporation and contributors. All rights reserved. + * Licensed under the MIT License. + */ + +import type { IChannelStorageService } from "@fluidframework/datastore-definitions/internal"; +import type { + IExperimentalIncrementalSummaryContext, + ISummaryTreeWithStats, + ITelemetryContext, +} from "@fluidframework/runtime-definitions/internal"; +import { SummaryTreeBuilder } from "@fluidframework/runtime-utils/internal"; +import { UsageError } from "@fluidframework/telemetry-utils/internal"; +import { + summarizablesMetadataKey, + type SharedTreeSummarizableMetadata, + type Summarizable, + type SummaryElementParser, + type SummaryElementStringifier, +} from "./summaryTypes.js"; +import { readAndParseSnapshotBlob } from "../util/index.js"; + +/** + * Utility for implementing {@link Summarizable}s classes with versioning. + * It handles versioning of summaries - writing version metadata to summaries + * and checking version compatibility when loading. + */ +export abstract class VersionedSummarizer implements Summarizable { + public readonly key: string; + private readonly writeVersion: number; + private readonly supportedVersions: Set; + private readonly defaultVersion: number; + + public constructor(props: { + /** {@link Summarizable.key} */ + key: string; + /** The format version of the summary to write in the summary metadata. */ + writeVersion: number; + /** The set of supported versions that a summary can have for this summarizer to load it. */ + supportedVersions: Set; + /** + * The default format version to use if the summary doesn't have metadata blob. + * This is true for summaries that were written before versioning was added for summaries. + */ + defaultVersion: number; + }) { + this.key = props.key; + this.writeVersion = props.writeVersion; + this.supportedVersions = props.supportedVersions; + this.defaultVersion = props.defaultVersion; + } + + /** + * The summarize function that derived classes must implement. They should use the passed summary tree builder to + * add their summary data. + */ + protected abstract summarizeInternal(props: { + stringify: SummaryElementStringifier; + fullTree?: boolean; + trackState?: boolean; + telemetryContext?: ITelemetryContext; + incrementalSummaryContext?: IExperimentalIncrementalSummaryContext; + builder: SummaryTreeBuilder; + }): void; + + /** + * The load function that derived classes must implement to load their summary data. + */ + protected abstract loadInternal( + services: IChannelStorageService, + parse: SummaryElementParser, + ): Promise; + + public summarize(props: { + stringify: SummaryElementStringifier; + fullTree?: boolean; + trackState?: boolean; + telemetryContext?: ITelemetryContext; + incrementalSummaryContext?: IExperimentalIncrementalSummaryContext; + }): ISummaryTreeWithStats { + const builder = new SummaryTreeBuilder(); + const metadata: SharedTreeSummarizableMetadata = { + version: this.writeVersion, + }; + builder.addBlob(summarizablesMetadataKey, props.stringify(metadata)); + this.summarizeInternal({ ...props, builder }); + return builder.getSummaryTree(); + } + + public async load( + services: IChannelStorageService, + parse: SummaryElementParser, + ): Promise { + // This is the version before metadata blob with version is written into the summary. + let version = this.defaultVersion; + if (await services.contains(summarizablesMetadataKey)) { + const metadata = await readAndParseSnapshotBlob( + summarizablesMetadataKey, + services, + (contents) => parse(contents), + ); + version = metadata.version; + } + if (!this.supportedVersions.has(version)) { + throw new UsageError( + `Cannot read version ${version} of shared tree summary. Upgrade to a supported version.`, + ); + } + await this.loadInternal(services, parse); + } +} diff --git a/packages/dds/tree/src/shared-tree/sharedTree.ts b/packages/dds/tree/src/shared-tree/sharedTree.ts index 46855153d444..ffefef9dc4bb 100644 --- a/packages/dds/tree/src/shared-tree/sharedTree.ts +++ b/packages/dds/tree/src/shared-tree/sharedTree.ts @@ -241,6 +241,7 @@ export class SharedTreeKernel getCurrentSeq: lastSequenceNumber, }, schemaCodec, + options.minVersionForCollab, ); const fieldBatchCodec = makeFieldBatchCodec(options); @@ -263,7 +264,10 @@ export class SharedTreeKernel initialSequenceNumber, options.shouldEncodeIncrementally, ); - const removedRootsSummarizer = new DetachedFieldIndexSummarizer(removedRoots); + const removedRootsSummarizer = new DetachedFieldIndexSummarizer( + removedRoots, + options.minVersionForCollab, + ); const innerChangeFamily = new SharedTreeChangeFamily( revisionTagCodec, fieldBatchCodec, diff --git a/packages/dds/tree/src/test/feature-libraries/detachedFieldIndexSummarizer.spec.ts b/packages/dds/tree/src/test/feature-libraries/detachedFieldIndexSummarizer.spec.ts new file mode 100644 index 000000000000..51ef45149aad --- /dev/null +++ b/packages/dds/tree/src/test/feature-libraries/detachedFieldIndexSummarizer.spec.ts @@ -0,0 +1,142 @@ +/*! + * Copyright (c) Microsoft Corporation and contributors. All rights reserved. + * Licensed under the MIT License. + */ + +import { strict as assert } from "node:assert"; +import { SummaryType, type SummaryObject } from "@fluidframework/driver-definitions/internal"; +import type { MinimumVersionForCollab } from "@fluidframework/runtime-definitions/internal"; +import { MockStorage, validateUsageError } from "@fluidframework/test-runtime-utils/internal"; + +import { DetachedFieldIndex, type ForestRootId } from "../../core/index.js"; +import { + DetachedFieldIndexSummarizer, + DetachedFieldIndexSummaryFormatVersion, + // eslint-disable-next-line import-x/no-internal-modules +} from "../../feature-libraries/detachedFieldIndexSummarizer.js"; +import { FluidClientVersion } from "../../codec/index.js"; +import { testIdCompressor, testRevisionTagCodec } from "../utils.js"; +import { type IdAllocator, idAllocatorFromMaxId } from "../../util/index.js"; +import { + summarizablesMetadataKey, + type SharedTreeSummarizableMetadata, +} from "../../shared-tree-core/index.js"; + +function createDetachedFieldIndexSummarizer(options?: { + minVersionForCollab?: MinimumVersionForCollab; +}): { + summarizer: DetachedFieldIndexSummarizer; + index: DetachedFieldIndex; +} { + const index = new DetachedFieldIndex( + "test", + idAllocatorFromMaxId() as IdAllocator, + testRevisionTagCodec, + testIdCompressor, + ); + const summarizer = new DetachedFieldIndexSummarizer( + index, + options?.minVersionForCollab ?? FluidClientVersion.v2_73, + ); + return { summarizer, index }; +} + +describe("DetachedFieldIndexSummarizer", () => { + describe("Summary metadata validation", () => { + it("writes metadata blob with version 2", () => { + const { summarizer } = createDetachedFieldIndexSummarizer(); + + const summary = summarizer.summarize({ + stringify: JSON.stringify, + }); + + // Check if metadata blob exists + const metadataBlob: SummaryObject | undefined = + summary.summary.tree[summarizablesMetadataKey]; + assert(metadataBlob !== undefined, "Metadata blob should exist"); + assert.equal(metadataBlob.type, SummaryType.Blob, "Metadata should be a blob"); + const metadataContent = JSON.parse( + metadataBlob.content as string, + ) as SharedTreeSummarizableMetadata; + assert.equal( + metadataContent.version, + DetachedFieldIndexSummaryFormatVersion.v2, + "Metadata version should be 2", + ); + }); + + it("loads with metadata blob with version 2", async () => { + const { summarizer } = createDetachedFieldIndexSummarizer(); + + const summary = summarizer.summarize({ + stringify: JSON.stringify, + }); + + // Verify metadata exists and has version = 2 + const metadataBlob: SummaryObject | undefined = + summary.summary.tree[summarizablesMetadataKey]; + assert(metadataBlob !== undefined, "Metadata blob should exist"); + assert.equal(metadataBlob.type, SummaryType.Blob, "Metadata should be a blob"); + const metadataContent = JSON.parse( + metadataBlob.content as string, + ) as SharedTreeSummarizableMetadata; + assert.equal( + metadataContent.version, + DetachedFieldIndexSummaryFormatVersion.v2, + "Metadata version should be 2", + ); + + // Create a new DetachedFieldIndexSummarizer and load with the above summary + const mockStorage = MockStorage.createFromSummary(summary.summary); + const { summarizer: summarizer2 } = createDetachedFieldIndexSummarizer(); + + // Should load successfully with version 2 + await assert.doesNotReject(async () => summarizer2.load(mockStorage, JSON.parse)); + }); + + it("loads with no metadata blob", async () => { + const { summarizer } = createDetachedFieldIndexSummarizer(); + + const summary = summarizer.summarize({ + stringify: JSON.stringify, + }); + + // Delete metadata blob from the summary + Reflect.deleteProperty(summary.summary.tree, summarizablesMetadataKey); + + // Should load successfully + const mockStorage = MockStorage.createFromSummary(summary.summary); + const { summarizer: summarizer2 } = createDetachedFieldIndexSummarizer(); + + await assert.doesNotReject(async () => summarizer2.load(mockStorage, JSON.parse)); + }); + + it("fail to load with metadata blob with version > latest", async () => { + const { summarizer } = createDetachedFieldIndexSummarizer(); + + const summary = summarizer.summarize({ + stringify: JSON.stringify, + }); + + // Modify metadata to have version > latest + const metadataBlob: SummaryObject | undefined = + summary.summary.tree[summarizablesMetadataKey]; + assert(metadataBlob !== undefined, "Metadata blob should exist"); + assert.equal(metadataBlob.type, SummaryType.Blob, "Metadata should be a blob"); + const modifiedMetadata: SharedTreeSummarizableMetadata = { + version: DetachedFieldIndexSummaryFormatVersion.vLatest + 1, + }; + metadataBlob.content = JSON.stringify(modifiedMetadata); + + // Create a new DetachedFieldIndexSummarizer and load with the above summary + const mockStorage = MockStorage.createFromSummary(summary.summary); + const { summarizer: summarizer2 } = createDetachedFieldIndexSummarizer(); + + // Should fail to load with version > latest + await assert.rejects( + async () => summarizer2.load(mockStorage, JSON.parse), + validateUsageError(/Cannot read version/), + ); + }); + }); +}); diff --git a/packages/dds/tree/src/test/feature-libraries/forest-summary/forestSummarizer.spec.ts b/packages/dds/tree/src/test/feature-libraries/forest-summary/forestSummarizer.spec.ts index cd8c2736c3bb..dd146ce63227 100644 --- a/packages/dds/tree/src/test/feature-libraries/forest-summary/forestSummarizer.spec.ts +++ b/packages/dds/tree/src/test/feature-libraries/forest-summary/forestSummarizer.spec.ts @@ -9,8 +9,11 @@ import { type ISummaryTree, type SummaryObject, } from "@fluidframework/driver-definitions"; -import type { IExperimentalIncrementalSummaryContext } from "@fluidframework/runtime-definitions/internal"; -import { MockStorage } from "@fluidframework/test-runtime-utils/internal"; +import type { + IExperimentalIncrementalSummaryContext, + MinimumVersionForCollab, +} from "@fluidframework/runtime-definitions/internal"; +import { MockStorage, validateUsageError } from "@fluidframework/test-runtime-utils/internal"; import { FormatValidatorBasic } from "../../../external-utilities/index.js"; import { FluidClientVersion, type CodecWriteOptions } from "../../../codec/index.js"; @@ -49,9 +52,16 @@ import { TreeViewConfigurationAlpha, } from "../../../simple-tree/index.js"; import { fieldJsonCursor } from "../../json/index.js"; -// eslint-disable-next-line import-x/no-internal-modules -import { forestSummaryContentKey } from "../../../feature-libraries/forest-summary/incrementalSummaryBuilder.js"; +import { + forestSummaryContentKey, + ForestSummaryFormatVersion, + // eslint-disable-next-line import-x/no-internal-modules +} from "../../../feature-libraries/forest-summary/summaryTypes.js"; import type { FieldKey, TreeNodeSchemaIdentifier } from "../../../core/index.js"; +import { + summarizablesMetadataKey, + type SharedTreeSummarizableMetadata, +} from "../../../shared-tree-core/index.js"; function createForestSummarizer(args: { // The encoding strategy to use when summarizing the forest. @@ -61,6 +71,7 @@ function createForestSummarizer(args: { // The content and schema to initialize the forest with. By default, it is an empty forest. initialContent?: TreeStoredContentStrict; shouldEncodeIncrementally?: IncrementalEncodingPolicy; + minVersionForCollab?: MinimumVersionForCollab; }): { forestSummarizer: ForestSummarizer; checkout: TreeCheckout } { const { initialContent = { @@ -70,10 +81,11 @@ function createForestSummarizer(args: { encodeType, forestType, shouldEncodeIncrementally, + minVersionForCollab = FluidClientVersion.v2_73, } = args; const options: CodecWriteOptions = { jsonValidator: FormatValidatorBasic, - minVersionForCollab: FluidClientVersion.v2_73, + minVersionForCollab, }; const fieldBatchCodec = makeFieldBatchCodec(options); const checkout = checkoutWithContent(initialContent, { @@ -195,11 +207,17 @@ describe("ForestSummarizer", () => { ]; for (const { encodeType, testType, forestType } of testCases) { it(`can summarize empty ${testType} forest and load from it`, async () => { - const { forestSummarizer } = createForestSummarizer({ encodeType, forestType }); + const { forestSummarizer } = createForestSummarizer({ + encodeType, + forestType, + minVersionForCollab: FluidClientVersion.v2_52, + }); const summary = forestSummarizer.summarize({ stringify: JSON.stringify }); - assert( - Object.keys(summary.summary.tree).length === 1, - "Summary tree should only contain one entry for the forest contents", + // The summary tree should have 2 entries - one for forest contents and one for metadata + assert.equal( + Object.keys(summary.summary.tree).length, + 2, + "Summary tree should only contain two entries", ); const forestContentsBlob: SummaryObject | undefined = summary.summary.tree[forestSummaryContentKey]; @@ -213,6 +231,7 @@ describe("ForestSummarizer", () => { const { forestSummarizer: forestSummarizer2 } = createForestSummarizer({ encodeType, forestType, + minVersionForCollab: FluidClientVersion.v2_52, }); await assert.doesNotReject(async () => { await forestSummarizer2.load(mockStorage, JSON.parse); @@ -231,11 +250,14 @@ describe("ForestSummarizer", () => { initialContent, encodeType, forestType, + minVersionForCollab: FluidClientVersion.v2_52, }); const summary = forestSummarizer.summarize({ stringify: JSON.stringify }); - assert( - Object.keys(summary.summary.tree).length === 1, - "Summary tree should only contain one entry for the forest contents", + // The summary tree should have 2 entries - one for forest contents and one for metadata + assert.equal( + Object.keys(summary.summary.tree).length, + 2, + "Summary tree should only contain two entries", ); const forestContentsBlob: SummaryObject | undefined = summary.summary.tree[forestSummaryContentKey]; @@ -249,6 +271,7 @@ describe("ForestSummarizer", () => { const { forestSummarizer: forestSummarizer2 } = createForestSummarizer({ encodeType, forestType, + minVersionForCollab: FluidClientVersion.v2_52, }); await assert.doesNotReject(async () => { await forestSummarizer2.load(mockStorage, JSON.parse); @@ -261,14 +284,16 @@ describe("ForestSummarizer", () => { const sf = new SchemaFactoryAlpha("IncrementalSummarization"); function validateSummaryIsIncremental(summary: ISummaryTree) { + // Forest summary contains one blob for top-level forest content and one blob for metadata. + // For incremental summaries, it should contain at least one other node making total >= 3. assert( - Object.keys(summary.tree).length >= 2, + Object.keys(summary.tree).length >= 3, "There should be at least one node for incremental fields", ); for (const [key, value] of Object.entries(summary.tree)) { - if (key === forestSummaryContentKey) { - assert(value.type === SummaryType.Blob, "Forest summary contents not found"); + if (key === forestSummaryContentKey || key === summarizablesMetadataKey) { + assert(value.type === SummaryType.Blob, "Forest summary blob not as expected"); } else { assert(value.type === SummaryType.Tree, "Incremental summary node should be a tree"); } @@ -663,4 +688,115 @@ describe("ForestSummarizer", () => { }); }); }); + + describe("Summary metadata validation", () => { + it("writes metadata blob with version 2", () => { + const { forestSummarizer } = createForestSummarizer({ + encodeType: TreeCompressionStrategy.Compressed, + forestType: ForestTypeOptimized, + }); + + const summary = forestSummarizer.summarize({ stringify: JSON.stringify }); + + // Check if metadata blob exists + const metadataBlob: SummaryObject | undefined = + summary.summary.tree[summarizablesMetadataKey]; + assert(metadataBlob !== undefined, "Metadata blob should exist"); + assert.equal(metadataBlob.type, SummaryType.Blob, "Metadata should be a blob"); + const metadataContent = JSON.parse( + metadataBlob.content as string, + ) as SharedTreeSummarizableMetadata; + assert.equal( + metadataContent.version, + ForestSummaryFormatVersion.v2, + "Metadata version should be 2", + ); + }); + + it("loads with metadata blob with version 2", async () => { + const { forestSummarizer } = createForestSummarizer({ + encodeType: TreeCompressionStrategy.Compressed, + forestType: ForestTypeOptimized, + }); + + const summary = forestSummarizer.summarize({ stringify: JSON.stringify }); + + // Verify metadata exists and has version = 2 + const metadataBlob: SummaryObject | undefined = + summary.summary.tree[summarizablesMetadataKey]; + assert(metadataBlob !== undefined, "Metadata blob should exist"); + assert.equal(metadataBlob.type, SummaryType.Blob, "Metadata should be a blob"); + const metadataContent = JSON.parse( + metadataBlob.content as string, + ) as SharedTreeSummarizableMetadata; + assert.equal( + metadataContent.version, + ForestSummaryFormatVersion.v2, + "Metadata version should be 2", + ); + + // Create a new ForestSummarizer and load with the above summary + const mockStorage = MockStorage.createFromSummary(summary.summary); + const { forestSummarizer: forestSummarizer2 } = createForestSummarizer({ + encodeType: TreeCompressionStrategy.Compressed, + forestType: ForestTypeOptimized, + }); + + // Should load successfully with version 2 + await assert.doesNotReject(async () => forestSummarizer2.load(mockStorage, JSON.parse)); + }); + + it("loads with no metadata blob", async () => { + const { forestSummarizer } = createForestSummarizer({ + encodeType: TreeCompressionStrategy.Compressed, + forestType: ForestTypeOptimized, + }); + + const summary = forestSummarizer.summarize({ stringify: JSON.stringify }); + + // Delete metadata blob from the summary + Reflect.deleteProperty(summary.summary.tree, summarizablesMetadataKey); + + // Should load successfully + const mockStorage = MockStorage.createFromSummary(summary.summary); + const { forestSummarizer: forestSummarizer2 } = createForestSummarizer({ + encodeType: TreeCompressionStrategy.Compressed, + forestType: ForestTypeOptimized, + }); + + await assert.doesNotReject(async () => forestSummarizer2.load(mockStorage, JSON.parse)); + }); + + it("fail to load with metadata blob with version > latest", async () => { + const { forestSummarizer } = createForestSummarizer({ + encodeType: TreeCompressionStrategy.Compressed, + forestType: ForestTypeOptimized, + }); + + const summary = forestSummarizer.summarize({ stringify: JSON.stringify }); + + // Modify metadata to have version > latest + const metadataBlob: SummaryObject | undefined = + summary.summary.tree[summarizablesMetadataKey]; + assert(metadataBlob !== undefined, "Metadata blob should exist"); + assert.equal(metadataBlob.type, SummaryType.Blob, "Metadata should be a blob"); + const modifiedMetadata: SharedTreeSummarizableMetadata = { + version: ForestSummaryFormatVersion.vLatest + 1, + }; + metadataBlob.content = JSON.stringify(modifiedMetadata); + + // Create a new ForestSummarizer and load with the above summary + const mockStorage = MockStorage.createFromSummary(summary.summary); + const { forestSummarizer: forestSummarizer2 } = createForestSummarizer({ + encodeType: TreeCompressionStrategy.Compressed, + forestType: ForestTypeOptimized, + }); + + // Should fail to load with version > latest + await assert.rejects( + async () => forestSummarizer2.load(mockStorage, JSON.parse), + validateUsageError(/Cannot read version/), + ); + }); + }); }); diff --git a/packages/dds/tree/src/test/feature-libraries/forest-summary/incrementalSummaryBuilder.spec.ts b/packages/dds/tree/src/test/feature-libraries/forest-summary/incrementalSummaryBuilder.spec.ts index 9bdf80987bfd..c82243df4810 100644 --- a/packages/dds/tree/src/test/feature-libraries/forest-summary/incrementalSummaryBuilder.spec.ts +++ b/packages/dds/tree/src/test/feature-libraries/forest-summary/incrementalSummaryBuilder.spec.ts @@ -9,6 +9,7 @@ import { stringToBuffer } from "@fluid-internal/client-utils"; import type { IExperimentalIncrementalSummaryContext } from "@fluidframework/runtime-definitions/internal"; import type { IChannelStorageService } from "@fluidframework/datastore-definitions/internal"; import { SummaryType, type ISnapshotTree } from "@fluidframework/driver-definitions/internal"; +import { SummaryTreeBuilder } from "@fluidframework/runtime-utils/internal"; import { validateAssertionError } from "@fluidframework/test-runtime-utils/internal"; import { @@ -67,11 +68,11 @@ function createMockStorageService( function getReadAndParseChunk>( chunkMap: Map, -): (id: string) => Promise { - return async (id: string): Promise => { - const blob = chunkMap.get(id); +): (chunkPath: string) => Promise { + return async (chunkPath: string): Promise => { + const blob = chunkMap.get(chunkPath); if (blob === undefined) { - throw new Error(`Blob not found: ${id}`); + throw new Error(`Blob not found: ${chunkPath}`); } return blob as T; }; @@ -112,6 +113,7 @@ describe("ForestIncrementalSummaryBuilder", () => { fullTree: false, incrementalSummaryContext: undefined, stringify, + builder: new SummaryTreeBuilder(), }); assert.equal(behavior, ForestIncrementalSummaryBehavior.SingleBlob); }); @@ -123,6 +125,7 @@ describe("ForestIncrementalSummaryBuilder", () => { fullTree: false, incrementalSummaryContext, stringify, + builder: new SummaryTreeBuilder(), }); assert.equal(behavior, ForestIncrementalSummaryBehavior.Incremental); }); @@ -134,6 +137,7 @@ describe("ForestIncrementalSummaryBuilder", () => { fullTree: true, incrementalSummaryContext, stringify, + builder: new SummaryTreeBuilder(), }); assert.equal(incrementalSummaryBehavior, ForestIncrementalSummaryBehavior.Incremental); assert.equal(builder.forestSummaryState, ForestSummaryTrackingState.Tracking); @@ -148,6 +152,7 @@ describe("ForestIncrementalSummaryBuilder", () => { fullTree: false, incrementalSummaryContext, stringify, + builder: new SummaryTreeBuilder(), }); assert.equal(builder.forestSummaryState, ForestSummaryTrackingState.Tracking); @@ -158,6 +163,7 @@ describe("ForestIncrementalSummaryBuilder", () => { fullTree: false, incrementalSummaryContext, stringify, + builder: new SummaryTreeBuilder(), }), validateAssertionError(/Already tracking/), ); @@ -169,10 +175,13 @@ describe("ForestIncrementalSummaryBuilder", () => { it("returns tree without incremental chunks when incrementalSummaryContext is undefined", () => { const builder = createIncrementalSummaryBuilder(); assert.equal(builder.forestSummaryState, ForestSummaryTrackingState.ReadyToTrack); - const summary = builder.completeSummary({ + const summaryTreeBuilder = new SummaryTreeBuilder(); + builder.completeSummary({ incrementalSummaryContext: undefined, forestSummaryContent: mockForestSummaryContent, + builder: summaryTreeBuilder, }); + const summary = summaryTreeBuilder.getSummaryTree(); // The summary tree should only contain the forest top-level content blob. assert.equal(Object.keys(summary.summary.tree).length, 1); assert.equal(builder.forestSummaryState, ForestSummaryTrackingState.ReadyToTrack); @@ -182,16 +191,20 @@ describe("ForestIncrementalSummaryBuilder", () => { const builder = createIncrementalSummaryBuilder(); assert.equal(builder.forestSummaryState, ForestSummaryTrackingState.ReadyToTrack); const incrementalSummaryContext = createMockIncrementalSummaryContext(10, 0); + const summaryTreeBuilder = new SummaryTreeBuilder(); builder.startSummary({ fullTree: false, incrementalSummaryContext, stringify, + builder: summaryTreeBuilder, }); builder.encodeIncrementalField(testCursor, () => mockEncodedChunk); - const summary = builder.completeSummary({ + builder.completeSummary({ incrementalSummaryContext, forestSummaryContent: mockForestSummaryContent, + builder: summaryTreeBuilder, }); + const summary = summaryTreeBuilder.getSummaryTree(); // The summary tree should contain the forest top-level content blob and incremental summary chunk node. assert.equal(Object.keys(summary.summary.tree).length, 2); assert.equal(builder.forestSummaryState, ForestSummaryTrackingState.ReadyToTrack); @@ -201,16 +214,19 @@ describe("ForestIncrementalSummaryBuilder", () => { const builder = createIncrementalSummaryBuilder(); assert.equal(builder.forestSummaryState, ForestSummaryTrackingState.ReadyToTrack); const localIncrementalSummaryContext = createMockIncrementalSummaryContext(10, 0); + const summaryTreeBuilder = new SummaryTreeBuilder(); builder.startSummary({ fullTree: false, incrementalSummaryContext: localIncrementalSummaryContext, stringify, + builder: summaryTreeBuilder, }); assert.equal(builder.forestSummaryState, ForestSummaryTrackingState.Tracking); builder.completeSummary({ incrementalSummaryContext: localIncrementalSummaryContext, forestSummaryContent: mockForestSummaryContent, + builder: summaryTreeBuilder, }); assert.equal(builder.forestSummaryState, ForestSummaryTrackingState.ReadyToTrack); }); @@ -224,6 +240,7 @@ describe("ForestIncrementalSummaryBuilder", () => { builder.completeSummary({ incrementalSummaryContext: localIncrementalSummaryContext, forestSummaryContent: mockForestSummaryContent, + builder: new SummaryTreeBuilder(), }), validateAssertionError(/Not tracking/), ); @@ -235,7 +252,10 @@ describe("ForestIncrementalSummaryBuilder", () => { it("returns early when snapshot tree is not available", async () => { const builder = createIncrementalSummaryBuilder(); const storageService = createMockStorageService(); // No snapshot tree - await builder.load(storageService, getReadAndParseChunk(new Map())); + await builder.load({ + services: storageService, + readAndParseChunk: getReadAndParseChunk(new Map()), + }); }); it("loads chunk contents from snapshot tree", async () => { @@ -267,7 +287,10 @@ describe("ForestIncrementalSummaryBuilder", () => { }; const storageService = createMockStorageService(mockSnapshotTree, blobMap); - await builder.load(storageService, getReadAndParseChunk(blobMap)); + await builder.load({ + services: storageService, + readAndParseChunk: getReadAndParseChunk(blobMap), + }); // Verify chunks can be retrieved builder.decodeIncrementalChunk(referenceId0, (encoded) => { @@ -309,7 +332,10 @@ describe("ForestIncrementalSummaryBuilder", () => { blobs: {}, }; const storageService = createMockStorageService(mockSnapshotTree, blobMap); - await builder.load(storageService, getReadAndParseChunk(blobMap)); + await builder.load({ + services: storageService, + readAndParseChunk: getReadAndParseChunk(blobMap), + }); // Verify both parent and nested chunks can be retrieved builder.decodeIncrementalChunk(referenceId0, (encoded) => { @@ -335,7 +361,11 @@ describe("ForestIncrementalSummaryBuilder", () => { }; const storageService = createMockStorageService(mockSnapshotTree, new Map()); await assert.rejects( - async () => builder.load(storageService, getReadAndParseChunk(new Map())), + async () => + builder.load({ + services: storageService, + readAndParseChunk: getReadAndParseChunk(new Map()), + }), (error: Error) => { assert(error.message.includes("Cannot find contents for incremental chunk")); return true; @@ -361,6 +391,7 @@ describe("ForestIncrementalSummaryBuilder", () => { fullTree: false, incrementalSummaryContext, stringify, + builder: new SummaryTreeBuilder(), }); const referenceIds = builder.encodeIncrementalField(testCursor, () => mockEncodedChunk); assert.equal(referenceIds.length, 1); @@ -372,24 +403,29 @@ describe("ForestIncrementalSummaryBuilder", () => { const builder = createIncrementalSummaryBuilder(); const incrementalSummaryContext = createMockIncrementalSummaryContext(10, 0); // Start with non full tree mode + const summaryTreeBuilder1 = new SummaryTreeBuilder(); builder.startSummary({ fullTree: false, incrementalSummaryContext, stringify, + builder: summaryTreeBuilder1, }); const referenceIds1 = builder.encodeIncrementalField(testCursor, () => mockEncodedChunk); // Complete first summary builder.completeSummary({ incrementalSummaryContext, forestSummaryContent: mockForestSummaryContent, + builder: summaryTreeBuilder1, }); // Start new summary - full tree. const newIncrementalSummaryContext = createMockIncrementalSummaryContext(20, 10); + const summaryTreeBuilder2 = new SummaryTreeBuilder(); builder.startSummary({ fullTree: true, incrementalSummaryContext: newIncrementalSummaryContext, stringify, + builder: summaryTreeBuilder2, }); // Should still encode (not use handle) because it's full tree mode const referenceIds2 = builder.encodeIncrementalField(testCursor, () => mockEncodedChunk); @@ -405,15 +441,18 @@ describe("ForestIncrementalSummaryBuilder", () => { "/base/path", ); // First summary + const summaryTreeBuilder1 = new SummaryTreeBuilder(); builder.startSummary({ fullTree: false, incrementalSummaryContext: incrementalSummaryContext1, stringify, + builder: summaryTreeBuilder1, }); const referenceIds1 = builder.encodeIncrementalField(testCursor, () => mockEncodedChunk); builder.completeSummary({ incrementalSummaryContext: incrementalSummaryContext1, forestSummaryContent: mockForestSummaryContent, + builder: summaryTreeBuilder1, }); // Second summary with same chunk @@ -422,10 +461,12 @@ describe("ForestIncrementalSummaryBuilder", () => { 10, "/base/path", ); + const summaryTreeBuilder2 = new SummaryTreeBuilder(); builder.startSummary({ fullTree: false, incrementalSummaryContext: incrementalSummaryContext2, stringify, + builder: summaryTreeBuilder2, }); const referenceIds2 = builder.encodeIncrementalField(testCursor, () => mockEncodedChunk); // Should reuse the same reference ID @@ -434,10 +475,12 @@ describe("ForestIncrementalSummaryBuilder", () => { // Verify that a handle was added to the summary builder assert.equal(referenceIds1.length, 1); const referenceId1 = referenceIds1[0]; - const summary = builder.completeSummary({ + builder.completeSummary({ incrementalSummaryContext: incrementalSummaryContext2, forestSummaryContent: mockForestSummaryContent, + builder: summaryTreeBuilder2, }); + const summary = summaryTreeBuilder2.getSummaryTree(); const summaryEntry: { type?: SummaryType } | undefined = summary.summary.tree[`${referenceId1}`]; assert.equal(summaryEntry?.type, SummaryType.Handle); @@ -447,36 +490,44 @@ describe("ForestIncrementalSummaryBuilder", () => { const builder = createIncrementalSummaryBuilder(); const incrementalSummaryContext = createMockIncrementalSummaryContext(10, 0); // First summary + const summaryTreeBuilder1 = new SummaryTreeBuilder(); builder.startSummary({ fullTree: false, incrementalSummaryContext, stringify, + builder: summaryTreeBuilder1, }); const referenceIds1 = builder.encodeIncrementalField(testCursor, () => mockEncodedChunk); builder.completeSummary({ incrementalSummaryContext, forestSummaryContent: mockForestSummaryContent, + builder: summaryTreeBuilder1, }); // Start new summary and don't encode any chunks. const incrementalSummaryContext2 = createMockIncrementalSummaryContext(20, 10); + const summaryTreeBuilder2 = new SummaryTreeBuilder(); builder.startSummary({ fullTree: false, incrementalSummaryContext: incrementalSummaryContext2, stringify, + builder: summaryTreeBuilder2, }); builder.completeSummary({ incrementalSummaryContext: incrementalSummaryContext2, forestSummaryContent: mockForestSummaryContent, + builder: summaryTreeBuilder2, }); // Now start a new summary and use the first summary's sequence number as the latestSummarySequenceNumber // to simulate a failure of the previous summary. const incrementalSummaryContext3 = createMockIncrementalSummaryContext(30, 10); + const summaryTreeBuilder3 = new SummaryTreeBuilder(); builder.startSummary({ fullTree: false, incrementalSummaryContext: incrementalSummaryContext3, stringify, + builder: summaryTreeBuilder3, }); // Should reuse the same reference ID since the chunk hasn't changed since the last successful summary. @@ -486,10 +537,12 @@ describe("ForestIncrementalSummaryBuilder", () => { // Verify that a handle was added to the summary builder assert.equal(referenceIds1.length, 1); const referenceId1 = referenceIds1[0]; - const summary = builder.completeSummary({ + builder.completeSummary({ incrementalSummaryContext: incrementalSummaryContext3, forestSummaryContent: mockForestSummaryContent, + builder: summaryTreeBuilder3, }); + const summary = summaryTreeBuilder3.getSummaryTree(); const summaryEntry: { type?: SummaryType } | undefined = summary.summary.tree[`${referenceId1}`]; assert.equal(summaryEntry?.type, SummaryType.Handle); @@ -512,7 +565,10 @@ describe("ForestIncrementalSummaryBuilder", () => { blobs: {}, }; const storageService = createMockStorageService(mockSnapshotTree, blobMap); - await builder.load(storageService, getReadAndParseChunk(blobMap)); + await builder.load({ + services: storageService, + readAndParseChunk: getReadAndParseChunk(blobMap), + }); // Notify the builder that the chunk with the above reference ID was decoded. builder.decodeIncrementalChunk(referenceId, () => getMockChunk()); @@ -525,6 +581,7 @@ describe("ForestIncrementalSummaryBuilder", () => { fullTree: false, incrementalSummaryContext, stringify, + builder: new SummaryTreeBuilder(), }); // The encoded chunk should be assigned the next chunk reference ID. const newReferenceIds = builder.encodeIncrementalField( @@ -556,7 +613,10 @@ describe("ForestIncrementalSummaryBuilder", () => { }; const storageService = createMockStorageService(mockSnapshotTree, blobMap); - await builder.load(storageService, getReadAndParseChunk(blobMap)); + await builder.load({ + services: storageService, + readAndParseChunk: getReadAndParseChunk(blobMap), + }); builder.decodeIncrementalChunk(referenceId0, (encoded) => { assert.deepEqual(encoded, blobMap.get(chunkContentsPath0)); return getMockChunk(); diff --git a/packages/dds/tree/src/test/feature-libraries/schema-index/schemaSummarizer.spec.ts b/packages/dds/tree/src/test/feature-libraries/schema-index/schemaSummarizer.spec.ts index d8df96fa37b4..83e7178f0ff0 100644 --- a/packages/dds/tree/src/test/feature-libraries/schema-index/schemaSummarizer.spec.ts +++ b/packages/dds/tree/src/test/feature-libraries/schema-index/schemaSummarizer.spec.ts @@ -3,15 +3,31 @@ * Licensed under the MIT License. */ -import { storedEmptyFieldSchema } from "../../../core/index.js"; +import { strict as assert } from "node:assert"; +import { SummaryType, type SummaryObject } from "@fluidframework/driver-definitions/internal"; +import type { MinimumVersionForCollab } from "@fluidframework/runtime-definitions/internal"; +import { MockStorage, validateUsageError } from "@fluidframework/test-runtime-utils/internal"; + +import { storedEmptyFieldSchema, TreeStoredSchemaRepository } from "../../../core/index.js"; import { encodeTreeSchema, + SchemaSummarizer, + SchemaSummaryFormatVersion, // eslint-disable-next-line import-x/no-internal-modules } from "../../../feature-libraries/schema-index/schemaSummarizer.js"; import { toInitialSchema } from "../../../simple-tree/index.js"; import { takeJsonSnapshot, useSnapshotDirectory } from "../../snapshots/index.js"; import { JsonAsTree } from "../../../jsonDomainSchema.js"; import { supportedSchemaFormats } from "./codecUtil.js"; +import { FluidClientVersion, type CodecWriteOptions } from "../../../codec/index.js"; +// eslint-disable-next-line import-x/no-internal-modules +import type { CollabWindow } from "../../../feature-libraries/incrementalSummarizationUtils.js"; +import { makeSchemaCodec } from "../../../feature-libraries/index.js"; +import { FormatValidatorBasic } from "../../../external-utilities/index.js"; +import { + summarizablesMetadataKey, + type SharedTreeSummarizableMetadata, +} from "../../../shared-tree-core/index.js"; describe("schemaSummarizer", () => { describe("encodeTreeSchema", () => { @@ -34,4 +50,118 @@ describe("schemaSummarizer", () => { }); } }); + + describe("Summary metadata validation", () => { + function createSchemaSummarizer(options?: { + minVersionForCollab?: MinimumVersionForCollab; + }): SchemaSummarizer { + const schema = new TreeStoredSchemaRepository(); + const collabWindow: CollabWindow = { + getCurrentSeq: () => 0, + }; + const minVersionForCollab = options?.minVersionForCollab ?? FluidClientVersion.v2_73; + const codecOptions: CodecWriteOptions = { + jsonValidator: FormatValidatorBasic, + minVersionForCollab, + }; + const codec = makeSchemaCodec(codecOptions); + return new SchemaSummarizer(schema, collabWindow, codec, minVersionForCollab); + } + + it("writes metadata blob with version 2", () => { + const summarizer = createSchemaSummarizer(); + + const summary = summarizer.summarize({ + stringify: JSON.stringify, + }); + + // Check if metadata blob exists + const metadataBlob: SummaryObject | undefined = + summary.summary.tree[summarizablesMetadataKey]; + assert(metadataBlob !== undefined, "Metadata blob should exist"); + assert.equal(metadataBlob.type, SummaryType.Blob, "Metadata should be a blob"); + const metadataContent = JSON.parse( + metadataBlob.content as string, + ) as SharedTreeSummarizableMetadata; + assert.equal( + metadataContent.version, + SchemaSummaryFormatVersion.v2, + "Metadata version should be 2", + ); + }); + + it("loads with metadata blob with version 2", async () => { + const summarizer = createSchemaSummarizer(); + + const summary = summarizer.summarize({ + stringify: JSON.stringify, + }); + + // Verify metadata exists and has version = 2 + const metadataBlob: SummaryObject | undefined = + summary.summary.tree[summarizablesMetadataKey]; + assert(metadataBlob !== undefined, "Metadata blob should exist"); + assert.equal(metadataBlob.type, SummaryType.Blob, "Metadata should be a blob"); + const metadataContent = JSON.parse( + metadataBlob.content as string, + ) as SharedTreeSummarizableMetadata; + assert.equal( + metadataContent.version, + SchemaSummaryFormatVersion.v2, + "Metadata version should be 2", + ); + + // Create a new SchemaSummarizer and load with the above summary + const mockStorage = MockStorage.createFromSummary(summary.summary); + const summarizer2 = createSchemaSummarizer(); + + // Should load successfully with version 2 + await assert.doesNotReject(async () => summarizer2.load(mockStorage, JSON.parse)); + }); + + it("loads with no metadata blob", async () => { + const summarizer = createSchemaSummarizer(); + + const summary = summarizer.summarize({ + stringify: JSON.stringify, + }); + + // Delete metadata blob from the summary + Reflect.deleteProperty(summary.summary.tree, summarizablesMetadataKey); + + // Should load successfully + const mockStorage = MockStorage.createFromSummary(summary.summary); + const summarizer2 = createSchemaSummarizer(); + + await assert.doesNotReject(async () => summarizer2.load(mockStorage, JSON.parse)); + }); + + it("fail to load with metadata blob with version > latest", async () => { + const summarizer = createSchemaSummarizer(); + + const summary = summarizer.summarize({ + stringify: JSON.stringify, + }); + + // Modify metadata to have version > latest + const metadataBlob: SummaryObject | undefined = + summary.summary.tree[summarizablesMetadataKey]; + assert(metadataBlob !== undefined, "Metadata blob should exist"); + assert.equal(metadataBlob.type, SummaryType.Blob, "Metadata should be a blob"); + const modifiedMetadata = { + version: SchemaSummaryFormatVersion.vLatest + 1, + }; + metadataBlob.content = JSON.stringify(modifiedMetadata); + + // Create a new SchemaSummarizer and load with the above summary + const mockStorage = MockStorage.createFromSummary(summary.summary); + const summarizer2 = createSchemaSummarizer(); + + // Should fail to load with version > latest + await assert.rejects( + async () => summarizer2.load(mockStorage, JSON.parse), + validateUsageError(/Cannot read version/), + ); + }); + }); }); diff --git a/packages/dds/tree/src/test/shared-tree-core/editManagerSummarizer.spec.ts b/packages/dds/tree/src/test/shared-tree-core/editManagerSummarizer.spec.ts new file mode 100644 index 000000000000..ebe42540e9d8 --- /dev/null +++ b/packages/dds/tree/src/test/shared-tree-core/editManagerSummarizer.spec.ts @@ -0,0 +1,162 @@ +/*! + * Copyright (c) Microsoft Corporation and contributors. All rights reserved. + * Licensed under the MIT License. + */ + +import { strict as assert } from "node:assert"; +import { SummaryType, type SummaryObject } from "@fluidframework/driver-definitions/internal"; +import type { MinimumVersionForCollab } from "@fluidframework/runtime-definitions/internal"; +import { MockStorage, validateUsageError } from "@fluidframework/test-runtime-utils/internal"; + +import { + EditManagerSummarizer, + makeEditManagerCodec, + summarizablesMetadataKey, + type SharedTreeSummarizableMetadata, +} from "../../shared-tree-core/index.js"; +import { + EditManagerSummaryFormatVersion, + // eslint-disable-next-line import-x/no-internal-modules +} from "../../shared-tree-core/editManagerSummarizer.js"; +import { + editManagerFormatVersions, + // eslint-disable-next-line import-x/no-internal-modules +} from "../../shared-tree-core/editManagerFormatCommons.js"; +import { DependentFormatVersion, FluidClientVersion } from "../../codec/index.js"; +import { testIdCompressor } from "../utils.js"; +import { RevisionTagCodec } from "../../core/index.js"; +import { FormatValidatorBasic } from "../../external-utilities/index.js"; +// eslint-disable-next-line import-x/no-internal-modules +import { editManagerFactory } from "./edit-manager/editManagerTestUtils.js"; +import { testChangeFamilyFactory } from "../testChange.js"; + +function createEditManagerSummarizer(options?: { + minVersionForCollab?: MinimumVersionForCollab; +}) { + const family = testChangeFamilyFactory(); + const editManager = editManagerFactory(family); + + const revisionTagCodec = new RevisionTagCodec(testIdCompressor); + // Use a simple passthrough DependentFormatVersion for testing + const changeFormatVersion = DependentFormatVersion.fromPairs( + Array.from(editManagerFormatVersions, (e) => [e, 1]), + ); + const minVersionForCollab = options?.minVersionForCollab ?? FluidClientVersion.v2_73; + const codec = makeEditManagerCodec(family.codecs, changeFormatVersion, revisionTagCodec, { + jsonValidator: FormatValidatorBasic, + minVersionForCollab, + }); + const summarizer = new EditManagerSummarizer( + editManager, + codec, + testIdCompressor, + minVersionForCollab, + ); + return { summarizer, editManager }; +} + +describe("EditManagerSummarizer", () => { + describe("Summary metadata validation", () => { + it("writes metadata blob with version 2", () => { + const { summarizer } = createEditManagerSummarizer(); + + const summary = summarizer.summarize({ + stringify: JSON.stringify, + }); + + // Check if metadata blob exists + const metadataBlob: SummaryObject | undefined = + summary.summary.tree[summarizablesMetadataKey]; + assert(metadataBlob !== undefined, "Metadata blob should exist"); + assert.equal(metadataBlob.type, SummaryType.Blob, "Metadata should be a blob"); + const metadataContent = JSON.parse( + metadataBlob.content as string, + ) as SharedTreeSummarizableMetadata; + assert.equal( + metadataContent.version, + EditManagerSummaryFormatVersion.v2, + "Metadata version should be 2", + ); + }); + + it("loads with metadata blob with version 2", async () => { + const { summarizer } = createEditManagerSummarizer({ + minVersionForCollab: FluidClientVersion.v2_73, + }); + + const summary = summarizer.summarize({ + stringify: JSON.stringify, + }); + + // Verify metadata exists and has version = 2 + const metadataBlob: SummaryObject | undefined = + summary.summary.tree[summarizablesMetadataKey]; + assert(metadataBlob !== undefined, "Metadata blob should exist"); + assert.equal(metadataBlob.type, SummaryType.Blob, "Metadata should be a blob"); + const metadataContent = JSON.parse( + metadataBlob.content as string, + ) as SharedTreeSummarizableMetadata; + assert.equal( + metadataContent.version, + EditManagerSummaryFormatVersion.v2, + "Metadata version should be 2", + ); + + // Create a new EditManagerSummarizer and load with the above summary + const mockStorage = MockStorage.createFromSummary(summary.summary); + const { summarizer: summarizer2 } = createEditManagerSummarizer(); + + // Should load successfully with version 2 + await assert.doesNotReject(async () => summarizer2.load(mockStorage, JSON.parse)); + }); + + it("loads with no metadata blob", async () => { + const { summarizer } = createEditManagerSummarizer({ + minVersionForCollab: FluidClientVersion.v2_73, + }); + + const summary = summarizer.summarize({ + stringify: JSON.stringify, + }); + + // Delete metadata blob from the summary + Reflect.deleteProperty(summary.summary.tree, summarizablesMetadataKey); + + // Should load successfully + const mockStorage = MockStorage.createFromSummary(summary.summary); + const { summarizer: summarizer2 } = createEditManagerSummarizer(); + + await assert.doesNotReject(async () => summarizer2.load(mockStorage, JSON.parse)); + }); + + it("fail to load with metadata blob with version > latest", async () => { + const { summarizer } = createEditManagerSummarizer({ + minVersionForCollab: FluidClientVersion.v2_73, + }); + + const summary = summarizer.summarize({ + stringify: JSON.stringify, + }); + + // Modify metadata to have version > latest + const metadataBlob: SummaryObject | undefined = + summary.summary.tree[summarizablesMetadataKey]; + assert(metadataBlob !== undefined, "Metadata blob should exist"); + assert.equal(metadataBlob.type, SummaryType.Blob, "Metadata should be a blob"); + const modifiedMetadata: SharedTreeSummarizableMetadata = { + version: EditManagerSummaryFormatVersion.vLatest + 1, + }; + metadataBlob.content = JSON.stringify(modifiedMetadata); + + // Create a new EditManagerSummarizer and load with the above summary + const mockStorage = MockStorage.createFromSummary(summary.summary); + const { summarizer: summarizer2 } = createEditManagerSummarizer(); + + // Should fail to load with version > latest + await assert.rejects( + async () => summarizer2.load(mockStorage, JSON.parse), + validateUsageError(/Cannot read version/), + ); + }); + }); +}); diff --git a/packages/dds/tree/src/test/shared-tree-core/sharedTreeCore.spec.ts b/packages/dds/tree/src/test/shared-tree-core/sharedTreeCore.spec.ts index 8af0853f811b..f53d84adc79b 100644 --- a/packages/dds/tree/src/test/shared-tree-core/sharedTreeCore.spec.ts +++ b/packages/dds/tree/src/test/shared-tree-core/sharedTreeCore.spec.ts @@ -26,6 +26,7 @@ import { MockFluidDataStoreRuntime, MockSharedObjectServices, MockStorage, + validateUsageError, } from "@fluidframework/test-runtime-utils/internal"; import { @@ -41,14 +42,17 @@ import type { ModularChangeset, } from "../../feature-libraries/index.js"; import { Tree } from "../../shared-tree/index.js"; -import type { - ChangeEnricherReadonlyCheckout, - EditManager, - ResubmitMachine, - SharedTreeCore, - Summarizable, - SummaryElementParser, - SummaryElementStringifier, +import { + SharedTreeSummaryFormatVersion, + summarizablesMetadataKey, + type ChangeEnricherReadonlyCheckout, + type EditManager, + type ResubmitMachine, + type SharedTreeCore, + type SharedTreeSummarizableMetadata, + type Summarizable, + type SummaryElementParser, + type SummaryElementStringifier, } from "../../shared-tree-core/index.js"; import { brand, disposeSymbol } from "../../util/index.js"; import { @@ -66,12 +70,16 @@ const enableSchemaValidation = true; describe("SharedTreeCore", () => { it("summarizes without indexes", async () => { - const tree = createTree([]); + const tree = createTree({ indexes: [] }); const { summary, stats } = tree.summarizeCore(mockSerializer); assert(summary !== undefined); assert(stats !== undefined); assert.equal(stats.treeNodeCount, 3); - assert.equal(stats.blobNodeCount, 1); // EditManager is always summarized + // EditManager is always summarized. So, there should be 3 blobs + // 1. Tree's metadata blob + // 2. EditManager's content blob + // 3. EditManager's metadata blob + assert.equal(stats.blobNodeCount, 3); assert.equal(stats.handleNodeCount, 0); }); @@ -81,8 +89,8 @@ describe("SharedTreeCore", () => { let loaded = false; summarizable.on("loaded", () => (loaded = true)); const summarizables = [summarizable] as const; - const tree = createTree(summarizables); - const defaultSummary = createTree([]).summarizeCore(mockSerializer); + const tree = createTree({ indexes: summarizables }); + const defaultSummary = createTree({ indexes: [] }).summarizeCore(mockSerializer); await tree.loadCore( MockSharedObjectServices.createFromSummary(defaultSummary.summary).objectStorage, ); @@ -98,7 +106,7 @@ describe("SharedTreeCore", () => { } }); const summarizables = [summarizable] as const; - const tree = createTree(summarizables); + const tree = createTree({ indexes: summarizables }); const { summary } = tree.summarizeCore(mockSerializer); await tree.loadCore(MockSharedObjectServices.createFromSummary(summary).objectStorage); assert.equal(loadedBlob, true); @@ -112,7 +120,7 @@ describe("SharedTreeCore", () => { let summarizedB = false; summarizableB.on("summarizeAttached", () => (summarizedB = true)); const summarizables = [summarizableA, summarizableB] as const; - const tree = createTree(summarizables); + const tree = createTree({ indexes: summarizables }); const { summary, stats } = tree.summarizeCore(mockSerializer); assert(summarizedA, "Expected summarizable A to summarize"); assert(summarizedB, "Expected summarizable B to summarize"); @@ -135,6 +143,88 @@ describe("SharedTreeCore", () => { }); }); + describe("Summary metadata validation", () => { + it("writes metadata blob with version 2", async () => { + const tree = createTree({ + indexes: [], + }); + const { summary } = tree.summarizeCore(mockSerializer); + const metadataBlob: SummaryObject | undefined = summary.tree[summarizablesMetadataKey]; + assert(metadataBlob !== undefined, "Metadata blob should exist"); + assert.equal(metadataBlob.type, SummaryType.Blob, "Metadata should be a blob"); + const metadataContent = JSON.parse( + metadataBlob.content as string, + ) as SharedTreeSummarizableMetadata; + assert.equal( + metadataContent.version, + SharedTreeSummaryFormatVersion.v2, + "Metadata version should be 2", + ); + }); + + it("loads with metadata blob with version 2", async () => { + const tree = createTree({ + indexes: [], + }); + const { summary } = tree.summarizeCore(mockSerializer); + const metadataBlob: SummaryObject | undefined = summary.tree[summarizablesMetadataKey]; + assert(metadataBlob !== undefined, "Metadata blob should exist"); + assert.equal(metadataBlob.type, SummaryType.Blob, "Metadata should be a blob"); + const metadataContent = JSON.parse( + metadataBlob.content as string, + ) as SharedTreeSummarizableMetadata; + assert.equal( + metadataContent.version, + SharedTreeSummaryFormatVersion.v2, + "Metadata version should be 2", + ); + + await assert.doesNotReject( + async () => + tree.loadCore(MockSharedObjectServices.createFromSummary(summary).objectStorage), + "Should load successfully with metadata version 1", + ); + }); + + it("loads with no metadata blob", async () => { + const tree = createTree({ + indexes: [], + }); + const { summary } = tree.summarizeCore(mockSerializer); + + // Delete metadata blob from the summary + Reflect.deleteProperty(summary.tree, summarizablesMetadataKey); + + // Should load successfully + await assert.doesNotReject(async () => + tree.loadCore(MockSharedObjectServices.createFromSummary(summary).objectStorage), + ); + }); + + it("fail to load with metadata blob with version > latest", async () => { + const tree = createTree({ + indexes: [], + }); + const { summary } = tree.summarizeCore(mockSerializer); + + // Modify metadata to have version > latest + const metadataBlob: SummaryObject | undefined = summary.tree[summarizablesMetadataKey]; + assert(metadataBlob !== undefined, "Metadata blob should exist"); + assert.equal(metadataBlob.type, SummaryType.Blob, "Metadata should be a blob"); + const modifiedMetadata: SharedTreeSummarizableMetadata = { + version: SharedTreeSummaryFormatVersion.vLatest + 1, + }; + metadataBlob.content = JSON.stringify(modifiedMetadata); + + // Should fail to load with version > latest + await assert.rejects( + async () => + tree.loadCore(MockSharedObjectServices.createFromSummary(summary).objectStorage), + validateUsageError(/Cannot read version/), + ); + }); + }); + it("evicts trunk commits behind the minimum sequence number", () => { const runtime = new MockFluidDataStoreRuntime({ idCompressor: createIdCompressor() }); const sharedObject = new TestSharedTreeCore(runtime); diff --git a/packages/dds/tree/src/test/shared-tree-core/utils.ts b/packages/dds/tree/src/test/shared-tree-core/utils.ts index 667a1f256abc..2d69ec0f89fe 100644 --- a/packages/dds/tree/src/test/shared-tree-core/utils.ts +++ b/packages/dds/tree/src/test/shared-tree-core/utils.ts @@ -86,7 +86,7 @@ import { // eslint-disable-next-line import-x/no-internal-modules } from "../../shared-tree/sharedTree.js"; -const codecOptions: CodecWriteOptions = { +export const testCodecOptions: CodecWriteOptions = { jsonValidator: FormatValidatorBasic, minVersionForCollab: currentVersion, }; @@ -97,11 +97,13 @@ class MockSharedObjectHandle extends MockHandle implements IShare } } -export function createTree( - indexes: TIndexes, - resubmitMachine?: ResubmitMachine, - enricher?: ChangeEnricherReadonlyCheckout, -): SharedTreeCore { +export function createTree(options: { + indexes: TIndexes; + resubmitMachine?: ResubmitMachine; + enricher?: ChangeEnricherReadonlyCheckout; + codecOptions?: CodecWriteOptions; +}): SharedTreeCore { + const { indexes, resubmitMachine, enricher, codecOptions } = options; // This could use TestSharedTreeCore then return its kernel instead of using these mocks, but that would depend on far more code than needed (including other mocks). // Summarizer requires ISharedObjectHandle. Specifically it looks for `bind` method. @@ -128,6 +130,7 @@ export function createTree( TreeCompressionStrategy.Uncompressed, createIdCompressor(), new TreeStoredSchemaRepository(), + codecOptions ?? testCodecOptions, resubmitMachine, enricher, )[0]; @@ -157,7 +160,9 @@ export function createTreeSharedObject export function makeTestDefaultChangeFamily(options?: { idCompressor?: IIdCompressor; chunkCompressionStrategy?: TreeCompressionStrategy; + codecOptions?: CodecWriteOptions; }) { + const codecOptions = options?.codecOptions ?? testCodecOptions; return new DefaultChangeFamily( makeModularChangeCodecFamily( fieldKindConfigurations, @@ -208,6 +213,7 @@ function createTreeInner( chunkCompressionStrategy: TreeCompressionStrategy, idCompressor: IIdCompressor, schema: TreeStoredSchemaRepository, + codecOptions: CodecWriteOptions = testCodecOptions, resubmitMachine?: ResubmitMachine, enricher?: ChangeEnricherReadonlyCheckout, editor?: () => DefaultEditBuilder, @@ -287,6 +293,7 @@ export class TestSharedTreeCore extends SharedObject { chunkCompressionStrategy, runtime.idCompressor, schema, + testCodecOptions, resubmitMachine, enricher, () => this.transaction.activeBranchEditor, diff --git a/packages/dds/tree/src/test/shared-tree-core/versionedSummarizer.spec.ts b/packages/dds/tree/src/test/shared-tree-core/versionedSummarizer.spec.ts new file mode 100644 index 000000000000..8f6dd5c2c2f6 --- /dev/null +++ b/packages/dds/tree/src/test/shared-tree-core/versionedSummarizer.spec.ts @@ -0,0 +1,226 @@ +/*! + * Copyright (c) Microsoft Corporation and contributors. All rights reserved. + * Licensed under the MIT License. + */ + +import { strict as assert } from "node:assert"; +import type { IChannelStorageService } from "@fluidframework/datastore-definitions/internal"; +import { SummaryType, type ISummaryBlob } from "@fluidframework/driver-definitions/internal"; +import type { SummaryTreeBuilder } from "@fluidframework/runtime-utils/internal"; +import { MockStorage, validateUsageError } from "@fluidframework/test-runtime-utils/internal"; + +import { + VersionedSummarizer, + summarizablesMetadataKey, + type SharedTreeSummarizableMetadata, + type SummaryElementParser, + type SummaryElementStringifier, +} from "../../shared-tree-core/index.js"; + +class TestVersionedSummarizer extends VersionedSummarizer { + public summarizeInternalCallCount = 0; + public loadInternalCallCount = 0; + + protected summarizeInternal(props: { + stringify: SummaryElementStringifier; + fullTree?: boolean; + trackState?: boolean; + builder: SummaryTreeBuilder; + }): void { + this.summarizeInternalCallCount++; + // Add some test content to the builder + props.builder.addBlob(this.key, props.stringify({ data: "test" })); + } + + protected async loadInternal( + services: IChannelStorageService, + parse: SummaryElementParser, + ): Promise { + this.loadInternalCallCount++; + } +} + +describe("VersionedSummarizer", () => { + const stringify: SummaryElementStringifier = JSON.stringify; + const parse: SummaryElementParser = JSON.parse; + + describe("summarize", () => { + it("calls summarizeInternal", () => { + const version = 1; + const summarizer = new TestVersionedSummarizer({ + key: "testKey", + writeVersion: version, + supportedVersions: new Set([version]), + defaultVersion: version, + }); + + summarizer.summarize({ stringify }); + assert( + summarizer.summarizeInternalCallCount === 1, + "summarizeInternal should be called once", + ); + }); + + it("writes metadata blob", () => { + const version = 1; + const summarizer = new TestVersionedSummarizer({ + key: "testKey", + writeVersion: version, + supportedVersions: new Set([version]), + defaultVersion: version, + }); + + const summary = summarizer.summarize({ stringify }); + + const metadataBlob = summary.summary.tree[summarizablesMetadataKey] as ISummaryBlob; + assert(metadataBlob !== undefined, "Metadata blob should exist"); + assert.equal(metadataBlob.type, SummaryType.Blob, "Metadata should be a blob"); + + const metadata = JSON.parse( + metadataBlob.content as string, + ) as SharedTreeSummarizableMetadata; + assert.equal(metadata.version, version, "Metadata version should be 1"); + }); + + it("includes content from summarizeInternal in summary", () => { + const version = 1; + const summarizer = new TestVersionedSummarizer({ + key: "testKey", + writeVersion: version, + supportedVersions: new Set([version]), + defaultVersion: version, + }); + + const summaryWithStats = summarizer.summarize({ stringify }); + const testContentBlob = summaryWithStats.summary.tree[summarizer.key]; + assert(testContentBlob !== undefined, "Test content should exist in summary"); + assert.equal(testContentBlob.type, SummaryType.Blob, "Test content should be a blob"); + }); + }); + + describe("load", () => { + it("calls loadInternal", async () => { + const version = 1; + const summarizer = new TestVersionedSummarizer({ + key: "testKey", + writeVersion: version, + supportedVersions: new Set([version]), + defaultVersion: version, + }); + + const storage = new MockStorage(); + await summarizer.load(storage, parse); + assert(summarizer.loadInternalCallCount === 1, "loadInternal should be called once"); + }); + + it("load successful: no metadata is supported", async () => { + const version = 1; + const summarizer = new TestVersionedSummarizer({ + key: "testKey", + writeVersion: version, + supportedVersions: new Set([version]), + defaultVersion: version, + }); + + // Create a summary and delete the metadata blob to simulate older clients without metadata. + const summary = summarizer.summarize({ stringify }); + Reflect.deleteProperty(summary.summary.tree, summarizablesMetadataKey); + + // Load from the summary + const storage = MockStorage.createFromSummary(summary.summary); + await assert.doesNotReject(summarizer.load(storage, parse)); + }); + + it("load fails: no metadata is not supported", async () => { + const oldVersion = 1; + const summarizer = new TestVersionedSummarizer({ + key: "testKey", + writeVersion: oldVersion, + supportedVersions: new Set([oldVersion]), + defaultVersion: oldVersion, + }); + + // Create a summary and delete the metadata blob. + const summary = summarizer.summarize({ stringify }); + Reflect.deleteProperty(summary.summary.tree, summarizablesMetadataKey); + + const newStorage = MockStorage.createFromSummary(summary.summary); + // Create another summarizer which doesn't support the default version anymore. + const newVersion = oldVersion + 1; + const newSummarizer = new TestVersionedSummarizer({ + key: "testKey", + writeVersion: newVersion, + supportedVersions: new Set([newVersion]), + defaultVersion: oldVersion, + }); + await assert.rejects( + newSummarizer.load(newStorage, parse), + validateUsageError(/Cannot read version/), + ); + }); + + it("load successful: metadata version is supported", async () => { + const version = 1; + // The version written in metadata is in supportedVersions. + const summarizer = new TestVersionedSummarizer({ + key: "testKey", + writeVersion: version, + supportedVersions: new Set([version]), + defaultVersion: version, + }); + const summary = summarizer.summarize({ stringify }); + + // Load from the summary + const storage = MockStorage.createFromSummary(summary.summary); + await assert.doesNotReject(summarizer.load(storage, parse)); + }); + + it("load fails: metadata version is not supported", async () => { + const newVersion = 1; + const newSummarizer = new TestVersionedSummarizer({ + key: "testKey", + writeVersion: newVersion, + supportedVersions: new Set([newVersion]), + defaultVersion: newVersion, + }); + const newSummary = newSummarizer.summarize({ stringify }); + + // Create summarizer that supports older version. + const oldVersion = newVersion - 1; + const oldSummarizer = new TestVersionedSummarizer({ + key: "testKey", + writeVersion: oldVersion, + supportedVersions: new Set([oldVersion]), + defaultVersion: oldVersion, + }); + + const oldStorage = MockStorage.createFromSummary(newSummary.summary); + await assert.rejects( + oldSummarizer.load(oldStorage, parse), + validateUsageError(/Cannot read version/), + ); + }); + + it("backward compatibility: newer reader can load older version", async () => { + const oldVersion = 1; + const oldSummarizer = new TestVersionedSummarizer({ + key: "testKey", + writeVersion: oldVersion, + supportedVersions: new Set([oldVersion]), + defaultVersion: oldVersion, + }); + const oldSummary = oldSummarizer.summarize({ stringify }); + + // Create summarizer that supports old and new version. + const newVersion = 2; + const newSummarizer = new TestVersionedSummarizer({ + key: "testKey", + writeVersion: newVersion, + supportedVersions: new Set([oldVersion, newVersion]), + defaultVersion: newVersion, + }); + const newStorage = MockStorage.createFromSummary(oldSummary.summary); + await assert.doesNotReject(newSummarizer.load(newStorage, parse)); + }); + }); +}); diff --git a/packages/dds/tree/src/test/shared-tree/summary.bench.ts b/packages/dds/tree/src/test/shared-tree/summary.bench.ts index 7314943d2bc6..ec09869b46ca 100644 --- a/packages/dds/tree/src/test/shared-tree/summary.bench.ts +++ b/packages/dds/tree/src/test/shared-tree/summary.bench.ts @@ -60,7 +60,7 @@ describe("Summary benchmarks", () => { const { summary } = tree.getAttachSummary(true); const summaryString = JSON.stringify(summary); const summarySize = IsoBuffer.from(summaryString).byteLength; - assert(summarySize < 700); + assert(summarySize < 900); }); function processSummary( diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/attachment-tree-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/attachment-tree-final.json index b33673a45bd9..00d4d67aed51 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/attachment-tree-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/attachment-tree-final.json @@ -1,139 +1,199 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [], - "branches": [], - "version": 3 + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [], + "branches": [], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 } + }, + "root": { + "kind": "Value", + "types": [ + "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>" + ] } }, - "com.fluidframework.leaf.string": { - "leaf": 1 - } - }, - "root": { - "kind": "Value", - "types": [ - "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 1 + ] + ] + } + }, + { + "a": 2 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, [ - "", - 1 + "a", + "b" ] ] - } - }, - { - "a": 2 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - } - ], - "data": [ - [ - 0, - [ - "a", - "b" ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/competing-removes-index-0.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/competing-removes-index-0.json index 4cfe36cc497f..9d90c9c5fb7c 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/competing-removes-index-0.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/competing-removes-index-0.json @@ -1,380 +1,440 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 3 - }, - "encoding": "utf-8" - } + ], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.number": { - "leaf": 0 + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.number": { + "leaf": 0 + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } - }, - { - "c": { - "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "c": { + "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, [ - "", - 2 + 1, + 2, + 3 ] + ], + [ + 0, + 0 ] - } + ] }, - { - "a": 0 - } - ], - "data": [ - [ - 1, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ [ - 1, - 2, + 1029, + 0, 3 ] ], - [ - 0, - 0 - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { - "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 - }, - "encoding": "utf-8" - } + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/competing-removes-index-1.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/competing-removes-index-1.json index e207d002113c..16cea90eb6a5 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/competing-removes-index-1.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/competing-removes-index-1.json @@ -1,395 +1,455 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 3 - }, - "encoding": "utf-8" - } + ], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.number": { - "leaf": 0 + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.number": { + "leaf": 0 + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } - }, - { - "c": { - "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "c": { + "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, [ - "", - 2 + 0, + 2, + 3 ] + ], + [ + 0, + 1 ] - } + ] }, - { - "a": 0 - } - ], - "data": [ - [ - 1, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ [ + 1029, 0, - 2, 3 ] ], - [ - 0, - 1 - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { - "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 - }, - "encoding": "utf-8" - } + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/competing-removes-index-2.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/competing-removes-index-2.json index 90e5678b4281..6c9e846acdb4 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/competing-removes-index-2.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/competing-removes-index-2.json @@ -1,395 +1,455 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 3 - }, - "encoding": "utf-8" - } + ], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.number": { - "leaf": 0 + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.number": { + "leaf": 0 + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } - }, - { - "c": { - "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "c": { + "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, [ - "", - 2 + 0, + 1, + 3 ] + ], + [ + 0, + 2 ] - } + ] }, - { - "a": 0 - } - ], - "data": [ - [ - 1, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ [ + 1029, 0, - 1, 3 ] ], - [ - 0, - 2 - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { - "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 - }, - "encoding": "utf-8" - } + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/competing-removes-index-3.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/competing-removes-index-3.json index a94a501cae6a..aa30522dac24 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/competing-removes-index-3.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/competing-removes-index-3.json @@ -1,395 +1,455 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 3 - }, - "encoding": "utf-8" - } + ], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.number": { - "leaf": 0 + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.number": { + "leaf": 0 + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } - }, - { - "c": { - "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "c": { + "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, [ - "", + 0, + 1, 2 ] + ], + [ + 0, + 3 ] - } + ] }, - { - "a": 0 - } - ], - "data": [ - [ - 1, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ [ + 1029, 0, - 1, - 2 + 3 ] ], - [ - 0, - 3 - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { - "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 - }, - "encoding": "utf-8" - } + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/complete-3x3-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/complete-3x3-final.json index c52b9fa4c44f..0c1e7975f81b 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/complete-3x3-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/complete-3x3-final.json @@ -1,32 +1,73 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "test trees.Recursive Map": { - "map": { + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "root": { "kind": "Optional", "types": [ "test trees.Recursive Map", @@ -34,320 +75,87 @@ ] } }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] } } - }, - "root": { - "kind": "Optional", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 - } - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [ - "FieldA", - "FieldB", - "FieldC" - ], - "shapes": [ - { - "c": { - "type": "test trees.String Array", - "value": false, - "fields": [ - [ - "", - 2 - ] - ] - } - }, - { - "c": { - "type": "test trees.Recursive Map", - "value": false, - "extraFields": 4 - } - }, - { - "a": 3 - }, + { + "data": { + "maxId": 1, + "changes": [ { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } } - }, - { - "a": 5 - }, - { - "d": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - 0, [ - 1, [ - 0, - [ - 1, - [ - 0, - [ - 0, - [ - "1", - "2", - "3" - ] - ], - 1, - [ - 0, - [ - "4", - "5", - "6" - ] - ], - 2, - [ - 0, - [ - "7", - "8", - "9" - ] - ] - ] - ], 1, - [ - 1, - [ - 0, - [ - 0, - [ - "10", - "11", - "12" - ] - ], - 1, - [ - 0, - [ - "13", - "14", - "15" - ] - ], - 2, - [ - 0, - [ - "16", - "17", - "18" - ] - ] - ] - ], - 2, - [ - 1, - [ - 0, - [ - 0, - [ - "19", - "20", - "21" - ] - ], - 1, - [ - 0, - [ - "22", - "23", - "24" - ] - ], - 2, - [ - 0, - [ - "25", - "26", - "27" - ] - ] - ] - ] + 0 ] - ], - 1, - [ - 1, - [ - 0, - [ - 1, - [ - 0, - [ - 0, - [ - "28", - "29", - "30" - ] - ], - 1, - [ - 0, - [ - "31", - "32", - "33" - ] - ], - 2, - [ - 0, - [ - "34", - "35", - "36" - ] - ] - ] - ], - 1, - [ - 1, - [ - 0, - [ - 0, - [ - "37", - "38", - "39" - ] - ], - 1, - [ - 0, - [ - "40", - "41", - "42" - ] - ], - 2, - [ - 0, - [ - "43", - "44", - "45" - ] - ] - ] - ], - 2, - [ - 1, + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [ + "FieldA", + "FieldB", + "FieldC" + ], + "shapes": [ + { + "c": { + "type": "test trees.String Array", + "value": false, + "fields": [ [ - 0, - [ - 0, - [ - "46", - "47", - "48" - ] - ], - 1, - [ - 0, - [ - "49", - "50", - "51" - ] - ], - 2, - [ - 0, - [ - "52", - "53", - "54" - ] - ] + "", + 2 ] ] - ] - ], - 2, + } + }, + { + "c": { + "type": "test trees.Recursive Map", + "value": false, + "extraFields": 4 + } + }, + { + "a": 3 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + }, + { + "a": 5 + }, + { + "d": 0 + } + ], + "data": [ [ 1, [ @@ -357,29 +165,101 @@ [ 0, [ - 0, + 1, [ - "55", - "56", - "57" + 0, + [ + 0, + [ + "1", + "2", + "3" + ] + ], + 1, + [ + 0, + [ + "4", + "5", + "6" + ] + ], + 2, + [ + 0, + [ + "7", + "8", + "9" + ] + ] ] ], 1, [ - 0, + 1, [ - "58", - "59", - "60" + 0, + [ + 0, + [ + "10", + "11", + "12" + ] + ], + 1, + [ + 0, + [ + "13", + "14", + "15" + ] + ], + 2, + [ + 0, + [ + "16", + "17", + "18" + ] + ] ] ], 2, [ - 0, + 1, [ - "61", - "62", - "63" + 0, + [ + 0, + [ + "19", + "20", + "21" + ] + ], + 1, + [ + 0, + [ + "22", + "23", + "24" + ] + ], + 2, + [ + 0, + [ + "25", + "26", + "27" + ] + ] ] ] ] @@ -390,29 +270,101 @@ [ 0, [ - 0, + 1, [ - "64", - "65", - "66" + 0, + [ + 0, + [ + "28", + "29", + "30" + ] + ], + 1, + [ + 0, + [ + "31", + "32", + "33" + ] + ], + 2, + [ + 0, + [ + "34", + "35", + "36" + ] + ] ] ], 1, [ - 0, + 1, [ - "67", - "68", - "69" + 0, + [ + 0, + [ + "37", + "38", + "39" + ] + ], + 1, + [ + 0, + [ + "40", + "41", + "42" + ] + ], + 2, + [ + 0, + [ + "43", + "44", + "45" + ] + ] ] ], 2, [ - 0, + 1, [ - "70", - "71", - "72" + 0, + [ + 0, + [ + "46", + "47", + "48" + ] + ], + 1, + [ + 0, + [ + "49", + "50", + "51" + ] + ], + 2, + [ + 0, + [ + "52", + "53", + "54" + ] + ] ] ] ] @@ -423,29 +375,101 @@ [ 0, [ - 0, + 1, [ - "73", - "74", - "75" + 0, + [ + 0, + [ + "55", + "56", + "57" + ] + ], + 1, + [ + 0, + [ + "58", + "59", + "60" + ] + ], + 2, + [ + 0, + [ + "61", + "62", + "63" + ] + ] ] ], 1, [ - 0, + 1, [ - "76", - "77", - "78" + 0, + [ + 0, + [ + "64", + "65", + "66" + ] + ], + 1, + [ + 0, + [ + "67", + "68", + "69" + ] + ], + 2, + [ + 0, + [ + "70", + "71", + "72" + ] + ] ] ], 2, [ - 0, + 1, [ - "79", - "80", - "81" + 0, + [ + 0, + [ + "73", + "74", + "75" + ] + ], + 1, + [ + 0, + [ + "76", + "77", + "78" + ] + ], + 2, + [ + 0, + [ + "79", + "80", + "81" + ] + ] ] ] ] @@ -453,312 +477,225 @@ ] ] ] - ] - ] + } + } } - } - } - }, - { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "test trees.Recursive Map": { - "map": { - "kind": "Optional", + }, + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "root": { + "kind": "Value", "types": [ "test trees.Recursive Map", "test trees.String Array" ] } }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "old": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] - } - }, - "old": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "test trees.Recursive Map": { - "map": { + }, + "root": { "kind": "Optional", "types": [ "test trees.Recursive Map", "test trees.String Array" ] } - }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } } - }, - "root": { - "kind": "Optional", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] } } - } + ], + "revision": 3, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 3, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 3 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "test trees.Recursive Map": { - "map": { - "kind": "Optional", + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "root": { + "kind": "Value", "types": [ "test trees.Recursive Map", "test trees.String Array" ] } }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [ - "FieldA", - "FieldB", - "FieldC" - ], - "shapes": [ - { - "c": { - "type": "test trees.String Array", - "value": false, - "fields": [ - [ - "", - 2 - ] - ] - } - }, - { - "c": { - "type": "test trees.Recursive Map", - "value": false, - "extraFields": 4 - } - }, - { - "a": 3 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - }, - { - "a": 5 - }, - { - "d": 0 - } - ], - "data": [ - [ - 1, - [ - 0, - [ - 1, - [ - 0, - [ - 1, - [ - 0, - [ - 0, - [ - "1", - "2", - "3" - ] - ], - 1, - [ - 0, - [ - "4", - "5", - "6" - ] - ], - 2, - [ - 0, - [ - "7", - "8", - "9" - ] - ] - ] - ], - 1, - [ - 1, - [ - 0, - [ - 0, - [ - "10", - "11", - "12" - ] - ], - 1, - [ - 0, - [ - "13", - "14", - "15" - ] - ], - 2, - [ - 0, - [ - "16", - "17", - "18" - ] - ] - ] - ], - 2, - [ - 1, - [ - 0, - [ - 0, - [ - "19", - "20", - "21" - ] - ], - 1, - [ - 0, - [ - "22", - "23", - "24" - ] - ], - 2, - [ - 0, - [ - "25", - "26", - "27" - ] - ] - ] - ] - ] - ], - 1, - [ - 1, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [ + "FieldA", + "FieldB", + "FieldC" + ], + "shapes": [ + { + "c": { + "type": "test trees.String Array", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "c": { + "type": "test trees.Recursive Map", + "value": false, + "extraFields": 4 + } + }, + { + "a": 3 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + }, + { + "a": 5 + }, + { + "d": 0 + } + ], + "data": [ + [ + 1, [ 0, [ @@ -766,134 +703,101 @@ [ 0, [ - 0, - [ - "28", - "29", - "30" - ] - ], - 1, - [ - 0, - [ - "31", - "32", - "33" - ] - ], - 2, - [ - 0, - [ - "34", - "35", - "36" - ] - ] - ] - ], - 1, - [ - 1, - [ - 0, - [ - 0, - [ - "37", - "38", - "39" - ] - ], - 1, - [ - 0, - [ - "40", - "41", - "42" - ] - ], - 2, - [ - 0, - [ - "43", - "44", - "45" - ] - ] - ] - ], - 2, - [ - 1, - [ - 0, - [ - 0, - [ - "46", - "47", - "48" - ] - ], - 1, - [ - 0, - [ - "49", - "50", - "51" - ] - ], - 2, - [ - 0, - [ - "52", - "53", - "54" - ] - ] - ] - ] - ] - ], - 2, - [ - 1, - [ - 0, - [ - 1, - [ - 0, - [ - 0, + 1, [ - "55", - "56", - "57" + 0, + [ + 0, + [ + "1", + "2", + "3" + ] + ], + 1, + [ + 0, + [ + "4", + "5", + "6" + ] + ], + 2, + [ + 0, + [ + "7", + "8", + "9" + ] + ] ] ], 1, [ - 0, + 1, [ - "58", - "59", - "60" + 0, + [ + 0, + [ + "10", + "11", + "12" + ] + ], + 1, + [ + 0, + [ + "13", + "14", + "15" + ] + ], + 2, + [ + 0, + [ + "16", + "17", + "18" + ] + ] ] ], 2, [ - 0, + 1, [ - "61", - "62", - "63" + 0, + [ + 0, + [ + "19", + "20", + "21" + ] + ], + 1, + [ + 0, + [ + "22", + "23", + "24" + ] + ], + 2, + [ + 0, + [ + "25", + "26", + "27" + ] + ] ] ] ] @@ -904,29 +808,101 @@ [ 0, [ - 0, + 1, [ - "64", - "65", - "66" + 0, + [ + 0, + [ + "28", + "29", + "30" + ] + ], + 1, + [ + 0, + [ + "31", + "32", + "33" + ] + ], + 2, + [ + 0, + [ + "34", + "35", + "36" + ] + ] ] ], 1, [ - 0, + 1, [ - "67", - "68", - "69" + 0, + [ + 0, + [ + "37", + "38", + "39" + ] + ], + 1, + [ + 0, + [ + "40", + "41", + "42" + ] + ], + 2, + [ + 0, + [ + "43", + "44", + "45" + ] + ] ] ], 2, [ - 0, + 1, [ - "70", - "71", - "72" + 0, + [ + 0, + [ + "46", + "47", + "48" + ] + ], + 1, + [ + 0, + [ + "49", + "50", + "51" + ] + ], + 2, + [ + 0, + [ + "52", + "53", + "54" + ] + ] ] ] ] @@ -937,29 +913,101 @@ [ 0, [ - 0, + 1, [ - "73", - "74", - "75" + 0, + [ + 0, + [ + "55", + "56", + "57" + ] + ], + 1, + [ + 0, + [ + "58", + "59", + "60" + ] + ], + 2, + [ + 0, + [ + "61", + "62", + "63" + ] + ] ] ], 1, [ - 0, + 1, [ - "76", - "77", - "78" + 0, + [ + 0, + [ + "64", + "65", + "66" + ] + ], + 1, + [ + 0, + [ + "67", + "68", + "69" + ] + ], + 2, + [ + 0, + [ + "70", + "71", + "72" + ] + ] ] ], 2, [ - 0, + 1, [ - "79", - "80", - "81" + 0, + [ + 0, + [ + "73", + "74", + "75" + ] + ], + 1, + [ + 0, + [ + "76", + "77", + "78" + ] + ], + 2, + [ + 0, + [ + "79", + "80", + "81" + ] + ] ] ] ] @@ -967,35 +1015,47 @@ ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 0 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 0 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/concurrent-inserts-tree2.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/concurrent-inserts-tree2.json index 6f28137a7d46..b57ffd76591a 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/concurrent-inserts-tree2.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/concurrent-inserts-tree2.json @@ -1,448 +1,508 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "y" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 0, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "y" + ] + ] + } + } } } - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 2 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 2 + } + }, + "cellId": 2 } - }, - "cellId": 2 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 2, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "x" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 2, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "x" + ] + ] + } + } } } - } - } - ], - "revision": 5, - "sequenceNumber": 6, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 5, + "sequenceNumber": 6, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 2, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 2, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - }, - { - "a": 2 - }, - { - "d": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - 0, - "a", - 0, - "c" + [ + [ + 0, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + }, + { + "a": 2 + }, + { + "d": 0 + } + ], + "data": [ + [ + 1, + [ + 0, + "a", + 0, + "c" + ] + ] + ] + } + } } } - } - } - ], - "revision": 6, - "sequenceNumber": 8, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 6, + "sequenceNumber": 8, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 4, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 4, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 3 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "insert": { + "id": 3 + } + }, + "cellId": 3 } - }, - "cellId": 3 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "b" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 3, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "b" + ] + ] + } + } } } - } + ], + "revision": 7, + "sequenceNumber": 9, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 7, - "sequenceNumber": 9, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 3 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } + }, + "root": { + "kind": "Value", + "types": [ + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 1 + ] + ] + } + }, + { + "a": 2 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, [ - "", - 1 + "x", + "y", + "a", + "b", + "c" ] ] - } - }, - { - "a": 2 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - } - ], - "data": [ - [ - 0, - [ - "x", - "y", - "a", - "b", - "c" ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 5 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 5 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/concurrent-inserts-tree3.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/concurrent-inserts-tree3.json index 72f25e9090b5..2940cc514142 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/concurrent-inserts-tree3.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/concurrent-inserts-tree3.json @@ -1,455 +1,515 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 4, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 4, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 3 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "insert": { + "id": 3 + } + }, + "cellId": 3 } - }, - "cellId": 3 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "b" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 3, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "b" + ] + ] + } + } } } - } - } - ], - "revision": 7, - "sequenceNumber": 9, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 7, + "sequenceNumber": 9, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 4 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 4 + } + }, + "cellId": 4 } - }, - "cellId": 4 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 4, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "z" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 4, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "z" + ] + ] + } + } } } - } - } - ], - "revision": 10, - "sequenceNumber": 11, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 10, + "sequenceNumber": 11, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 2, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 2, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - }, - { - "a": 2 - }, - { - "d": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - 0, - "d", - 0, - "e" + [ + [ + 0, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + }, + { + "a": 2 + }, + { + "d": 0 + } + ], + "data": [ + [ + 1, + [ + 0, + "d", + 0, + "e" + ] + ] + ] + } + } } } - } - } - ], - "revision": 11, - "sequenceNumber": 13, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 11, + "sequenceNumber": 13, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "insert": { - "id": 3 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "insert": { + "id": 3 + } + }, + "cellId": 3 } - }, - "cellId": 3 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "f" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 3, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "f" + ] + ] + } + } } } - } + ], + "revision": 12, + "sequenceNumber": 14, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 12, - "sequenceNumber": 14, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 3 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } + }, + "root": { + "kind": "Value", + "types": [ + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 1 + ] + ] + } + }, + { + "a": 2 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, [ - "", - 1 + "z", + "x", + "d", + "f", + "e", + "y", + "a", + "b", + "c" ] ] - } - }, - { - "a": 2 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - } - ], - "data": [ - [ - 0, - [ - "z", - "x", - "d", - "f", - "e", - "y", - "a", - "b", - "c" ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 9 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 9 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/empty-root-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/empty-root-final.json index f653f8102106..461f46408f0e 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/empty-root-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/empty-root-final.json @@ -1,148 +1,208 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.number": { - "leaf": 0 + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.number": { + "leaf": 0 + } + }, + "root": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.number" + ] + } + }, + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] + } } - }, - "root": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.number" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 0, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0 + { + "data": { + "maxId": 0, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0 + } + } } - } + ] } - ] - } + } + ], + "revision": 2, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 2, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 3 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.number": { - "leaf": 0 - } - }, - "root": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.number" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" } }, - "encoding": "utf-8" - } + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.number": { + "leaf": 0 + } + }, + "root": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.number" + ] + } + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [], - "data": [] - }, - "version": 1 + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [], + "data": [] + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": -1 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": -1 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/has-handle-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/has-handle-final.json index 582bfa693227..9146c653d1b9 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/has-handle-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/has-handle-final.json @@ -1,213 +1,273 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 2, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 2, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "handleField", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + "fieldChanges": [ + { + "fieldKey": "handleField", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } + } } - } + ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.handle", - "value": true - } } ], - "data": [ - [ - 0, - { - "type": "__fluid_handle__", - "url": "/test/tree-0" - } - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 1, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.handle", + "value": true + } + } + ], + "data": [ + [ + 0, + { + "type": "__fluid_handle__", + "url": "/test/tree-0" + } + ] + ] + } + } } } - } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 3 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.handle": { - "leaf": 3 + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "has-handle.HandleObject": { - "object": { - "handleField": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.handle" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.handle": { + "leaf": 3 + }, + "has-handle.HandleObject": { + "object": { + "handleField": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.handle" + ] + } + } } + }, + "root": { + "kind": "Value", + "types": [ + "has-handle.HandleObject" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "has-handle.HandleObject" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "has-handle.HandleObject", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "has-handle.HandleObject", + "value": false, + "fields": [ + [ + "handleField", + 1 + ] + ] + } + }, + { + "a": 2 + }, + { + "c": { + "type": "com.fluidframework.leaf.handle", + "value": true + } + } + ], + "data": [ + [ + 0, [ - "handleField", - 1 + { + "type": "__fluid_handle__", + "url": "/test/tree-0" + } ] ] - } - }, - { - "a": 2 - }, - { - "c": { - "type": "com.fluidframework.leaf.handle", - "value": true - } - } - ], - "data": [ - [ - 0, - [ - { - "type": "__fluid_handle__", - "url": "/test/tree-0" - } ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 1 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 1 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/insert-and-remove-tree-0-after-insert.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/insert-and-remove-tree-0-after-insert.json index cc0cc6b0ca19..8ff3b0072eb6 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/insert-and-remove-tree-0-after-insert.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/insert-and-remove-tree-0-after-insert.json @@ -1,211 +1,271 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "42" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 0, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "42" + ] + ] + } + } } } - } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 3 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } + }, + "root": { + "kind": "Value", + "types": [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 1 + ] + ] + } + }, + { + "a": 2 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, [ - "", - 1 + "42" ] ] - } - }, - { - "a": 2 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - } - ], - "data": [ - [ - 0, - [ - "42" ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 1 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 1 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/insert-and-remove-tree-0-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/insert-and-remove-tree-0-final.json index 5ef6a64699c9..96f18fde7ad6 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/insert-and-remove-tree-0-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/insert-and-remove-tree-0-final.json @@ -1,189 +1,249 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 2 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 2 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 5, + "sequenceNumber": 6, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 5, - "sequenceNumber": 6, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 3 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } + }, + "root": { + "kind": "Value", + "types": [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-2" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - }, - { - "c": { - "type": "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ - [ - "", - 2 - ] + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-2" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + }, + { + "c": { + "type": "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + 0 + ], + [ + 0, + "42" ] - } + ] }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - 0 - ], - [ - 0, - "42" - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 5, - 2, - 2 - ] - ], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ + [ + 5, + 2, + 2 + ] + ], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/insert-and-remove-tree-1-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/insert-and-remove-tree-1-final.json index 2624493291f0..ed653b0f16c2 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/insert-and-remove-tree-1-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/insert-and-remove-tree-1-final.json @@ -1,197 +1,257 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 2 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 2 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 5, + "sequenceNumber": 6, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 5, - "sequenceNumber": 6, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [ - [ - "8f95be09-8376-4ff7-8755-ccd7e8124b06", - { - "base": 5, - "commits": [] - } - ] - ], - "version": 3 - }, - "encoding": "utf-8" - } + "branches": [ + [ + "8f95be09-8376-4ff7-8755-ccd7e8124b06", + { + "base": 5, + "commits": [] + } + ] + ], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } + }, + "root": { + "kind": "Value", + "types": [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-2" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - }, - { - "c": { - "type": "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ - [ - "", - 2 - ] + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-2" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + }, + { + "c": { + "type": "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + 0 + ], + [ + 0, + "42" ] - } + ] }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - 0 - ], - [ - 0, - "42" - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 5, - 2, - 2 - ] - ], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ + [ + 5, + 2, + 2 + ] + ], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/move-across-fields-tree-0-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/move-across-fields-tree-0-final.json index 50edbad25cdf..f944ee36868e 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/move-across-fields-tree-0-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/move-across-fields-tree-0-final.json @@ -1,497 +1,557 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Optional", + "types": [ + "move-across-fields.Node" + ] } }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - } + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] } } - }, - "root": { - "kind": "Optional", - "types": [ - "move-across-fields.Node" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } + } } - } - } - ], - "builds": { - "builds": [ - [ - [ + ], + "builds": { + "builds": [ [ - 1, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ + [ [ - "", - 2 + 1, + 0 ] ] - } - }, - { - "c": { - "type": "move-across-fields.Node", - "value": false, - "fields": [ + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "c": { + "type": "move-across-fields.Node", + "value": false, + "fields": [ + [ + "foo", + 0 + ], + [ + "bar", + 0 + ] + ] + } + }, + { + "a": 3 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 1, [ - "foo", - 0 + "a", + "b", + "c" ], [ - "bar", - 0 + "d", + "e", + "f" ] ] - } - }, - { - "a": 3 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - } - ], - "data": [ - [ - 1, - [ - "a", - "b", - "c" - ], - [ - "d", - "e", - "f" ] - ] - ] - } - } - } - }, - { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } - }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - } } } - }, - "root": { - "kind": "Value", - "types": [ - "move-across-fields.Node" - ] } }, - "old": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Value", + "types": [ + "move-across-fields.Node" + ] } }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "old": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Optional", + "types": [ + "move-across-fields.Node" + ] } } - }, - "root": { - "kind": "Optional", - "types": [ - "move-across-fields.Node" - ] } } - } - } - ], - "revision": 3, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 3, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 7, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 7, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "foo", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "fieldChanges": [ + { + "fieldKey": "foo", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 2, - "effect": { - "moveOut": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 2, + "effect": { + "moveOut": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] - ] - }, - { - "fieldKey": "bar", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + ] + }, + { + "fieldKey": "bar", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 2, - "effect": { - "moveIn": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 2, + "effect": { + "moveIn": { + "id": 0 + } + }, + "cellId": 2 } - }, - "cellId": 2 + ] } ] } ] - } - ] + ] + } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 3 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Value", + "types": [ + "move-across-fields.Node" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "move-across-fields.Node" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ - [ - "", - 2 - ] - ] - } - }, - { - "c": { - "type": "move-across-fields.Node", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "c": { + "type": "move-across-fields.Node", + "value": false, + "fields": [ + [ + "foo", + 0 + ], + [ + "bar", + 0 + ] + ] + } + }, + { + "a": 3 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 1, [ - "foo", - 0 + "a" ], [ - "bar", - 0 + "d", + "b", + "c", + "e", + "f" ] ] - } - }, - { - "a": 3 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - } - ], - "data": [ - [ - 1, - [ - "a" - ], - [ - "d", - "b", - "c", - "e", - "f" ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/nested-sequence-change-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/nested-sequence-change-final.json index 64caf55fe795..48debd68cf65 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/nested-sequence-change-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/nested-sequence-change-final.json @@ -1,281 +1,341 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 0 - } - }, - "cellId": 0, - "changes": { - "fieldChanges": [ - { - "fieldKey": "foo", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 2, - "s": 3 - } + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 0 } + }, + "cellId": 0, + "changes": { + "fieldChanges": [ + { + "fieldKey": "foo", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 2, + "s": 3 + } + } + } + ] } - ] - } + } + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 - ], - [ - 3, - 1 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "test trees.Recursive Map", - "value": false, - "extraFields": 3 - } - }, - { - "c": { - "type": "test trees.Array<[\"test trees.Recursive Map\"]>", - "value": false, - "fields": [ - [ - "", - 2 - ] - ] - } - }, - { - "a": 0 - }, - { - "a": 1 } ], - "data": [ - [ - 0, - [] - ], - [ - 1, + "builds": { + "builds": [ [ [ - "bar", [ + 0, 0 + ], + [ + 3, + 1 ] ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "test trees.Recursive Map", + "value": false, + "extraFields": 3 + } + }, + { + "c": { + "type": "test trees.Array<[\"test trees.Recursive Map\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + }, + { + "a": 1 + } + ], + "data": [ + [ + 0, + [] + ], + [ + 1, + [ + [ + "bar", + [ + 0 + ] + ] + ] + ] + ] + } + } } } - } + ], + "revision": 6, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 6, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 3 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "test trees.Array<[\"test trees.Recursive Map\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "test trees.Recursive Map" - ] - } - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "test trees.Recursive Map": { - "map": { - "kind": "Optional", + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "test trees.Array<[\"test trees.Recursive Map\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "test trees.Recursive Map" + ] + } + } + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Array<[\"test trees.Recursive Map\"]>" + ] + } + } + }, + "root": { + "kind": "Value", "types": [ "test trees.Array<[\"test trees.Recursive Map\"]>" ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "test trees.Array<[\"test trees.Recursive Map\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "test trees.Array<[\"test trees.Recursive Map\"]>", - "value": false, - "fields": [ - [ - "", - 1 - ] - ] - } - }, - { - "a": 2 - }, - { - "c": { - "type": "test trees.Recursive Map", - "value": false, - "extraFields": 3 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 0, - [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "test trees.Array<[\"test trees.Recursive Map\"]>", + "value": false, + "fields": [ + [ + "", + 1 + ] + ] + } + }, + { + "a": 2 + }, + { + "c": { + "type": "test trees.Recursive Map", + "value": false, + "extraFields": 3 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "foo", + 0, [ [ + "foo", [ - "bar", [ - 0 + [ + "bar", + [ + 0 + ] + ] ] ] ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/optional-field-scenarios-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/optional-field-scenarios-final.json index d0361483914f..a5dcae3458a0 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/optional-field-scenarios-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/optional-field-scenarios-final.json @@ -1,544 +1,604 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 2, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 2, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "root 1 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + "fieldChanges": [ + { + "fieldKey": "root 1 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } + } } - } + ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } } ], - "data": [ - [ - 0, - 40 - ] - ] - } - } - } - } - ], - "revision": 515, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ - { - "data": { - "maxId": 4, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 3, - "s": 4 + "builds": { + "builds": [ + [ + [ + [ + 1, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + } + ], + "data": [ + [ + 0, + 40 + ] + ] } } } - ], - "builds": { - "builds": [ - [ - [ - [ - 4, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "optional-field-scenarios.Map", - "value": false, - "extraFields": 2 - } - }, + } + ], + "revision": 515, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, + { + "change": [ + { + "data": { + "maxId": 4, + "changes": [ { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 3, + "s": 4 + } } - }, - { - "a": 3 - }, - { - "d": 0 } ], - "data": [ - [ - 0, + "builds": { + "builds": [ [ - "root 2 child", [ - 1, - 41 + [ + 4, + 0 + ] ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "optional-field-scenarios.Map", + "value": false, + "extraFields": 2 + } + }, + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "a": 3 + }, + { + "d": 0 + } + ], + "data": [ + [ + 0, + [ + "root 2 child", + [ + 1, + 41 + ] + ] + ] + ] + } + } } } - } - } - ], - "revision": 516, - "sequenceNumber": 8, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + ], + "revision": 516, + "sequenceNumber": 8, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 7, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 3, - "s": 4 - }, - "c": [ - [ - [ - 3, - 516 - ], - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 7, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 3, + "s": 4 + }, + "c": [ + [ + [ + 3, + 516 + ], { - "fieldKey": "root 1 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 0, - "s": 1 + "fieldChanges": [ + { + "fieldKey": "root 1 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 0, + "s": 1 + } + } } - } + ] } - ] - } - ], - [ - 4, - { - "fieldChanges": [ + ], + [ + 4, { - "fieldKey": "root 3 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 5, - "s": 6 + "fieldChanges": [ + { + "fieldKey": "root 3 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 5, + "s": 6 + } + } } - } + ] } ] - } - ] - ] - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 - ], - [ - 4, - 1 - ], - [ - 6, - 2 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } - }, - { - "c": { - "type": "optional-field-scenarios.Map", - "value": false, - "extraFields": 2 + ] } - }, - { - "a": 3 - }, - { - "d": 0 } ], - "data": [ - [ - 0, - 42 - ], - [ - 1, - [] + "builds": { + "builds": [ + [ + [ + [ + 1, + 0 + ], + [ + 4, + 1 + ], + [ + 6, + 2 + ] + ] + ] ], - [ - 0, - 43 - ] - ] + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "c": { + "type": "optional-field-scenarios.Map", + "value": false, + "extraFields": 2 + } + }, + { + "a": 3 + }, + { + "d": 0 + } + ], + "data": [ + [ + 0, + 42 + ], + [ + 1, + [] + ], + [ + 0, + 43 + ] + ] + } + } } } - } - } - ], - "revision": 7, - "sequenceNumber": 10, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 7, + "sequenceNumber": 10, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 7, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "c": [ - [ - null, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 7, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "c": [ + [ + null, { - "fieldKey": "root 3 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 2, - "s": 3 + "fieldChanges": [ + { + "fieldKey": "root 3 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 2, + "s": 3 + } + } } - } + ] } ] - } - ] - ] - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true + ] } } ], - "data": [ - [ - 0, - 44 - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 3, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + } + ], + "data": [ + [ + 0, + 44 + ] + ] + } + } } } - } + ], + "revision": 8, + "sequenceNumber": 12, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 8, - "sequenceNumber": 12, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": 516, - "commits": [] - } - ] - ], - "version": 3 - }, - "encoding": "utf-8" - } + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", + { + "base": 516, + "commits": [] + } + ] + ], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.number": { - "leaf": 0 - }, - "com.fluidframework.leaf.string": { - "leaf": 1 + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "optional-field-scenarios.Map": { - "map": { + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.number": { + "leaf": 0 + }, + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "optional-field-scenarios.Map": { + "map": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.number", + "com.fluidframework.leaf.string" + ] + } + } + }, + "root": { "kind": "Optional", "types": [ - "com.fluidframework.leaf.number", - "com.fluidframework.leaf.string" + "optional-field-scenarios.Map" ] } - } - }, - "root": { - "kind": "Optional", - "types": [ - "optional-field-scenarios.Map" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-6", - "repair-8", - "repair-10", - "repair-11" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } - }, - { - "c": { - "type": "optional-field-scenarios.Map", - "value": false, - "extraFields": 2 - } - }, - { - "a": 3 - }, - { - "d": 0 - } - ], - "data": [ - [ - 1, - [ - "root 3 child", - [ - 0, - 44 - ] - ] - ], - [ - 0, - 43 - ], - [ - 0, - 40 + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-6", + "repair-8", + "repair-10", + "repair-11" ], - [ - 1, - [ - "root 1 child", + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "c": { + "type": "optional-field-scenarios.Map", + "value": false, + "extraFields": 2 + } + }, + { + "a": 3 + }, + { + "d": 0 + } + ], + "data": [ + [ + 1, + [ + "root 3 child", + [ + 0, + 44 + ] + ] + ], [ 0, - 42 - ] - ] - ], - [ - 1, - [ - "root 2 child", + 43 + ], [ 0, - 41 + 40 + ], + [ + 1, + [ + "root 1 child", + [ + 0, + 42 + ] + ] + ], + [ + 1, + [ + "root 2 child", + [ + 0, + 41 + ] + ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 7, - [ + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ [ - 0, - 8 + 7, + [ + [ + 0, + 8 + ], + [ + 3, + 11 + ] + ] ], [ + 8, + 2, + 6 + ], + [ + 516, 3, - 11 + 10 ] - ] - ], - [ - 8, - 2, - 6 - ], - [ - 516, - 3, - 10 - ] - ], - "maxId": 11 - }, - "encoding": "utf-8" - } + ], + "maxId": 11 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/tree-with-identifier-field-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/tree-with-identifier-field-final.json index e665ac05b610..c56c71b9d8ea 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/tree-with-identifier-field-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_0/tree-with-identifier-field-final.json @@ -1,289 +1,349 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" - ] + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 } + }, + "root": { + "kind": "Optional", + "types": [ + "com.example.parent" + ] } }, - "com.fluidframework.leaf.string": { - "leaf": 1 + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] + } } - }, - "root": { - "kind": "Optional", - "types": [ - "com.example.parent" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } + } } - } - } - ], - "builds": { - "builds": [ - [ - [ + ], + "builds": { + "builds": [ [ - 1, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.example.parent", - "value": false, - "fields": [ + [ [ - "identifier", - 1 + 1, + 0 ] ] - } - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": 0 - } - } - ], - "data": [ - [ - 0, - 0 - ] - ] - } - } - } - }, - { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.example.parent", + "value": false, + "fields": [ + [ + "identifier", + 1 + ] + ] + } + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": 0 + } + } + ], + "data": [ + [ + 0, + 0 ] - } + ] } - }, - "com.fluidframework.leaf.string": { - "leaf": 1 } - }, - "root": { - "kind": "Value", - "types": [ - "com.example.parent" - ] } }, - "old": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" - ] + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 } + }, + "root": { + "kind": "Value", + "types": [ + "com.example.parent" + ] } }, - "com.fluidframework.leaf.string": { - "leaf": 1 + "old": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 + } + }, + "root": { + "kind": "Optional", + "types": [ + "com.example.parent" + ] + } } - }, - "root": { - "kind": "Optional", - "types": [ - "com.example.parent" - ] } } - } + ], + "revision": 4, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 3 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 } + }, + "root": { + "kind": "Value", + "types": [ + "com.example.parent" + ] } }, - "com.fluidframework.leaf.string": { - "leaf": 1 - } - }, - "root": { - "kind": "Value", - "types": [ - "com.example.parent" - ] + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.example.parent", - "value": false, - "fields": [ - [ - "identifier", - 1 - ] + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.example.parent", + "value": false, + "fields": [ + [ + "identifier", + 1 + ] + ] + } + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": 0 + } + } + ], + "data": [ + [ + 0, + 0 ] - } + ] }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": 0 - } - } - ], - "data": [ - [ - 0, - 0 - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 0 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 0 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/attachment-tree-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/attachment-tree-final.json index 027deb0f511a..a9772f430549 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/attachment-tree-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/attachment-tree-final.json @@ -1,143 +1,203 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [], - "branches": [], - "version": 4 + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [], + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 } } + }, + "root": { + "kind": "Value", + "types": [ + "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>" + ] } }, - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } - } - }, - "root": { - "kind": "Value", - "types": [ - "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 1 + ] + ] + } + }, + { + "a": 2 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, [ - "", - 1 + "a", + "b" ] ] - } - }, - { - "a": 2 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - } - ], - "data": [ - [ - 0, - [ - "a", - "b" ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/competing-removes-index-0.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/competing-removes-index-0.json index 6ce0a425fdf5..df5f82483792 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/competing-removes-index-0.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/competing-removes-index-0.json @@ -1,384 +1,444 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } - }, - { - "c": { - "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "c": { + "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, [ - "", - 2 + 1, + 2, + 3 ] + ], + [ + 0, + 0 ] - } + ] }, - { - "a": 0 - } - ], - "data": [ - [ - 1, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ [ - 1, - 2, + 1029, + 0, 3 ] ], - [ - 0, - 0 - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { - "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 - }, - "encoding": "utf-8" - } + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/competing-removes-index-1.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/competing-removes-index-1.json index bf3ba6ac85b1..4d24f0d2000c 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/competing-removes-index-1.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/competing-removes-index-1.json @@ -1,399 +1,459 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } - }, - { - "c": { - "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "c": { + "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, [ - "", - 2 + 0, + 2, + 3 ] + ], + [ + 0, + 1 ] - } + ] }, - { - "a": 0 - } - ], - "data": [ - [ - 1, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ [ + 1029, 0, - 2, 3 ] ], - [ - 0, - 1 - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { - "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 - }, - "encoding": "utf-8" - } + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/competing-removes-index-2.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/competing-removes-index-2.json index 1a294cc9f7a1..98b6a7946df9 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/competing-removes-index-2.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/competing-removes-index-2.json @@ -1,399 +1,459 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } - }, - { - "c": { - "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "c": { + "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, [ - "", - 2 + 0, + 1, + 3 ] + ], + [ + 0, + 2 ] - } + ] }, - { - "a": 0 - } - ], - "data": [ - [ - 1, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ [ + 1029, 0, - 1, 3 ] ], - [ - 0, - 2 - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { - "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 - }, - "encoding": "utf-8" - } + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/competing-removes-index-3.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/competing-removes-index-3.json index c41958a2714f..39f228cf1be3 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/competing-removes-index-3.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/competing-removes-index-3.json @@ -1,399 +1,459 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } - }, - { - "c": { - "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "c": { + "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, [ - "", + 0, + 1, 2 ] + ], + [ + 0, + 3 ] - } + ] }, - { - "a": 0 - } - ], - "data": [ - [ - 1, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ [ + 1029, 0, - 1, - 2 + 3 ] ], - [ - 0, - 3 - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { - "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 - }, - "encoding": "utf-8" - } + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/complete-3x3-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/complete-3x3-final.json index c8a4044a0f83..cd592303d09e 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/complete-3x3-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/complete-3x3-final.json @@ -1,32 +1,73 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "test trees.Recursive Map": { - "map": { + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "root": { "kind": "Optional", "types": [ "test trees.Recursive Map", @@ -34,320 +75,87 @@ ] } }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] } } - }, - "root": { - "kind": "Optional", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 - } - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [ - "FieldA", - "FieldB", - "FieldC" - ], - "shapes": [ - { - "c": { - "type": "test trees.String Array", - "value": false, - "fields": [ - [ - "", - 2 - ] - ] - } - }, - { - "c": { - "type": "test trees.Recursive Map", - "value": false, - "extraFields": 4 - } - }, - { - "a": 3 - }, + { + "data": { + "maxId": 1, + "changes": [ { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } } - }, - { - "a": 5 - }, - { - "d": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - 0, [ - 1, [ - 0, - [ - 1, - [ - 0, - [ - 0, - [ - "1", - "2", - "3" - ] - ], - 1, - [ - 0, - [ - "4", - "5", - "6" - ] - ], - 2, - [ - 0, - [ - "7", - "8", - "9" - ] - ] - ] - ], 1, - [ - 1, - [ - 0, - [ - 0, - [ - "10", - "11", - "12" - ] - ], - 1, - [ - 0, - [ - "13", - "14", - "15" - ] - ], - 2, - [ - 0, - [ - "16", - "17", - "18" - ] - ] - ] - ], - 2, - [ - 1, - [ - 0, - [ - 0, - [ - "19", - "20", - "21" - ] - ], - 1, - [ - 0, - [ - "22", - "23", - "24" - ] - ], - 2, - [ - 0, - [ - "25", - "26", - "27" - ] - ] - ] - ] + 0 ] - ], - 1, - [ - 1, - [ - 0, - [ - 1, - [ - 0, - [ - 0, - [ - "28", - "29", - "30" - ] - ], - 1, - [ - 0, - [ - "31", - "32", - "33" - ] - ], - 2, - [ - 0, - [ - "34", - "35", - "36" - ] - ] - ] - ], - 1, - [ - 1, - [ - 0, - [ - 0, - [ - "37", - "38", - "39" - ] - ], - 1, - [ - 0, - [ - "40", - "41", - "42" - ] - ], - 2, - [ - 0, - [ - "43", - "44", - "45" - ] - ] - ] - ], - 2, - [ - 1, + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [ + "FieldA", + "FieldB", + "FieldC" + ], + "shapes": [ + { + "c": { + "type": "test trees.String Array", + "value": false, + "fields": [ [ - 0, - [ - 0, - [ - "46", - "47", - "48" - ] - ], - 1, - [ - 0, - [ - "49", - "50", - "51" - ] - ], - 2, - [ - 0, - [ - "52", - "53", - "54" - ] - ] + "", + 2 ] ] - ] - ], - 2, + } + }, + { + "c": { + "type": "test trees.Recursive Map", + "value": false, + "extraFields": 4 + } + }, + { + "a": 3 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + }, + { + "a": 5 + }, + { + "d": 0 + } + ], + "data": [ [ 1, [ @@ -357,29 +165,101 @@ [ 0, [ - 0, + 1, [ - "55", - "56", - "57" + 0, + [ + 0, + [ + "1", + "2", + "3" + ] + ], + 1, + [ + 0, + [ + "4", + "5", + "6" + ] + ], + 2, + [ + 0, + [ + "7", + "8", + "9" + ] + ] ] ], 1, [ - 0, + 1, [ - "58", - "59", - "60" + 0, + [ + 0, + [ + "10", + "11", + "12" + ] + ], + 1, + [ + 0, + [ + "13", + "14", + "15" + ] + ], + 2, + [ + 0, + [ + "16", + "17", + "18" + ] + ] ] ], 2, [ - 0, + 1, [ - "61", - "62", - "63" + 0, + [ + 0, + [ + "19", + "20", + "21" + ] + ], + 1, + [ + 0, + [ + "22", + "23", + "24" + ] + ], + 2, + [ + 0, + [ + "25", + "26", + "27" + ] + ] ] ] ] @@ -390,29 +270,101 @@ [ 0, [ - 0, + 1, [ - "64", - "65", - "66" + 0, + [ + 0, + [ + "28", + "29", + "30" + ] + ], + 1, + [ + 0, + [ + "31", + "32", + "33" + ] + ], + 2, + [ + 0, + [ + "34", + "35", + "36" + ] + ] ] ], 1, [ - 0, + 1, [ - "67", - "68", - "69" + 0, + [ + 0, + [ + "37", + "38", + "39" + ] + ], + 1, + [ + 0, + [ + "40", + "41", + "42" + ] + ], + 2, + [ + 0, + [ + "43", + "44", + "45" + ] + ] ] ], 2, [ - 0, + 1, [ - "70", - "71", - "72" + 0, + [ + 0, + [ + "46", + "47", + "48" + ] + ], + 1, + [ + 0, + [ + "49", + "50", + "51" + ] + ], + 2, + [ + 0, + [ + "52", + "53", + "54" + ] + ] ] ] ] @@ -423,29 +375,101 @@ [ 0, [ - 0, + 1, [ - "73", - "74", - "75" + 0, + [ + 0, + [ + "55", + "56", + "57" + ] + ], + 1, + [ + 0, + [ + "58", + "59", + "60" + ] + ], + 2, + [ + 0, + [ + "61", + "62", + "63" + ] + ] ] ], 1, [ - 0, + 1, [ - "76", - "77", - "78" + 0, + [ + 0, + [ + "64", + "65", + "66" + ] + ], + 1, + [ + 0, + [ + "67", + "68", + "69" + ] + ], + 2, + [ + 0, + [ + "70", + "71", + "72" + ] + ] ] ], 2, [ - 0, + 1, [ - "79", - "80", - "81" + 0, + [ + 0, + [ + "73", + "74", + "75" + ] + ], + 1, + [ + 0, + [ + "76", + "77", + "78" + ] + ], + 2, + [ + 0, + [ + "79", + "80", + "81" + ] + ] ] ] ] @@ -453,421 +477,229 @@ ] ] ] - ] - ] + } + } } - } - } - }, - { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "test trees.Recursive Map": { - "map": { - "kind": "Optional", + }, + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "root": { + "kind": "Value", "types": [ "test trees.Recursive Map", "test trees.String Array" ] } }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "old": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] - } - }, - "old": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "test trees.Recursive Map": { - "map": { + }, + "root": { "kind": "Optional", "types": [ "test trees.Recursive Map", "test trees.String Array" ] } - }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } } - }, - "root": { - "kind": "Optional", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] } } - } + ], + "revision": 3, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 3, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } - }, - "test trees.Recursive Map": { - "kind": { - "map": { - "kind": "Optional", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] - } - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "test trees.String Array": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "test trees.Recursive Map": { + "kind": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + } + }, + "test trees.String Array": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [ - "FieldA", - "FieldB", - "FieldC" - ], - "shapes": [ - { - "c": { - "type": "test trees.String Array", - "value": false, - "fields": [ - [ - "", - 2 - ] - ] - } - }, - { - "c": { - "type": "test trees.Recursive Map", - "value": false, - "extraFields": 4 - } - }, - { - "a": 3 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - }, - { - "a": 5 - }, - { - "d": 0 - } - ], - "data": [ - [ - 1, - [ - 0, - [ - 1, - [ - 0, - [ - 1, - [ - 0, - [ - 0, - [ - "1", - "2", - "3" - ] - ], - 1, - [ - 0, - [ - "4", - "5", - "6" - ] - ], - 2, - [ - 0, - [ - "7", - "8", - "9" - ] - ] - ] - ], - 1, - [ - 1, - [ - 0, - [ - 0, - [ - "10", - "11", - "12" - ] - ], - 1, - [ - 0, - [ - "13", - "14", - "15" - ] - ], - 2, - [ - 0, - [ - "16", - "17", - "18" - ] - ] - ] - ], - 2, - [ - 1, - [ - 0, - [ - 0, - [ - "19", - "20", - "21" - ] - ], - 1, - [ - 0, - [ - "22", - "23", - "24" - ] - ], - 2, - [ - 0, - [ - "25", - "26", - "27" - ] - ] - ] - ] - ] - ], - 1, - [ - 1, - [ - 0, - [ - 1, - [ - 0, - [ - 0, - [ - "28", - "29", - "30" - ] - ], - 1, - [ - 0, - [ - "31", - "32", - "33" - ] - ], - 2, - [ - 0, - [ - "34", - "35", - "36" - ] - ] - ] - ], - 1, - [ - 1, - [ - 0, - [ - 0, - [ - "37", - "38", - "39" - ] - ], - 1, - [ - 0, - [ - "40", - "41", - "42" - ] - ], - 2, - [ - 0, - [ - "43", - "44", - "45" - ] - ] - ] - ], - 2, - [ - 1, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [ + "FieldA", + "FieldB", + "FieldC" + ], + "shapes": [ + { + "c": { + "type": "test trees.String Array", + "value": false, + "fields": [ [ - 0, - [ - 0, - [ - "46", - "47", - "48" - ] - ], - 1, - [ - 0, - [ - "49", - "50", - "51" - ] - ], - 2, - [ - 0, - [ - "52", - "53", - "54" - ] - ] + "", + 2 ] ] - ] - ], - 2, + } + }, + { + "c": { + "type": "test trees.Recursive Map", + "value": false, + "extraFields": 4 + } + }, + { + "a": 3 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + }, + { + "a": 5 + }, + { + "d": 0 + } + ], + "data": [ [ 1, [ @@ -877,29 +709,101 @@ [ 0, [ - 0, + 1, [ - "55", - "56", - "57" + 0, + [ + 0, + [ + "1", + "2", + "3" + ] + ], + 1, + [ + 0, + [ + "4", + "5", + "6" + ] + ], + 2, + [ + 0, + [ + "7", + "8", + "9" + ] + ] ] ], 1, [ - 0, + 1, [ - "58", - "59", - "60" + 0, + [ + 0, + [ + "10", + "11", + "12" + ] + ], + 1, + [ + 0, + [ + "13", + "14", + "15" + ] + ], + 2, + [ + 0, + [ + "16", + "17", + "18" + ] + ] ] ], 2, [ - 0, + 1, [ - "61", - "62", - "63" + 0, + [ + 0, + [ + "19", + "20", + "21" + ] + ], + 1, + [ + 0, + [ + "22", + "23", + "24" + ] + ], + 2, + [ + 0, + [ + "25", + "26", + "27" + ] + ] ] ] ] @@ -910,29 +814,101 @@ [ 0, [ - 0, + 1, [ - "64", - "65", - "66" + 0, + [ + 0, + [ + "28", + "29", + "30" + ] + ], + 1, + [ + 0, + [ + "31", + "32", + "33" + ] + ], + 2, + [ + 0, + [ + "34", + "35", + "36" + ] + ] ] ], 1, [ - 0, + 1, [ - "67", - "68", - "69" + 0, + [ + 0, + [ + "37", + "38", + "39" + ] + ], + 1, + [ + 0, + [ + "40", + "41", + "42" + ] + ], + 2, + [ + 0, + [ + "43", + "44", + "45" + ] + ] ] ], 2, [ - 0, + 1, [ - "70", - "71", - "72" + 0, + [ + 0, + [ + "46", + "47", + "48" + ] + ], + 1, + [ + 0, + [ + "49", + "50", + "51" + ] + ], + 2, + [ + 0, + [ + "52", + "53", + "54" + ] + ] ] ] ] @@ -943,29 +919,101 @@ [ 0, [ - 0, + 1, [ - "73", - "74", - "75" + 0, + [ + 0, + [ + "55", + "56", + "57" + ] + ], + 1, + [ + 0, + [ + "58", + "59", + "60" + ] + ], + 2, + [ + 0, + [ + "61", + "62", + "63" + ] + ] ] ], 1, [ - 0, + 1, [ - "76", - "77", - "78" + 0, + [ + 0, + [ + "64", + "65", + "66" + ] + ], + 1, + [ + 0, + [ + "67", + "68", + "69" + ] + ], + 2, + [ + 0, + [ + "70", + "71", + "72" + ] + ] ] ], 2, [ - 0, + 1, [ - "79", - "80", - "81" + 0, + [ + 0, + [ + "73", + "74", + "75" + ] + ], + 1, + [ + 0, + [ + "76", + "77", + "78" + ] + ], + 2, + [ + 0, + [ + "79", + "80", + "81" + ] + ] ] ] ] @@ -973,35 +1021,47 @@ ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 0 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 0 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/concurrent-inserts-tree2.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/concurrent-inserts-tree2.json index 872ac3a51156..cc1d031a35cd 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/concurrent-inserts-tree2.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/concurrent-inserts-tree2.json @@ -1,452 +1,512 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "y" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 0, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "y" + ] + ] + } + } } } - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 2 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 2 + } + }, + "cellId": 2 } - }, - "cellId": 2 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 2, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "x" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 2, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "x" + ] + ] + } + } } } - } - } - ], - "revision": 5, - "sequenceNumber": 6, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 5, + "sequenceNumber": 6, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 2, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 2, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - }, - { - "a": 2 - }, - { - "d": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - 0, - "a", - 0, - "c" + [ + [ + 0, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + }, + { + "a": 2 + }, + { + "d": 0 + } + ], + "data": [ + [ + 1, + [ + 0, + "a", + 0, + "c" + ] + ] + ] + } + } } } - } - } - ], - "revision": 6, - "sequenceNumber": 8, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 6, + "sequenceNumber": 8, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 4, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 4, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "insert": { - "id": 3 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "insert": { + "id": 3 + } + }, + "cellId": 3 } - }, - "cellId": 3 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "b" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 3, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "b" + ] + ] + } + } } } - } + ], + "revision": 7, + "sequenceNumber": 9, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 7, - "sequenceNumber": 9, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 1 + ] + ] + } + }, + { + "a": 2 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, [ - "", - 1 + "x", + "y", + "a", + "b", + "c" ] ] - } - }, - { - "a": 2 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - } - ], - "data": [ - [ - 0, - [ - "x", - "y", - "a", - "b", - "c" ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 5 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 5 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/concurrent-inserts-tree3.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/concurrent-inserts-tree3.json index 0932923336af..340f107e1eaf 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/concurrent-inserts-tree3.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/concurrent-inserts-tree3.json @@ -1,459 +1,519 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 4, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 4, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 3 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "insert": { + "id": 3 + } + }, + "cellId": 3 } - }, - "cellId": 3 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "b" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 3, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "b" + ] + ] + } + } } } - } - } - ], - "revision": 7, - "sequenceNumber": 9, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 7, + "sequenceNumber": 9, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 4 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 4 + } + }, + "cellId": 4 } - }, - "cellId": 4 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 4, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "z" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 4, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "z" + ] + ] + } + } } } - } - } - ], - "revision": 10, - "sequenceNumber": 11, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 10, + "sequenceNumber": 11, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 2, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 2, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - }, - { - "a": 2 - }, - { - "d": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - 0, - "d", - 0, - "e" + [ + [ + 0, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + }, + { + "a": 2 + }, + { + "d": 0 + } + ], + "data": [ + [ + 1, + [ + 0, + "d", + 0, + "e" + ] + ] + ] + } + } } } - } - } - ], - "revision": 11, - "sequenceNumber": 13, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 11, + "sequenceNumber": 13, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "insert": { - "id": 3 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "insert": { + "id": 3 + } + }, + "cellId": 3 } - }, - "cellId": 3 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "f" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 3, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "f" + ] + ] + } + } } } - } + ], + "revision": 12, + "sequenceNumber": 14, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 12, - "sequenceNumber": 14, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 1 + ] + ] + } + }, + { + "a": 2 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, [ - "", - 1 + "z", + "x", + "d", + "f", + "e", + "y", + "a", + "b", + "c" ] ] - } - }, - { - "a": 2 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - } - ], - "data": [ - [ - 0, - [ - "z", - "x", - "d", - "f", - "e", - "y", - "a", - "b", - "c" ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 9 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 9 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/empty-root-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/empty-root-final.json index 8ba67dbcb432..9101e77c9ebd 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/empty-root-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/empty-root-final.json @@ -1,150 +1,210 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.number": { - "leaf": 0 + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.number": { + "leaf": 0 + } + }, + "root": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.number" + ] + } + }, + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] + } } - }, - "root": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.number" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 0, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0 + { + "data": { + "maxId": 0, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0 + } + } } - } + ] } - ] - } + } + ], + "revision": 2, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 2, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } - } - }, - "root": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.number" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" } }, - "encoding": "utf-8" - } + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + } + }, + "root": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.number" + ] + } + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [], - "data": [] - }, - "version": 1 + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [], + "data": [] + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": -1 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": -1 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/has-handle-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/has-handle-final.json index 147afdfd52d9..0ca638068c88 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/has-handle-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/has-handle-final.json @@ -1,217 +1,277 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 2, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 2, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "handleField", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + "fieldChanges": [ + { + "fieldKey": "handleField", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } + } } - } + ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.handle", - "value": true - } } ], - "data": [ - [ - 0, - { - "type": "__fluid_handle__", - "url": "/test/tree-0" - } - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 1, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.handle", + "value": true + } + } + ], + "data": [ + [ + 0, + { + "type": "__fluid_handle__", + "url": "/test/tree-0" + } + ] + ] + } + } } } - } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.handle": { - "kind": { - "leaf": 3 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "has-handle.HandleObject": { - "kind": { - "object": { - "handleField": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.handle" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.handle": { + "kind": { + "leaf": 3 + } + }, + "has-handle.HandleObject": { + "kind": { + "object": { + "handleField": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.handle" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "has-handle.HandleObject" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "has-handle.HandleObject" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "has-handle.HandleObject", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "has-handle.HandleObject", + "value": false, + "fields": [ + [ + "handleField", + 1 + ] + ] + } + }, + { + "a": 2 + }, + { + "c": { + "type": "com.fluidframework.leaf.handle", + "value": true + } + } + ], + "data": [ + [ + 0, [ - "handleField", - 1 + { + "type": "__fluid_handle__", + "url": "/test/tree-0" + } ] ] - } - }, - { - "a": 2 - }, - { - "c": { - "type": "com.fluidframework.leaf.handle", - "value": true - } - } - ], - "data": [ - [ - 0, - [ - { - "type": "__fluid_handle__", - "url": "/test/tree-0" - } ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 1 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 1 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/insert-and-remove-tree-0-after-insert.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/insert-and-remove-tree-0-after-insert.json index 1d33e6042967..878fdea17567 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/insert-and-remove-tree-0-after-insert.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/insert-and-remove-tree-0-after-insert.json @@ -1,215 +1,275 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "42" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 0, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "42" + ] + ] + } + } } } - } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 1 + ] + ] + } + }, + { + "a": 2 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, [ - "", - 1 + "42" ] ] - } - }, - { - "a": 2 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - } - ], - "data": [ - [ - 0, - [ - "42" ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 1 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 1 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/insert-and-remove-tree-0-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/insert-and-remove-tree-0-final.json index 2ba02b5f30b7..9eef30e29fc9 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/insert-and-remove-tree-0-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/insert-and-remove-tree-0-final.json @@ -1,193 +1,253 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 2 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 2 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 5, + "sequenceNumber": 6, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 5, - "sequenceNumber": 6, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-2" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - }, - { - "c": { - "type": "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ - [ - "", - 2 - ] + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-2" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + }, + { + "c": { + "type": "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + 0 + ], + [ + 0, + "42" ] - } + ] }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - 0 - ], - [ - 0, - "42" - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 5, - 2, - 2 - ] - ], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ + [ + 5, + 2, + 2 + ] + ], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/insert-and-remove-tree-1-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/insert-and-remove-tree-1-final.json index 1b5548dfe640..86372fe10f96 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/insert-and-remove-tree-1-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/insert-and-remove-tree-1-final.json @@ -1,201 +1,261 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 2 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 2 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 5, + "sequenceNumber": 6, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 5, - "sequenceNumber": 6, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [ - [ - "8f95be09-8376-4ff7-8755-ccd7e8124b06", - { - "base": 5, - "commits": [] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [ + [ + "8f95be09-8376-4ff7-8755-ccd7e8124b06", + { + "base": 5, + "commits": [] + } + ] + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-2" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - }, - { - "c": { - "type": "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ - [ - "", - 2 - ] + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-2" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + }, + { + "c": { + "type": "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + 0 + ], + [ + 0, + "42" ] - } + ] }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - 0 - ], - [ - 0, - "42" - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 5, - 2, - 2 - ] - ], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ + [ + 5, + 2, + 2 + ] + ], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/move-across-fields-tree-0-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/move-across-fields-tree-0-final.json index 7c8660b6ddfe..ace0d5b4c510 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/move-across-fields-tree-0-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/move-across-fields-tree-0-final.json @@ -1,503 +1,563 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Optional", + "types": [ + "move-across-fields.Node" + ] } }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - } + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] } } - }, - "root": { - "kind": "Optional", - "types": [ - "move-across-fields.Node" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } + } } - } - } - ], - "builds": { - "builds": [ - [ - [ + ], + "builds": { + "builds": [ [ - 1, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ + [ [ - "", - 2 + 1, + 0 ] ] - } - }, - { - "c": { - "type": "move-across-fields.Node", - "value": false, - "fields": [ + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "c": { + "type": "move-across-fields.Node", + "value": false, + "fields": [ + [ + "foo", + 0 + ], + [ + "bar", + 0 + ] + ] + } + }, + { + "a": 3 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 1, [ - "foo", - 0 + "a", + "b", + "c" ], [ - "bar", - 0 + "d", + "e", + "f" ] ] - } - }, - { - "a": 3 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - } - ], - "data": [ - [ - 1, - [ - "a", - "b", - "c" - ], - [ - "d", - "e", - "f" ] - ] - ] - } - } - } - }, - { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } - }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - } } } - }, - "root": { - "kind": "Value", - "types": [ - "move-across-fields.Node" - ] } }, - "old": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Value", + "types": [ + "move-across-fields.Node" + ] } }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "old": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Optional", + "types": [ + "move-across-fields.Node" + ] } } - }, - "root": { - "kind": "Optional", - "types": [ - "move-across-fields.Node" - ] } } - } - } - ], - "revision": 3, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 3, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 7, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 7, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "foo", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "fieldChanges": [ + { + "fieldKey": "foo", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 2, - "effect": { - "moveOut": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 2, + "effect": { + "moveOut": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] - ] - }, - { - "fieldKey": "bar", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + ] + }, + { + "fieldKey": "bar", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 2, - "effect": { - "moveIn": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 2, + "effect": { + "moveIn": { + "id": 0 + } + }, + "cellId": 2 } - }, - "cellId": 2 + ] } ] } ] - } - ] + ] + } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 } - } - } - }, - "move-across-fields.Node": { - "kind": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "move-across-fields.Node": { + "kind": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "move-across-fields.Node" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "move-across-fields.Node" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ - [ - "", - 2 - ] - ] - } - }, - { - "c": { - "type": "move-across-fields.Node", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "c": { + "type": "move-across-fields.Node", + "value": false, + "fields": [ + [ + "foo", + 0 + ], + [ + "bar", + 0 + ] + ] + } + }, + { + "a": 3 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 1, [ - "foo", - 0 + "a" ], [ - "bar", - 0 + "d", + "b", + "c", + "e", + "f" ] ] - } - }, - { - "a": 3 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - } - ], - "data": [ - [ - 1, - [ - "a" - ], - [ - "d", - "b", - "c", - "e", - "f" ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/nested-sequence-change-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/nested-sequence-change-final.json index 4b9e99021d20..95091e88d4d6 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/nested-sequence-change-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/nested-sequence-change-final.json @@ -1,285 +1,345 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 0 - } - }, - "cellId": 0, - "changes": { - "fieldChanges": [ - { - "fieldKey": "foo", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 2, - "s": 3 - } + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 0 } + }, + "cellId": 0, + "changes": { + "fieldChanges": [ + { + "fieldKey": "foo", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 2, + "s": 3 + } + } + } + ] } - ] - } + } + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 - ], - [ - 3, - 1 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "test trees.Recursive Map", - "value": false, - "extraFields": 3 - } - }, - { - "c": { - "type": "test trees.Array<[\"test trees.Recursive Map\"]>", - "value": false, - "fields": [ - [ - "", - 2 - ] - ] - } - }, - { - "a": 0 - }, - { - "a": 1 } ], - "data": [ - [ - 0, - [] - ], - [ - 1, + "builds": { + "builds": [ [ [ - "bar", [ + 0, 0 + ], + [ + 3, + 1 ] ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "test trees.Recursive Map", + "value": false, + "extraFields": 3 + } + }, + { + "c": { + "type": "test trees.Array<[\"test trees.Recursive Map\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + }, + { + "a": 1 + } + ], + "data": [ + [ + 0, + [] + ], + [ + 1, + [ + [ + "bar", + [ + 0 + ] + ] + ] + ] + ] + } + } } } - } + ], + "revision": 6, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 6, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "test trees.Array<[\"test trees.Recursive Map\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "test trees.Recursive Map" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "test trees.Array<[\"test trees.Recursive Map\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "test trees.Recursive Map" + ] + } + } + } + }, + "test trees.Recursive Map": { + "kind": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Array<[\"test trees.Recursive Map\"]>" + ] + } } } + }, + "root": { + "kind": "Value", + "types": [ + "test trees.Array<[\"test trees.Recursive Map\"]>" + ] } }, - "test trees.Recursive Map": { - "kind": { - "map": { - "kind": "Optional", - "types": [ - "test trees.Array<[\"test trees.Recursive Map\"]>" - ] - } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "test trees.Array<[\"test trees.Recursive Map\"]>" - ] + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "test trees.Array<[\"test trees.Recursive Map\"]>", - "value": false, - "fields": [ - [ - "", - 1 - ] - ] - } - }, - { - "a": 2 - }, - { - "c": { - "type": "test trees.Recursive Map", - "value": false, - "extraFields": 3 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 0, - [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "test trees.Array<[\"test trees.Recursive Map\"]>", + "value": false, + "fields": [ + [ + "", + 1 + ] + ] + } + }, + { + "a": 2 + }, + { + "c": { + "type": "test trees.Recursive Map", + "value": false, + "extraFields": 3 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "foo", + 0, [ [ + "foo", [ - "bar", [ - 0 + [ + "bar", + [ + 0 + ] + ] ] ] ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/optional-field-scenarios-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/optional-field-scenarios-final.json index f81a712fde37..f0a8a44ef9f8 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/optional-field-scenarios-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/optional-field-scenarios-final.json @@ -1,550 +1,610 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 2, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 2, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "root 1 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + "fieldChanges": [ + { + "fieldKey": "root 1 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } + } } - } + ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } } ], - "data": [ - [ - 0, - 40 - ] - ] - } - } - } - } - ], - "revision": 515, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ - { - "data": { - "maxId": 4, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 3, - "s": 4 + "builds": { + "builds": [ + [ + [ + [ + 1, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + } + ], + "data": [ + [ + 0, + 40 + ] + ] } } } - ], - "builds": { - "builds": [ - [ - [ - [ - 4, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "optional-field-scenarios.Map", - "value": false, - "extraFields": 2 - } - }, + } + ], + "revision": 515, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, + { + "change": [ + { + "data": { + "maxId": 4, + "changes": [ { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 3, + "s": 4 + } } - }, - { - "a": 3 - }, - { - "d": 0 } ], - "data": [ - [ - 0, + "builds": { + "builds": [ [ - "root 2 child", [ - 1, - 41 + [ + 4, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "optional-field-scenarios.Map", + "value": false, + "extraFields": 2 + } + }, + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "a": 3 + }, + { + "d": 0 + } + ], + "data": [ + [ + 0, + [ + "root 2 child", + [ + 1, + 41 + ] + ] ] ] - ] - ] + } + } } } - } - } - ], - "revision": 516, - "sequenceNumber": 8, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + ], + "revision": 516, + "sequenceNumber": 8, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 7, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 3, - "s": 4 - }, - "c": [ - [ - [ - 3, - 516 - ], - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 7, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 3, + "s": 4 + }, + "c": [ + [ + [ + 3, + 516 + ], { - "fieldKey": "root 1 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 0, - "s": 1 + "fieldChanges": [ + { + "fieldKey": "root 1 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 0, + "s": 1 + } + } } - } + ] } - ] - } - ], - [ - 4, - { - "fieldChanges": [ + ], + [ + 4, { - "fieldKey": "root 3 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 5, - "s": 6 + "fieldChanges": [ + { + "fieldKey": "root 3 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 5, + "s": 6 + } + } } - } + ] } ] - } - ] - ] - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 - ], - [ - 4, - 1 - ], - [ - 6, - 2 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } - }, - { - "c": { - "type": "optional-field-scenarios.Map", - "value": false, - "extraFields": 2 + ] } - }, - { - "a": 3 - }, - { - "d": 0 } ], - "data": [ - [ - 0, - 42 - ], - [ - 1, - [] + "builds": { + "builds": [ + [ + [ + [ + 1, + 0 + ], + [ + 4, + 1 + ], + [ + 6, + 2 + ] + ] + ] ], - [ - 0, - 43 - ] - ] + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "c": { + "type": "optional-field-scenarios.Map", + "value": false, + "extraFields": 2 + } + }, + { + "a": 3 + }, + { + "d": 0 + } + ], + "data": [ + [ + 0, + 42 + ], + [ + 1, + [] + ], + [ + 0, + 43 + ] + ] + } + } } } - } - } - ], - "revision": 7, - "sequenceNumber": 10, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 7, + "sequenceNumber": 10, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 7, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "c": [ - [ - null, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 7, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "c": [ + [ + null, { - "fieldKey": "root 3 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 2, - "s": 3 + "fieldChanges": [ + { + "fieldKey": "root 3 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 2, + "s": 3 + } + } } - } + ] } ] - } - ] - ] - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true + ] } } ], - "data": [ - [ - 0, - 44 - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 3, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + } + ], + "data": [ + [ + 0, + 44 + ] + ] + } + } } } - } + ], + "revision": 8, + "sequenceNumber": 12, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 8, - "sequenceNumber": 12, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": 516, - "commits": [] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", + { + "base": 516, + "commits": [] + } + ] + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } - }, - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "optional-field-scenarios.Map": { - "kind": { - "map": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.number", - "com.fluidframework.leaf.string" - ] - } - } - } - }, - "root": { - "kind": "Optional", - "types": [ - "optional-field-scenarios.Map" - ] + "encoding": "utf-8" } }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "Forest": { - "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-6", - "repair-8", - "repair-10", - "repair-11" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } - }, - { - "c": { - "type": "optional-field-scenarios.Map", - "value": false, - "extraFields": 2 + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "optional-field-scenarios.Map": { + "kind": { + "map": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.number", + "com.fluidframework.leaf.string" + ] + } + } } }, - { - "a": 3 - }, - { - "d": 0 - } - ], - "data": [ - [ - 1, - [ - "root 3 child", - [ - 0, - 44 - ] + "root": { + "kind": "Optional", + "types": [ + "optional-field-scenarios.Map" ] + } + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-6", + "repair-8", + "repair-10", + "repair-11" ], - [ - 0, - 43 - ], - [ - 0, - 40 - ], - [ - 1, - [ - "root 1 child", + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "c": { + "type": "optional-field-scenarios.Map", + "value": false, + "extraFields": 2 + } + }, + { + "a": 3 + }, + { + "d": 0 + } + ], + "data": [ + [ + 1, + [ + "root 3 child", + [ + 0, + 44 + ] + ] + ], [ 0, - 42 - ] - ] - ], - [ - 1, - [ - "root 2 child", + 43 + ], [ 0, - 41 + 40 + ], + [ + 1, + [ + "root 1 child", + [ + 0, + 42 + ] + ] + ], + [ + 1, + [ + "root 2 child", + [ + 0, + 41 + ] + ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 7, - [ + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ [ - 0, - 8 + 7, + [ + [ + 0, + 8 + ], + [ + 3, + 11 + ] + ] ], [ + 8, + 2, + 6 + ], + [ + 516, 3, - 11 + 10 ] - ] - ], - [ - 8, - 2, - 6 - ], - [ - 516, - 3, - 10 - ] - ], - "maxId": 11 - }, - "encoding": "utf-8" - } + ], + "maxId": 11 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/tree-with-identifier-field-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/tree-with-identifier-field-final.json index fde6b9bf93c8..631f93d52ffb 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/tree-with-identifier-field-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_43/tree-with-identifier-field-final.json @@ -1,293 +1,353 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" - ] + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 } + }, + "root": { + "kind": "Optional", + "types": [ + "com.example.parent" + ] } }, - "com.fluidframework.leaf.string": { - "leaf": 1 + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] + } } - }, - "root": { - "kind": "Optional", - "types": [ - "com.example.parent" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } + } } - } - } - ], - "builds": { - "builds": [ - [ - [ + ], + "builds": { + "builds": [ [ - 1, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.example.parent", - "value": false, - "fields": [ + [ [ - "identifier", - 1 + 1, + 0 ] ] - } - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": 0 - } - } - ], - "data": [ - [ - 0, - 0 - ] - ] - } - } - } - }, - { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.example.parent", + "value": false, + "fields": [ + [ + "identifier", + 1 + ] + ] + } + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": 0 + } + } + ], + "data": [ + [ + 0, + 0 ] - } + ] } - }, - "com.fluidframework.leaf.string": { - "leaf": 1 } - }, - "root": { - "kind": "Value", - "types": [ - "com.example.parent" - ] } }, - "old": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" - ] + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 } + }, + "root": { + "kind": "Value", + "types": [ + "com.example.parent" + ] } }, - "com.fluidframework.leaf.string": { - "leaf": 1 + "old": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 + } + }, + "root": { + "kind": "Optional", + "types": [ + "com.example.parent" + ] + } } - }, - "root": { - "kind": "Optional", - "types": [ - "com.example.parent" - ] } } - } + ], + "revision": 4, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.example.parent": { - "kind": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.example.parent": { + "kind": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 } } + }, + "root": { + "kind": "Value", + "types": [ + "com.example.parent" + ] } }, - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } - } - }, - "root": { - "kind": "Value", - "types": [ - "com.example.parent" - ] + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.example.parent", - "value": false, - "fields": [ - [ - "identifier", - 1 - ] + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.example.parent", + "value": false, + "fields": [ + [ + "identifier", + 1 + ] + ] + } + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": 0 + } + } + ], + "data": [ + [ + 0, + 0 ] - } + ] }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": 0 - } - } - ], - "data": [ - [ - 0, - 0 - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 0 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 0 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/attachment-tree-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/attachment-tree-final.json index f6f481346512..948e7ffaa603 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/attachment-tree-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/attachment-tree-final.json @@ -1,143 +1,203 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [], - "branches": [], - "version": 4 + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [], + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 } } + }, + "root": { + "kind": "Value", + "types": [ + "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>" + ] } }, - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } - } - }, - "root": { - "kind": "Value", - "types": [ - "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 1 + ] + ] + } + }, + { + "a": 2 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, [ - "", - 1 + "a", + "b" ] ] - } - }, - { - "a": 2 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - } - ], - "data": [ - [ - 0, - [ - "a", - "b" ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/competing-removes-index-0.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/competing-removes-index-0.json index 52ea166e8aad..a34b691e6c96 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/competing-removes-index-0.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/competing-removes-index-0.json @@ -1,384 +1,444 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } - }, - { - "c": { - "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "c": { + "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, [ - "", - 2 + 1, + 2, + 3 ] + ], + [ + 0, + 0 ] - } + ] }, - { - "a": 0 - } - ], - "data": [ - [ - 1, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ [ - 1, - 2, + 1029, + 0, 3 ] ], - [ - 0, - 0 - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { - "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 - }, - "encoding": "utf-8" - } + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/competing-removes-index-1.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/competing-removes-index-1.json index 1b0fa976b38b..8e8b1958f55f 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/competing-removes-index-1.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/competing-removes-index-1.json @@ -1,399 +1,459 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } - }, - { - "c": { - "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "c": { + "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, [ - "", - 2 + 0, + 2, + 3 ] + ], + [ + 0, + 1 ] - } + ] }, - { - "a": 0 - } - ], - "data": [ - [ - 1, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ [ + 1029, 0, - 2, 3 ] ], - [ - 0, - 1 - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { - "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 - }, - "encoding": "utf-8" - } + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/competing-removes-index-2.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/competing-removes-index-2.json index 38318300b62e..b537b82b4488 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/competing-removes-index-2.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/competing-removes-index-2.json @@ -1,399 +1,459 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } - }, - { - "c": { - "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "c": { + "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, [ - "", - 2 + 0, + 1, + 3 ] + ], + [ + 0, + 2 ] - } + ] }, - { - "a": 0 - } - ], - "data": [ - [ - 1, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ [ + 1029, 0, - 1, 3 ] ], - [ - 0, - 2 - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { - "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 - }, - "encoding": "utf-8" - } + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/competing-removes-index-3.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/competing-removes-index-3.json index e06dfa588771..a89966558eec 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/competing-removes-index-3.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/competing-removes-index-3.json @@ -1,399 +1,459 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } - }, - { - "c": { - "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "c": { + "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, [ - "", + 0, + 1, 2 ] + ], + [ + 0, + 3 ] - } + ] }, - { - "a": 0 - } - ], - "data": [ - [ - 1, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ [ + 1029, 0, - 1, - 2 + 3 ] ], - [ - 0, - 3 - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { - "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 - }, - "encoding": "utf-8" - } + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/complete-3x3-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/complete-3x3-final.json index 54277df64e90..08805121db24 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/complete-3x3-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/complete-3x3-final.json @@ -1,32 +1,73 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "test trees.Recursive Map": { - "map": { + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "root": { "kind": "Optional", "types": [ "test trees.Recursive Map", @@ -34,320 +75,87 @@ ] } }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] } } - }, - "root": { - "kind": "Optional", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 - } - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [ - "FieldA", - "FieldB", - "FieldC" - ], - "shapes": [ - { - "c": { - "type": "test trees.String Array", - "value": false, - "fields": [ - [ - "", - 2 - ] - ] - } - }, - { - "c": { - "type": "test trees.Recursive Map", - "value": false, - "extraFields": 4 - } - }, - { - "a": 3 - }, + { + "data": { + "maxId": 1, + "changes": [ { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } } - }, - { - "a": 5 - }, - { - "d": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - 0, [ - 1, [ - 0, - [ - 1, - [ - 0, - [ - 0, - [ - "1", - "2", - "3" - ] - ], - 1, - [ - 0, - [ - "4", - "5", - "6" - ] - ], - 2, - [ - 0, - [ - "7", - "8", - "9" - ] - ] - ] - ], 1, - [ - 1, - [ - 0, - [ - 0, - [ - "10", - "11", - "12" - ] - ], - 1, - [ - 0, - [ - "13", - "14", - "15" - ] - ], - 2, - [ - 0, - [ - "16", - "17", - "18" - ] - ] - ] - ], - 2, - [ - 1, - [ - 0, - [ - 0, - [ - "19", - "20", - "21" - ] - ], - 1, - [ - 0, - [ - "22", - "23", - "24" - ] - ], - 2, - [ - 0, - [ - "25", - "26", - "27" - ] - ] - ] - ] + 0 ] - ], - 1, - [ - 1, - [ - 0, - [ - 1, - [ - 0, - [ - 0, - [ - "28", - "29", - "30" - ] - ], - 1, - [ - 0, - [ - "31", - "32", - "33" - ] - ], - 2, - [ - 0, - [ - "34", - "35", - "36" - ] - ] - ] - ], - 1, - [ - 1, - [ - 0, - [ - 0, - [ - "37", - "38", - "39" - ] - ], - 1, - [ - 0, - [ - "40", - "41", - "42" - ] - ], - 2, - [ - 0, - [ - "43", - "44", - "45" - ] - ] - ] - ], - 2, - [ - 1, + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [ + "FieldA", + "FieldB", + "FieldC" + ], + "shapes": [ + { + "c": { + "type": "test trees.String Array", + "value": false, + "fields": [ [ - 0, - [ - 0, - [ - "46", - "47", - "48" - ] - ], - 1, - [ - 0, - [ - "49", - "50", - "51" - ] - ], - 2, - [ - 0, - [ - "52", - "53", - "54" - ] - ] + "", + 2 ] ] - ] - ], - 2, + } + }, + { + "c": { + "type": "test trees.Recursive Map", + "value": false, + "extraFields": 4 + } + }, + { + "a": 3 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + }, + { + "a": 5 + }, + { + "d": 0 + } + ], + "data": [ [ 1, [ @@ -357,29 +165,101 @@ [ 0, [ - 0, + 1, [ - "55", - "56", - "57" + 0, + [ + 0, + [ + "1", + "2", + "3" + ] + ], + 1, + [ + 0, + [ + "4", + "5", + "6" + ] + ], + 2, + [ + 0, + [ + "7", + "8", + "9" + ] + ] ] ], 1, [ - 0, + 1, [ - "58", - "59", - "60" + 0, + [ + 0, + [ + "10", + "11", + "12" + ] + ], + 1, + [ + 0, + [ + "13", + "14", + "15" + ] + ], + 2, + [ + 0, + [ + "16", + "17", + "18" + ] + ] ] ], 2, [ - 0, + 1, [ - "61", - "62", - "63" + 0, + [ + 0, + [ + "19", + "20", + "21" + ] + ], + 1, + [ + 0, + [ + "22", + "23", + "24" + ] + ], + 2, + [ + 0, + [ + "25", + "26", + "27" + ] + ] ] ] ] @@ -390,29 +270,101 @@ [ 0, [ - 0, + 1, [ - "64", - "65", - "66" + 0, + [ + 0, + [ + "28", + "29", + "30" + ] + ], + 1, + [ + 0, + [ + "31", + "32", + "33" + ] + ], + 2, + [ + 0, + [ + "34", + "35", + "36" + ] + ] ] ], 1, [ - 0, + 1, [ - "67", - "68", - "69" + 0, + [ + 0, + [ + "37", + "38", + "39" + ] + ], + 1, + [ + 0, + [ + "40", + "41", + "42" + ] + ], + 2, + [ + 0, + [ + "43", + "44", + "45" + ] + ] ] ], 2, [ - 0, + 1, [ - "70", - "71", - "72" + 0, + [ + 0, + [ + "46", + "47", + "48" + ] + ], + 1, + [ + 0, + [ + "49", + "50", + "51" + ] + ], + 2, + [ + 0, + [ + "52", + "53", + "54" + ] + ] ] ] ] @@ -423,29 +375,101 @@ [ 0, [ - 0, + 1, [ - "73", - "74", - "75" + 0, + [ + 0, + [ + "55", + "56", + "57" + ] + ], + 1, + [ + 0, + [ + "58", + "59", + "60" + ] + ], + 2, + [ + 0, + [ + "61", + "62", + "63" + ] + ] ] ], 1, [ - 0, + 1, [ - "76", - "77", - "78" + 0, + [ + 0, + [ + "64", + "65", + "66" + ] + ], + 1, + [ + 0, + [ + "67", + "68", + "69" + ] + ], + 2, + [ + 0, + [ + "70", + "71", + "72" + ] + ] ] ], 2, [ - 0, + 1, [ - "79", - "80", - "81" + 0, + [ + 0, + [ + "73", + "74", + "75" + ] + ], + 1, + [ + 0, + [ + "76", + "77", + "78" + ] + ], + 2, + [ + 0, + [ + "79", + "80", + "81" + ] + ] ] ] ] @@ -453,421 +477,229 @@ ] ] ] - ] - ] + } + } } - } - } - }, - { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "test trees.Recursive Map": { - "map": { - "kind": "Optional", + }, + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "root": { + "kind": "Value", "types": [ "test trees.Recursive Map", "test trees.String Array" ] } }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "old": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] - } - }, - "old": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "test trees.Recursive Map": { - "map": { + }, + "root": { "kind": "Optional", "types": [ "test trees.Recursive Map", "test trees.String Array" ] } - }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } } - }, - "root": { - "kind": "Optional", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] } } - } + ], + "revision": 3, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 3, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } - }, - "test trees.Recursive Map": { - "kind": { - "map": { - "kind": "Optional", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] - } - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "test trees.String Array": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "test trees.Recursive Map": { + "kind": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + } + }, + "test trees.String Array": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [ - "FieldA", - "FieldB", - "FieldC" - ], - "shapes": [ - { - "c": { - "type": "test trees.String Array", - "value": false, - "fields": [ - [ - "", - 2 - ] - ] - } - }, - { - "c": { - "type": "test trees.Recursive Map", - "value": false, - "extraFields": 4 - } - }, - { - "a": 3 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - }, - { - "a": 5 - }, - { - "d": 0 - } - ], - "data": [ - [ - 1, - [ - 0, - [ - 1, - [ - 0, - [ - 1, - [ - 0, - [ - 0, - [ - "1", - "2", - "3" - ] - ], - 1, - [ - 0, - [ - "4", - "5", - "6" - ] - ], - 2, - [ - 0, - [ - "7", - "8", - "9" - ] - ] - ] - ], - 1, - [ - 1, - [ - 0, - [ - 0, - [ - "10", - "11", - "12" - ] - ], - 1, - [ - 0, - [ - "13", - "14", - "15" - ] - ], - 2, - [ - 0, - [ - "16", - "17", - "18" - ] - ] - ] - ], - 2, - [ - 1, - [ - 0, - [ - 0, - [ - "19", - "20", - "21" - ] - ], - 1, - [ - 0, - [ - "22", - "23", - "24" - ] - ], - 2, - [ - 0, - [ - "25", - "26", - "27" - ] - ] - ] - ] - ] - ], - 1, - [ - 1, - [ - 0, - [ - 1, - [ - 0, - [ - 0, - [ - "28", - "29", - "30" - ] - ], - 1, - [ - 0, - [ - "31", - "32", - "33" - ] - ], - 2, - [ - 0, - [ - "34", - "35", - "36" - ] - ] - ] - ], - 1, - [ - 1, - [ - 0, - [ - 0, - [ - "37", - "38", - "39" - ] - ], - 1, - [ - 0, - [ - "40", - "41", - "42" - ] - ], - 2, - [ - 0, - [ - "43", - "44", - "45" - ] - ] - ] - ], - 2, - [ - 1, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [ + "FieldA", + "FieldB", + "FieldC" + ], + "shapes": [ + { + "c": { + "type": "test trees.String Array", + "value": false, + "fields": [ [ - 0, - [ - 0, - [ - "46", - "47", - "48" - ] - ], - 1, - [ - 0, - [ - "49", - "50", - "51" - ] - ], - 2, - [ - 0, - [ - "52", - "53", - "54" - ] - ] + "", + 2 ] ] - ] - ], - 2, + } + }, + { + "c": { + "type": "test trees.Recursive Map", + "value": false, + "extraFields": 4 + } + }, + { + "a": 3 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + }, + { + "a": 5 + }, + { + "d": 0 + } + ], + "data": [ [ 1, [ @@ -877,29 +709,101 @@ [ 0, [ - 0, + 1, [ - "55", - "56", - "57" + 0, + [ + 0, + [ + "1", + "2", + "3" + ] + ], + 1, + [ + 0, + [ + "4", + "5", + "6" + ] + ], + 2, + [ + 0, + [ + "7", + "8", + "9" + ] + ] ] ], 1, [ - 0, + 1, [ - "58", - "59", - "60" + 0, + [ + 0, + [ + "10", + "11", + "12" + ] + ], + 1, + [ + 0, + [ + "13", + "14", + "15" + ] + ], + 2, + [ + 0, + [ + "16", + "17", + "18" + ] + ] ] ], 2, [ - 0, + 1, [ - "61", - "62", - "63" + 0, + [ + 0, + [ + "19", + "20", + "21" + ] + ], + 1, + [ + 0, + [ + "22", + "23", + "24" + ] + ], + 2, + [ + 0, + [ + "25", + "26", + "27" + ] + ] ] ] ] @@ -910,29 +814,101 @@ [ 0, [ - 0, + 1, [ - "64", - "65", - "66" + 0, + [ + 0, + [ + "28", + "29", + "30" + ] + ], + 1, + [ + 0, + [ + "31", + "32", + "33" + ] + ], + 2, + [ + 0, + [ + "34", + "35", + "36" + ] + ] ] ], 1, [ - 0, + 1, [ - "67", - "68", - "69" + 0, + [ + 0, + [ + "37", + "38", + "39" + ] + ], + 1, + [ + 0, + [ + "40", + "41", + "42" + ] + ], + 2, + [ + 0, + [ + "43", + "44", + "45" + ] + ] ] ], 2, [ - 0, + 1, [ - "70", - "71", - "72" + 0, + [ + 0, + [ + "46", + "47", + "48" + ] + ], + 1, + [ + 0, + [ + "49", + "50", + "51" + ] + ], + 2, + [ + 0, + [ + "52", + "53", + "54" + ] + ] ] ] ] @@ -943,29 +919,101 @@ [ 0, [ - 0, + 1, [ - "73", - "74", - "75" + 0, + [ + 0, + [ + "55", + "56", + "57" + ] + ], + 1, + [ + 0, + [ + "58", + "59", + "60" + ] + ], + 2, + [ + 0, + [ + "61", + "62", + "63" + ] + ] ] ], 1, [ - 0, + 1, [ - "76", - "77", - "78" + 0, + [ + 0, + [ + "64", + "65", + "66" + ] + ], + 1, + [ + 0, + [ + "67", + "68", + "69" + ] + ], + 2, + [ + 0, + [ + "70", + "71", + "72" + ] + ] ] ], 2, [ - 0, + 1, [ - "79", - "80", - "81" + 0, + [ + 0, + [ + "73", + "74", + "75" + ] + ], + 1, + [ + 0, + [ + "76", + "77", + "78" + ] + ], + 2, + [ + 0, + [ + "79", + "80", + "81" + ] + ] ] ] ] @@ -973,35 +1021,47 @@ ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 0 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 0 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/concurrent-inserts-tree2.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/concurrent-inserts-tree2.json index d211d6b5d519..26202593d400 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/concurrent-inserts-tree2.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/concurrent-inserts-tree2.json @@ -1,452 +1,512 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "y" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 0, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "y" + ] + ] + } + } } } - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 2 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 2 + } + }, + "cellId": 2 } - }, - "cellId": 2 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 2, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "x" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 2, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "x" + ] + ] + } + } } } - } - } - ], - "revision": 5, - "sequenceNumber": 6, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 5, + "sequenceNumber": 6, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 2, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 2, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - }, - { - "a": 2 - }, - { - "d": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - 0, - "a", - 0, - "c" + [ + [ + 0, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + }, + { + "a": 2 + }, + { + "d": 0 + } + ], + "data": [ + [ + 1, + [ + 0, + "a", + 0, + "c" + ] + ] + ] + } + } } } - } - } - ], - "revision": 6, - "sequenceNumber": 8, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 6, + "sequenceNumber": 8, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 4, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 4, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "insert": { - "id": 3 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "insert": { + "id": 3 + } + }, + "cellId": 3 } - }, - "cellId": 3 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "b" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 3, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "b" + ] + ] + } + } } } - } + ], + "revision": 7, + "sequenceNumber": 9, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 7, - "sequenceNumber": 9, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 1 + ] + ] + } + }, + { + "a": 2 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, [ - "", - 1 + "x", + "y", + "a", + "b", + "c" ] ] - } - }, - { - "a": 2 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - } - ], - "data": [ - [ - 0, - [ - "x", - "y", - "a", - "b", - "c" ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 5 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 5 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/concurrent-inserts-tree3.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/concurrent-inserts-tree3.json index 359900ea0599..fe83484610d3 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/concurrent-inserts-tree3.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/concurrent-inserts-tree3.json @@ -1,459 +1,519 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 4, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 4, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 3 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "insert": { + "id": 3 + } + }, + "cellId": 3 } - }, - "cellId": 3 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "b" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 3, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "b" + ] + ] + } + } } } - } - } - ], - "revision": 7, - "sequenceNumber": 9, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 7, + "sequenceNumber": 9, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 4 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 4 + } + }, + "cellId": 4 } - }, - "cellId": 4 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 4, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "z" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 4, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "z" + ] + ] + } + } } } - } - } - ], - "revision": 10, - "sequenceNumber": 11, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 10, + "sequenceNumber": 11, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 2, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 2, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - }, - { - "a": 2 - }, - { - "d": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - 0, - "d", - 0, - "e" + [ + [ + 0, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + }, + { + "a": 2 + }, + { + "d": 0 + } + ], + "data": [ + [ + 1, + [ + 0, + "d", + 0, + "e" + ] + ] + ] + } + } } } - } - } - ], - "revision": 11, - "sequenceNumber": 13, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 11, + "sequenceNumber": 13, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "insert": { - "id": 3 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "insert": { + "id": 3 + } + }, + "cellId": 3 } - }, - "cellId": 3 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "f" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 3, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "f" + ] + ] + } + } } } - } + ], + "revision": 12, + "sequenceNumber": 14, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 12, - "sequenceNumber": 14, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 1 + ] + ] + } + }, + { + "a": 2 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, [ - "", - 1 + "z", + "x", + "d", + "f", + "e", + "y", + "a", + "b", + "c" ] ] - } - }, - { - "a": 2 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - } - ], - "data": [ - [ - 0, - [ - "z", - "x", - "d", - "f", - "e", - "y", - "a", - "b", - "c" ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 9 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 9 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/empty-root-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/empty-root-final.json index 32d2c465e5fc..12caf4b6e3e6 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/empty-root-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/empty-root-final.json @@ -1,150 +1,210 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.number": { - "leaf": 0 + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.number": { + "leaf": 0 + } + }, + "root": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.number" + ] + } + }, + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] + } } - }, - "root": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.number" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 0, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0 + { + "data": { + "maxId": 0, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0 + } + } } - } + ] } - ] - } + } + ], + "revision": 2, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 2, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } - } - }, - "root": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.number" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" } }, - "encoding": "utf-8" - } + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + } + }, + "root": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.number" + ] + } + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [], - "data": [] - }, - "version": 1 + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [], + "data": [] + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": -1 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": -1 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/has-handle-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/has-handle-final.json index a1349e260f8a..d6a00835f38c 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/has-handle-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/has-handle-final.json @@ -1,217 +1,277 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 2, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 2, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "handleField", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + "fieldChanges": [ + { + "fieldKey": "handleField", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } + } } - } + ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.handle", - "value": true - } } ], - "data": [ - [ - 0, - { - "type": "__fluid_handle__", - "url": "/test/tree-0" - } - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 1, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.handle", + "value": true + } + } + ], + "data": [ + [ + 0, + { + "type": "__fluid_handle__", + "url": "/test/tree-0" + } + ] + ] + } + } } } - } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.handle": { - "kind": { - "leaf": 3 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "has-handle.HandleObject": { - "kind": { - "object": { - "handleField": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.handle" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.handle": { + "kind": { + "leaf": 3 + } + }, + "has-handle.HandleObject": { + "kind": { + "object": { + "handleField": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.handle" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "has-handle.HandleObject" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "has-handle.HandleObject" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "has-handle.HandleObject", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "has-handle.HandleObject", + "value": false, + "fields": [ + [ + "handleField", + 1 + ] + ] + } + }, + { + "a": 2 + }, + { + "c": { + "type": "com.fluidframework.leaf.handle", + "value": true + } + } + ], + "data": [ + [ + 0, [ - "handleField", - 1 + { + "type": "__fluid_handle__", + "url": "/test/tree-0" + } ] ] - } - }, - { - "a": 2 - }, - { - "c": { - "type": "com.fluidframework.leaf.handle", - "value": true - } - } - ], - "data": [ - [ - 0, - [ - { - "type": "__fluid_handle__", - "url": "/test/tree-0" - } ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 1 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 1 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/insert-and-remove-tree-0-after-insert.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/insert-and-remove-tree-0-after-insert.json index 318579c09be7..0495fd4b8fdb 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/insert-and-remove-tree-0-after-insert.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/insert-and-remove-tree-0-after-insert.json @@ -1,215 +1,275 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "42" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 0, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "42" + ] + ] + } + } } } - } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 1 + ] + ] + } + }, + { + "a": 2 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, [ - "", - 1 + "42" ] ] - } - }, - { - "a": 2 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - } - ], - "data": [ - [ - 0, - [ - "42" ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 1 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 1 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/insert-and-remove-tree-0-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/insert-and-remove-tree-0-final.json index 543feca92484..31bcf69ee555 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/insert-and-remove-tree-0-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/insert-and-remove-tree-0-final.json @@ -1,193 +1,253 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 2 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 2 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 5, + "sequenceNumber": 6, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 5, - "sequenceNumber": 6, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-2" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - }, - { - "c": { - "type": "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ - [ - "", - 2 - ] + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-2" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + }, + { + "c": { + "type": "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + 0 + ], + [ + 0, + "42" ] - } + ] }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - 0 - ], - [ - 0, - "42" - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 5, - 2, - 2 - ] - ], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ + [ + 5, + 2, + 2 + ] + ], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/insert-and-remove-tree-1-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/insert-and-remove-tree-1-final.json index 401062c3e1bf..d875e39771fa 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/insert-and-remove-tree-1-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/insert-and-remove-tree-1-final.json @@ -1,201 +1,261 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 2 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 2 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 5, + "sequenceNumber": 6, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 5, - "sequenceNumber": 6, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [ - [ - "8f95be09-8376-4ff7-8755-ccd7e8124b06", - { - "base": 5, - "commits": [] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [ + [ + "8f95be09-8376-4ff7-8755-ccd7e8124b06", + { + "base": 5, + "commits": [] + } + ] + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-2" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - }, - { - "c": { - "type": "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ - [ - "", - 2 - ] + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-2" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + }, + { + "c": { + "type": "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + 0 + ], + [ + 0, + "42" ] - } + ] }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - 0 - ], - [ - 0, - "42" - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 5, - 2, - 2 - ] - ], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ + [ + 5, + 2, + 2 + ] + ], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/move-across-fields-tree-0-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/move-across-fields-tree-0-final.json index a2616caf3203..93a15d9dc37b 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/move-across-fields-tree-0-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/move-across-fields-tree-0-final.json @@ -1,503 +1,563 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Optional", + "types": [ + "move-across-fields.Node" + ] } }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - } + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] } } - }, - "root": { - "kind": "Optional", - "types": [ - "move-across-fields.Node" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } + } } - } - } - ], - "builds": { - "builds": [ - [ - [ + ], + "builds": { + "builds": [ [ - 1, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ + [ [ - "", - 2 + 1, + 0 ] ] - } - }, - { - "c": { - "type": "move-across-fields.Node", - "value": false, - "fields": [ + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "c": { + "type": "move-across-fields.Node", + "value": false, + "fields": [ + [ + "foo", + 0 + ], + [ + "bar", + 0 + ] + ] + } + }, + { + "a": 3 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 1, [ - "foo", - 0 + "a", + "b", + "c" ], [ - "bar", - 0 + "d", + "e", + "f" ] ] - } - }, - { - "a": 3 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - } - ], - "data": [ - [ - 1, - [ - "a", - "b", - "c" - ], - [ - "d", - "e", - "f" ] - ] - ] - } - } - } - }, - { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } - }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - } } } - }, - "root": { - "kind": "Value", - "types": [ - "move-across-fields.Node" - ] } }, - "old": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Value", + "types": [ + "move-across-fields.Node" + ] } }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "old": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Optional", + "types": [ + "move-across-fields.Node" + ] } } - }, - "root": { - "kind": "Optional", - "types": [ - "move-across-fields.Node" - ] } } - } - } - ], - "revision": 3, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 3, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 7, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 7, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "foo", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "fieldChanges": [ + { + "fieldKey": "foo", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 2, - "effect": { - "moveOut": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 2, + "effect": { + "moveOut": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] - ] - }, - { - "fieldKey": "bar", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + ] + }, + { + "fieldKey": "bar", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 2, - "effect": { - "moveIn": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 2, + "effect": { + "moveIn": { + "id": 0 + } + }, + "cellId": 2 } - }, - "cellId": 2 + ] } ] } ] - } - ] + ] + } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 } - } - } - }, - "move-across-fields.Node": { - "kind": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "move-across-fields.Node": { + "kind": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "move-across-fields.Node" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "move-across-fields.Node" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ - [ - "", - 2 - ] - ] - } - }, - { - "c": { - "type": "move-across-fields.Node", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "c": { + "type": "move-across-fields.Node", + "value": false, + "fields": [ + [ + "foo", + 0 + ], + [ + "bar", + 0 + ] + ] + } + }, + { + "a": 3 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 1, [ - "foo", - 0 + "a" ], [ - "bar", - 0 + "d", + "b", + "c", + "e", + "f" ] ] - } - }, - { - "a": 3 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - } - ], - "data": [ - [ - 1, - [ - "a" - ], - [ - "d", - "b", - "c", - "e", - "f" ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/nested-sequence-change-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/nested-sequence-change-final.json index 835930030c01..bfe77edff290 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/nested-sequence-change-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/nested-sequence-change-final.json @@ -1,285 +1,345 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 0 - } - }, - "cellId": 0, - "changes": { - "fieldChanges": [ - { - "fieldKey": "foo", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 2, - "s": 3 - } + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 0 } + }, + "cellId": 0, + "changes": { + "fieldChanges": [ + { + "fieldKey": "foo", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 2, + "s": 3 + } + } + } + ] } - ] - } + } + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 - ], - [ - 3, - 1 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "test trees.Recursive Map", - "value": false, - "extraFields": 3 - } - }, - { - "c": { - "type": "test trees.Array<[\"test trees.Recursive Map\"]>", - "value": false, - "fields": [ - [ - "", - 2 - ] - ] - } - }, - { - "a": 0 - }, - { - "a": 1 } ], - "data": [ - [ - 0, - [] - ], - [ - 1, + "builds": { + "builds": [ [ [ - "bar", [ + 0, 0 + ], + [ + 3, + 1 ] ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "test trees.Recursive Map", + "value": false, + "extraFields": 3 + } + }, + { + "c": { + "type": "test trees.Array<[\"test trees.Recursive Map\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + }, + { + "a": 1 + } + ], + "data": [ + [ + 0, + [] + ], + [ + 1, + [ + [ + "bar", + [ + 0 + ] + ] + ] + ] + ] + } + } } } - } + ], + "revision": 6, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 6, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "test trees.Array<[\"test trees.Recursive Map\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "test trees.Recursive Map" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "test trees.Array<[\"test trees.Recursive Map\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "test trees.Recursive Map" + ] + } + } + } + }, + "test trees.Recursive Map": { + "kind": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Array<[\"test trees.Recursive Map\"]>" + ] + } } } + }, + "root": { + "kind": "Value", + "types": [ + "test trees.Array<[\"test trees.Recursive Map\"]>" + ] } }, - "test trees.Recursive Map": { - "kind": { - "map": { - "kind": "Optional", - "types": [ - "test trees.Array<[\"test trees.Recursive Map\"]>" - ] - } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "test trees.Array<[\"test trees.Recursive Map\"]>" - ] + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "test trees.Array<[\"test trees.Recursive Map\"]>", - "value": false, - "fields": [ - [ - "", - 1 - ] - ] - } - }, - { - "a": 2 - }, - { - "c": { - "type": "test trees.Recursive Map", - "value": false, - "extraFields": 3 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 0, - [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "test trees.Array<[\"test trees.Recursive Map\"]>", + "value": false, + "fields": [ + [ + "", + 1 + ] + ] + } + }, + { + "a": 2 + }, + { + "c": { + "type": "test trees.Recursive Map", + "value": false, + "extraFields": 3 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "foo", + 0, [ [ + "foo", [ - "bar", [ - 0 + [ + "bar", + [ + 0 + ] + ] ] ] ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/optional-field-scenarios-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/optional-field-scenarios-final.json index d098f1d77a9b..149ed98d9140 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/optional-field-scenarios-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/optional-field-scenarios-final.json @@ -1,550 +1,610 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 2, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 2, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "root 1 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + "fieldChanges": [ + { + "fieldKey": "root 1 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } + } } - } + ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } } ], - "data": [ - [ - 0, - 40 - ] - ] - } - } - } - } - ], - "revision": 515, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ - { - "data": { - "maxId": 4, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 3, - "s": 4 + "builds": { + "builds": [ + [ + [ + [ + 1, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + } + ], + "data": [ + [ + 0, + 40 + ] + ] } } } - ], - "builds": { - "builds": [ - [ - [ - [ - 4, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "optional-field-scenarios.Map", - "value": false, - "extraFields": 2 - } - }, + } + ], + "revision": 515, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, + { + "change": [ + { + "data": { + "maxId": 4, + "changes": [ { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 3, + "s": 4 + } } - }, - { - "a": 3 - }, - { - "d": 0 } ], - "data": [ - [ - 0, + "builds": { + "builds": [ [ - "root 2 child", [ - 1, - 41 + [ + 4, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "optional-field-scenarios.Map", + "value": false, + "extraFields": 2 + } + }, + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "a": 3 + }, + { + "d": 0 + } + ], + "data": [ + [ + 0, + [ + "root 2 child", + [ + 1, + 41 + ] + ] ] ] - ] - ] + } + } } } - } - } - ], - "revision": 516, - "sequenceNumber": 8, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + ], + "revision": 516, + "sequenceNumber": 8, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 7, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 3, - "s": 4 - }, - "c": [ - [ - [ - 3, - 516 - ], - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 7, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 3, + "s": 4 + }, + "c": [ + [ + [ + 3, + 516 + ], { - "fieldKey": "root 1 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 0, - "s": 1 + "fieldChanges": [ + { + "fieldKey": "root 1 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 0, + "s": 1 + } + } } - } + ] } - ] - } - ], - [ - 4, - { - "fieldChanges": [ + ], + [ + 4, { - "fieldKey": "root 3 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 5, - "s": 6 + "fieldChanges": [ + { + "fieldKey": "root 3 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 5, + "s": 6 + } + } } - } + ] } ] - } - ] - ] - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 - ], - [ - 4, - 1 - ], - [ - 6, - 2 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } - }, - { - "c": { - "type": "optional-field-scenarios.Map", - "value": false, - "extraFields": 2 + ] } - }, - { - "a": 3 - }, - { - "d": 0 } ], - "data": [ - [ - 0, - 42 - ], - [ - 1, - [] + "builds": { + "builds": [ + [ + [ + [ + 1, + 0 + ], + [ + 4, + 1 + ], + [ + 6, + 2 + ] + ] + ] ], - [ - 0, - 43 - ] - ] + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "c": { + "type": "optional-field-scenarios.Map", + "value": false, + "extraFields": 2 + } + }, + { + "a": 3 + }, + { + "d": 0 + } + ], + "data": [ + [ + 0, + 42 + ], + [ + 1, + [] + ], + [ + 0, + 43 + ] + ] + } + } } } - } - } - ], - "revision": 7, - "sequenceNumber": 10, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 7, + "sequenceNumber": 10, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 7, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "c": [ - [ - null, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 7, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "c": [ + [ + null, { - "fieldKey": "root 3 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 2, - "s": 3 + "fieldChanges": [ + { + "fieldKey": "root 3 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 2, + "s": 3 + } + } } - } + ] } ] - } - ] - ] - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true + ] } } ], - "data": [ - [ - 0, - 44 - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 3, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + } + ], + "data": [ + [ + 0, + 44 + ] + ] + } + } } } - } + ], + "revision": 8, + "sequenceNumber": 12, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 8, - "sequenceNumber": 12, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": 516, - "commits": [] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", + { + "base": 516, + "commits": [] + } + ] + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } - }, - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "optional-field-scenarios.Map": { - "kind": { - "map": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.number", - "com.fluidframework.leaf.string" - ] - } - } - } - }, - "root": { - "kind": "Optional", - "types": [ - "optional-field-scenarios.Map" - ] + "encoding": "utf-8" } }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "Forest": { - "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-6", - "repair-8", - "repair-10", - "repair-11" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } - }, - { - "c": { - "type": "optional-field-scenarios.Map", - "value": false, - "extraFields": 2 + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "optional-field-scenarios.Map": { + "kind": { + "map": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.number", + "com.fluidframework.leaf.string" + ] + } + } } }, - { - "a": 3 - }, - { - "d": 0 - } - ], - "data": [ - [ - 1, - [ - "root 3 child", - [ - 0, - 44 - ] + "root": { + "kind": "Optional", + "types": [ + "optional-field-scenarios.Map" ] + } + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-6", + "repair-8", + "repair-10", + "repair-11" ], - [ - 0, - 43 - ], - [ - 0, - 40 - ], - [ - 1, - [ - "root 1 child", + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "c": { + "type": "optional-field-scenarios.Map", + "value": false, + "extraFields": 2 + } + }, + { + "a": 3 + }, + { + "d": 0 + } + ], + "data": [ + [ + 1, + [ + "root 3 child", + [ + 0, + 44 + ] + ] + ], [ 0, - 42 - ] - ] - ], - [ - 1, - [ - "root 2 child", + 43 + ], [ 0, - 41 + 40 + ], + [ + 1, + [ + "root 1 child", + [ + 0, + 42 + ] + ] + ], + [ + 1, + [ + "root 2 child", + [ + 0, + 41 + ] + ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 7, - [ + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ [ - 0, - 8 + 7, + [ + [ + 0, + 8 + ], + [ + 3, + 11 + ] + ] ], [ + 8, + 2, + 6 + ], + [ + 516, 3, - 11 + 10 ] - ] - ], - [ - 8, - 2, - 6 - ], - [ - 516, - 3, - 10 - ] - ], - "maxId": 11 - }, - "encoding": "utf-8" - } + ], + "maxId": 11 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/tree-with-identifier-field-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/tree-with-identifier-field-final.json index 2ddd0720a5d0..b9cadfc5b8ec 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/tree-with-identifier-field-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_52/tree-with-identifier-field-final.json @@ -1,293 +1,353 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" - ] + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 } + }, + "root": { + "kind": "Optional", + "types": [ + "com.example.parent" + ] } }, - "com.fluidframework.leaf.string": { - "leaf": 1 + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] + } } - }, - "root": { - "kind": "Optional", - "types": [ - "com.example.parent" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } + } } - } - } - ], - "builds": { - "builds": [ - [ - [ + ], + "builds": { + "builds": [ [ - 1, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.example.parent", - "value": false, - "fields": [ + [ [ - "identifier", - 1 + 1, + 0 ] ] - } - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": 0 - } - } - ], - "data": [ - [ - 0, - 0 - ] - ] - } - } - } - }, - { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.example.parent", + "value": false, + "fields": [ + [ + "identifier", + 1 + ] + ] + } + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": 0 + } + } + ], + "data": [ + [ + 0, + 0 ] - } + ] } - }, - "com.fluidframework.leaf.string": { - "leaf": 1 } - }, - "root": { - "kind": "Value", - "types": [ - "com.example.parent" - ] } }, - "old": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" - ] + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 } + }, + "root": { + "kind": "Value", + "types": [ + "com.example.parent" + ] } }, - "com.fluidframework.leaf.string": { - "leaf": 1 + "old": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 + } + }, + "root": { + "kind": "Optional", + "types": [ + "com.example.parent" + ] + } } - }, - "root": { - "kind": "Optional", - "types": [ - "com.example.parent" - ] } } - } + ], + "revision": 4, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.example.parent": { - "kind": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.example.parent": { + "kind": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 } } + }, + "root": { + "kind": "Value", + "types": [ + "com.example.parent" + ] } }, - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } - } - }, - "root": { - "kind": "Value", - "types": [ - "com.example.parent" - ] + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.example.parent", - "value": false, - "fields": [ - [ - "identifier", - 1 - ] + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.example.parent", + "value": false, + "fields": [ + [ + "identifier", + 1 + ] + ] + } + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": 0 + } + } + ], + "data": [ + [ + 0, + 0 ] - } + ] }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": 0 - } - } - ], - "data": [ - [ - 0, - 0 - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 0 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 0 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/attachment-tree-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/attachment-tree-final.json index 7d219a113146..15ff4a984f4f 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/attachment-tree-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/attachment-tree-final.json @@ -1,143 +1,203 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [], - "branches": [], - "version": 4 + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [], + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 } } + }, + "root": { + "kind": "Value", + "types": [ + "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>" + ] } }, - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } - } - }, - "root": { - "kind": "Value", - "types": [ - "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 1 + ] + ] + } + }, + { + "a": 2 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, [ - "", - 1 + "a", + "b" ] ] - } - }, - { - "a": 2 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - } - ], - "data": [ - [ - 0, - [ - "a", - "b" ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/competing-removes-index-0.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/competing-removes-index-0.json index 59ec793b9d5b..4690645e1de4 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/competing-removes-index-0.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/competing-removes-index-0.json @@ -1,384 +1,444 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } - }, - { - "c": { - "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "c": { + "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, [ - "", - 2 + 1, + 2, + 3 ] + ], + [ + 0, + 0 ] - } + ] }, - { - "a": 0 - } - ], - "data": [ - [ - 1, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ [ - 1, - 2, + 1029, + 0, 3 ] ], - [ - 0, - 0 - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { - "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 - }, - "encoding": "utf-8" - } + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/competing-removes-index-1.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/competing-removes-index-1.json index 2ac31f08de30..f0b2f79ad6e8 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/competing-removes-index-1.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/competing-removes-index-1.json @@ -1,399 +1,459 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } - }, - { - "c": { - "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "c": { + "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, [ - "", - 2 + 0, + 2, + 3 ] + ], + [ + 0, + 1 ] - } + ] }, - { - "a": 0 - } - ], - "data": [ - [ - 1, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ [ + 1029, 0, - 2, 3 ] ], - [ - 0, - 1 - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { - "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 - }, - "encoding": "utf-8" - } + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/competing-removes-index-2.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/competing-removes-index-2.json index 29c86a5adcef..5081eae6d374 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/competing-removes-index-2.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/competing-removes-index-2.json @@ -1,399 +1,459 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } - }, - { - "c": { - "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "c": { + "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, [ - "", - 2 + 0, + 1, + 3 ] + ], + [ + 0, + 2 ] - } + ] }, - { - "a": 0 - } - ], - "data": [ - [ - 1, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ [ + 1029, 0, - 1, 3 ] ], - [ - 0, - 2 - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { - "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 - }, - "encoding": "utf-8" - } + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/competing-removes-index-3.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/competing-removes-index-3.json index 49fc75856e92..00a880aa207c 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/competing-removes-index-3.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/competing-removes-index-3.json @@ -1,399 +1,459 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } - }, - { - "c": { - "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "c": { + "type": "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, [ - "", + 0, + 1, 2 ] + ], + [ + 0, + 3 ] - } + ] }, - { - "a": 0 - } - ], - "data": [ - [ - 1, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ [ + 1029, 0, - 1, - 2 + 3 ] ], - [ - 0, - 3 - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { - "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 - }, - "encoding": "utf-8" - } + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/complete-3x3-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/complete-3x3-final.json index b3d4c44e3325..dea80962879b 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/complete-3x3-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/complete-3x3-final.json @@ -1,32 +1,73 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "test trees.Recursive Map": { - "map": { + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "root": { "kind": "Optional", "types": [ "test trees.Recursive Map", @@ -34,320 +75,87 @@ ] } }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] } } - }, - "root": { - "kind": "Optional", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 - } - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 - ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [ - "FieldA", - "FieldB", - "FieldC" - ], - "shapes": [ - { - "c": { - "type": "test trees.String Array", - "value": false, - "fields": [ - [ - "", - 2 - ] - ] - } - }, - { - "c": { - "type": "test trees.Recursive Map", - "value": false, - "extraFields": 4 - } - }, - { - "a": 3 - }, + { + "data": { + "maxId": 1, + "changes": [ { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } } - }, - { - "a": 5 - }, - { - "d": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - 0, [ - 1, [ - 0, - [ - 1, - [ - 0, - [ - 0, - [ - "1", - "2", - "3" - ] - ], - 1, - [ - 0, - [ - "4", - "5", - "6" - ] - ], - 2, - [ - 0, - [ - "7", - "8", - "9" - ] - ] - ] - ], 1, - [ - 1, - [ - 0, - [ - 0, - [ - "10", - "11", - "12" - ] - ], - 1, - [ - 0, - [ - "13", - "14", - "15" - ] - ], - 2, - [ - 0, - [ - "16", - "17", - "18" - ] - ] - ] - ], - 2, - [ - 1, - [ - 0, - [ - 0, - [ - "19", - "20", - "21" - ] - ], - 1, - [ - 0, - [ - "22", - "23", - "24" - ] - ], - 2, - [ - 0, - [ - "25", - "26", - "27" - ] - ] - ] - ] + 0 ] - ], - 1, - [ - 1, - [ - 0, - [ - 1, - [ - 0, - [ - 0, - [ - "28", - "29", - "30" - ] - ], - 1, - [ - 0, - [ - "31", - "32", - "33" - ] - ], - 2, - [ - 0, - [ - "34", - "35", - "36" - ] - ] - ] - ], - 1, - [ - 1, - [ - 0, - [ - 0, - [ - "37", - "38", - "39" - ] - ], - 1, - [ - 0, - [ - "40", - "41", - "42" - ] - ], - 2, - [ - 0, - [ - "43", - "44", - "45" - ] - ] - ] - ], - 2, - [ - 1, + ] + ] + ], + "trees": { + "version": 2, + "identifiers": [ + "FieldA", + "FieldB", + "FieldC" + ], + "shapes": [ + { + "c": { + "type": "test trees.String Array", + "value": false, + "fields": [ [ - 0, - [ - 0, - [ - "46", - "47", - "48" - ] - ], - 1, - [ - 0, - [ - "49", - "50", - "51" - ] - ], - 2, - [ - 0, - [ - "52", - "53", - "54" - ] - ] + "", + 2 ] ] - ] - ], - 2, + } + }, + { + "c": { + "type": "test trees.Recursive Map", + "value": false, + "extraFields": 4 + } + }, + { + "a": 3 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + }, + { + "a": 5 + }, + { + "d": 0 + } + ], + "data": [ [ 1, [ @@ -357,29 +165,101 @@ [ 0, [ - 0, + 1, [ - "55", - "56", - "57" + 0, + [ + 0, + [ + "1", + "2", + "3" + ] + ], + 1, + [ + 0, + [ + "4", + "5", + "6" + ] + ], + 2, + [ + 0, + [ + "7", + "8", + "9" + ] + ] ] ], 1, [ - 0, + 1, [ - "58", - "59", - "60" + 0, + [ + 0, + [ + "10", + "11", + "12" + ] + ], + 1, + [ + 0, + [ + "13", + "14", + "15" + ] + ], + 2, + [ + 0, + [ + "16", + "17", + "18" + ] + ] ] ], 2, [ - 0, + 1, [ - "61", - "62", - "63" + 0, + [ + 0, + [ + "19", + "20", + "21" + ] + ], + 1, + [ + 0, + [ + "22", + "23", + "24" + ] + ], + 2, + [ + 0, + [ + "25", + "26", + "27" + ] + ] ] ] ] @@ -390,29 +270,101 @@ [ 0, [ - 0, + 1, [ - "64", - "65", - "66" + 0, + [ + 0, + [ + "28", + "29", + "30" + ] + ], + 1, + [ + 0, + [ + "31", + "32", + "33" + ] + ], + 2, + [ + 0, + [ + "34", + "35", + "36" + ] + ] ] ], 1, [ - 0, + 1, [ - "67", - "68", - "69" + 0, + [ + 0, + [ + "37", + "38", + "39" + ] + ], + 1, + [ + 0, + [ + "40", + "41", + "42" + ] + ], + 2, + [ + 0, + [ + "43", + "44", + "45" + ] + ] ] ], 2, [ - 0, + 1, [ - "70", - "71", - "72" + 0, + [ + 0, + [ + "46", + "47", + "48" + ] + ], + 1, + [ + 0, + [ + "49", + "50", + "51" + ] + ], + 2, + [ + 0, + [ + "52", + "53", + "54" + ] + ] ] ] ] @@ -423,29 +375,101 @@ [ 0, [ - 0, + 1, [ - "73", - "74", - "75" + 0, + [ + 0, + [ + "55", + "56", + "57" + ] + ], + 1, + [ + 0, + [ + "58", + "59", + "60" + ] + ], + 2, + [ + 0, + [ + "61", + "62", + "63" + ] + ] ] ], 1, [ - 0, + 1, [ - "76", - "77", - "78" + 0, + [ + 0, + [ + "64", + "65", + "66" + ] + ], + 1, + [ + 0, + [ + "67", + "68", + "69" + ] + ], + 2, + [ + 0, + [ + "70", + "71", + "72" + ] + ] ] ], 2, [ - 0, + 1, [ - "79", - "80", - "81" + 0, + [ + 0, + [ + "73", + "74", + "75" + ] + ], + 1, + [ + 0, + [ + "76", + "77", + "78" + ] + ], + 2, + [ + 0, + [ + "79", + "80", + "81" + ] + ] ] ] ] @@ -453,421 +477,229 @@ ] ] ] - ] - ] + } + } } - } - } - }, - { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "test trees.Recursive Map": { - "map": { - "kind": "Optional", + }, + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "root": { + "kind": "Value", "types": [ "test trees.Recursive Map", "test trees.String Array" ] } }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "old": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] - } - }, - "old": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "test trees.Recursive Map": { - "map": { + }, + "root": { "kind": "Optional", "types": [ "test trees.Recursive Map", "test trees.String Array" ] } - }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } } - }, - "root": { - "kind": "Optional", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] } } - } + ], + "revision": 3, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 3, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } - }, - "test trees.Recursive Map": { - "kind": { - "map": { - "kind": "Optional", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] - } - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "test trees.String Array": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "test trees.Recursive Map": { + "kind": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + } + }, + "test trees.String Array": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 2, - "identifiers": [ - "FieldA", - "FieldB", - "FieldC" - ], - "shapes": [ - { - "c": { - "type": "test trees.String Array", - "value": false, - "fields": [ - [ - "", - 2 - ] - ] - } - }, - { - "c": { - "type": "test trees.Recursive Map", - "value": false, - "extraFields": 4 - } - }, - { - "a": 3 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - }, - { - "a": 5 - }, - { - "d": 0 - } - ], - "data": [ - [ - 1, - [ - 0, - [ - 1, - [ - 0, - [ - 1, - [ - 0, - [ - 0, - [ - "1", - "2", - "3" - ] - ], - 1, - [ - 0, - [ - "4", - "5", - "6" - ] - ], - 2, - [ - 0, - [ - "7", - "8", - "9" - ] - ] - ] - ], - 1, - [ - 1, - [ - 0, - [ - 0, - [ - "10", - "11", - "12" - ] - ], - 1, - [ - 0, - [ - "13", - "14", - "15" - ] - ], - 2, - [ - 0, - [ - "16", - "17", - "18" - ] - ] - ] - ], - 2, - [ - 1, - [ - 0, - [ - 0, - [ - "19", - "20", - "21" - ] - ], - 1, - [ - 0, - [ - "22", - "23", - "24" - ] - ], - 2, - [ - 0, - [ - "25", - "26", - "27" - ] - ] - ] - ] - ] - ], - 1, - [ - 1, - [ - 0, - [ - 1, - [ - 0, - [ - 0, - [ - "28", - "29", - "30" - ] - ], - 1, - [ - 0, - [ - "31", - "32", - "33" - ] - ], - 2, - [ - 0, - [ - "34", - "35", - "36" - ] - ] - ] - ], - 1, - [ - 1, - [ - 0, - [ - 0, - [ - "37", - "38", - "39" - ] - ], - 1, - [ - 0, - [ - "40", - "41", - "42" - ] - ], - 2, - [ - 0, - [ - "43", - "44", - "45" - ] - ] - ] - ], - 2, - [ - 1, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 2, + "identifiers": [ + "FieldA", + "FieldB", + "FieldC" + ], + "shapes": [ + { + "c": { + "type": "test trees.String Array", + "value": false, + "fields": [ [ - 0, - [ - 0, - [ - "46", - "47", - "48" - ] - ], - 1, - [ - 0, - [ - "49", - "50", - "51" - ] - ], - 2, - [ - 0, - [ - "52", - "53", - "54" - ] - ] + "", + 2 ] ] - ] - ], - 2, + } + }, + { + "c": { + "type": "test trees.Recursive Map", + "value": false, + "extraFields": 4 + } + }, + { + "a": 3 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + }, + { + "a": 5 + }, + { + "d": 0 + } + ], + "data": [ [ 1, [ @@ -877,29 +709,101 @@ [ 0, [ - 0, + 1, [ - "55", - "56", - "57" + 0, + [ + 0, + [ + "1", + "2", + "3" + ] + ], + 1, + [ + 0, + [ + "4", + "5", + "6" + ] + ], + 2, + [ + 0, + [ + "7", + "8", + "9" + ] + ] ] ], 1, [ - 0, + 1, [ - "58", - "59", - "60" + 0, + [ + 0, + [ + "10", + "11", + "12" + ] + ], + 1, + [ + 0, + [ + "13", + "14", + "15" + ] + ], + 2, + [ + 0, + [ + "16", + "17", + "18" + ] + ] ] ], 2, [ - 0, + 1, [ - "61", - "62", - "63" + 0, + [ + 0, + [ + "19", + "20", + "21" + ] + ], + 1, + [ + 0, + [ + "22", + "23", + "24" + ] + ], + 2, + [ + 0, + [ + "25", + "26", + "27" + ] + ] ] ] ] @@ -910,29 +814,101 @@ [ 0, [ - 0, + 1, [ - "64", - "65", - "66" + 0, + [ + 0, + [ + "28", + "29", + "30" + ] + ], + 1, + [ + 0, + [ + "31", + "32", + "33" + ] + ], + 2, + [ + 0, + [ + "34", + "35", + "36" + ] + ] ] ], 1, [ - 0, + 1, [ - "67", - "68", - "69" + 0, + [ + 0, + [ + "37", + "38", + "39" + ] + ], + 1, + [ + 0, + [ + "40", + "41", + "42" + ] + ], + 2, + [ + 0, + [ + "43", + "44", + "45" + ] + ] ] ], 2, [ - 0, + 1, [ - "70", - "71", - "72" + 0, + [ + 0, + [ + "46", + "47", + "48" + ] + ], + 1, + [ + 0, + [ + "49", + "50", + "51" + ] + ], + 2, + [ + 0, + [ + "52", + "53", + "54" + ] + ] ] ] ] @@ -943,29 +919,101 @@ [ 0, [ - 0, + 1, [ - "73", - "74", - "75" + 0, + [ + 0, + [ + "55", + "56", + "57" + ] + ], + 1, + [ + 0, + [ + "58", + "59", + "60" + ] + ], + 2, + [ + 0, + [ + "61", + "62", + "63" + ] + ] ] ], 1, [ - 0, + 1, [ - "76", - "77", - "78" + 0, + [ + 0, + [ + "64", + "65", + "66" + ] + ], + 1, + [ + 0, + [ + "67", + "68", + "69" + ] + ], + 2, + [ + 0, + [ + "70", + "71", + "72" + ] + ] ] ], 2, [ - 0, + 1, [ - "79", - "80", - "81" + 0, + [ + 0, + [ + "73", + "74", + "75" + ] + ], + 1, + [ + 0, + [ + "76", + "77", + "78" + ] + ], + 2, + [ + 0, + [ + "79", + "80", + "81" + ] + ] ] ] ] @@ -973,35 +1021,47 @@ ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 0 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 0 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/concurrent-inserts-tree2.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/concurrent-inserts-tree2.json index 54470c6676db..7de43c196474 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/concurrent-inserts-tree2.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/concurrent-inserts-tree2.json @@ -1,452 +1,512 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "y" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 0, + 0 + ] + ] + ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "y" + ] + ] + } + } } } - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 2 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 2 + } + }, + "cellId": 2 } - }, - "cellId": 2 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 2, - 0 ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "x" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 2, + 0 + ] + ] + ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "x" + ] + ] + } + } } } - } - } - ], - "revision": 5, - "sequenceNumber": 6, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 5, + "sequenceNumber": 6, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 2, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 2, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - }, - { - "a": 2 - }, - { - "d": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - 0, - "a", - 0, - "c" + [ + [ + 0, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + }, + { + "a": 2 + }, + { + "d": 0 + } + ], + "data": [ + [ + 1, + [ + 0, + "a", + 0, + "c" + ] + ] + ] + } + } } } - } - } - ], - "revision": 6, - "sequenceNumber": 8, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 6, + "sequenceNumber": 8, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 4, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 4, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "insert": { - "id": 3 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "insert": { + "id": 3 + } + }, + "cellId": 3 } - }, - "cellId": 3 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "b" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 3, + 0 + ] + ] + ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "b" + ] + ] + } + } } } - } + ], + "revision": 7, + "sequenceNumber": 9, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 7, - "sequenceNumber": 9, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 1 + ] + ] + } + }, + { + "a": 2 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, [ - "", - 1 + "x", + "y", + "a", + "b", + "c" ] ] - } - }, - { - "a": 2 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - } - ], - "data": [ - [ - 0, - [ - "x", - "y", - "a", - "b", - "c" ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 5 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 5 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/concurrent-inserts-tree3.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/concurrent-inserts-tree3.json index c1e75716053a..dc986de24114 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/concurrent-inserts-tree3.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/concurrent-inserts-tree3.json @@ -1,459 +1,519 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 4, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 4, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 3 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "insert": { + "id": 3 + } + }, + "cellId": 3 } - }, - "cellId": 3 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "b" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 3, + 0 + ] + ] + ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "b" + ] + ] + } + } } } - } - } - ], - "revision": 7, - "sequenceNumber": 9, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 7, + "sequenceNumber": 9, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 4 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 4 + } + }, + "cellId": 4 } - }, - "cellId": 4 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 4, - 0 ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "z" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 4, + 0 + ] + ] + ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "z" + ] + ] + } + } } } - } - } - ], - "revision": 10, - "sequenceNumber": 11, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 10, + "sequenceNumber": 11, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 2, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 2, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - }, - { - "a": 2 - }, - { - "d": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - 0, - "d", - 0, - "e" + [ + [ + 0, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + }, + { + "a": 2 + }, + { + "d": 0 + } + ], + "data": [ + [ + 1, + [ + 0, + "d", + 0, + "e" + ] + ] + ] + } + } } } - } - } - ], - "revision": 11, - "sequenceNumber": 13, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 11, + "sequenceNumber": 13, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "insert": { - "id": 3 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "insert": { + "id": 3 + } + }, + "cellId": 3 } - }, - "cellId": 3 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "f" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 3, + 0 + ] + ] + ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "f" + ] + ] + } + } } } - } + ], + "revision": 12, + "sequenceNumber": 14, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 12, - "sequenceNumber": 14, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 1 + ] + ] + } + }, + { + "a": 2 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, [ - "", - 1 + "z", + "x", + "d", + "f", + "e", + "y", + "a", + "b", + "c" ] ] - } - }, - { - "a": 2 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - } - ], - "data": [ - [ - 0, - [ - "z", - "x", - "d", - "f", - "e", - "y", - "a", - "b", - "c" ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 9 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 9 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/empty-root-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/empty-root-final.json index e5fe7bc27463..46235665f2fb 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/empty-root-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/empty-root-final.json @@ -1,150 +1,210 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.number": { - "leaf": 0 + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.number": { + "leaf": 0 + } + }, + "root": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.number" + ] + } + }, + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] + } } - }, - "root": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.number" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 0, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0 + { + "data": { + "maxId": 0, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0 + } + } } - } + ] } - ] - } + } + ], + "revision": 2, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 2, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } - } - }, - "root": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.number" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" } }, - "encoding": "utf-8" - } + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + } + }, + "root": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.number" + ] + } + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [], - "data": [] - }, - "version": 1 + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [], + "data": [] + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": -1 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": -1 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/has-handle-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/has-handle-final.json index 72162c0de149..a965c9d46848 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/has-handle-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/has-handle-final.json @@ -1,217 +1,277 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 2, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 2, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "handleField", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + "fieldChanges": [ + { + "fieldKey": "handleField", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } + } } - } + ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.handle", - "value": true - } } ], - "data": [ - [ - 0, - { - "type": "__fluid_handle__", - "url": "/test/tree-0" - } - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 1, + 0 + ] + ] + ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.handle", + "value": true + } + } + ], + "data": [ + [ + 0, + { + "type": "__fluid_handle__", + "url": "/test/tree-0" + } + ] + ] + } + } } } - } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.handle": { - "kind": { - "leaf": 3 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "has-handle.HandleObject": { - "kind": { - "object": { - "handleField": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.handle" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.handle": { + "kind": { + "leaf": 3 + } + }, + "has-handle.HandleObject": { + "kind": { + "object": { + "handleField": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.handle" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "has-handle.HandleObject" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "has-handle.HandleObject" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "has-handle.HandleObject", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "has-handle.HandleObject", + "value": false, + "fields": [ + [ + "handleField", + 1 + ] + ] + } + }, + { + "a": 2 + }, + { + "c": { + "type": "com.fluidframework.leaf.handle", + "value": true + } + } + ], + "data": [ + [ + 0, [ - "handleField", - 1 + { + "type": "__fluid_handle__", + "url": "/test/tree-0" + } ] ] - } - }, - { - "a": 2 - }, - { - "c": { - "type": "com.fluidframework.leaf.handle", - "value": true - } - } - ], - "data": [ - [ - 0, - [ - { - "type": "__fluid_handle__", - "url": "/test/tree-0" - } ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 1 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 1 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/insert-and-remove-tree-0-after-insert.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/insert-and-remove-tree-0-after-insert.json index c4659bf5e2a4..f81035c72fe9 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/insert-and-remove-tree-0-after-insert.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/insert-and-remove-tree-0-after-insert.json @@ -1,215 +1,275 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } } ], - "data": [ - [ - 0, - "42" - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 0, + 0 + ] + ] + ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, + "42" + ] + ] + } + } } } - } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 1 + ] + ] + } + }, + { + "a": 2 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 0, [ - "", - 1 + "42" ] ] - } - }, - { - "a": 2 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - } - ], - "data": [ - [ - 0, - [ - "42" ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 1 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 1 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/insert-and-remove-tree-0-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/insert-and-remove-tree-0-final.json index 9f3f7910c776..cc814a3642b0 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/insert-and-remove-tree-0-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/insert-and-remove-tree-0-final.json @@ -1,193 +1,253 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 2 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 2 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 5, + "sequenceNumber": 6, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 5, - "sequenceNumber": 6, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-2" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - }, - { - "c": { - "type": "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ - [ - "", - 2 - ] + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-2" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + }, + { + "c": { + "type": "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + 0 + ], + [ + 0, + "42" ] - } + ] }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - 0 - ], - [ - 0, - "42" - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 5, - 2, - 2 - ] - ], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ + [ + 5, + 2, + 2 + ] + ], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/insert-and-remove-tree-1-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/insert-and-remove-tree-1-final.json index a5e522a89782..1b291c096950 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/insert-and-remove-tree-1-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/insert-and-remove-tree-1-final.json @@ -1,201 +1,261 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 2 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 2 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 5, + "sequenceNumber": 6, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 5, - "sequenceNumber": 6, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [ - [ - "8f95be09-8376-4ff7-8755-ccd7e8124b06", - { - "base": 5, - "commits": [] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [ + [ + "8f95be09-8376-4ff7-8755-ccd7e8124b06", + { + "base": 5, + "commits": [] + } + ] + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-2" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - }, - { - "c": { - "type": "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ - [ - "", - 2 - ] + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-2" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + }, + { + "c": { + "type": "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + 0 + ], + [ + 0, + "42" ] - } + ] }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - 0 - ], - [ - 0, - "42" - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 5, - 2, - 2 - ] - ], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ + [ + 5, + 2, + 2 + ] + ], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/move-across-fields-tree-0-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/move-across-fields-tree-0-final.json index 241bb324a3d2..4ae3018fcb8b 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/move-across-fields-tree-0-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/move-across-fields-tree-0-final.json @@ -1,503 +1,563 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Optional", + "types": [ + "move-across-fields.Node" + ] } }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - } + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] } } - }, - "root": { - "kind": "Optional", - "types": [ - "move-across-fields.Node" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } + } } - } - } - ], - "builds": { - "builds": [ - [ - [ + ], + "builds": { + "builds": [ [ - 1, - 0 - ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ + [ [ - "", - 2 + 1, + 0 ] ] - } - }, - { - "c": { - "type": "move-across-fields.Node", - "value": false, - "fields": [ + ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "c": { + "type": "move-across-fields.Node", + "value": false, + "fields": [ + [ + "foo", + 0 + ], + [ + "bar", + 0 + ] + ] + } + }, + { + "a": 3 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 1, [ - "foo", - 0 + "a", + "b", + "c" ], [ - "bar", - 0 + "d", + "e", + "f" ] ] - } - }, - { - "a": 3 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - } - ], - "data": [ - [ - 1, - [ - "a", - "b", - "c" - ], - [ - "d", - "e", - "f" ] - ] - ] - } - } - } - }, - { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } - }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - } } } - }, - "root": { - "kind": "Value", - "types": [ - "move-across-fields.Node" - ] } }, - "old": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Value", + "types": [ + "move-across-fields.Node" + ] } }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "old": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Optional", + "types": [ + "move-across-fields.Node" + ] } } - }, - "root": { - "kind": "Optional", - "types": [ - "move-across-fields.Node" - ] } } - } - } - ], - "revision": 3, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 3, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 7, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 7, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "foo", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "fieldChanges": [ + { + "fieldKey": "foo", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 2, - "effect": { - "moveOut": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 2, + "effect": { + "moveOut": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] - ] - }, - { - "fieldKey": "bar", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + ] + }, + { + "fieldKey": "bar", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 2, - "effect": { - "moveIn": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 2, + "effect": { + "moveIn": { + "id": 0 + } + }, + "cellId": 2 } - }, - "cellId": 2 + ] } ] } ] - } - ] + ] + } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 } - } - } - }, - "move-across-fields.Node": { - "kind": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "move-across-fields.Node": { + "kind": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "move-across-fields.Node" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "move-across-fields.Node" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", - "value": false, - "fields": [ - [ - "", - 2 - ] - ] - } - }, - { - "c": { - "type": "move-across-fields.Node", - "value": false, - "fields": [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "c": { + "type": "move-across-fields.Node", + "value": false, + "fields": [ + [ + "foo", + 0 + ], + [ + "bar", + 0 + ] + ] + } + }, + { + "a": 3 + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": true + } + } + ], + "data": [ + [ + 1, [ - "foo", - 0 + "a" ], [ - "bar", - 0 + "d", + "b", + "c", + "e", + "f" ] ] - } - }, - { - "a": 3 - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": true - } - } - ], - "data": [ - [ - 1, - [ - "a" - ], - [ - "d", - "b", - "c", - "e", - "f" ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/nested-sequence-change-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/nested-sequence-change-final.json index 29d969e96e9e..ef0e525b05fd 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/nested-sequence-change-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/nested-sequence-change-final.json @@ -1,285 +1,345 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 0 - } - }, - "cellId": 0, - "changes": { - "fieldChanges": [ - { - "fieldKey": "foo", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 2, - "s": 3 - } + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 0 } + }, + "cellId": 0, + "changes": { + "fieldChanges": [ + { + "fieldKey": "foo", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 2, + "s": 3 + } + } + } + ] } - ] - } + } + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 - ], - [ - 3, - 1 ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "test trees.Recursive Map", - "value": false, - "extraFields": 3 - } - }, - { - "c": { - "type": "test trees.Array<[\"test trees.Recursive Map\"]>", - "value": false, - "fields": [ - [ - "", - 2 - ] - ] - } - }, - { - "a": 0 - }, - { - "a": 1 } ], - "data": [ - [ - 0, - [] - ], - [ - 1, + "builds": { + "builds": [ [ [ - "bar", [ + 0, 0 + ], + [ + 3, + 1 ] ] ] - ] - ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "test trees.Recursive Map", + "value": false, + "extraFields": 3 + } + }, + { + "c": { + "type": "test trees.Array<[\"test trees.Recursive Map\"]>", + "value": false, + "fields": [ + [ + "", + 2 + ] + ] + } + }, + { + "a": 0 + }, + { + "a": 1 + } + ], + "data": [ + [ + 0, + [] + ], + [ + 1, + [ + [ + "bar", + [ + 0 + ] + ] + ] + ] + ] + } + } } } - } + ], + "revision": 6, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 6, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "test trees.Array<[\"test trees.Recursive Map\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "test trees.Recursive Map" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "test trees.Array<[\"test trees.Recursive Map\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "test trees.Recursive Map" + ] + } + } + } + }, + "test trees.Recursive Map": { + "kind": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Array<[\"test trees.Recursive Map\"]>" + ] + } } } + }, + "root": { + "kind": "Value", + "types": [ + "test trees.Array<[\"test trees.Recursive Map\"]>" + ] } }, - "test trees.Recursive Map": { - "kind": { - "map": { - "kind": "Optional", - "types": [ - "test trees.Array<[\"test trees.Recursive Map\"]>" - ] - } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "test trees.Array<[\"test trees.Recursive Map\"]>" - ] + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "test trees.Array<[\"test trees.Recursive Map\"]>", - "value": false, - "fields": [ - [ - "", - 1 - ] - ] - } - }, - { - "a": 2 - }, - { - "c": { - "type": "test trees.Recursive Map", - "value": false, - "extraFields": 3 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 0, - [ + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "test trees.Array<[\"test trees.Recursive Map\"]>", + "value": false, + "fields": [ + [ + "", + 1 + ] + ] + } + }, + { + "a": 2 + }, + { + "c": { + "type": "test trees.Recursive Map", + "value": false, + "extraFields": 3 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "foo", + 0, [ [ + "foo", [ - "bar", [ - 0 + [ + "bar", + [ + 0 + ] + ] ] ] ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/optional-field-scenarios-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/optional-field-scenarios-final.json index cc0014888277..0f6cdc7f90e0 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/optional-field-scenarios-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/optional-field-scenarios-final.json @@ -1,550 +1,610 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 2, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 2, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "root 1 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + "fieldChanges": [ + { + "fieldKey": "root 1 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } + } } - } + ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } } ], - "data": [ - [ - 0, - 40 - ] - ] - } - } - } - } - ], - "revision": 515, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ - { - "data": { - "maxId": 4, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 3, - "s": 4 + "builds": { + "builds": [ + [ + [ + [ + 1, + 0 + ] + ] + ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + } + ], + "data": [ + [ + 0, + 40 + ] + ] } } } - ], - "builds": { - "builds": [ - [ - [ - [ - 4, - 0 - ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "optional-field-scenarios.Map", - "value": false, - "extraFields": 2 - } - }, + } + ], + "revision": 515, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, + { + "change": [ + { + "data": { + "maxId": 4, + "changes": [ { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 3, + "s": 4 + } } - }, - { - "a": 3 - }, - { - "d": 0 } ], - "data": [ - [ - 0, + "builds": { + "builds": [ [ - "root 2 child", [ - 1, - 41 + [ + 4, + 0 + ] + ] + ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "optional-field-scenarios.Map", + "value": false, + "extraFields": 2 + } + }, + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "a": 3 + }, + { + "d": 0 + } + ], + "data": [ + [ + 0, + [ + "root 2 child", + [ + 1, + 41 + ] + ] ] ] - ] - ] + } + } } } - } - } - ], - "revision": 516, - "sequenceNumber": 8, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + ], + "revision": 516, + "sequenceNumber": 8, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 7, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 3, - "s": 4 - }, - "c": [ - [ - [ - 3, - 516 - ], - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 7, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 3, + "s": 4 + }, + "c": [ + [ + [ + 3, + 516 + ], { - "fieldKey": "root 1 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 0, - "s": 1 + "fieldChanges": [ + { + "fieldKey": "root 1 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 0, + "s": 1 + } + } } - } + ] } - ] - } - ], - [ - 4, - { - "fieldChanges": [ + ], + [ + 4, { - "fieldKey": "root 3 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 5, - "s": 6 + "fieldChanges": [ + { + "fieldKey": "root 3 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 5, + "s": 6 + } + } } - } + ] } ] - } - ] - ] - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 - ], - [ - 4, - 1 - ], - [ - 6, - 2 - ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } - }, - { - "c": { - "type": "optional-field-scenarios.Map", - "value": false, - "extraFields": 2 + ] } - }, - { - "a": 3 - }, - { - "d": 0 } ], - "data": [ - [ - 0, - 42 - ], - [ - 1, - [] + "builds": { + "builds": [ + [ + [ + [ + 1, + 0 + ], + [ + 4, + 1 + ], + [ + 6, + 2 + ] + ] + ] ], - [ - 0, - 43 - ] - ] + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "c": { + "type": "optional-field-scenarios.Map", + "value": false, + "extraFields": 2 + } + }, + { + "a": 3 + }, + { + "d": 0 + } + ], + "data": [ + [ + 0, + 42 + ], + [ + 1, + [] + ], + [ + 0, + 43 + ] + ] + } + } } } - } - } - ], - "revision": 7, - "sequenceNumber": 10, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 7, + "sequenceNumber": 10, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 7, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "c": [ - [ - null, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 7, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "c": [ + [ + null, { - "fieldKey": "root 3 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 2, - "s": 3 + "fieldChanges": [ + { + "fieldKey": "root 3 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 2, + "s": 3 + } + } } - } + ] } ] - } - ] - ] - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 - ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true + ] } } ], - "data": [ - [ - 0, - 44 - ] - ] + "builds": { + "builds": [ + [ + [ + [ + 3, + 0 + ] + ] + ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + } + ], + "data": [ + [ + 0, + 44 + ] + ] + } + } } } - } + ], + "revision": 8, + "sequenceNumber": 12, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 8, - "sequenceNumber": 12, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": 516, - "commits": [] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", + { + "base": 516, + "commits": [] + } + ] + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } - }, - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "optional-field-scenarios.Map": { - "kind": { - "map": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.number", - "com.fluidframework.leaf.string" - ] - } - } - } - }, - "root": { - "kind": "Optional", - "types": [ - "optional-field-scenarios.Map" - ] + "encoding": "utf-8" } }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "Forest": { - "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-6", - "repair-8", - "repair-10", - "repair-11" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.fluidframework.leaf.number", - "value": true - } - }, - { - "c": { - "type": "optional-field-scenarios.Map", - "value": false, - "extraFields": 2 + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "optional-field-scenarios.Map": { + "kind": { + "map": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.number", + "com.fluidframework.leaf.string" + ] + } + } } }, - { - "a": 3 - }, - { - "d": 0 - } - ], - "data": [ - [ - 1, - [ - "root 3 child", - [ - 0, - 44 - ] + "root": { + "kind": "Optional", + "types": [ + "optional-field-scenarios.Map" ] + } + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-6", + "repair-8", + "repair-10", + "repair-11" ], - [ - 0, - 43 - ], - [ - 0, - 40 - ], - [ - 1, - [ - "root 1 child", + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.fluidframework.leaf.number", + "value": true + } + }, + { + "c": { + "type": "optional-field-scenarios.Map", + "value": false, + "extraFields": 2 + } + }, + { + "a": 3 + }, + { + "d": 0 + } + ], + "data": [ + [ + 1, + [ + "root 3 child", + [ + 0, + 44 + ] + ] + ], [ 0, - 42 - ] - ] - ], - [ - 1, - [ - "root 2 child", + 43 + ], [ 0, - 41 + 40 + ], + [ + 1, + [ + "root 1 child", + [ + 0, + 42 + ] + ] + ], + [ + 1, + [ + "root 2 child", + [ + 0, + 41 + ] + ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 7, - [ + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ [ - 0, - 8 + 7, + [ + [ + 0, + 8 + ], + [ + 3, + 11 + ] + ] ], [ + 8, + 2, + 6 + ], + [ + 516, 3, - 11 + 10 ] - ] - ], - [ - 8, - 2, - 6 - ], - [ - 516, - 3, - 10 - ] - ], - "maxId": 11 - }, - "encoding": "utf-8" - } + ], + "maxId": 11 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/tree-with-identifier-field-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/tree-with-identifier-field-final.json index 33eb224cd328..a28dab7a2762 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/tree-with-identifier-field-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Compressed/v2_73/tree-with-identifier-field-final.json @@ -1,293 +1,353 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" - ] + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 } + }, + "root": { + "kind": "Optional", + "types": [ + "com.example.parent" + ] } }, - "com.fluidframework.leaf.string": { - "leaf": 1 + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] + } } - }, - "root": { - "kind": "Optional", - "types": [ - "com.example.parent" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } + } } - } - } - ], - "builds": { - "builds": [ - [ - [ + ], + "builds": { + "builds": [ [ - 1, - 0 - ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.example.parent", - "value": false, - "fields": [ + [ [ - "identifier", - 1 + 1, + 0 ] ] - } - }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": 0 - } - } - ], - "data": [ - [ - 0, - 0 - ] - ] - } - } - } - }, - { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" + ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.example.parent", + "value": false, + "fields": [ + [ + "identifier", + 1 + ] + ] + } + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": 0 + } + } + ], + "data": [ + [ + 0, + 0 ] - } + ] } - }, - "com.fluidframework.leaf.string": { - "leaf": 1 } - }, - "root": { - "kind": "Value", - "types": [ - "com.example.parent" - ] } }, - "old": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" - ] + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 } + }, + "root": { + "kind": "Value", + "types": [ + "com.example.parent" + ] } }, - "com.fluidframework.leaf.string": { - "leaf": 1 + "old": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 + } + }, + "root": { + "kind": "Optional", + "types": [ + "com.example.parent" + ] + } } - }, - "root": { - "kind": "Optional", - "types": [ - "com.example.parent" - ] } } - } + ], + "revision": 4, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.example.parent": { - "kind": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.example.parent": { + "kind": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 } } + }, + "root": { + "kind": "Value", + "types": [ + "com.example.parent" + ] } }, - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } - } - }, - "root": { - "kind": "Value", - "types": [ - "com.example.parent" - ] + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "type": "com.example.parent", - "value": false, - "fields": [ - [ - "identifier", - 1 - ] + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "type": "com.example.parent", + "value": false, + "fields": [ + [ + "identifier", + 1 + ] + ] + } + }, + { + "c": { + "type": "com.fluidframework.leaf.string", + "value": 0 + } + } + ], + "data": [ + [ + 0, + 0 ] - } + ] }, - { - "c": { - "type": "com.fluidframework.leaf.string", - "value": 0 - } - } - ], - "data": [ - [ - 0, - 0 - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 0 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 0 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/attachment-tree-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/attachment-tree-final.json index ab9a200b927a..c30b97a2cc88 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/attachment-tree-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/attachment-tree-final.json @@ -1,139 +1,199 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [], - "branches": [], - "version": 3 + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [], + "branches": [], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "com.fluidframework.leaf.string": { - "leaf": 1 - } - }, - "root": { - "kind": "Value", - "types": [ - "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "encoding": "utf-8" } }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "Forest": { - "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 } }, - { - "a": 0 + "root": { + "kind": "Value", + "types": [ + "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - ], - "data": [ - [ - 1, - [ - "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>", - false, + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, [ - "com.fluidframework.leaf.string", - true, - "a", - [], - "com.fluidframework.leaf.string", - true, - "b", - [] + "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "a", + [], + "com.fluidframework.leaf.string", + true, + "b", + [] + ] + ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/competing-removes-index-0.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/competing-removes-index-0.json index 55a52e733cd1..17e290b46733 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/competing-removes-index-0.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/competing-removes-index-0.json @@ -1,388 +1,448 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 3 - }, - "encoding": "utf-8" - } + ], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.number": { - "leaf": 0 + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] - } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + "encoding": "utf-8" } }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "Forest": { - "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.number": { + "leaf": 0 + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } }, - { - "a": 0 + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - ], - "data": [ - [ - 1, - [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - false, + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, + [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.number", + true, + 1, + [], + "com.fluidframework.leaf.number", + true, + 2, + [], + "com.fluidframework.leaf.number", + true, + 3, + [] + ] + ] + ] + ], + [ + 1, [ "com.fluidframework.leaf.number", true, - 1, - [], - "com.fluidframework.leaf.number", - true, - 2, - [], - "com.fluidframework.leaf.number", - true, - 3, + 0, [] ] ] ] - ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 0, - [] - ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ + [ + 1029, + 0, + 3 + ] + ], + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/competing-removes-index-1.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/competing-removes-index-1.json index fc835d3b4c87..c174fcbaa665 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/competing-removes-index-1.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/competing-removes-index-1.json @@ -1,403 +1,463 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 3 - }, - "encoding": "utf-8" - } + ], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.number": { - "leaf": 0 + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] - } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + "encoding": "utf-8" } }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "Forest": { - "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.number": { + "leaf": 0 + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } }, - { - "a": 0 + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - ], - "data": [ - [ - 1, - [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - false, + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, + [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.number", + true, + 0, + [], + "com.fluidframework.leaf.number", + true, + 2, + [], + "com.fluidframework.leaf.number", + true, + 3, + [] + ] + ] + ] + ], + [ + 1, [ "com.fluidframework.leaf.number", true, - 0, - [], - "com.fluidframework.leaf.number", - true, - 2, - [], - "com.fluidframework.leaf.number", - true, - 3, + 1, [] ] ] ] - ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 1, - [] - ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ + [ + 1029, + 0, + 3 + ] + ], + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/competing-removes-index-2.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/competing-removes-index-2.json index 767eac68c81d..b2df4e95d46c 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/competing-removes-index-2.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/competing-removes-index-2.json @@ -1,403 +1,463 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 3 - }, - "encoding": "utf-8" - } + ], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.number": { - "leaf": 0 + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] - } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + "encoding": "utf-8" } }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "Forest": { - "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.number": { + "leaf": 0 + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } }, - { - "a": 0 + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - ], - "data": [ - [ - 1, - [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - false, + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, + [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.number", + true, + 0, + [], + "com.fluidframework.leaf.number", + true, + 1, + [], + "com.fluidframework.leaf.number", + true, + 3, + [] + ] + ] + ] + ], + [ + 1, [ "com.fluidframework.leaf.number", true, - 0, - [], - "com.fluidframework.leaf.number", - true, - 1, - [], - "com.fluidframework.leaf.number", - true, - 3, + 2, [] ] ] ] - ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 2, - [] - ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ + [ + 1029, + 0, + 3 + ] + ], + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/competing-removes-index-3.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/competing-removes-index-3.json index 25b281f7596f..dd0dfe95877b 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/competing-removes-index-3.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/competing-removes-index-3.json @@ -1,403 +1,463 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 3 - }, - "encoding": "utf-8" - } + ], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.number": { - "leaf": 0 + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] - } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + "encoding": "utf-8" } }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "Forest": { - "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.number": { + "leaf": 0 + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } }, - { - "a": 0 + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - ], - "data": [ - [ - 1, - [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - false, + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, + [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.number", + true, + 0, + [], + "com.fluidframework.leaf.number", + true, + 1, + [], + "com.fluidframework.leaf.number", + true, + 2, + [] + ] + ] + ] + ], + [ + 1, [ "com.fluidframework.leaf.number", true, - 0, - [], - "com.fluidframework.leaf.number", - true, - 1, - [], - "com.fluidframework.leaf.number", - true, - 2, + 3, [] ] ] ] - ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 3, - [] - ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ + [ + 1029, + 0, + 3 + ] + ], + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/complete-3x3-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/complete-3x3-final.json index 0c9642525221..9bb11ad16ddf 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/complete-3x3-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/complete-3x3-final.json @@ -1,32 +1,73 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "test trees.Recursive Map": { - "map": { + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "root": { "kind": "Optional", "types": [ "test trees.Recursive Map", @@ -34,83 +75,59 @@ ] } }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] } } - }, - "root": { - "kind": "Optional", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 - } - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ + { + "data": { + "maxId": 1, + "changes": [ { - "c": { - "extraFields": 1 + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "test trees.Recursive Map", - false, [ - "FieldA", + [ + 1, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, [ "test trees.Recursive Map", false, @@ -122,293 +139,220 @@ [ "FieldA", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "1", - [], - "com.fluidframework.leaf.string", - true, - "2", - [], - "com.fluidframework.leaf.string", - true, - "3", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "4", - [], - "com.fluidframework.leaf.string", - true, - "5", - [], - "com.fluidframework.leaf.string", - true, - "6", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "1", + [], + "com.fluidframework.leaf.string", + true, + "2", + [], + "com.fluidframework.leaf.string", + true, + "3", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "7", - [], - "com.fluidframework.leaf.string", - true, - "8", - [], - "com.fluidframework.leaf.string", - true, - "9", - [] - ] - ] - ] - ] - ], - "FieldB", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "4", + [], + "com.fluidframework.leaf.string", + true, + "5", + [], + "com.fluidframework.leaf.string", + true, + "6", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "10", - [], - "com.fluidframework.leaf.string", - true, - "11", - [], - "com.fluidframework.leaf.string", - true, - "12", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "7", + [], + "com.fluidframework.leaf.string", + true, + "8", + [], + "com.fluidframework.leaf.string", + true, + "9", + [] + ] + ] ] ] ], "FieldB", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "13", - [], - "com.fluidframework.leaf.string", - true, - "14", - [], - "com.fluidframework.leaf.string", - true, - "15", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "16", - [], - "com.fluidframework.leaf.string", - true, - "17", - [], - "com.fluidframework.leaf.string", - true, - "18", - [] - ] - ] - ] - ] - ], - "FieldC", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "10", + [], + "com.fluidframework.leaf.string", + true, + "11", + [], + "com.fluidframework.leaf.string", + true, + "12", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "19", - [], - "com.fluidframework.leaf.string", - true, - "20", - [], - "com.fluidframework.leaf.string", - true, - "21", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "13", + [], + "com.fluidframework.leaf.string", + true, + "14", + [], + "com.fluidframework.leaf.string", + true, + "15", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "22", - [], - "com.fluidframework.leaf.string", - true, - "23", - [], - "com.fluidframework.leaf.string", - true, - "24", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "16", + [], + "com.fluidframework.leaf.string", + true, + "17", + [], + "com.fluidframework.leaf.string", + true, + "18", + [] + ] + ] ] ] ], "FieldC", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "25", - [], - "com.fluidframework.leaf.string", - true, - "26", - [], - "com.fluidframework.leaf.string", - true, - "27", - [] - ] - ] - ] - ] - ] - ] - ], - "FieldB", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "28", - [], - "com.fluidframework.leaf.string", - true, - "29", - [], - "com.fluidframework.leaf.string", - true, - "30", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "19", + [], + "com.fluidframework.leaf.string", + true, + "20", + [], + "com.fluidframework.leaf.string", + true, + "21", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "31", - [], - "com.fluidframework.leaf.string", - true, - "32", - [], - "com.fluidframework.leaf.string", - true, - "33", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "22", + [], + "com.fluidframework.leaf.string", + true, + "23", + [], + "com.fluidframework.leaf.string", + true, + "24", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "34", - [], - "com.fluidframework.leaf.string", - true, - "35", - [], - "com.fluidframework.leaf.string", - true, - "36", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "25", + [], + "com.fluidframework.leaf.string", + true, + "26", + [], + "com.fluidframework.leaf.string", + true, + "27", + [] + ] + ] ] ] ] @@ -421,293 +365,220 @@ [ "FieldA", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "37", - [], - "com.fluidframework.leaf.string", - true, - "38", - [], - "com.fluidframework.leaf.string", - true, - "39", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "40", - [], - "com.fluidframework.leaf.string", - true, - "41", - [], - "com.fluidframework.leaf.string", - true, - "42", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "28", + [], + "com.fluidframework.leaf.string", + true, + "29", + [], + "com.fluidframework.leaf.string", + true, + "30", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "43", - [], - "com.fluidframework.leaf.string", - true, - "44", - [], - "com.fluidframework.leaf.string", - true, - "45", - [] - ] - ] - ] - ] - ], - "FieldC", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "31", + [], + "com.fluidframework.leaf.string", + true, + "32", + [], + "com.fluidframework.leaf.string", + true, + "33", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "46", - [], - "com.fluidframework.leaf.string", - true, - "47", - [], - "com.fluidframework.leaf.string", - true, - "48", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "34", + [], + "com.fluidframework.leaf.string", + true, + "35", + [], + "com.fluidframework.leaf.string", + true, + "36", + [] + ] + ] ] ] ], "FieldB", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "49", - [], - "com.fluidframework.leaf.string", - true, - "50", - [], - "com.fluidframework.leaf.string", - true, - "51", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "52", - [], - "com.fluidframework.leaf.string", - true, - "53", - [], - "com.fluidframework.leaf.string", - true, - "54", - [] - ] - ] - ] - ] - ] - ] - ], - "FieldC", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "37", + [], + "com.fluidframework.leaf.string", + true, + "38", + [], + "com.fluidframework.leaf.string", + true, + "39", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "55", - [], - "com.fluidframework.leaf.string", - true, - "56", - [], - "com.fluidframework.leaf.string", - true, - "57", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "40", + [], + "com.fluidframework.leaf.string", + true, + "41", + [], + "com.fluidframework.leaf.string", + true, + "42", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "58", - [], - "com.fluidframework.leaf.string", - true, - "59", - [], - "com.fluidframework.leaf.string", - true, - "60", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "43", + [], + "com.fluidframework.leaf.string", + true, + "44", + [], + "com.fluidframework.leaf.string", + true, + "45", + [] + ] + ] ] ] ], "FieldC", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "61", - [], - "com.fluidframework.leaf.string", - true, - "62", - [], - "com.fluidframework.leaf.string", - true, - "63", - [] - ] - ] - ] - ] - ], - "FieldB", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "64", - [], - "com.fluidframework.leaf.string", - true, - "65", - [], - "com.fluidframework.leaf.string", - true, - "66", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "46", + [], + "com.fluidframework.leaf.string", + true, + "47", + [], + "com.fluidframework.leaf.string", + true, + "48", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "67", - [], - "com.fluidframework.leaf.string", - true, - "68", - [], - "com.fluidframework.leaf.string", - true, - "69", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "49", + [], + "com.fluidframework.leaf.string", + true, + "50", + [], + "com.fluidframework.leaf.string", + true, + "51", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "70", - [], - "com.fluidframework.leaf.string", - true, - "71", - [], - "com.fluidframework.leaf.string", - true, - "72", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "52", + [], + "com.fluidframework.leaf.string", + true, + "53", + [], + "com.fluidframework.leaf.string", + true, + "54", + [] + ] + ] ] ] ] @@ -720,67 +591,220 @@ [ "FieldA", [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "73", - [], - "com.fluidframework.leaf.string", - true, - "74", - [], - "com.fluidframework.leaf.string", - true, - "75", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "55", + [], + "com.fluidframework.leaf.string", + true, + "56", + [], + "com.fluidframework.leaf.string", + true, + "57", + [] + ] + ] + ], + "FieldB", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "58", + [], + "com.fluidframework.leaf.string", + true, + "59", + [], + "com.fluidframework.leaf.string", + true, + "60", + [] + ] + ] + ], + "FieldC", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "61", + [], + "com.fluidframework.leaf.string", + true, + "62", + [], + "com.fluidframework.leaf.string", + true, + "63", + [] + ] + ] ] ] ], "FieldB", [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "64", + [], + "com.fluidframework.leaf.string", + true, + "65", + [], + "com.fluidframework.leaf.string", + true, + "66", + [] + ] + ] + ], + "FieldB", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "67", + [], + "com.fluidframework.leaf.string", + true, + "68", + [], + "com.fluidframework.leaf.string", + true, + "69", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "76", - [], - "com.fluidframework.leaf.string", - true, - "77", - [], - "com.fluidframework.leaf.string", - true, - "78", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "70", + [], + "com.fluidframework.leaf.string", + true, + "71", + [], + "com.fluidframework.leaf.string", + true, + "72", + [] + ] + ] ] ] ], "FieldC", [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "79", - [], - "com.fluidframework.leaf.string", - true, - "80", - [], - "com.fluidframework.leaf.string", - true, - "81", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "73", + [], + "com.fluidframework.leaf.string", + true, + "74", + [], + "com.fluidframework.leaf.string", + true, + "75", + [] + ] + ] + ], + "FieldB", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "76", + [], + "com.fluidframework.leaf.string", + true, + "77", + [], + "com.fluidframework.leaf.string", + true, + "78", + [] + ] + ] + ], + "FieldC", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "79", + [], + "com.fluidframework.leaf.string", + true, + "80", + [], + "com.fluidframework.leaf.string", + true, + "81", + [] + ] + ] ] ] ] @@ -790,178 +814,195 @@ ] ] ] - ] - ] + } + } } - } - } - }, - { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "test trees.Recursive Map": { - "map": { - "kind": "Optional", + }, + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "root": { + "kind": "Value", "types": [ "test trees.Recursive Map", "test trees.String Array" ] } }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "old": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] - } - }, - "old": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "test trees.Recursive Map": { - "map": { + }, + "root": { "kind": "Optional", "types": [ "test trees.Recursive Map", "test trees.String Array" ] } - }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } } - }, - "root": { - "kind": "Optional", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] } } - } + ], + "revision": 3, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 3, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 3 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "test trees.Recursive Map": { - "map": { - "kind": "Optional", + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "root": { + "kind": "Value", "types": [ "test trees.Recursive Map", "test trees.String Array" ] } }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "test trees.Recursive Map", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "FieldA", + 1, [ "test trees.Recursive Map", false, @@ -973,293 +1014,220 @@ [ "FieldA", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "1", - [], - "com.fluidframework.leaf.string", - true, - "2", - [], - "com.fluidframework.leaf.string", - true, - "3", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "4", - [], - "com.fluidframework.leaf.string", - true, - "5", - [], - "com.fluidframework.leaf.string", - true, - "6", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "1", + [], + "com.fluidframework.leaf.string", + true, + "2", + [], + "com.fluidframework.leaf.string", + true, + "3", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "7", - [], - "com.fluidframework.leaf.string", - true, - "8", - [], - "com.fluidframework.leaf.string", - true, - "9", - [] - ] - ] - ] - ] - ], - "FieldB", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "4", + [], + "com.fluidframework.leaf.string", + true, + "5", + [], + "com.fluidframework.leaf.string", + true, + "6", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "10", - [], - "com.fluidframework.leaf.string", - true, - "11", - [], - "com.fluidframework.leaf.string", - true, - "12", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "7", + [], + "com.fluidframework.leaf.string", + true, + "8", + [], + "com.fluidframework.leaf.string", + true, + "9", + [] + ] + ] ] ] ], "FieldB", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "13", - [], - "com.fluidframework.leaf.string", - true, - "14", - [], - "com.fluidframework.leaf.string", - true, - "15", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "16", - [], - "com.fluidframework.leaf.string", - true, - "17", - [], - "com.fluidframework.leaf.string", - true, - "18", - [] - ] - ] - ] - ] - ], - "FieldC", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "10", + [], + "com.fluidframework.leaf.string", + true, + "11", + [], + "com.fluidframework.leaf.string", + true, + "12", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "19", - [], - "com.fluidframework.leaf.string", - true, - "20", - [], - "com.fluidframework.leaf.string", - true, - "21", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "13", + [], + "com.fluidframework.leaf.string", + true, + "14", + [], + "com.fluidframework.leaf.string", + true, + "15", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "22", - [], - "com.fluidframework.leaf.string", - true, - "23", - [], - "com.fluidframework.leaf.string", - true, - "24", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "16", + [], + "com.fluidframework.leaf.string", + true, + "17", + [], + "com.fluidframework.leaf.string", + true, + "18", + [] + ] + ] ] ] ], "FieldC", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "25", - [], - "com.fluidframework.leaf.string", - true, - "26", - [], - "com.fluidframework.leaf.string", - true, - "27", - [] - ] - ] - ] - ] - ] - ] - ], - "FieldB", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "28", - [], - "com.fluidframework.leaf.string", - true, - "29", - [], - "com.fluidframework.leaf.string", - true, - "30", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "19", + [], + "com.fluidframework.leaf.string", + true, + "20", + [], + "com.fluidframework.leaf.string", + true, + "21", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "31", - [], - "com.fluidframework.leaf.string", - true, - "32", - [], - "com.fluidframework.leaf.string", - true, - "33", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "22", + [], + "com.fluidframework.leaf.string", + true, + "23", + [], + "com.fluidframework.leaf.string", + true, + "24", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "34", - [], - "com.fluidframework.leaf.string", - true, - "35", - [], - "com.fluidframework.leaf.string", - true, - "36", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "25", + [], + "com.fluidframework.leaf.string", + true, + "26", + [], + "com.fluidframework.leaf.string", + true, + "27", + [] + ] + ] ] ] ] @@ -1272,293 +1240,220 @@ [ "FieldA", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "37", - [], - "com.fluidframework.leaf.string", - true, - "38", - [], - "com.fluidframework.leaf.string", - true, - "39", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "40", - [], - "com.fluidframework.leaf.string", - true, - "41", - [], - "com.fluidframework.leaf.string", - true, - "42", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "28", + [], + "com.fluidframework.leaf.string", + true, + "29", + [], + "com.fluidframework.leaf.string", + true, + "30", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "43", - [], - "com.fluidframework.leaf.string", - true, - "44", - [], - "com.fluidframework.leaf.string", - true, - "45", - [] - ] - ] - ] - ] - ], - "FieldC", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "31", + [], + "com.fluidframework.leaf.string", + true, + "32", + [], + "com.fluidframework.leaf.string", + true, + "33", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "46", - [], - "com.fluidframework.leaf.string", - true, - "47", - [], - "com.fluidframework.leaf.string", - true, - "48", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "34", + [], + "com.fluidframework.leaf.string", + true, + "35", + [], + "com.fluidframework.leaf.string", + true, + "36", + [] + ] + ] ] ] ], "FieldB", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "49", - [], - "com.fluidframework.leaf.string", - true, - "50", - [], - "com.fluidframework.leaf.string", - true, - "51", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "52", - [], - "com.fluidframework.leaf.string", - true, - "53", - [], - "com.fluidframework.leaf.string", - true, - "54", - [] - ] - ] - ] - ] - ] - ] - ], - "FieldC", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "37", + [], + "com.fluidframework.leaf.string", + true, + "38", + [], + "com.fluidframework.leaf.string", + true, + "39", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "55", - [], - "com.fluidframework.leaf.string", - true, - "56", - [], - "com.fluidframework.leaf.string", - true, - "57", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "40", + [], + "com.fluidframework.leaf.string", + true, + "41", + [], + "com.fluidframework.leaf.string", + true, + "42", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "58", - [], - "com.fluidframework.leaf.string", - true, - "59", - [], - "com.fluidframework.leaf.string", - true, - "60", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "43", + [], + "com.fluidframework.leaf.string", + true, + "44", + [], + "com.fluidframework.leaf.string", + true, + "45", + [] + ] + ] ] ] ], "FieldC", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "61", - [], - "com.fluidframework.leaf.string", - true, - "62", - [], - "com.fluidframework.leaf.string", - true, - "63", - [] - ] - ] - ] - ] - ], - "FieldB", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "64", - [], - "com.fluidframework.leaf.string", - true, - "65", - [], - "com.fluidframework.leaf.string", - true, - "66", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "46", + [], + "com.fluidframework.leaf.string", + true, + "47", + [], + "com.fluidframework.leaf.string", + true, + "48", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "67", - [], - "com.fluidframework.leaf.string", - true, - "68", - [], - "com.fluidframework.leaf.string", - true, - "69", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "49", + [], + "com.fluidframework.leaf.string", + true, + "50", + [], + "com.fluidframework.leaf.string", + true, + "51", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "70", - [], - "com.fluidframework.leaf.string", - true, - "71", - [], - "com.fluidframework.leaf.string", - true, - "72", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "52", + [], + "com.fluidframework.leaf.string", + true, + "53", + [], + "com.fluidframework.leaf.string", + true, + "54", + [] + ] + ] ] ] ] @@ -1571,67 +1466,220 @@ [ "FieldA", [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "55", + [], + "com.fluidframework.leaf.string", + true, + "56", + [], + "com.fluidframework.leaf.string", + true, + "57", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "73", - [], - "com.fluidframework.leaf.string", - true, - "74", - [], - "com.fluidframework.leaf.string", - true, - "75", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "58", + [], + "com.fluidframework.leaf.string", + true, + "59", + [], + "com.fluidframework.leaf.string", + true, + "60", + [] + ] + ] + ], + "FieldC", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "61", + [], + "com.fluidframework.leaf.string", + true, + "62", + [], + "com.fluidframework.leaf.string", + true, + "63", + [] + ] + ] ] ] ], "FieldB", [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "76", - [], - "com.fluidframework.leaf.string", - true, - "77", - [], - "com.fluidframework.leaf.string", - true, - "78", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "64", + [], + "com.fluidframework.leaf.string", + true, + "65", + [], + "com.fluidframework.leaf.string", + true, + "66", + [] + ] + ] + ], + "FieldB", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "67", + [], + "com.fluidframework.leaf.string", + true, + "68", + [], + "com.fluidframework.leaf.string", + true, + "69", + [] + ] + ] + ], + "FieldC", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "70", + [], + "com.fluidframework.leaf.string", + true, + "71", + [], + "com.fluidframework.leaf.string", + true, + "72", + [] + ] + ] ] ] ], "FieldC", [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "73", + [], + "com.fluidframework.leaf.string", + true, + "74", + [], + "com.fluidframework.leaf.string", + true, + "75", + [] + ] + ] + ], + "FieldB", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "76", + [], + "com.fluidframework.leaf.string", + true, + "77", + [], + "com.fluidframework.leaf.string", + true, + "78", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "79", - [], - "com.fluidframework.leaf.string", - true, - "80", - [], - "com.fluidframework.leaf.string", - true, - "81", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "79", + [], + "com.fluidframework.leaf.string", + true, + "80", + [], + "com.fluidframework.leaf.string", + true, + "81", + [] + ] + ] ] ] ] @@ -1641,35 +1689,47 @@ ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 0 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 0 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/concurrent-inserts-tree2.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/concurrent-inserts-tree2.json index e2f499def276..841afe07c0f5 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/concurrent-inserts-tree2.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/concurrent-inserts-tree2.json @@ -1,478 +1,538 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "y", - [] + [ + [ + 0, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "y", + [] + ] + ] + ] + } + } } } - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 2 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 2 + } + }, + "cellId": 2 } - }, - "cellId": 2 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 2, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "x", - [] + [ + [ + 2, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "x", + [] + ] + ] + ] + } + } } } - } - } - ], - "revision": 5, - "sequenceNumber": 6, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 5, + "sequenceNumber": 6, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 2, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 2, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "a", - [], - "com.fluidframework.leaf.string", - true, - "c", - [] + [ + [ + 0, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "a", + [], + "com.fluidframework.leaf.string", + true, + "c", + [] + ] + ] + ] + } + } } } - } - } - ], - "revision": 6, - "sequenceNumber": 8, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 6, + "sequenceNumber": 8, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 4, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 4, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "insert": { - "id": 3 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "insert": { + "id": 3 + } + }, + "cellId": 3 } - }, - "cellId": 3 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "b", - [] + [ + [ + 3, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "b", + [] + ] + ] + ] + } + } } } - } + ], + "revision": 7, + "sequenceNumber": 9, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 7, - "sequenceNumber": 9, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 3 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "encoding": "utf-8" } }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "Forest": { - "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } }, - { - "a": 0 + "root": { + "kind": "Value", + "types": [ + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - ], - "data": [ - [ - 1, - [ - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", - false, + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, [ - "com.fluidframework.leaf.string", - true, - "x", - [], - "com.fluidframework.leaf.string", - true, - "y", - [], - "com.fluidframework.leaf.string", - true, - "a", - [], - "com.fluidframework.leaf.string", - true, - "b", - [], - "com.fluidframework.leaf.string", - true, - "c", - [] + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "x", + [], + "com.fluidframework.leaf.string", + true, + "y", + [], + "com.fluidframework.leaf.string", + true, + "a", + [], + "com.fluidframework.leaf.string", + true, + "b", + [], + "com.fluidframework.leaf.string", + true, + "c", + [] + ] + ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 5 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 5 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/concurrent-inserts-tree3.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/concurrent-inserts-tree3.json index 975e44d7bf52..94e8f5ca575a 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/concurrent-inserts-tree3.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/concurrent-inserts-tree3.json @@ -1,497 +1,557 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 4, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 4, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 3 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "insert": { + "id": 3 + } + }, + "cellId": 3 } - }, - "cellId": 3 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "b", - [] + [ + [ + 3, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "b", + [] + ] + ] + ] + } + } } } - } - } - ], - "revision": 7, - "sequenceNumber": 9, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 7, + "sequenceNumber": 9, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 4 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 4 + } + }, + "cellId": 4 } - }, - "cellId": 4 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 4, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "z", - [] + [ + [ + 4, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "z", + [] + ] + ] + ] + } + } } } - } - } - ], - "revision": 10, - "sequenceNumber": 11, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 10, + "sequenceNumber": 11, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 2, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 2, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "d", - [], - "com.fluidframework.leaf.string", - true, - "e", - [] + [ + [ + 0, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "d", + [], + "com.fluidframework.leaf.string", + true, + "e", + [] + ] + ] + ] + } + } } } - } - } - ], - "revision": 11, - "sequenceNumber": 13, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 11, + "sequenceNumber": 13, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "insert": { - "id": 3 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "insert": { + "id": 3 + } + }, + "cellId": 3 } - }, - "cellId": 3 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "f", - [] + [ + [ + 3, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "f", + [] + ] + ] + ] + } + } } } - } + ], + "revision": 12, + "sequenceNumber": 14, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 12, - "sequenceNumber": 14, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 3 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "encoding": "utf-8" } }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "Forest": { - "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } }, - { - "a": 0 + "root": { + "kind": "Value", + "types": [ + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - ], - "data": [ - [ - 1, - [ - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", - false, + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, [ - "com.fluidframework.leaf.string", - true, - "z", - [], - "com.fluidframework.leaf.string", - true, - "x", - [], - "com.fluidframework.leaf.string", - true, - "d", - [], - "com.fluidframework.leaf.string", - true, - "f", - [], - "com.fluidframework.leaf.string", - true, - "e", - [], - "com.fluidframework.leaf.string", - true, - "y", - [], - "com.fluidframework.leaf.string", - true, - "a", - [], - "com.fluidframework.leaf.string", - true, - "b", - [], - "com.fluidframework.leaf.string", - true, - "c", - [] + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "z", + [], + "com.fluidframework.leaf.string", + true, + "x", + [], + "com.fluidframework.leaf.string", + true, + "d", + [], + "com.fluidframework.leaf.string", + true, + "f", + [], + "com.fluidframework.leaf.string", + true, + "e", + [], + "com.fluidframework.leaf.string", + true, + "y", + [], + "com.fluidframework.leaf.string", + true, + "a", + [], + "com.fluidframework.leaf.string", + true, + "b", + [], + "com.fluidframework.leaf.string", + true, + "c", + [] + ] + ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 9 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 9 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/empty-root-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/empty-root-final.json index e55a768504f1..00ca839a33d5 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/empty-root-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/empty-root-final.json @@ -1,157 +1,217 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.number": { - "leaf": 0 + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.number": { + "leaf": 0 + } + }, + "root": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.number" + ] + } + }, + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] + } } - }, - "root": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.number" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 0, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0 + { + "data": { + "maxId": 0, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0 + } + } } - } + ] } - ] - } + } + ], + "revision": 2, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 2, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 3 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.number": { - "leaf": 0 - } - }, - "root": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.number" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" } }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "Forest": { - "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.number": { + "leaf": 0 } }, - { - "a": 0 + "root": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.number" + ] } - ], - "data": [] - }, - "version": 1 + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [] + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": -1 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": -1 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/has-handle-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/has-handle-final.json index 9e283ecc3b49..3996f413f2c7 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/has-handle-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/has-handle-final.json @@ -1,217 +1,277 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 2, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 2, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "handleField", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + "fieldChanges": [ + { + "fieldKey": "handleField", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } + } } - } + ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.handle", - true, + [ + [ + 1, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ { - "type": "__fluid_handle__", - "url": "/test/tree-0" + "c": { + "extraFields": 1 + } }, - [] + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.handle", + true, + { + "type": "__fluid_handle__", + "url": "/test/tree-0" + }, + [] + ] + ] ] - ] - ] + } + } } } - } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 3 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.handle": { - "leaf": 3 + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "has-handle.HandleObject": { - "object": { - "handleField": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.handle" - ] - } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "has-handle.HandleObject" - ] + "encoding": "utf-8" } }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "Forest": { - "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.handle": { + "leaf": 3 + }, + "has-handle.HandleObject": { + "object": { + "handleField": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.handle" + ] + } + } } }, - { - "a": 0 + "root": { + "kind": "Value", + "types": [ + "has-handle.HandleObject" + ] } - ], - "data": [ - [ - 1, - [ - "has-handle.HandleObject", - false, + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "handleField", + 1, [ - "com.fluidframework.leaf.handle", - true, - { - "type": "__fluid_handle__", - "url": "/test/tree-0" - }, - [] + "has-handle.HandleObject", + false, + [ + "handleField", + [ + "com.fluidframework.leaf.handle", + true, + { + "type": "__fluid_handle__", + "url": "/test/tree-0" + }, + [] + ] + ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 1 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 1 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/insert-and-remove-tree-0-after-insert.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/insert-and-remove-tree-0-after-insert.json index ad09bf4c8267..f3219349bd6b 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/insert-and-remove-tree-0-after-insert.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/insert-and-remove-tree-0-after-insert.json @@ -1,215 +1,275 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "42", - [] + [ + [ + 0, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "42", + [] + ] + ] + ] + } + } } } - } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 3 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "encoding": "utf-8" } }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "Forest": { - "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } }, - { - "a": 0 + "root": { + "kind": "Value", + "types": [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - ], - "data": [ - [ - 1, - [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", - false, + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, [ - "com.fluidframework.leaf.string", - true, - "42", - [] + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "42", + [] + ] + ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 1 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 1 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/insert-and-remove-tree-0-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/insert-and-remove-tree-0-final.json index 6a93f6cc5fe9..112658abb261 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/insert-and-remove-tree-0-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/insert-and-remove-tree-0-final.json @@ -1,185 +1,245 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 2 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 2 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 5, + "sequenceNumber": 6, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 5, - "sequenceNumber": 6, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 3 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "encoding": "utf-8" } }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "Forest": { - "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-2" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", - false, - [] + "root": { + "kind": "Value", + "types": [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" ] + } + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-2" ], - [ - 1, - [ - "com.fluidframework.leaf.string", - true, - "42", - [] + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [] + ] + ], + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "42", + [] + ] + ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 5, - 2, - 2 - ] - ], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ + [ + 5, + 2, + 2 + ] + ], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/insert-and-remove-tree-1-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/insert-and-remove-tree-1-final.json index 3c64d06f658d..69244941024e 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/insert-and-remove-tree-1-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/insert-and-remove-tree-1-final.json @@ -1,193 +1,253 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 2 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 2 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 5, + "sequenceNumber": 6, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 5, - "sequenceNumber": 6, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [ - [ - "8f95be09-8376-4ff7-8755-ccd7e8124b06", - { - "base": 5, - "commits": [] - } - ] - ], - "version": 3 - }, - "encoding": "utf-8" - } + "branches": [ + [ + "8f95be09-8376-4ff7-8755-ccd7e8124b06", + { + "base": 5, + "commits": [] + } + ] + ], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "encoding": "utf-8" } }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "Forest": { - "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-2" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", - false, - [] + "root": { + "kind": "Value", + "types": [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" ] + } + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-2" ], - [ - 1, - [ - "com.fluidframework.leaf.string", - true, - "42", - [] + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [] + ] + ], + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "42", + [] + ] + ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 5, - 2, - 2 - ] - ], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ + [ + 5, + 2, + 2 + ] + ], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/move-across-fields-tree-0-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/move-across-fields-tree-0-final.json index 795b3d7eb6c8..2e798bce0852 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/move-across-fields-tree-0-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/move-across-fields-tree-0-final.json @@ -1,519 +1,579 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Optional", + "types": [ + "move-across-fields.Node" + ] } }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - } + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] } } - }, - "root": { - "kind": "Optional", - "types": [ - "move-across-fields.Node" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 - } - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ + { + "data": { + "maxId": 1, + "changes": [ { - "c": { - "extraFields": 1 + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "move-across-fields.Node", - false, [ - "foo", [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "a", - [], - "com.fluidframework.leaf.string", - true, - "b", - [], - "com.fluidframework.leaf.string", - true, - "c", - [] - ] - ] - ], - "bar", + 1, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + "move-across-fields.Node", false, [ - "", + "foo", [ - "com.fluidframework.leaf.string", - true, - "d", - [], - "com.fluidframework.leaf.string", - true, - "e", - [], - "com.fluidframework.leaf.string", - true, - "f", - [] + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "a", + [], + "com.fluidframework.leaf.string", + true, + "b", + [], + "com.fluidframework.leaf.string", + true, + "c", + [] + ] + ] + ], + "bar", + [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "d", + [], + "com.fluidframework.leaf.string", + true, + "e", + [], + "com.fluidframework.leaf.string", + true, + "f", + [] + ] + ] ] ] ] ] ] - ] - ] - } - } - } - }, - { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } - }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - } } } - }, - "root": { - "kind": "Value", - "types": [ - "move-across-fields.Node" - ] } }, - "old": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Value", + "types": [ + "move-across-fields.Node" + ] } }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "old": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Optional", + "types": [ + "move-across-fields.Node" + ] } } - }, - "root": { - "kind": "Optional", - "types": [ - "move-across-fields.Node" - ] } } - } - } - ], - "revision": 3, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 3, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 7, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 7, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "foo", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "fieldChanges": [ + { + "fieldKey": "foo", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 2, - "effect": { - "moveOut": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 2, + "effect": { + "moveOut": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] - ] - }, - { - "fieldKey": "bar", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + ] + }, + { + "fieldKey": "bar", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 2, - "effect": { - "moveIn": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 2, + "effect": { + "moveIn": { + "id": 0 + } + }, + "cellId": 2 } - }, - "cellId": 2 + ] } ] } ] - } - ] + ] + } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 3 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Value", + "types": [ + "move-across-fields.Node" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "move-across-fields.Node" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "move-across-fields.Node", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "foo", + 1, [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + "move-across-fields.Node", false, [ - "", + "foo", [ - "com.fluidframework.leaf.string", - true, - "a", - [] - ] - ] - ], - "bar", - [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", - false, - [ - "", + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "a", + [] + ] + ] + ], + "bar", [ - "com.fluidframework.leaf.string", - true, - "d", - [], - "com.fluidframework.leaf.string", - true, - "b", - [], - "com.fluidframework.leaf.string", - true, - "c", - [], - "com.fluidframework.leaf.string", - true, - "e", - [], - "com.fluidframework.leaf.string", - true, - "f", - [] + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "d", + [], + "com.fluidframework.leaf.string", + true, + "b", + [], + "com.fluidframework.leaf.string", + true, + "c", + [], + "com.fluidframework.leaf.string", + true, + "e", + [], + "com.fluidframework.leaf.string", + true, + "f", + [] + ] + ] ] ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/nested-sequence-change-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/nested-sequence-change-final.json index 1f411ccedd11..0e8b489e4cf3 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/nested-sequence-change-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/nested-sequence-change-final.json @@ -1,242 +1,290 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 0 - } - }, - "cellId": 0, - "changes": { - "fieldChanges": [ - { - "fieldKey": "foo", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 2, - "s": 3 - } + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 0 } + }, + "cellId": 0, + "changes": { + "fieldChanges": [ + { + "fieldKey": "foo", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 2, + "s": 3 + } + } + } + ] } - ] - } + } + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 - ], - [ - 3, - 1 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "test trees.Recursive Map", - false, - [] + [ + [ + 0, + 0 + ], + [ + 3, + 1 + ] + ] ] ], - [ - 1, - [ - "test trees.Array<[\"test trees.Recursive Map\"]>", - false, + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, [ "test trees.Recursive Map", false, + [] + ] + ], + [ + 1, + [ + "test trees.Array<[\"test trees.Recursive Map\"]>", + false, [ - "bar", + "", [ - "test trees.Array<[\"test trees.Recursive Map\"]>", + "test trees.Recursive Map", false, - [] + [ + "bar", + [ + "test trees.Array<[\"test trees.Recursive Map\"]>", + false, + [] + ] + ] ] ] ] ] ] - ] - ] + } + } } } - } + ], + "revision": 6, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 6, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 3 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "test trees.Array<[\"test trees.Recursive Map\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "test trees.Recursive Map" - ] - } - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "test trees.Recursive Map": { - "map": { - "kind": "Optional", + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "test trees.Array<[\"test trees.Recursive Map\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "test trees.Recursive Map" + ] + } + } + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Array<[\"test trees.Recursive Map\"]>" + ] + } + } + }, + "root": { + "kind": "Value", "types": [ "test trees.Array<[\"test trees.Recursive Map\"]>" ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "test trees.Array<[\"test trees.Recursive Map\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "test trees.Array<[\"test trees.Recursive Map\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, [ - "test trees.Recursive Map", + "test trees.Array<[\"test trees.Recursive Map\"]>", false, [ - "foo", + "", [ - "test trees.Array<[\"test trees.Recursive Map\"]>", + "test trees.Recursive Map", false, [ - "", + "foo", [ - "test trees.Recursive Map", + "test trees.Array<[\"test trees.Recursive Map\"]>", false, [ - "bar", + "", [ - "test trees.Array<[\"test trees.Recursive Map\"]>", + "test trees.Recursive Map", false, - [] + [ + "bar", + [ + "test trees.Array<[\"test trees.Recursive Map\"]>", + false, + [] + ] + ] ] ] ] @@ -246,35 +294,47 @@ ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/optional-field-scenarios-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/optional-field-scenarios-final.json index c407d5c264a9..1e5d2a409deb 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/optional-field-scenarios-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/optional-field-scenarios-final.json @@ -1,573 +1,633 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 2, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 2, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "root 1 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + "fieldChanges": [ + { + "fieldKey": "root 1 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } + } } - } + ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.number", - true, - 40, - [] + [ + [ + 1, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.number", + true, + 40, + [] + ] + ] ] - ] - ] - } - } - } - } - ], - "revision": 515, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ - { - "data": { - "maxId": 4, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 3, - "s": 4 } } } - ], - "builds": { - "builds": [ - [ - [ - [ - 4, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ + } + ], + "revision": 515, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, + { + "change": [ + { + "data": { + "maxId": 4, + "changes": [ { - "c": { - "extraFields": 1 + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 3, + "s": 4 + } } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "optional-field-scenarios.Map", - false, [ - "root 2 child", [ - "com.fluidframework.leaf.number", - true, - 41, - [] + 4, + 0 ] ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "optional-field-scenarios.Map", + false, + [ + "root 2 child", + [ + "com.fluidframework.leaf.number", + true, + 41, + [] + ] + ] + ] + ] + ] + } + } } } - } - } - ], - "revision": 516, - "sequenceNumber": 8, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + ], + "revision": 516, + "sequenceNumber": 8, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 7, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 3, - "s": 4 - }, - "c": [ - [ - [ - 3, - 516 - ], - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 7, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 3, + "s": 4 + }, + "c": [ + [ + [ + 3, + 516 + ], { - "fieldKey": "root 1 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 0, - "s": 1 + "fieldChanges": [ + { + "fieldKey": "root 1 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 0, + "s": 1 + } + } } - } + ] } - ] - } - ], - [ - 4, - { - "fieldChanges": [ + ], + [ + 4, { - "fieldKey": "root 3 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 5, - "s": 6 + "fieldChanges": [ + { + "fieldKey": "root 3 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 5, + "s": 6 + } + } } - } + ] } ] - } - ] - ] - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 - ], - [ - 4, - 1 - ], - [ - 6, - 2 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + ] } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.number", - true, - 42, - [] - ] - ], - [ - 1, - [ - "optional-field-scenarios.Map", - false, - [] + [ + [ + 1, + 0 + ], + [ + 4, + 1 + ], + [ + 6, + 2 + ] + ] ] ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 43, - [] + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.number", + true, + 42, + [] + ] + ], + [ + 1, + [ + "optional-field-scenarios.Map", + false, + [] + ] + ], + [ + 1, + [ + "com.fluidframework.leaf.number", + true, + 43, + [] + ] + ] ] - ] - ] + } + } } } - } - } - ], - "revision": 7, - "sequenceNumber": 10, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 7, + "sequenceNumber": 10, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 7, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "c": [ - [ - null, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 7, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "c": [ + [ + null, { - "fieldKey": "root 3 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 2, - "s": 3 + "fieldChanges": [ + { + "fieldKey": "root 3 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 2, + "s": 3 + } + } } - } + ] } ] - } - ] - ] - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + ] } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.number", - true, - 44, - [] + [ + [ + 3, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.number", + true, + 44, + [] + ] + ] + ] + } + } } } - } + ], + "revision": 8, + "sequenceNumber": 12, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 8, - "sequenceNumber": 12, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": 516, - "commits": [] - } - ] - ], - "version": 3 - }, - "encoding": "utf-8" - } + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", + { + "base": 516, + "commits": [] + } + ] + ], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.number": { - "leaf": 0 - }, - "com.fluidframework.leaf.string": { - "leaf": 1 + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "optional-field-scenarios.Map": { - "map": { + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.number": { + "leaf": 0 + }, + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "optional-field-scenarios.Map": { + "map": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.number", + "com.fluidframework.leaf.string" + ] + } + } + }, + "root": { "kind": "Optional", "types": [ - "com.fluidframework.leaf.number", - "com.fluidframework.leaf.string" + "optional-field-scenarios.Map" ] } - } - }, - "root": { - "kind": "Optional", - "types": [ - "optional-field-scenarios.Map" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-6", - "repair-8", - "repair-10", - "repair-11" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "optional-field-scenarios.Map", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-6", + "repair-8", + "repair-10", + "repair-11" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "root 3 child", + 1, [ - "com.fluidframework.leaf.number", - true, - 44, - [] + "optional-field-scenarios.Map", + false, + [ + "root 3 child", + [ + "com.fluidframework.leaf.number", + true, + 44, + [] + ] + ] ] - ] - ] - ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 43, - [] - ] - ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 40, - [] - ] - ], - [ - 1, - [ - "optional-field-scenarios.Map", - false, + ], [ - "root 1 child", + 1, [ "com.fluidframework.leaf.number", true, - 42, + 43, [] ] - ] - ] - ], - [ - 1, - [ - "optional-field-scenarios.Map", - false, + ], [ - "root 2 child", + 1, [ "com.fluidframework.leaf.number", true, - 41, + 40, [] ] + ], + [ + 1, + [ + "optional-field-scenarios.Map", + false, + [ + "root 1 child", + [ + "com.fluidframework.leaf.number", + true, + 42, + [] + ] + ] + ] + ], + [ + 1, + [ + "optional-field-scenarios.Map", + false, + [ + "root 2 child", + [ + "com.fluidframework.leaf.number", + true, + 41, + [] + ] + ] + ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 7, - [ + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ + [ + 7, + [ + [ + 0, + 8 + ], + [ + 3, + 11 + ] + ] + ], [ - 0, - 8 + 8, + 2, + 6 ], [ + 516, 3, - 11 + 10 ] - ] - ], - [ - 8, - 2, - 6 - ], - [ - 516, - 3, - 10 - ] - ], - "maxId": 11 - }, - "encoding": "utf-8" - } + ], + "maxId": 11 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/tree-with-identifier-field-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/tree-with-identifier-field-final.json index 05a2fdf7e831..ba0bcc03061f 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/tree-with-identifier-field-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_0/tree-with-identifier-field-final.json @@ -1,293 +1,353 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" - ] + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 } + }, + "root": { + "kind": "Optional", + "types": [ + "com.example.parent" + ] } }, - "com.fluidframework.leaf.string": { - "leaf": 1 - } - }, - "root": { - "kind": "Optional", - "types": [ - "com.example.parent" - ] - } - }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] } } } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ + }, + { + "data": { + "maxId": 1, + "changes": [ { - "c": { - "extraFields": 1 + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.example.parent", - false, [ - "identifier", [ - "com.fluidframework.leaf.string", - true, - "8f95be09-8376-4ff7-8755-ccd7e8124b06", - [] + 1, + 0 ] ] ] - ] - ] - } - } - } - }, - { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.example.parent", + false, + [ + "identifier", + [ + "com.fluidframework.leaf.string", + true, + "8f95be09-8376-4ff7-8755-ccd7e8124b06", + [] + ] + ] + ] ] - } + ] } - }, - "com.fluidframework.leaf.string": { - "leaf": 1 } - }, - "root": { - "kind": "Value", - "types": [ - "com.example.parent" - ] } }, - "old": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" - ] + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 } + }, + "root": { + "kind": "Value", + "types": [ + "com.example.parent" + ] } }, - "com.fluidframework.leaf.string": { - "leaf": 1 + "old": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 + } + }, + "root": { + "kind": "Optional", + "types": [ + "com.example.parent" + ] + } } - }, - "root": { - "kind": "Optional", - "types": [ - "com.example.parent" - ] } } - } + ], + "revision": 4, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 3 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 3 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "com.fluidframework.leaf.string": { - "leaf": 1 - } - }, - "root": { - "kind": "Value", - "types": [ - "com.example.parent" - ] + "encoding": "utf-8" } }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "Forest": { - "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 } }, - { - "a": 0 + "root": { + "kind": "Value", + "types": [ + "com.example.parent" + ] } - ], - "data": [ - [ - 1, - [ - "com.example.parent", - false, + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "identifier", + 1, [ - "com.fluidframework.leaf.string", - true, - "8f95be09-8376-4ff7-8755-ccd7e8124b06", - [] + "com.example.parent", + false, + [ + "identifier", + [ + "com.fluidframework.leaf.string", + true, + "8f95be09-8376-4ff7-8755-ccd7e8124b06", + [] + ] + ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 0 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 0 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/attachment-tree-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/attachment-tree-final.json index 12de4a9be4a3..7cfd8df61af4 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/attachment-tree-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/attachment-tree-final.json @@ -1,143 +1,203 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [], - "branches": [], - "version": 4 + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [], + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 } } + }, + "root": { + "kind": "Value", + "types": [ + "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>" + ] } }, - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } - } - }, - "root": { - "kind": "Value", - "types": [ - "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, [ - "com.fluidframework.leaf.string", - true, - "a", - [], - "com.fluidframework.leaf.string", - true, - "b", - [] + "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "a", + [], + "com.fluidframework.leaf.string", + true, + "b", + [] + ] + ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/competing-removes-index-0.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/competing-removes-index-0.json index a997f61131d8..9a7533992cd0 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/competing-removes-index-0.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/competing-removes-index-0.json @@ -1,392 +1,452 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, + [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.number", + true, + 1, + [], + "com.fluidframework.leaf.number", + true, + 2, + [], + "com.fluidframework.leaf.number", + true, + 3, + [] + ] + ] + ] + ], + [ + 1, [ "com.fluidframework.leaf.number", true, - 1, - [], - "com.fluidframework.leaf.number", - true, - 2, - [], - "com.fluidframework.leaf.number", - true, - 3, + 0, [] ] ] ] - ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 0, - [] - ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ + [ + 1029, + 0, + 3 + ] + ], + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/competing-removes-index-1.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/competing-removes-index-1.json index c53f6d03a5c9..c7fc62dfca79 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/competing-removes-index-1.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/competing-removes-index-1.json @@ -1,407 +1,467 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, + [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.number", + true, + 0, + [], + "com.fluidframework.leaf.number", + true, + 2, + [], + "com.fluidframework.leaf.number", + true, + 3, + [] + ] + ] + ] + ], + [ + 1, [ "com.fluidframework.leaf.number", true, - 0, - [], - "com.fluidframework.leaf.number", - true, - 2, - [], - "com.fluidframework.leaf.number", - true, - 3, + 1, [] ] ] ] - ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 1, - [] - ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ + [ + 1029, + 0, + 3 + ] + ], + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/competing-removes-index-2.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/competing-removes-index-2.json index 0c6701cc4444..2c447cdec595 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/competing-removes-index-2.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/competing-removes-index-2.json @@ -1,407 +1,467 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, + [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.number", + true, + 0, + [], + "com.fluidframework.leaf.number", + true, + 1, + [], + "com.fluidframework.leaf.number", + true, + 3, + [] + ] + ] + ] + ], + [ + 1, [ "com.fluidframework.leaf.number", true, - 0, - [], - "com.fluidframework.leaf.number", - true, - 1, - [], - "com.fluidframework.leaf.number", - true, - 3, + 2, [] ] ] ] - ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 2, - [] - ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ + [ + 1029, + 0, + 3 + ] + ], + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/competing-removes-index-3.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/competing-removes-index-3.json index 6d2070481806..8cbf0cbdfb3d 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/competing-removes-index-3.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/competing-removes-index-3.json @@ -1,407 +1,467 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, + [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.number", + true, + 0, + [], + "com.fluidframework.leaf.number", + true, + 1, + [], + "com.fluidframework.leaf.number", + true, + 2, + [] + ] + ] + ] + ], + [ + 1, [ "com.fluidframework.leaf.number", true, - 0, - [], - "com.fluidframework.leaf.number", - true, - 1, - [], - "com.fluidframework.leaf.number", - true, - 2, + 3, [] ] ] ] - ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 3, - [] - ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ + [ + 1029, + 0, + 3 + ] + ], + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/complete-3x3-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/complete-3x3-final.json index 2393da2840ca..5a59506d2883 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/complete-3x3-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/complete-3x3-final.json @@ -1,32 +1,73 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "test trees.Recursive Map": { - "map": { + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "root": { "kind": "Optional", "types": [ "test trees.Recursive Map", @@ -34,83 +75,59 @@ ] } }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] } } - }, - "root": { - "kind": "Optional", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 - } - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ + { + "data": { + "maxId": 1, + "changes": [ { - "c": { - "extraFields": 1 + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "test trees.Recursive Map", - false, [ - "FieldA", + [ + 1, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, [ "test trees.Recursive Map", false, @@ -122,293 +139,220 @@ [ "FieldA", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "1", - [], - "com.fluidframework.leaf.string", - true, - "2", - [], - "com.fluidframework.leaf.string", - true, - "3", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "4", - [], - "com.fluidframework.leaf.string", - true, - "5", - [], - "com.fluidframework.leaf.string", - true, - "6", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "1", + [], + "com.fluidframework.leaf.string", + true, + "2", + [], + "com.fluidframework.leaf.string", + true, + "3", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "7", - [], - "com.fluidframework.leaf.string", - true, - "8", - [], - "com.fluidframework.leaf.string", - true, - "9", - [] - ] - ] - ] - ] - ], - "FieldB", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "4", + [], + "com.fluidframework.leaf.string", + true, + "5", + [], + "com.fluidframework.leaf.string", + true, + "6", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "10", - [], - "com.fluidframework.leaf.string", - true, - "11", - [], - "com.fluidframework.leaf.string", - true, - "12", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "7", + [], + "com.fluidframework.leaf.string", + true, + "8", + [], + "com.fluidframework.leaf.string", + true, + "9", + [] + ] + ] ] ] ], "FieldB", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "13", - [], - "com.fluidframework.leaf.string", - true, - "14", - [], - "com.fluidframework.leaf.string", - true, - "15", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "16", - [], - "com.fluidframework.leaf.string", - true, - "17", - [], - "com.fluidframework.leaf.string", - true, - "18", - [] - ] - ] - ] - ] - ], - "FieldC", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "10", + [], + "com.fluidframework.leaf.string", + true, + "11", + [], + "com.fluidframework.leaf.string", + true, + "12", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "19", - [], - "com.fluidframework.leaf.string", - true, - "20", - [], - "com.fluidframework.leaf.string", - true, - "21", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "13", + [], + "com.fluidframework.leaf.string", + true, + "14", + [], + "com.fluidframework.leaf.string", + true, + "15", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "22", - [], - "com.fluidframework.leaf.string", - true, - "23", - [], - "com.fluidframework.leaf.string", - true, - "24", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "16", + [], + "com.fluidframework.leaf.string", + true, + "17", + [], + "com.fluidframework.leaf.string", + true, + "18", + [] + ] + ] ] ] ], "FieldC", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "25", - [], - "com.fluidframework.leaf.string", - true, - "26", - [], - "com.fluidframework.leaf.string", - true, - "27", - [] - ] - ] - ] - ] - ] - ] - ], - "FieldB", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "28", - [], - "com.fluidframework.leaf.string", - true, - "29", - [], - "com.fluidframework.leaf.string", - true, - "30", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "19", + [], + "com.fluidframework.leaf.string", + true, + "20", + [], + "com.fluidframework.leaf.string", + true, + "21", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "31", - [], - "com.fluidframework.leaf.string", - true, - "32", - [], - "com.fluidframework.leaf.string", - true, - "33", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "22", + [], + "com.fluidframework.leaf.string", + true, + "23", + [], + "com.fluidframework.leaf.string", + true, + "24", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "34", - [], - "com.fluidframework.leaf.string", - true, - "35", - [], - "com.fluidframework.leaf.string", - true, - "36", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "25", + [], + "com.fluidframework.leaf.string", + true, + "26", + [], + "com.fluidframework.leaf.string", + true, + "27", + [] + ] + ] ] ] ] @@ -421,293 +365,220 @@ [ "FieldA", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "37", - [], - "com.fluidframework.leaf.string", - true, - "38", - [], - "com.fluidframework.leaf.string", - true, - "39", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "40", - [], - "com.fluidframework.leaf.string", - true, - "41", - [], - "com.fluidframework.leaf.string", - true, - "42", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "28", + [], + "com.fluidframework.leaf.string", + true, + "29", + [], + "com.fluidframework.leaf.string", + true, + "30", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "43", - [], - "com.fluidframework.leaf.string", - true, - "44", - [], - "com.fluidframework.leaf.string", - true, - "45", - [] - ] - ] - ] - ] - ], - "FieldC", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "31", + [], + "com.fluidframework.leaf.string", + true, + "32", + [], + "com.fluidframework.leaf.string", + true, + "33", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "46", - [], - "com.fluidframework.leaf.string", - true, - "47", - [], - "com.fluidframework.leaf.string", - true, - "48", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "34", + [], + "com.fluidframework.leaf.string", + true, + "35", + [], + "com.fluidframework.leaf.string", + true, + "36", + [] + ] + ] ] ] ], "FieldB", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "49", - [], - "com.fluidframework.leaf.string", - true, - "50", - [], - "com.fluidframework.leaf.string", - true, - "51", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "52", - [], - "com.fluidframework.leaf.string", - true, - "53", - [], - "com.fluidframework.leaf.string", - true, - "54", - [] - ] - ] - ] - ] - ] - ] - ], - "FieldC", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "37", + [], + "com.fluidframework.leaf.string", + true, + "38", + [], + "com.fluidframework.leaf.string", + true, + "39", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "55", - [], - "com.fluidframework.leaf.string", - true, - "56", - [], - "com.fluidframework.leaf.string", - true, - "57", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "40", + [], + "com.fluidframework.leaf.string", + true, + "41", + [], + "com.fluidframework.leaf.string", + true, + "42", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "58", - [], - "com.fluidframework.leaf.string", - true, - "59", - [], - "com.fluidframework.leaf.string", - true, - "60", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "43", + [], + "com.fluidframework.leaf.string", + true, + "44", + [], + "com.fluidframework.leaf.string", + true, + "45", + [] + ] + ] ] ] ], "FieldC", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "61", - [], - "com.fluidframework.leaf.string", - true, - "62", - [], - "com.fluidframework.leaf.string", - true, - "63", - [] - ] - ] - ] - ] - ], - "FieldB", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "64", - [], - "com.fluidframework.leaf.string", - true, - "65", - [], - "com.fluidframework.leaf.string", - true, - "66", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "46", + [], + "com.fluidframework.leaf.string", + true, + "47", + [], + "com.fluidframework.leaf.string", + true, + "48", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "67", - [], - "com.fluidframework.leaf.string", - true, - "68", - [], - "com.fluidframework.leaf.string", - true, - "69", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "49", + [], + "com.fluidframework.leaf.string", + true, + "50", + [], + "com.fluidframework.leaf.string", + true, + "51", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "70", - [], - "com.fluidframework.leaf.string", - true, - "71", - [], - "com.fluidframework.leaf.string", - true, - "72", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "52", + [], + "com.fluidframework.leaf.string", + true, + "53", + [], + "com.fluidframework.leaf.string", + true, + "54", + [] + ] + ] ] ] ] @@ -720,67 +591,220 @@ [ "FieldA", [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "55", + [], + "com.fluidframework.leaf.string", + true, + "56", + [], + "com.fluidframework.leaf.string", + true, + "57", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "73", - [], - "com.fluidframework.leaf.string", - true, - "74", - [], - "com.fluidframework.leaf.string", - true, - "75", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "58", + [], + "com.fluidframework.leaf.string", + true, + "59", + [], + "com.fluidframework.leaf.string", + true, + "60", + [] + ] + ] + ], + "FieldC", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "61", + [], + "com.fluidframework.leaf.string", + true, + "62", + [], + "com.fluidframework.leaf.string", + true, + "63", + [] + ] + ] ] ] ], "FieldB", [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "64", + [], + "com.fluidframework.leaf.string", + true, + "65", + [], + "com.fluidframework.leaf.string", + true, + "66", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "76", - [], - "com.fluidframework.leaf.string", - true, - "77", - [], - "com.fluidframework.leaf.string", - true, - "78", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "67", + [], + "com.fluidframework.leaf.string", + true, + "68", + [], + "com.fluidframework.leaf.string", + true, + "69", + [] + ] + ] + ], + "FieldC", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "70", + [], + "com.fluidframework.leaf.string", + true, + "71", + [], + "com.fluidframework.leaf.string", + true, + "72", + [] + ] + ] ] ] ], "FieldC", [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "73", + [], + "com.fluidframework.leaf.string", + true, + "74", + [], + "com.fluidframework.leaf.string", + true, + "75", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "79", - [], - "com.fluidframework.leaf.string", - true, - "80", - [], - "com.fluidframework.leaf.string", - true, - "81", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "76", + [], + "com.fluidframework.leaf.string", + true, + "77", + [], + "com.fluidframework.leaf.string", + true, + "78", + [] + ] + ] + ], + "FieldC", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "79", + [], + "com.fluidframework.leaf.string", + true, + "80", + [], + "com.fluidframework.leaf.string", + true, + "81", + [] + ] + ] ] ] ] @@ -790,184 +814,201 @@ ] ] ] - ] - ] + } + } } - } - } - }, - { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "test trees.Recursive Map": { - "map": { - "kind": "Optional", + }, + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "root": { + "kind": "Value", "types": [ "test trees.Recursive Map", "test trees.String Array" ] } }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "old": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] - } - }, - "old": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "test trees.Recursive Map": { - "map": { + }, + "root": { "kind": "Optional", "types": [ "test trees.Recursive Map", "test trees.String Array" ] } - }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } } - }, - "root": { - "kind": "Optional", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] } } - } + ], + "revision": 3, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 3, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "test trees.Recursive Map": { - "kind": { - "map": { - "kind": "Optional", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] - } - } - }, - "test trees.String Array": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "test trees.Recursive Map": { + "kind": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + } + }, + "test trees.String Array": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "test trees.Recursive Map", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "FieldA", + 1, [ "test trees.Recursive Map", false, @@ -979,293 +1020,220 @@ [ "FieldA", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "1", - [], - "com.fluidframework.leaf.string", - true, - "2", - [], - "com.fluidframework.leaf.string", - true, - "3", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "4", - [], - "com.fluidframework.leaf.string", - true, - "5", - [], - "com.fluidframework.leaf.string", - true, - "6", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "1", + [], + "com.fluidframework.leaf.string", + true, + "2", + [], + "com.fluidframework.leaf.string", + true, + "3", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "7", - [], - "com.fluidframework.leaf.string", - true, - "8", - [], - "com.fluidframework.leaf.string", - true, - "9", - [] - ] - ] - ] - ] - ], - "FieldB", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "4", + [], + "com.fluidframework.leaf.string", + true, + "5", + [], + "com.fluidframework.leaf.string", + true, + "6", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "10", - [], - "com.fluidframework.leaf.string", - true, - "11", - [], - "com.fluidframework.leaf.string", - true, - "12", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "7", + [], + "com.fluidframework.leaf.string", + true, + "8", + [], + "com.fluidframework.leaf.string", + true, + "9", + [] + ] + ] ] ] ], "FieldB", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "13", - [], - "com.fluidframework.leaf.string", - true, - "14", - [], - "com.fluidframework.leaf.string", - true, - "15", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "16", - [], - "com.fluidframework.leaf.string", - true, - "17", - [], - "com.fluidframework.leaf.string", - true, - "18", - [] - ] - ] - ] - ] - ], - "FieldC", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "10", + [], + "com.fluidframework.leaf.string", + true, + "11", + [], + "com.fluidframework.leaf.string", + true, + "12", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "19", - [], - "com.fluidframework.leaf.string", - true, - "20", - [], - "com.fluidframework.leaf.string", - true, - "21", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "13", + [], + "com.fluidframework.leaf.string", + true, + "14", + [], + "com.fluidframework.leaf.string", + true, + "15", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "22", - [], - "com.fluidframework.leaf.string", - true, - "23", - [], - "com.fluidframework.leaf.string", - true, - "24", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "16", + [], + "com.fluidframework.leaf.string", + true, + "17", + [], + "com.fluidframework.leaf.string", + true, + "18", + [] + ] + ] ] ] ], "FieldC", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "25", - [], - "com.fluidframework.leaf.string", - true, - "26", - [], - "com.fluidframework.leaf.string", - true, - "27", - [] - ] - ] - ] - ] - ] - ] - ], - "FieldB", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "28", - [], - "com.fluidframework.leaf.string", - true, - "29", - [], - "com.fluidframework.leaf.string", - true, - "30", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "19", + [], + "com.fluidframework.leaf.string", + true, + "20", + [], + "com.fluidframework.leaf.string", + true, + "21", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "31", - [], - "com.fluidframework.leaf.string", - true, - "32", - [], - "com.fluidframework.leaf.string", - true, - "33", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "22", + [], + "com.fluidframework.leaf.string", + true, + "23", + [], + "com.fluidframework.leaf.string", + true, + "24", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "34", - [], - "com.fluidframework.leaf.string", - true, - "35", - [], - "com.fluidframework.leaf.string", - true, - "36", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "25", + [], + "com.fluidframework.leaf.string", + true, + "26", + [], + "com.fluidframework.leaf.string", + true, + "27", + [] + ] + ] ] ] ] @@ -1278,293 +1246,220 @@ [ "FieldA", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "37", - [], - "com.fluidframework.leaf.string", - true, - "38", - [], - "com.fluidframework.leaf.string", - true, - "39", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "40", - [], - "com.fluidframework.leaf.string", - true, - "41", - [], - "com.fluidframework.leaf.string", - true, - "42", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "28", + [], + "com.fluidframework.leaf.string", + true, + "29", + [], + "com.fluidframework.leaf.string", + true, + "30", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "43", - [], - "com.fluidframework.leaf.string", - true, - "44", - [], - "com.fluidframework.leaf.string", - true, - "45", - [] - ] - ] - ] - ] - ], - "FieldC", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "31", + [], + "com.fluidframework.leaf.string", + true, + "32", + [], + "com.fluidframework.leaf.string", + true, + "33", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "46", - [], - "com.fluidframework.leaf.string", - true, - "47", - [], - "com.fluidframework.leaf.string", - true, - "48", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "34", + [], + "com.fluidframework.leaf.string", + true, + "35", + [], + "com.fluidframework.leaf.string", + true, + "36", + [] + ] + ] ] ] ], "FieldB", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "49", - [], - "com.fluidframework.leaf.string", - true, - "50", - [], - "com.fluidframework.leaf.string", - true, - "51", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "52", - [], - "com.fluidframework.leaf.string", - true, - "53", - [], - "com.fluidframework.leaf.string", - true, - "54", - [] - ] - ] - ] - ] - ] - ] - ], - "FieldC", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "37", + [], + "com.fluidframework.leaf.string", + true, + "38", + [], + "com.fluidframework.leaf.string", + true, + "39", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "55", - [], - "com.fluidframework.leaf.string", - true, - "56", - [], - "com.fluidframework.leaf.string", - true, - "57", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "40", + [], + "com.fluidframework.leaf.string", + true, + "41", + [], + "com.fluidframework.leaf.string", + true, + "42", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "58", - [], - "com.fluidframework.leaf.string", - true, - "59", - [], - "com.fluidframework.leaf.string", - true, - "60", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "43", + [], + "com.fluidframework.leaf.string", + true, + "44", + [], + "com.fluidframework.leaf.string", + true, + "45", + [] + ] + ] ] ] ], "FieldC", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "61", - [], - "com.fluidframework.leaf.string", - true, - "62", - [], - "com.fluidframework.leaf.string", - true, - "63", - [] - ] - ] - ] - ] - ], - "FieldB", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "64", - [], - "com.fluidframework.leaf.string", - true, - "65", - [], - "com.fluidframework.leaf.string", - true, - "66", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "46", + [], + "com.fluidframework.leaf.string", + true, + "47", + [], + "com.fluidframework.leaf.string", + true, + "48", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "67", - [], - "com.fluidframework.leaf.string", - true, - "68", - [], - "com.fluidframework.leaf.string", - true, - "69", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "49", + [], + "com.fluidframework.leaf.string", + true, + "50", + [], + "com.fluidframework.leaf.string", + true, + "51", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "70", - [], - "com.fluidframework.leaf.string", - true, - "71", - [], - "com.fluidframework.leaf.string", - true, - "72", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "52", + [], + "com.fluidframework.leaf.string", + true, + "53", + [], + "com.fluidframework.leaf.string", + true, + "54", + [] + ] + ] ] ] ] @@ -1577,67 +1472,220 @@ [ "FieldA", [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "55", + [], + "com.fluidframework.leaf.string", + true, + "56", + [], + "com.fluidframework.leaf.string", + true, + "57", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "73", - [], - "com.fluidframework.leaf.string", - true, - "74", - [], - "com.fluidframework.leaf.string", - true, - "75", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "58", + [], + "com.fluidframework.leaf.string", + true, + "59", + [], + "com.fluidframework.leaf.string", + true, + "60", + [] + ] + ] + ], + "FieldC", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "61", + [], + "com.fluidframework.leaf.string", + true, + "62", + [], + "com.fluidframework.leaf.string", + true, + "63", + [] + ] + ] ] ] ], "FieldB", [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "64", + [], + "com.fluidframework.leaf.string", + true, + "65", + [], + "com.fluidframework.leaf.string", + true, + "66", + [] + ] + ] + ], + "FieldB", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "67", + [], + "com.fluidframework.leaf.string", + true, + "68", + [], + "com.fluidframework.leaf.string", + true, + "69", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "76", - [], - "com.fluidframework.leaf.string", - true, - "77", - [], - "com.fluidframework.leaf.string", - true, - "78", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "70", + [], + "com.fluidframework.leaf.string", + true, + "71", + [], + "com.fluidframework.leaf.string", + true, + "72", + [] + ] + ] ] ] ], "FieldC", [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "79", - [], - "com.fluidframework.leaf.string", - true, - "80", - [], - "com.fluidframework.leaf.string", - true, - "81", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "73", + [], + "com.fluidframework.leaf.string", + true, + "74", + [], + "com.fluidframework.leaf.string", + true, + "75", + [] + ] + ] + ], + "FieldB", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "76", + [], + "com.fluidframework.leaf.string", + true, + "77", + [], + "com.fluidframework.leaf.string", + true, + "78", + [] + ] + ] + ], + "FieldC", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "79", + [], + "com.fluidframework.leaf.string", + true, + "80", + [], + "com.fluidframework.leaf.string", + true, + "81", + [] + ] + ] ] ] ] @@ -1647,35 +1695,47 @@ ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 0 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 0 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/concurrent-inserts-tree2.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/concurrent-inserts-tree2.json index 5baf8af2d4d6..7fd6e140cb6f 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/concurrent-inserts-tree2.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/concurrent-inserts-tree2.json @@ -1,482 +1,542 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "y", - [] + [ + [ + 0, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "y", + [] + ] + ] + ] + } + } } } - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 2 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 2 + } + }, + "cellId": 2 } - }, - "cellId": 2 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 2, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "x", - [] + [ + [ + 2, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "x", + [] + ] + ] + ] + } + } } } - } - } - ], - "revision": 5, - "sequenceNumber": 6, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 5, + "sequenceNumber": 6, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 2, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 2, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "a", - [], - "com.fluidframework.leaf.string", - true, - "c", - [] + [ + [ + 0, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "a", + [], + "com.fluidframework.leaf.string", + true, + "c", + [] + ] + ] + ] + } + } } } - } - } - ], - "revision": 6, - "sequenceNumber": 8, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 6, + "sequenceNumber": 8, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 4, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 4, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "insert": { - "id": 3 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "insert": { + "id": 3 + } + }, + "cellId": 3 } - }, - "cellId": 3 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "b", - [] + [ + [ + 3, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "b", + [] + ] + ] + ] + } + } } } - } + ], + "revision": 7, + "sequenceNumber": 9, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 7, - "sequenceNumber": 9, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, [ - "com.fluidframework.leaf.string", - true, - "x", - [], - "com.fluidframework.leaf.string", - true, - "y", - [], - "com.fluidframework.leaf.string", - true, - "a", - [], - "com.fluidframework.leaf.string", - true, - "b", - [], - "com.fluidframework.leaf.string", - true, - "c", - [] + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "x", + [], + "com.fluidframework.leaf.string", + true, + "y", + [], + "com.fluidframework.leaf.string", + true, + "a", + [], + "com.fluidframework.leaf.string", + true, + "b", + [], + "com.fluidframework.leaf.string", + true, + "c", + [] + ] + ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 5 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 5 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/concurrent-inserts-tree3.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/concurrent-inserts-tree3.json index 391d515c38e3..19d1f627b5f9 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/concurrent-inserts-tree3.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/concurrent-inserts-tree3.json @@ -1,501 +1,561 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 4, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 4, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 3 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "insert": { + "id": 3 + } + }, + "cellId": 3 } - }, - "cellId": 3 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "b", - [] + [ + [ + 3, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "b", + [] + ] + ] + ] + } + } } } - } - } - ], - "revision": 7, - "sequenceNumber": 9, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 7, + "sequenceNumber": 9, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 4 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 4 + } + }, + "cellId": 4 } - }, - "cellId": 4 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 4, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "z", - [] + [ + [ + 4, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "z", + [] + ] + ] + ] + } + } } } - } - } - ], - "revision": 10, - "sequenceNumber": 11, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 10, + "sequenceNumber": 11, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 2, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 2, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "d", - [], - "com.fluidframework.leaf.string", - true, - "e", - [] + [ + [ + 0, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "d", + [], + "com.fluidframework.leaf.string", + true, + "e", + [] + ] + ] + ] + } + } } } - } - } - ], - "revision": 11, - "sequenceNumber": 13, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 11, + "sequenceNumber": 13, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 3 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "insert": { + "id": 3 + } + }, + "cellId": 3 } - }, - "cellId": 3 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "f", - [] + [ + [ + 3, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "f", + [] + ] + ] + ] + } + } } } - } + ], + "revision": 12, + "sequenceNumber": 14, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 12, - "sequenceNumber": 14, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, [ - "com.fluidframework.leaf.string", - true, - "z", - [], - "com.fluidframework.leaf.string", - true, - "x", - [], - "com.fluidframework.leaf.string", - true, - "d", - [], - "com.fluidframework.leaf.string", - true, - "f", - [], - "com.fluidframework.leaf.string", - true, - "e", - [], - "com.fluidframework.leaf.string", - true, - "y", - [], - "com.fluidframework.leaf.string", - true, - "a", - [], - "com.fluidframework.leaf.string", - true, - "b", - [], - "com.fluidframework.leaf.string", - true, - "c", - [] + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "z", + [], + "com.fluidframework.leaf.string", + true, + "x", + [], + "com.fluidframework.leaf.string", + true, + "d", + [], + "com.fluidframework.leaf.string", + true, + "f", + [], + "com.fluidframework.leaf.string", + true, + "e", + [], + "com.fluidframework.leaf.string", + true, + "y", + [], + "com.fluidframework.leaf.string", + true, + "a", + [], + "com.fluidframework.leaf.string", + true, + "b", + [], + "com.fluidframework.leaf.string", + true, + "c", + [] + ] + ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 9 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 9 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/empty-root-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/empty-root-final.json index 493447f7c798..66cb235f3b1d 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/empty-root-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/empty-root-final.json @@ -1,159 +1,219 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.number": { - "leaf": 0 + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.number": { + "leaf": 0 + } + }, + "root": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.number" + ] + } + }, + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] + } } - }, - "root": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.number" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 0, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0 + { + "data": { + "maxId": 0, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0 + } + } } - } + ] } - ] - } + } + ], + "revision": 2, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 2, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } - } - }, - "root": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.number" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" } }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "Forest": { - "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } } }, - { - "a": 0 + "root": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.number" + ] } - ], - "data": [] - }, - "version": 1 + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [] + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": -1 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": -1 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/has-handle-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/has-handle-final.json index d3d4b1b5ec56..8b2150a1e1ea 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/has-handle-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/has-handle-final.json @@ -1,221 +1,281 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 2, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 2, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "handleField", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + "fieldChanges": [ + { + "fieldKey": "handleField", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } + } } - } + ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.handle", - true, + [ + [ + 1, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ { - "type": "__fluid_handle__", - "url": "/test/tree-0" + "c": { + "extraFields": 1 + } }, - [] + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.handle", + true, + { + "type": "__fluid_handle__", + "url": "/test/tree-0" + }, + [] + ] + ] ] - ] - ] + } + } } } - } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.handle": { - "kind": { - "leaf": 3 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "has-handle.HandleObject": { - "kind": { - "object": { - "handleField": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.handle" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.handle": { + "kind": { + "leaf": 3 + } + }, + "has-handle.HandleObject": { + "kind": { + "object": { + "handleField": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.handle" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "has-handle.HandleObject" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "has-handle.HandleObject" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "has-handle.HandleObject", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "handleField", + 1, [ - "com.fluidframework.leaf.handle", - true, - { - "type": "__fluid_handle__", - "url": "/test/tree-0" - }, - [] + "has-handle.HandleObject", + false, + [ + "handleField", + [ + "com.fluidframework.leaf.handle", + true, + { + "type": "__fluid_handle__", + "url": "/test/tree-0" + }, + [] + ] + ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 1 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 1 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/insert-and-remove-tree-0-after-insert.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/insert-and-remove-tree-0-after-insert.json index 0e96258b3a59..cd915b160158 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/insert-and-remove-tree-0-after-insert.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/insert-and-remove-tree-0-after-insert.json @@ -1,219 +1,279 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "42", - [] + [ + [ + 0, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "42", + [] + ] + ] + ] + } + } } } - } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, [ - "com.fluidframework.leaf.string", - true, - "42", - [] + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "42", + [] + ] + ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 1 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 1 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/insert-and-remove-tree-0-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/insert-and-remove-tree-0-final.json index d628b6b9a50b..911b0766c6bf 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/insert-and-remove-tree-0-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/insert-and-remove-tree-0-final.json @@ -1,189 +1,249 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 2 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 2 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 5, + "sequenceNumber": 6, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 5, - "sequenceNumber": 6, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-2" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", - false, - [] - ] + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-2" ], - [ - 1, - [ - "com.fluidframework.leaf.string", - true, - "42", - [] + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [] + ] + ], + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "42", + [] + ] + ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 5, - 2, - 2 - ] - ], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ + [ + 5, + 2, + 2 + ] + ], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/insert-and-remove-tree-1-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/insert-and-remove-tree-1-final.json index 93f5126f17c0..d90ba348b275 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/insert-and-remove-tree-1-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/insert-and-remove-tree-1-final.json @@ -1,197 +1,257 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 2 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 2 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 5, + "sequenceNumber": 6, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 5, - "sequenceNumber": 6, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [ - [ - "8f95be09-8376-4ff7-8755-ccd7e8124b06", - { - "base": 5, - "commits": [] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [ + [ + "8f95be09-8376-4ff7-8755-ccd7e8124b06", + { + "base": 5, + "commits": [] + } + ] + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-2" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", - false, - [] - ] + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-2" ], - [ - 1, - [ - "com.fluidframework.leaf.string", - true, - "42", - [] + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [] + ] + ], + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "42", + [] + ] + ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 5, - 2, - 2 - ] - ], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ + [ + 5, + 2, + 2 + ] + ], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/move-across-fields-tree-0-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/move-across-fields-tree-0-final.json index 848c10c2e5ab..1acb64b31d2d 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/move-across-fields-tree-0-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/move-across-fields-tree-0-final.json @@ -1,525 +1,585 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Optional", + "types": [ + "move-across-fields.Node" + ] } }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - } + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] } } - }, - "root": { - "kind": "Optional", - "types": [ - "move-across-fields.Node" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 - } - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ + { + "data": { + "maxId": 1, + "changes": [ { - "c": { - "extraFields": 1 + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "move-across-fields.Node", - false, [ - "foo", [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "a", - [], - "com.fluidframework.leaf.string", - true, - "b", - [], - "com.fluidframework.leaf.string", - true, - "c", - [] - ] - ] - ], - "bar", + 1, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + "move-across-fields.Node", false, [ - "", + "foo", + [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "a", + [], + "com.fluidframework.leaf.string", + true, + "b", + [], + "com.fluidframework.leaf.string", + true, + "c", + [] + ] + ] + ], + "bar", [ - "com.fluidframework.leaf.string", - true, - "d", - [], - "com.fluidframework.leaf.string", - true, - "e", - [], - "com.fluidframework.leaf.string", - true, - "f", - [] + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "d", + [], + "com.fluidframework.leaf.string", + true, + "e", + [], + "com.fluidframework.leaf.string", + true, + "f", + [] + ] + ] ] ] ] ] ] - ] - ] - } - } - } - }, - { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } - }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - } } } - }, - "root": { - "kind": "Value", - "types": [ - "move-across-fields.Node" - ] } }, - "old": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Value", + "types": [ + "move-across-fields.Node" + ] } }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "old": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Optional", + "types": [ + "move-across-fields.Node" + ] } } - }, - "root": { - "kind": "Optional", - "types": [ - "move-across-fields.Node" - ] } } - } - } - ], - "revision": 3, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 3, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 7, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 7, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "foo", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "fieldChanges": [ + { + "fieldKey": "foo", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 2, - "effect": { - "moveOut": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 2, + "effect": { + "moveOut": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] - ] - }, - { - "fieldKey": "bar", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + ] + }, + { + "fieldKey": "bar", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 2, - "effect": { - "moveIn": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 2, + "effect": { + "moveIn": { + "id": 0 + } + }, + "cellId": 2 } - }, - "cellId": 2 + ] } ] } ] - } - ] + ] + } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 } - } - } - }, - "move-across-fields.Node": { - "kind": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "move-across-fields.Node": { + "kind": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "move-across-fields.Node" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "move-across-fields.Node" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "move-across-fields.Node", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "foo", + 1, [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + "move-across-fields.Node", false, [ - "", + "foo", [ - "com.fluidframework.leaf.string", - true, - "a", - [] - ] - ] - ], - "bar", - [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", - false, - [ - "", + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "a", + [] + ] + ] + ], + "bar", [ - "com.fluidframework.leaf.string", - true, - "d", - [], - "com.fluidframework.leaf.string", - true, - "b", - [], - "com.fluidframework.leaf.string", - true, - "c", - [], - "com.fluidframework.leaf.string", - true, - "e", - [], - "com.fluidframework.leaf.string", - true, - "f", - [] + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "d", + [], + "com.fluidframework.leaf.string", + true, + "b", + [], + "com.fluidframework.leaf.string", + true, + "c", + [], + "com.fluidframework.leaf.string", + true, + "e", + [], + "com.fluidframework.leaf.string", + true, + "f", + [] + ] + ] ] ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/nested-sequence-change-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/nested-sequence-change-final.json index 8e0933e210e8..0a0d24440e62 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/nested-sequence-change-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/nested-sequence-change-final.json @@ -1,246 +1,294 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 0 - } - }, - "cellId": 0, - "changes": { - "fieldChanges": [ - { - "fieldKey": "foo", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 2, - "s": 3 - } + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 0 } + }, + "cellId": 0, + "changes": { + "fieldChanges": [ + { + "fieldKey": "foo", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 2, + "s": 3 + } + } + } + ] } - ] - } + } + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 - ], - [ - 3, - 1 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "test trees.Recursive Map", - false, - [] + [ + [ + 0, + 0 + ], + [ + 3, + 1 + ] + ] ] ], - [ - 1, - [ - "test trees.Array<[\"test trees.Recursive Map\"]>", - false, + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, [ "test trees.Recursive Map", false, + [] + ] + ], + [ + 1, + [ + "test trees.Array<[\"test trees.Recursive Map\"]>", + false, [ - "bar", + "", [ - "test trees.Array<[\"test trees.Recursive Map\"]>", + "test trees.Recursive Map", false, - [] + [ + "bar", + [ + "test trees.Array<[\"test trees.Recursive Map\"]>", + false, + [] + ] + ] ] ] ] ] ] - ] - ] + } + } } } - } + ], + "revision": 6, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 6, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "test trees.Array<[\"test trees.Recursive Map\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "test trees.Recursive Map" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "test trees.Array<[\"test trees.Recursive Map\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "test trees.Recursive Map" + ] + } + } + } + }, + "test trees.Recursive Map": { + "kind": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Array<[\"test trees.Recursive Map\"]>" + ] + } } } + }, + "root": { + "kind": "Value", + "types": [ + "test trees.Array<[\"test trees.Recursive Map\"]>" + ] } }, - "test trees.Recursive Map": { - "kind": { - "map": { - "kind": "Optional", - "types": [ - "test trees.Array<[\"test trees.Recursive Map\"]>" - ] - } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "test trees.Array<[\"test trees.Recursive Map\"]>" - ] + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "test trees.Array<[\"test trees.Recursive Map\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, [ - "test trees.Recursive Map", + "test trees.Array<[\"test trees.Recursive Map\"]>", false, [ - "foo", + "", [ - "test trees.Array<[\"test trees.Recursive Map\"]>", + "test trees.Recursive Map", false, [ - "", + "foo", [ - "test trees.Recursive Map", + "test trees.Array<[\"test trees.Recursive Map\"]>", false, [ - "bar", + "", [ - "test trees.Array<[\"test trees.Recursive Map\"]>", + "test trees.Recursive Map", false, - [] + [ + "bar", + [ + "test trees.Array<[\"test trees.Recursive Map\"]>", + false, + [] + ] + ] ] ] ] @@ -250,35 +298,47 @@ ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/optional-field-scenarios-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/optional-field-scenarios-final.json index 76a84617fe2f..c8686aaf3a21 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/optional-field-scenarios-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/optional-field-scenarios-final.json @@ -1,579 +1,639 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 2, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 2, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "root 1 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + "fieldChanges": [ + { + "fieldKey": "root 1 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } + } } - } + ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.number", - true, - 40, - [] + [ + [ + 1, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.number", + true, + 40, + [] + ] + ] ] - ] - ] - } - } - } - } - ], - "revision": 515, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ - { - "data": { - "maxId": 4, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 3, - "s": 4 } } } - ], - "builds": { - "builds": [ - [ - [ - [ - 4, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ + } + ], + "revision": 515, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, + { + "change": [ + { + "data": { + "maxId": 4, + "changes": [ { - "c": { - "extraFields": 1 + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 3, + "s": 4 + } } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "optional-field-scenarios.Map", - false, [ - "root 2 child", [ - "com.fluidframework.leaf.number", - true, - 41, - [] + 4, + 0 ] ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "optional-field-scenarios.Map", + false, + [ + "root 2 child", + [ + "com.fluidframework.leaf.number", + true, + 41, + [] + ] + ] + ] + ] + ] + } + } } } - } - } - ], - "revision": 516, - "sequenceNumber": 8, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + ], + "revision": 516, + "sequenceNumber": 8, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 7, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 3, - "s": 4 - }, - "c": [ - [ - [ - 3, - 516 - ], - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 7, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 3, + "s": 4 + }, + "c": [ + [ + [ + 3, + 516 + ], { - "fieldKey": "root 1 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 0, - "s": 1 + "fieldChanges": [ + { + "fieldKey": "root 1 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 0, + "s": 1 + } + } } - } + ] } - ] - } - ], - [ - 4, - { - "fieldChanges": [ + ], + [ + 4, { - "fieldKey": "root 3 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 5, - "s": 6 + "fieldChanges": [ + { + "fieldKey": "root 3 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 5, + "s": 6 + } + } } - } + ] } ] - } - ] - ] - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 - ], - [ - 4, - 1 - ], - [ - 6, - 2 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + ] } - }, - { - "a": 0 } ], - "data": [ - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 42, - [] - ] - ], - [ - 1, + "builds": { + "builds": [ [ - "optional-field-scenarios.Map", - false, - [] + [ + [ + 1, + 0 + ], + [ + 4, + 1 + ], + [ + 6, + 2 + ] + ] ] ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 43, - [] + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.number", + true, + 42, + [] + ] + ], + [ + 1, + [ + "optional-field-scenarios.Map", + false, + [] + ] + ], + [ + 1, + [ + "com.fluidframework.leaf.number", + true, + 43, + [] + ] + ] ] - ] - ] + } + } } } - } - } - ], - "revision": 7, - "sequenceNumber": 10, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 7, + "sequenceNumber": 10, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 7, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "c": [ - [ - null, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 7, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "c": [ + [ + null, { - "fieldKey": "root 3 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 2, - "s": 3 + "fieldChanges": [ + { + "fieldKey": "root 3 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 2, + "s": 3 + } + } } - } + ] } ] - } - ] - ] - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + ] } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.number", - true, - 44, - [] + [ + [ + 3, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.number", + true, + 44, + [] + ] + ] + ] + } + } } } - } + ], + "revision": 8, + "sequenceNumber": 12, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 8, - "sequenceNumber": 12, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": 516, - "commits": [] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", + { + "base": 516, + "commits": [] + } + ] + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } - }, - "optional-field-scenarios.Map": { - "kind": { - "map": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.number", - "com.fluidframework.leaf.string" - ] - } - } - } - }, - "root": { - "kind": "Optional", - "types": [ - "optional-field-scenarios.Map" - ] + "encoding": "utf-8" } }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "Forest": { - "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-6", - "repair-8", - "repair-10", - "repair-11" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "optional-field-scenarios.Map": { + "kind": { + "map": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.number", + "com.fluidframework.leaf.string" + ] + } + } } }, - { - "a": 0 + "root": { + "kind": "Optional", + "types": [ + "optional-field-scenarios.Map" + ] } - ], - "data": [ - [ - 1, - [ - "optional-field-scenarios.Map", - false, + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-6", + "repair-8", + "repair-10", + "repair-11" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "root 3 child", + 1, [ - "com.fluidframework.leaf.number", - true, - 44, - [] + "optional-field-scenarios.Map", + false, + [ + "root 3 child", + [ + "com.fluidframework.leaf.number", + true, + 44, + [] + ] + ] ] - ] - ] - ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 43, - [] - ] - ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 40, - [] - ] - ], - [ - 1, - [ - "optional-field-scenarios.Map", - false, + ], [ - "root 1 child", + 1, [ "com.fluidframework.leaf.number", true, - 42, + 43, [] ] - ] - ] - ], - [ - 1, - [ - "optional-field-scenarios.Map", - false, + ], [ - "root 2 child", + 1, [ "com.fluidframework.leaf.number", true, - 41, + 40, [] ] + ], + [ + 1, + [ + "optional-field-scenarios.Map", + false, + [ + "root 1 child", + [ + "com.fluidframework.leaf.number", + true, + 42, + [] + ] + ] + ] + ], + [ + 1, + [ + "optional-field-scenarios.Map", + false, + [ + "root 2 child", + [ + "com.fluidframework.leaf.number", + true, + 41, + [] + ] + ] + ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [ - [ - 7, - [ + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [ + [ + 7, + [ + [ + 0, + 8 + ], + [ + 3, + 11 + ] + ] + ], [ - 0, - 8 + 8, + 2, + 6 ], [ + 516, 3, - 11 + 10 ] - ] - ], - [ - 8, - 2, - 6 - ], - [ - 516, - 3, - 10 - ] - ], - "maxId": 11 - }, - "encoding": "utf-8" - } + ], + "maxId": 11 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/tree-with-identifier-field-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/tree-with-identifier-field-final.json index d12432c0f1dc..b272f9fb67ac 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/tree-with-identifier-field-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_43/tree-with-identifier-field-final.json @@ -1,297 +1,357 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" - ] + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 } + }, + "root": { + "kind": "Optional", + "types": [ + "com.example.parent" + ] } }, - "com.fluidframework.leaf.string": { - "leaf": 1 - } - }, - "root": { - "kind": "Optional", - "types": [ - "com.example.parent" - ] - } - }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] } } } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ + }, + { + "data": { + "maxId": 1, + "changes": [ { - "c": { - "extraFields": 1 + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.example.parent", - false, [ - "identifier", [ - "com.fluidframework.leaf.string", - true, - "8f95be09-8376-4ff7-8755-ccd7e8124b06", - [] + 1, + 0 ] ] ] - ] - ] - } - } - } - }, - { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.example.parent", + false, + [ + "identifier", + [ + "com.fluidframework.leaf.string", + true, + "8f95be09-8376-4ff7-8755-ccd7e8124b06", + [] + ] + ] + ] ] - } + ] } - }, - "com.fluidframework.leaf.string": { - "leaf": 1 } - }, - "root": { - "kind": "Value", - "types": [ - "com.example.parent" - ] } }, - "old": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" - ] + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 } + }, + "root": { + "kind": "Value", + "types": [ + "com.example.parent" + ] } }, - "com.fluidframework.leaf.string": { - "leaf": 1 + "old": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 + } + }, + "root": { + "kind": "Optional", + "types": [ + "com.example.parent" + ] + } } - }, - "root": { - "kind": "Optional", - "types": [ - "com.example.parent" - ] } } - } + ], + "revision": 4, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.example.parent": { - "kind": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.example.parent": { + "kind": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 } } + }, + "root": { + "kind": "Value", + "types": [ + "com.example.parent" + ] } }, - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } - } - }, - "root": { - "kind": "Value", - "types": [ - "com.example.parent" - ] + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "com.example.parent", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "identifier", + 1, [ - "com.fluidframework.leaf.string", - true, - "8f95be09-8376-4ff7-8755-ccd7e8124b06", - [] + "com.example.parent", + false, + [ + "identifier", + [ + "com.fluidframework.leaf.string", + true, + "8f95be09-8376-4ff7-8755-ccd7e8124b06", + [] + ] + ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 1, - "data": [], - "maxId": 0 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 1, + "data": [], + "maxId": 0 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/attachment-tree-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/attachment-tree-final.json index 1d72e4b6b85f..4890f44bec66 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/attachment-tree-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/attachment-tree-final.json @@ -1,143 +1,203 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [], - "branches": [], - "version": 4 + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [], + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 } } + }, + "root": { + "kind": "Value", + "types": [ + "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>" + ] } }, - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } - } - }, - "root": { - "kind": "Value", - "types": [ - "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, [ - "com.fluidframework.leaf.string", - true, - "a", - [], - "com.fluidframework.leaf.string", - true, - "b", - [] + "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "a", + [], + "com.fluidframework.leaf.string", + true, + "b", + [] + ] + ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/competing-removes-index-0.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/competing-removes-index-0.json index 4d023f9adfe7..b42ad10b5232 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/competing-removes-index-0.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/competing-removes-index-0.json @@ -1,392 +1,452 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, + [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.number", + true, + 1, + [], + "com.fluidframework.leaf.number", + true, + 2, + [], + "com.fluidframework.leaf.number", + true, + 3, + [] + ] + ] + ] + ], + [ + 1, [ "com.fluidframework.leaf.number", true, - 1, - [], - "com.fluidframework.leaf.number", - true, - 2, - [], - "com.fluidframework.leaf.number", - true, - 3, + 0, [] ] ] ] - ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 0, - [] - ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ + [ + 1029, + 0, + 3 + ] + ], + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/competing-removes-index-1.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/competing-removes-index-1.json index be5ed92d9269..256d997afd6e 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/competing-removes-index-1.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/competing-removes-index-1.json @@ -1,407 +1,467 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, + [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.number", + true, + 0, + [], + "com.fluidframework.leaf.number", + true, + 2, + [], + "com.fluidframework.leaf.number", + true, + 3, + [] + ] + ] + ] + ], + [ + 1, [ "com.fluidframework.leaf.number", true, - 0, - [], - "com.fluidframework.leaf.number", - true, - 2, - [], - "com.fluidframework.leaf.number", - true, - 3, + 1, [] ] ] ] - ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 1, - [] - ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ + [ + 1029, + 0, + 3 + ] + ], + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/competing-removes-index-2.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/competing-removes-index-2.json index 7070823e1620..1d8569caaf9a 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/competing-removes-index-2.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/competing-removes-index-2.json @@ -1,407 +1,467 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, + [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.number", + true, + 0, + [], + "com.fluidframework.leaf.number", + true, + 1, + [], + "com.fluidframework.leaf.number", + true, + 3, + [] + ] + ] + ] + ], + [ + 1, [ "com.fluidframework.leaf.number", true, - 0, - [], - "com.fluidframework.leaf.number", - true, - 1, - [], - "com.fluidframework.leaf.number", - true, - 3, + 2, [] ] ] ] - ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 2, - [] - ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ + [ + 1029, + 0, + 3 + ] + ], + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/competing-removes-index-3.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/competing-removes-index-3.json index 2ef82b950c2f..89a9cd61b212 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/competing-removes-index-3.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/competing-removes-index-3.json @@ -1,407 +1,467 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, + [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.number", + true, + 0, + [], + "com.fluidframework.leaf.number", + true, + 1, + [], + "com.fluidframework.leaf.number", + true, + 2, + [] + ] + ] + ] + ], + [ + 1, [ "com.fluidframework.leaf.number", true, - 0, - [], - "com.fluidframework.leaf.number", - true, - 1, - [], - "com.fluidframework.leaf.number", - true, - 2, + 3, [] ] ] ] - ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 3, - [] - ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ + [ + 1029, + 0, + 3 + ] + ], + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/complete-3x3-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/complete-3x3-final.json index ee6fef48a3c4..7b96cc8414c2 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/complete-3x3-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/complete-3x3-final.json @@ -1,32 +1,73 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "test trees.Recursive Map": { - "map": { + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "root": { "kind": "Optional", "types": [ "test trees.Recursive Map", @@ -34,83 +75,59 @@ ] } }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] } } - }, - "root": { - "kind": "Optional", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 - } - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ + { + "data": { + "maxId": 1, + "changes": [ { - "c": { - "extraFields": 1 + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "test trees.Recursive Map", - false, [ - "FieldA", + [ + 1, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, [ "test trees.Recursive Map", false, @@ -122,293 +139,220 @@ [ "FieldA", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "1", - [], - "com.fluidframework.leaf.string", - true, - "2", - [], - "com.fluidframework.leaf.string", - true, - "3", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "4", - [], - "com.fluidframework.leaf.string", - true, - "5", - [], - "com.fluidframework.leaf.string", - true, - "6", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "1", + [], + "com.fluidframework.leaf.string", + true, + "2", + [], + "com.fluidframework.leaf.string", + true, + "3", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "7", - [], - "com.fluidframework.leaf.string", - true, - "8", - [], - "com.fluidframework.leaf.string", - true, - "9", - [] - ] - ] - ] - ] - ], - "FieldB", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "4", + [], + "com.fluidframework.leaf.string", + true, + "5", + [], + "com.fluidframework.leaf.string", + true, + "6", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "10", - [], - "com.fluidframework.leaf.string", - true, - "11", - [], - "com.fluidframework.leaf.string", - true, - "12", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "7", + [], + "com.fluidframework.leaf.string", + true, + "8", + [], + "com.fluidframework.leaf.string", + true, + "9", + [] + ] + ] ] ] ], "FieldB", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "13", - [], - "com.fluidframework.leaf.string", - true, - "14", - [], - "com.fluidframework.leaf.string", - true, - "15", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "16", - [], - "com.fluidframework.leaf.string", - true, - "17", - [], - "com.fluidframework.leaf.string", - true, - "18", - [] - ] - ] - ] - ] - ], - "FieldC", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "10", + [], + "com.fluidframework.leaf.string", + true, + "11", + [], + "com.fluidframework.leaf.string", + true, + "12", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "19", - [], - "com.fluidframework.leaf.string", - true, - "20", - [], - "com.fluidframework.leaf.string", - true, - "21", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "13", + [], + "com.fluidframework.leaf.string", + true, + "14", + [], + "com.fluidframework.leaf.string", + true, + "15", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "22", - [], - "com.fluidframework.leaf.string", - true, - "23", - [], - "com.fluidframework.leaf.string", - true, - "24", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "16", + [], + "com.fluidframework.leaf.string", + true, + "17", + [], + "com.fluidframework.leaf.string", + true, + "18", + [] + ] + ] ] ] ], "FieldC", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "25", - [], - "com.fluidframework.leaf.string", - true, - "26", - [], - "com.fluidframework.leaf.string", - true, - "27", - [] - ] - ] - ] - ] - ] - ] - ], - "FieldB", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "28", - [], - "com.fluidframework.leaf.string", - true, - "29", - [], - "com.fluidframework.leaf.string", - true, - "30", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "19", + [], + "com.fluidframework.leaf.string", + true, + "20", + [], + "com.fluidframework.leaf.string", + true, + "21", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "31", - [], - "com.fluidframework.leaf.string", - true, - "32", - [], - "com.fluidframework.leaf.string", - true, - "33", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "22", + [], + "com.fluidframework.leaf.string", + true, + "23", + [], + "com.fluidframework.leaf.string", + true, + "24", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "34", - [], - "com.fluidframework.leaf.string", - true, - "35", - [], - "com.fluidframework.leaf.string", - true, - "36", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "25", + [], + "com.fluidframework.leaf.string", + true, + "26", + [], + "com.fluidframework.leaf.string", + true, + "27", + [] + ] + ] ] ] ] @@ -421,293 +365,220 @@ [ "FieldA", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "37", - [], - "com.fluidframework.leaf.string", - true, - "38", - [], - "com.fluidframework.leaf.string", - true, - "39", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "40", - [], - "com.fluidframework.leaf.string", - true, - "41", - [], - "com.fluidframework.leaf.string", - true, - "42", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "28", + [], + "com.fluidframework.leaf.string", + true, + "29", + [], + "com.fluidframework.leaf.string", + true, + "30", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "43", - [], - "com.fluidframework.leaf.string", - true, - "44", - [], - "com.fluidframework.leaf.string", - true, - "45", - [] - ] - ] - ] - ] - ], - "FieldC", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "31", + [], + "com.fluidframework.leaf.string", + true, + "32", + [], + "com.fluidframework.leaf.string", + true, + "33", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "46", - [], - "com.fluidframework.leaf.string", - true, - "47", - [], - "com.fluidframework.leaf.string", - true, - "48", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "34", + [], + "com.fluidframework.leaf.string", + true, + "35", + [], + "com.fluidframework.leaf.string", + true, + "36", + [] + ] + ] ] ] ], "FieldB", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "49", - [], - "com.fluidframework.leaf.string", - true, - "50", - [], - "com.fluidframework.leaf.string", - true, - "51", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "52", - [], - "com.fluidframework.leaf.string", - true, - "53", - [], - "com.fluidframework.leaf.string", - true, - "54", - [] - ] - ] - ] - ] - ] - ] - ], - "FieldC", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "37", + [], + "com.fluidframework.leaf.string", + true, + "38", + [], + "com.fluidframework.leaf.string", + true, + "39", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "55", - [], - "com.fluidframework.leaf.string", - true, - "56", - [], - "com.fluidframework.leaf.string", - true, - "57", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "40", + [], + "com.fluidframework.leaf.string", + true, + "41", + [], + "com.fluidframework.leaf.string", + true, + "42", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "58", - [], - "com.fluidframework.leaf.string", - true, - "59", - [], - "com.fluidframework.leaf.string", - true, - "60", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "43", + [], + "com.fluidframework.leaf.string", + true, + "44", + [], + "com.fluidframework.leaf.string", + true, + "45", + [] + ] + ] ] ] ], "FieldC", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "61", - [], - "com.fluidframework.leaf.string", - true, - "62", - [], - "com.fluidframework.leaf.string", - true, - "63", - [] - ] - ] - ] - ] - ], - "FieldB", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "64", - [], - "com.fluidframework.leaf.string", - true, - "65", - [], - "com.fluidframework.leaf.string", - true, - "66", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "46", + [], + "com.fluidframework.leaf.string", + true, + "47", + [], + "com.fluidframework.leaf.string", + true, + "48", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "67", - [], - "com.fluidframework.leaf.string", - true, - "68", - [], - "com.fluidframework.leaf.string", - true, - "69", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "49", + [], + "com.fluidframework.leaf.string", + true, + "50", + [], + "com.fluidframework.leaf.string", + true, + "51", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "70", - [], - "com.fluidframework.leaf.string", - true, - "71", - [], - "com.fluidframework.leaf.string", - true, - "72", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "52", + [], + "com.fluidframework.leaf.string", + true, + "53", + [], + "com.fluidframework.leaf.string", + true, + "54", + [] + ] + ] ] ] ] @@ -720,67 +591,220 @@ [ "FieldA", [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "55", + [], + "com.fluidframework.leaf.string", + true, + "56", + [], + "com.fluidframework.leaf.string", + true, + "57", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "73", - [], - "com.fluidframework.leaf.string", - true, - "74", - [], - "com.fluidframework.leaf.string", - true, - "75", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "58", + [], + "com.fluidframework.leaf.string", + true, + "59", + [], + "com.fluidframework.leaf.string", + true, + "60", + [] + ] + ] + ], + "FieldC", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "61", + [], + "com.fluidframework.leaf.string", + true, + "62", + [], + "com.fluidframework.leaf.string", + true, + "63", + [] + ] + ] ] ] ], "FieldB", [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "64", + [], + "com.fluidframework.leaf.string", + true, + "65", + [], + "com.fluidframework.leaf.string", + true, + "66", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "76", - [], - "com.fluidframework.leaf.string", - true, - "77", - [], - "com.fluidframework.leaf.string", - true, - "78", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "67", + [], + "com.fluidframework.leaf.string", + true, + "68", + [], + "com.fluidframework.leaf.string", + true, + "69", + [] + ] + ] + ], + "FieldC", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "70", + [], + "com.fluidframework.leaf.string", + true, + "71", + [], + "com.fluidframework.leaf.string", + true, + "72", + [] + ] + ] ] ] ], "FieldC", [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "73", + [], + "com.fluidframework.leaf.string", + true, + "74", + [], + "com.fluidframework.leaf.string", + true, + "75", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "79", - [], - "com.fluidframework.leaf.string", - true, - "80", - [], - "com.fluidframework.leaf.string", - true, - "81", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "76", + [], + "com.fluidframework.leaf.string", + true, + "77", + [], + "com.fluidframework.leaf.string", + true, + "78", + [] + ] + ] + ], + "FieldC", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "79", + [], + "com.fluidframework.leaf.string", + true, + "80", + [], + "com.fluidframework.leaf.string", + true, + "81", + [] + ] + ] ] ] ] @@ -790,184 +814,201 @@ ] ] ] - ] - ] + } + } } - } - } - }, - { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "test trees.Recursive Map": { - "map": { - "kind": "Optional", + }, + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "root": { + "kind": "Value", "types": [ "test trees.Recursive Map", "test trees.String Array" ] } }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "old": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] - } - }, - "old": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "test trees.Recursive Map": { - "map": { + }, + "root": { "kind": "Optional", "types": [ "test trees.Recursive Map", "test trees.String Array" ] } - }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } } - }, - "root": { - "kind": "Optional", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] } } - } + ], + "revision": 3, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 3, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "test trees.Recursive Map": { - "kind": { - "map": { - "kind": "Optional", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] - } - } - }, - "test trees.String Array": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "test trees.Recursive Map": { + "kind": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + } + }, + "test trees.String Array": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "test trees.Recursive Map", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "FieldA", + 1, [ "test trees.Recursive Map", false, @@ -979,293 +1020,220 @@ [ "FieldA", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "1", - [], - "com.fluidframework.leaf.string", - true, - "2", - [], - "com.fluidframework.leaf.string", - true, - "3", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "4", - [], - "com.fluidframework.leaf.string", - true, - "5", - [], - "com.fluidframework.leaf.string", - true, - "6", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "1", + [], + "com.fluidframework.leaf.string", + true, + "2", + [], + "com.fluidframework.leaf.string", + true, + "3", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "7", - [], - "com.fluidframework.leaf.string", - true, - "8", - [], - "com.fluidframework.leaf.string", - true, - "9", - [] - ] - ] - ] - ] - ], - "FieldB", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "4", + [], + "com.fluidframework.leaf.string", + true, + "5", + [], + "com.fluidframework.leaf.string", + true, + "6", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "10", - [], - "com.fluidframework.leaf.string", - true, - "11", - [], - "com.fluidframework.leaf.string", - true, - "12", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "7", + [], + "com.fluidframework.leaf.string", + true, + "8", + [], + "com.fluidframework.leaf.string", + true, + "9", + [] + ] + ] ] ] ], "FieldB", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "13", - [], - "com.fluidframework.leaf.string", - true, - "14", - [], - "com.fluidframework.leaf.string", - true, - "15", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "16", - [], - "com.fluidframework.leaf.string", - true, - "17", - [], - "com.fluidframework.leaf.string", - true, - "18", - [] - ] - ] - ] - ] - ], - "FieldC", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "10", + [], + "com.fluidframework.leaf.string", + true, + "11", + [], + "com.fluidframework.leaf.string", + true, + "12", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "19", - [], - "com.fluidframework.leaf.string", - true, - "20", - [], - "com.fluidframework.leaf.string", - true, - "21", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "13", + [], + "com.fluidframework.leaf.string", + true, + "14", + [], + "com.fluidframework.leaf.string", + true, + "15", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "22", - [], - "com.fluidframework.leaf.string", - true, - "23", - [], - "com.fluidframework.leaf.string", - true, - "24", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "16", + [], + "com.fluidframework.leaf.string", + true, + "17", + [], + "com.fluidframework.leaf.string", + true, + "18", + [] + ] + ] ] ] ], "FieldC", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "25", - [], - "com.fluidframework.leaf.string", - true, - "26", - [], - "com.fluidframework.leaf.string", - true, - "27", - [] - ] - ] - ] - ] - ] - ] - ], - "FieldB", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "28", - [], - "com.fluidframework.leaf.string", - true, - "29", - [], - "com.fluidframework.leaf.string", - true, - "30", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "19", + [], + "com.fluidframework.leaf.string", + true, + "20", + [], + "com.fluidframework.leaf.string", + true, + "21", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "31", - [], - "com.fluidframework.leaf.string", - true, - "32", - [], - "com.fluidframework.leaf.string", - true, - "33", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "22", + [], + "com.fluidframework.leaf.string", + true, + "23", + [], + "com.fluidframework.leaf.string", + true, + "24", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "34", - [], - "com.fluidframework.leaf.string", - true, - "35", - [], - "com.fluidframework.leaf.string", - true, - "36", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "25", + [], + "com.fluidframework.leaf.string", + true, + "26", + [], + "com.fluidframework.leaf.string", + true, + "27", + [] + ] + ] ] ] ] @@ -1278,293 +1246,220 @@ [ "FieldA", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "37", - [], - "com.fluidframework.leaf.string", - true, - "38", - [], - "com.fluidframework.leaf.string", - true, - "39", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "40", - [], - "com.fluidframework.leaf.string", - true, - "41", - [], - "com.fluidframework.leaf.string", - true, - "42", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "28", + [], + "com.fluidframework.leaf.string", + true, + "29", + [], + "com.fluidframework.leaf.string", + true, + "30", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "43", - [], - "com.fluidframework.leaf.string", - true, - "44", - [], - "com.fluidframework.leaf.string", - true, - "45", - [] - ] - ] - ] - ] - ], - "FieldC", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "31", + [], + "com.fluidframework.leaf.string", + true, + "32", + [], + "com.fluidframework.leaf.string", + true, + "33", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "46", - [], - "com.fluidframework.leaf.string", - true, - "47", - [], - "com.fluidframework.leaf.string", - true, - "48", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "34", + [], + "com.fluidframework.leaf.string", + true, + "35", + [], + "com.fluidframework.leaf.string", + true, + "36", + [] + ] + ] ] ] ], "FieldB", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "49", - [], - "com.fluidframework.leaf.string", - true, - "50", - [], - "com.fluidframework.leaf.string", - true, - "51", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "52", - [], - "com.fluidframework.leaf.string", - true, - "53", - [], - "com.fluidframework.leaf.string", - true, - "54", - [] - ] - ] - ] - ] - ] - ] - ], - "FieldC", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "37", + [], + "com.fluidframework.leaf.string", + true, + "38", + [], + "com.fluidframework.leaf.string", + true, + "39", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "55", - [], - "com.fluidframework.leaf.string", - true, - "56", - [], - "com.fluidframework.leaf.string", - true, - "57", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "40", + [], + "com.fluidframework.leaf.string", + true, + "41", + [], + "com.fluidframework.leaf.string", + true, + "42", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "58", - [], - "com.fluidframework.leaf.string", - true, - "59", - [], - "com.fluidframework.leaf.string", - true, - "60", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "43", + [], + "com.fluidframework.leaf.string", + true, + "44", + [], + "com.fluidframework.leaf.string", + true, + "45", + [] + ] + ] ] ] ], "FieldC", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "61", - [], - "com.fluidframework.leaf.string", - true, - "62", - [], - "com.fluidframework.leaf.string", - true, - "63", - [] - ] - ] - ] - ] - ], - "FieldB", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "64", - [], - "com.fluidframework.leaf.string", - true, - "65", - [], - "com.fluidframework.leaf.string", - true, - "66", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "46", + [], + "com.fluidframework.leaf.string", + true, + "47", + [], + "com.fluidframework.leaf.string", + true, + "48", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "67", - [], - "com.fluidframework.leaf.string", - true, - "68", - [], - "com.fluidframework.leaf.string", - true, - "69", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "49", + [], + "com.fluidframework.leaf.string", + true, + "50", + [], + "com.fluidframework.leaf.string", + true, + "51", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "70", - [], - "com.fluidframework.leaf.string", - true, - "71", - [], - "com.fluidframework.leaf.string", - true, - "72", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "52", + [], + "com.fluidframework.leaf.string", + true, + "53", + [], + "com.fluidframework.leaf.string", + true, + "54", + [] + ] + ] ] ] ] @@ -1577,67 +1472,220 @@ [ "FieldA", [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "55", + [], + "com.fluidframework.leaf.string", + true, + "56", + [], + "com.fluidframework.leaf.string", + true, + "57", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "73", - [], - "com.fluidframework.leaf.string", - true, - "74", - [], - "com.fluidframework.leaf.string", - true, - "75", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "58", + [], + "com.fluidframework.leaf.string", + true, + "59", + [], + "com.fluidframework.leaf.string", + true, + "60", + [] + ] + ] + ], + "FieldC", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "61", + [], + "com.fluidframework.leaf.string", + true, + "62", + [], + "com.fluidframework.leaf.string", + true, + "63", + [] + ] + ] ] ] ], "FieldB", [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "64", + [], + "com.fluidframework.leaf.string", + true, + "65", + [], + "com.fluidframework.leaf.string", + true, + "66", + [] + ] + ] + ], + "FieldB", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "67", + [], + "com.fluidframework.leaf.string", + true, + "68", + [], + "com.fluidframework.leaf.string", + true, + "69", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "76", - [], - "com.fluidframework.leaf.string", - true, - "77", - [], - "com.fluidframework.leaf.string", - true, - "78", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "70", + [], + "com.fluidframework.leaf.string", + true, + "71", + [], + "com.fluidframework.leaf.string", + true, + "72", + [] + ] + ] ] ] ], "FieldC", [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "79", - [], - "com.fluidframework.leaf.string", - true, - "80", - [], - "com.fluidframework.leaf.string", - true, - "81", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "73", + [], + "com.fluidframework.leaf.string", + true, + "74", + [], + "com.fluidframework.leaf.string", + true, + "75", + [] + ] + ] + ], + "FieldB", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "76", + [], + "com.fluidframework.leaf.string", + true, + "77", + [], + "com.fluidframework.leaf.string", + true, + "78", + [] + ] + ] + ], + "FieldC", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "79", + [], + "com.fluidframework.leaf.string", + true, + "80", + [], + "com.fluidframework.leaf.string", + true, + "81", + [] + ] + ] ] ] ] @@ -1647,35 +1695,47 @@ ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 0 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 0 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/concurrent-inserts-tree2.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/concurrent-inserts-tree2.json index 5a4cfb9d4050..5b4ecb071bdd 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/concurrent-inserts-tree2.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/concurrent-inserts-tree2.json @@ -1,482 +1,542 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "y", - [] + [ + [ + 0, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "y", + [] + ] + ] + ] + } + } } } - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 2 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 2 + } + }, + "cellId": 2 } - }, - "cellId": 2 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 2, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "x", - [] + [ + [ + 2, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "x", + [] + ] + ] + ] + } + } } } - } - } - ], - "revision": 5, - "sequenceNumber": 6, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 5, + "sequenceNumber": 6, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 2, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 2, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "a", - [], - "com.fluidframework.leaf.string", - true, - "c", - [] + [ + [ + 0, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "a", + [], + "com.fluidframework.leaf.string", + true, + "c", + [] + ] + ] + ] + } + } } } - } - } - ], - "revision": 6, - "sequenceNumber": 8, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 6, + "sequenceNumber": 8, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 4, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 4, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "insert": { - "id": 3 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "insert": { + "id": 3 + } + }, + "cellId": 3 } - }, - "cellId": 3 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "b", - [] + [ + [ + 3, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "b", + [] + ] + ] + ] + } + } } } - } + ], + "revision": 7, + "sequenceNumber": 9, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 7, - "sequenceNumber": 9, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, [ - "com.fluidframework.leaf.string", - true, - "x", - [], - "com.fluidframework.leaf.string", - true, - "y", - [], - "com.fluidframework.leaf.string", - true, - "a", - [], - "com.fluidframework.leaf.string", - true, - "b", - [], - "com.fluidframework.leaf.string", - true, - "c", - [] + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "x", + [], + "com.fluidframework.leaf.string", + true, + "y", + [], + "com.fluidframework.leaf.string", + true, + "a", + [], + "com.fluidframework.leaf.string", + true, + "b", + [], + "com.fluidframework.leaf.string", + true, + "c", + [] + ] + ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 5 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 5 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/concurrent-inserts-tree3.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/concurrent-inserts-tree3.json index aae608070130..0d4a83be6368 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/concurrent-inserts-tree3.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/concurrent-inserts-tree3.json @@ -1,501 +1,561 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 4, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 4, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 3 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "insert": { + "id": 3 + } + }, + "cellId": 3 } - }, - "cellId": 3 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "b", - [] + [ + [ + 3, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "b", + [] + ] + ] + ] + } + } } } - } - } - ], - "revision": 7, - "sequenceNumber": 9, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 7, + "sequenceNumber": 9, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 4 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 4 + } + }, + "cellId": 4 } - }, - "cellId": 4 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 4, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "z", - [] + [ + [ + 4, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "z", + [] + ] + ] + ] + } + } } } - } - } - ], - "revision": 10, - "sequenceNumber": 11, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 10, + "sequenceNumber": 11, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 2, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 2, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "d", - [], - "com.fluidframework.leaf.string", - true, - "e", - [] + [ + [ + 0, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "d", + [], + "com.fluidframework.leaf.string", + true, + "e", + [] + ] + ] + ] + } + } } } - } - } - ], - "revision": 11, - "sequenceNumber": 13, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 11, + "sequenceNumber": 13, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 3 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "insert": { + "id": 3 + } + }, + "cellId": 3 } - }, - "cellId": 3 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "f", - [] + [ + [ + 3, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "f", + [] + ] + ] + ] + } + } } } - } + ], + "revision": 12, + "sequenceNumber": 14, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 12, - "sequenceNumber": 14, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, [ - "com.fluidframework.leaf.string", - true, - "z", - [], - "com.fluidframework.leaf.string", - true, - "x", - [], - "com.fluidframework.leaf.string", - true, - "d", - [], - "com.fluidframework.leaf.string", - true, - "f", - [], - "com.fluidframework.leaf.string", - true, - "e", - [], - "com.fluidframework.leaf.string", - true, - "y", - [], - "com.fluidframework.leaf.string", - true, - "a", - [], - "com.fluidframework.leaf.string", - true, - "b", - [], - "com.fluidframework.leaf.string", - true, - "c", - [] + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "z", + [], + "com.fluidframework.leaf.string", + true, + "x", + [], + "com.fluidframework.leaf.string", + true, + "d", + [], + "com.fluidframework.leaf.string", + true, + "f", + [], + "com.fluidframework.leaf.string", + true, + "e", + [], + "com.fluidframework.leaf.string", + true, + "y", + [], + "com.fluidframework.leaf.string", + true, + "a", + [], + "com.fluidframework.leaf.string", + true, + "b", + [], + "com.fluidframework.leaf.string", + true, + "c", + [] + ] + ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 9 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 9 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/empty-root-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/empty-root-final.json index 38efb06fefd4..e824ddfb009f 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/empty-root-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/empty-root-final.json @@ -1,159 +1,219 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.number": { - "leaf": 0 + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.number": { + "leaf": 0 + } + }, + "root": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.number" + ] + } + }, + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] + } } - }, - "root": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.number" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 0, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0 + { + "data": { + "maxId": 0, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0 + } + } } - } + ] } - ] - } + } + ], + "revision": 2, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 2, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } - } - }, - "root": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.number" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" } }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "Forest": { - "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } } }, - { - "a": 0 + "root": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.number" + ] } - ], - "data": [] - }, - "version": 1 + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [] + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": -1 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": -1 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/has-handle-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/has-handle-final.json index 1863e6143860..e4feff78c90d 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/has-handle-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/has-handle-final.json @@ -1,221 +1,281 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 2, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 2, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "handleField", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + "fieldChanges": [ + { + "fieldKey": "handleField", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } + } } - } + ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.handle", - true, + [ + [ + 1, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ { - "type": "__fluid_handle__", - "url": "/test/tree-0" + "c": { + "extraFields": 1 + } }, - [] + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.handle", + true, + { + "type": "__fluid_handle__", + "url": "/test/tree-0" + }, + [] + ] + ] ] - ] - ] + } + } } } - } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.handle": { - "kind": { - "leaf": 3 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "has-handle.HandleObject": { - "kind": { - "object": { - "handleField": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.handle" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.handle": { + "kind": { + "leaf": 3 + } + }, + "has-handle.HandleObject": { + "kind": { + "object": { + "handleField": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.handle" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "has-handle.HandleObject" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "has-handle.HandleObject" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "has-handle.HandleObject", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "handleField", + 1, [ - "com.fluidframework.leaf.handle", - true, - { - "type": "__fluid_handle__", - "url": "/test/tree-0" - }, - [] + "has-handle.HandleObject", + false, + [ + "handleField", + [ + "com.fluidframework.leaf.handle", + true, + { + "type": "__fluid_handle__", + "url": "/test/tree-0" + }, + [] + ] + ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 1 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 1 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/insert-and-remove-tree-0-after-insert.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/insert-and-remove-tree-0-after-insert.json index c427f71c8373..5f9bbe033600 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/insert-and-remove-tree-0-after-insert.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/insert-and-remove-tree-0-after-insert.json @@ -1,219 +1,279 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "42", - [] + [ + [ + 0, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "42", + [] + ] + ] + ] + } + } } } - } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, [ - "com.fluidframework.leaf.string", - true, - "42", - [] + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "42", + [] + ] + ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 1 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 1 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/insert-and-remove-tree-0-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/insert-and-remove-tree-0-final.json index 2a2c5459c268..93ee436c3c62 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/insert-and-remove-tree-0-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/insert-and-remove-tree-0-final.json @@ -1,189 +1,249 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 2 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 2 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 5, + "sequenceNumber": 6, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 5, - "sequenceNumber": 6, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-2" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", - false, - [] - ] + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-2" ], - [ - 1, - [ - "com.fluidframework.leaf.string", - true, - "42", - [] + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [] + ] + ], + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "42", + [] + ] + ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 5, - 2, - 2 - ] - ], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ + [ + 5, + 2, + 2 + ] + ], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/insert-and-remove-tree-1-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/insert-and-remove-tree-1-final.json index 4852e36f0099..3af71b5b8b46 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/insert-and-remove-tree-1-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/insert-and-remove-tree-1-final.json @@ -1,197 +1,257 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 2 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 2 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 5, + "sequenceNumber": 6, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 5, - "sequenceNumber": 6, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [ - [ - "8f95be09-8376-4ff7-8755-ccd7e8124b06", - { - "base": 5, - "commits": [] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [ + [ + "8f95be09-8376-4ff7-8755-ccd7e8124b06", + { + "base": 5, + "commits": [] + } + ] + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-2" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", - false, - [] - ] + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-2" ], - [ - 1, - [ - "com.fluidframework.leaf.string", - true, - "42", - [] + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [] + ] + ], + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "42", + [] + ] + ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 5, - 2, - 2 - ] - ], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ + [ + 5, + 2, + 2 + ] + ], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/move-across-fields-tree-0-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/move-across-fields-tree-0-final.json index 3169cd512ec9..6c6c29710bdf 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/move-across-fields-tree-0-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/move-across-fields-tree-0-final.json @@ -1,525 +1,585 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Optional", + "types": [ + "move-across-fields.Node" + ] } }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - } + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] } } - }, - "root": { - "kind": "Optional", - "types": [ - "move-across-fields.Node" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 - } - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ + { + "data": { + "maxId": 1, + "changes": [ { - "c": { - "extraFields": 1 + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "move-across-fields.Node", - false, [ - "foo", [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "a", - [], - "com.fluidframework.leaf.string", - true, - "b", - [], - "com.fluidframework.leaf.string", - true, - "c", - [] - ] - ] - ], - "bar", + 1, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + "move-across-fields.Node", false, [ - "", + "foo", + [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "a", + [], + "com.fluidframework.leaf.string", + true, + "b", + [], + "com.fluidframework.leaf.string", + true, + "c", + [] + ] + ] + ], + "bar", [ - "com.fluidframework.leaf.string", - true, - "d", - [], - "com.fluidframework.leaf.string", - true, - "e", - [], - "com.fluidframework.leaf.string", - true, - "f", - [] + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "d", + [], + "com.fluidframework.leaf.string", + true, + "e", + [], + "com.fluidframework.leaf.string", + true, + "f", + [] + ] + ] ] ] ] ] ] - ] - ] - } - } - } - }, - { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } - }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - } } } - }, - "root": { - "kind": "Value", - "types": [ - "move-across-fields.Node" - ] } }, - "old": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Value", + "types": [ + "move-across-fields.Node" + ] } }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "old": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Optional", + "types": [ + "move-across-fields.Node" + ] } } - }, - "root": { - "kind": "Optional", - "types": [ - "move-across-fields.Node" - ] } } - } - } - ], - "revision": 3, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 3, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 7, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 7, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "foo", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "fieldChanges": [ + { + "fieldKey": "foo", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 2, - "effect": { - "moveOut": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 2, + "effect": { + "moveOut": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] - ] - }, - { - "fieldKey": "bar", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + ] + }, + { + "fieldKey": "bar", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 2, - "effect": { - "moveIn": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 2, + "effect": { + "moveIn": { + "id": 0 + } + }, + "cellId": 2 } - }, - "cellId": 2 + ] } ] } ] - } - ] + ] + } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 } - } - } - }, - "move-across-fields.Node": { - "kind": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "move-across-fields.Node": { + "kind": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "move-across-fields.Node" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "move-across-fields.Node" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "move-across-fields.Node", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "foo", + 1, [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + "move-across-fields.Node", false, [ - "", + "foo", [ - "com.fluidframework.leaf.string", - true, - "a", - [] - ] - ] - ], - "bar", - [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", - false, - [ - "", + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "a", + [] + ] + ] + ], + "bar", [ - "com.fluidframework.leaf.string", - true, - "d", - [], - "com.fluidframework.leaf.string", - true, - "b", - [], - "com.fluidframework.leaf.string", - true, - "c", - [], - "com.fluidframework.leaf.string", - true, - "e", - [], - "com.fluidframework.leaf.string", - true, - "f", - [] + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "d", + [], + "com.fluidframework.leaf.string", + true, + "b", + [], + "com.fluidframework.leaf.string", + true, + "c", + [], + "com.fluidframework.leaf.string", + true, + "e", + [], + "com.fluidframework.leaf.string", + true, + "f", + [] + ] + ] ] ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/nested-sequence-change-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/nested-sequence-change-final.json index e1c8883f490d..e5b71e099539 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/nested-sequence-change-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/nested-sequence-change-final.json @@ -1,246 +1,294 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 0 - } - }, - "cellId": 0, - "changes": { - "fieldChanges": [ - { - "fieldKey": "foo", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 2, - "s": 3 - } + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 0 } + }, + "cellId": 0, + "changes": { + "fieldChanges": [ + { + "fieldKey": "foo", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 2, + "s": 3 + } + } + } + ] } - ] - } + } + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 - ], - [ - 3, - 1 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "test trees.Recursive Map", - false, - [] + [ + [ + 0, + 0 + ], + [ + 3, + 1 + ] + ] ] ], - [ - 1, - [ - "test trees.Array<[\"test trees.Recursive Map\"]>", - false, + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, [ "test trees.Recursive Map", false, + [] + ] + ], + [ + 1, + [ + "test trees.Array<[\"test trees.Recursive Map\"]>", + false, [ - "bar", + "", [ - "test trees.Array<[\"test trees.Recursive Map\"]>", + "test trees.Recursive Map", false, - [] + [ + "bar", + [ + "test trees.Array<[\"test trees.Recursive Map\"]>", + false, + [] + ] + ] ] ] ] ] ] - ] - ] + } + } } } - } + ], + "revision": 6, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 6, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "test trees.Array<[\"test trees.Recursive Map\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "test trees.Recursive Map" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "test trees.Array<[\"test trees.Recursive Map\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "test trees.Recursive Map" + ] + } + } + } + }, + "test trees.Recursive Map": { + "kind": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Array<[\"test trees.Recursive Map\"]>" + ] + } } } + }, + "root": { + "kind": "Value", + "types": [ + "test trees.Array<[\"test trees.Recursive Map\"]>" + ] } }, - "test trees.Recursive Map": { - "kind": { - "map": { - "kind": "Optional", - "types": [ - "test trees.Array<[\"test trees.Recursive Map\"]>" - ] - } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "test trees.Array<[\"test trees.Recursive Map\"]>" - ] + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "test trees.Array<[\"test trees.Recursive Map\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, [ - "test trees.Recursive Map", + "test trees.Array<[\"test trees.Recursive Map\"]>", false, [ - "foo", + "", [ - "test trees.Array<[\"test trees.Recursive Map\"]>", + "test trees.Recursive Map", false, [ - "", + "foo", [ - "test trees.Recursive Map", + "test trees.Array<[\"test trees.Recursive Map\"]>", false, [ - "bar", + "", [ - "test trees.Array<[\"test trees.Recursive Map\"]>", + "test trees.Recursive Map", false, - [] + [ + "bar", + [ + "test trees.Array<[\"test trees.Recursive Map\"]>", + false, + [] + ] + ] ] ] ] @@ -250,35 +298,47 @@ ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/optional-field-scenarios-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/optional-field-scenarios-final.json index 10050a04442c..8a8769c50eb0 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/optional-field-scenarios-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/optional-field-scenarios-final.json @@ -1,579 +1,639 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 2, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 2, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "root 1 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + "fieldChanges": [ + { + "fieldKey": "root 1 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } + } } - } + ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.number", - true, - 40, - [] + [ + [ + 1, + 0 + ] + ] + ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.number", + true, + 40, + [] + ] + ] ] - ] - ] - } - } - } - } - ], - "revision": 515, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ - { - "data": { - "maxId": 4, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 3, - "s": 4 } } } - ], - "builds": { - "builds": [ - [ - [ - [ - 4, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ + } + ], + "revision": 515, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, + { + "change": [ + { + "data": { + "maxId": 4, + "changes": [ { - "c": { - "extraFields": 1 + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 3, + "s": 4 + } } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "optional-field-scenarios.Map", - false, [ - "root 2 child", [ - "com.fluidframework.leaf.number", - true, - 41, - [] + 4, + 0 ] ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "optional-field-scenarios.Map", + false, + [ + "root 2 child", + [ + "com.fluidframework.leaf.number", + true, + 41, + [] + ] + ] + ] + ] + ] + } + } } } - } - } - ], - "revision": 516, - "sequenceNumber": 8, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + ], + "revision": 516, + "sequenceNumber": 8, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 7, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 3, - "s": 4 - }, - "c": [ - [ - [ - 3, - 516 - ], - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 7, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 3, + "s": 4 + }, + "c": [ + [ + [ + 3, + 516 + ], { - "fieldKey": "root 1 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 0, - "s": 1 + "fieldChanges": [ + { + "fieldKey": "root 1 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 0, + "s": 1 + } + } } - } + ] } - ] - } - ], - [ - 4, - { - "fieldChanges": [ + ], + [ + 4, { - "fieldKey": "root 3 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 5, - "s": 6 + "fieldChanges": [ + { + "fieldKey": "root 3 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 5, + "s": 6 + } + } } - } + ] } ] - } - ] - ] - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 - ], - [ - 4, - 1 - ], - [ - 6, - 2 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + ] } - }, - { - "a": 0 } ], - "data": [ - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 42, - [] - ] - ], - [ - 1, + "builds": { + "builds": [ [ - "optional-field-scenarios.Map", - false, - [] + [ + [ + 1, + 0 + ], + [ + 4, + 1 + ], + [ + 6, + 2 + ] + ] ] ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 43, - [] + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.number", + true, + 42, + [] + ] + ], + [ + 1, + [ + "optional-field-scenarios.Map", + false, + [] + ] + ], + [ + 1, + [ + "com.fluidframework.leaf.number", + true, + 43, + [] + ] + ] ] - ] - ] + } + } } } - } - } - ], - "revision": 7, - "sequenceNumber": 10, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 7, + "sequenceNumber": 10, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 7, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "c": [ - [ - null, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 7, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "c": [ + [ + null, { - "fieldKey": "root 3 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 2, - "s": 3 + "fieldChanges": [ + { + "fieldKey": "root 3 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 2, + "s": 3 + } + } } - } + ] } ] - } - ] - ] - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + ] } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.number", - true, - 44, - [] + [ + [ + 3, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.number", + true, + 44, + [] + ] + ] + ] + } + } } } - } + ], + "revision": 8, + "sequenceNumber": 12, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 8, - "sequenceNumber": 12, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": 516, - "commits": [] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", + { + "base": 516, + "commits": [] + } + ] + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } - }, - "optional-field-scenarios.Map": { - "kind": { - "map": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.number", - "com.fluidframework.leaf.string" - ] - } - } - } - }, - "root": { - "kind": "Optional", - "types": [ - "optional-field-scenarios.Map" - ] + "encoding": "utf-8" } }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "Forest": { - "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-6", - "repair-8", - "repair-10", - "repair-11" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "optional-field-scenarios.Map": { + "kind": { + "map": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.number", + "com.fluidframework.leaf.string" + ] + } + } } }, - { - "a": 0 + "root": { + "kind": "Optional", + "types": [ + "optional-field-scenarios.Map" + ] } - ], - "data": [ - [ - 1, - [ - "optional-field-scenarios.Map", - false, + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-6", + "repair-8", + "repair-10", + "repair-11" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "root 3 child", + 1, [ - "com.fluidframework.leaf.number", - true, - 44, - [] + "optional-field-scenarios.Map", + false, + [ + "root 3 child", + [ + "com.fluidframework.leaf.number", + true, + 44, + [] + ] + ] ] - ] - ] - ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 43, - [] - ] - ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 40, - [] - ] - ], - [ - 1, - [ - "optional-field-scenarios.Map", - false, + ], [ - "root 1 child", + 1, [ "com.fluidframework.leaf.number", true, - 42, + 43, [] ] - ] - ] - ], - [ - 1, - [ - "optional-field-scenarios.Map", - false, + ], [ - "root 2 child", + 1, [ "com.fluidframework.leaf.number", true, - 41, + 40, [] ] + ], + [ + 1, + [ + "optional-field-scenarios.Map", + false, + [ + "root 1 child", + [ + "com.fluidframework.leaf.number", + true, + 42, + [] + ] + ] + ] + ], + [ + 1, + [ + "optional-field-scenarios.Map", + false, + [ + "root 2 child", + [ + "com.fluidframework.leaf.number", + true, + 41, + [] + ] + ] + ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 7, - [ + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ + [ + 7, + [ + [ + 0, + 8 + ], + [ + 3, + 11 + ] + ] + ], [ - 0, - 8 + 8, + 2, + 6 ], [ + 516, 3, - 11 + 10 ] - ] - ], - [ - 8, - 2, - 6 - ], - [ - 516, - 3, - 10 - ] - ], - "maxId": 11 - }, - "encoding": "utf-8" - } + ], + "maxId": 11 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/tree-with-identifier-field-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/tree-with-identifier-field-final.json index c9ff98ea9382..6e2fd1a33b7c 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/tree-with-identifier-field-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_52/tree-with-identifier-field-final.json @@ -1,297 +1,357 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" - ] + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 } + }, + "root": { + "kind": "Optional", + "types": [ + "com.example.parent" + ] } }, - "com.fluidframework.leaf.string": { - "leaf": 1 - } - }, - "root": { - "kind": "Optional", - "types": [ - "com.example.parent" - ] - } - }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] } } } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 - ] - ] - ] - ], - "trees": { - "version": 1, - "identifiers": [], - "shapes": [ + }, + { + "data": { + "maxId": 1, + "changes": [ { - "c": { - "extraFields": 1 + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.example.parent", - false, [ - "identifier", [ - "com.fluidframework.leaf.string", - true, - "8f95be09-8376-4ff7-8755-ccd7e8124b06", - [] + 1, + 0 ] ] ] - ] - ] - } - } - } - }, - { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" + ], + "trees": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.example.parent", + false, + [ + "identifier", + [ + "com.fluidframework.leaf.string", + true, + "8f95be09-8376-4ff7-8755-ccd7e8124b06", + [] + ] + ] + ] ] - } + ] } - }, - "com.fluidframework.leaf.string": { - "leaf": 1 } - }, - "root": { - "kind": "Value", - "types": [ - "com.example.parent" - ] } }, - "old": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" - ] + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 } + }, + "root": { + "kind": "Value", + "types": [ + "com.example.parent" + ] } }, - "com.fluidframework.leaf.string": { - "leaf": 1 + "old": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 + } + }, + "root": { + "kind": "Optional", + "types": [ + "com.example.parent" + ] + } } - }, - "root": { - "kind": "Optional", - "types": [ - "com.example.parent" - ] } } - } + ], + "revision": 4, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.example.parent": { - "kind": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.example.parent": { + "kind": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 } } + }, + "root": { + "kind": "Value", + "types": [ + "com.example.parent" + ] } }, - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } - } - }, - "root": { - "kind": "Value", - "types": [ - "com.example.parent" - ] + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 1, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "com.example.parent", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 1, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "identifier", + 1, [ - "com.fluidframework.leaf.string", - true, - "8f95be09-8376-4ff7-8755-ccd7e8124b06", - [] + "com.example.parent", + false, + [ + "identifier", + [ + "com.fluidframework.leaf.string", + true, + "8f95be09-8376-4ff7-8755-ccd7e8124b06", + [] + ] + ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 0 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 0 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/attachment-tree-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/attachment-tree-final.json index 1a7ab7143f40..3e3ba416e8d5 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/attachment-tree-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/attachment-tree-final.json @@ -1,143 +1,203 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [], - "branches": [], - "version": 4 + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [], + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 } } + }, + "root": { + "kind": "Value", + "types": [ + "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>" + ] } }, - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } - } - }, - "root": { - "kind": "Value", - "types": [ - "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, [ - "com.fluidframework.leaf.string", - true, - "a", - [], - "com.fluidframework.leaf.string", - true, - "b", - [] + "attachment-tree.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "a", + [], + "com.fluidframework.leaf.string", + true, + "b", + [] + ] + ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/competing-removes-index-0.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/competing-removes-index-0.json index ca6e5b7178b0..3bd61c0f7617 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/competing-removes-index-0.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/competing-removes-index-0.json @@ -1,392 +1,452 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, + [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.number", + true, + 1, + [], + "com.fluidframework.leaf.number", + true, + 2, + [], + "com.fluidframework.leaf.number", + true, + 3, + [] + ] + ] + ] + ], + [ + 1, [ "com.fluidframework.leaf.number", true, - 1, - [], - "com.fluidframework.leaf.number", - true, - 2, - [], - "com.fluidframework.leaf.number", - true, - 3, + 0, [] ] ] ] - ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 0, - [] - ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ + [ + 1029, + 0, + 3 + ] + ], + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/competing-removes-index-1.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/competing-removes-index-1.json index 620a5c2a2a20..27dc6292bad6 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/competing-removes-index-1.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/competing-removes-index-1.json @@ -1,407 +1,467 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, + [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.number", + true, + 0, + [], + "com.fluidframework.leaf.number", + true, + 2, + [], + "com.fluidframework.leaf.number", + true, + 3, + [] + ] + ] + ] + ], + [ + 1, [ "com.fluidframework.leaf.number", true, - 0, - [], - "com.fluidframework.leaf.number", - true, - 2, - [], - "com.fluidframework.leaf.number", - true, - 3, + 1, [] ] ] ] - ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 1, - [] - ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ + [ + 1029, + 0, + 3 + ] + ], + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/competing-removes-index-2.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/competing-removes-index-2.json index 96278e605304..b5147216b25d 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/competing-removes-index-2.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/competing-removes-index-2.json @@ -1,407 +1,467 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, + [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.number", + true, + 0, + [], + "com.fluidframework.leaf.number", + true, + 1, + [], + "com.fluidframework.leaf.number", + true, + 3, + [] + ] + ] + ] + ], + [ + 1, [ "com.fluidframework.leaf.number", true, - 0, - [], - "com.fluidframework.leaf.number", - true, - 1, - [], - "com.fluidframework.leaf.number", - true, - 3, + 2, [] ] ] ] - ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 2, - [] - ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ + [ + 1029, + 0, + 3 + ] + ], + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/competing-removes-index-3.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/competing-removes-index-3.json index a8a97e8f01fb..77a6c4eaf3c3 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/competing-removes-index-3.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/competing-removes-index-3.json @@ -1,407 +1,467 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 4 + ] } - }, - "cellId": [ - 0, - 4 ] } ] } ] - } - ] + ] + } ] } - ] - } - } - ], - "revision": 516, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + } + ], + "revision": 516, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + }, + "cellId": [ + 0, + 516 + ] } - }, - "cellId": [ - 0, - 516 ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sequenceNumber": 8, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } ], - "revision": 1029, - "sequenceNumber": 8, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": "root", - "commits": [ + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 516, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" } - ], - "revision": 516, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + ] } - ] - } - ], - [ - "5a126183-91e7-488a-b7e9-3342a05c25ae", - { - "base": "root", - "commits": [ + ], + [ + "5a126183-91e7-488a-b7e9-3342a05c25ae", { - "change": [ + "base": "root", + "commits": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "remove": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "remove": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 1029, + "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" } - ], - "revision": 1029, - "sessionId": "5a126183-91e7-488a-b7e9-3342a05c25ae" + ] } ] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.number" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.number" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-3" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-3" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, + [ + "competing-removes.Array<[\"com.fluidframework.leaf.number\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.number", + true, + 0, + [], + "com.fluidframework.leaf.number", + true, + 1, + [], + "com.fluidframework.leaf.number", + true, + 2, + [] + ] + ] + ] + ], + [ + 1, [ "com.fluidframework.leaf.number", true, - 0, - [], - "com.fluidframework.leaf.number", - true, - 1, - [], - "com.fluidframework.leaf.number", - true, - 2, + 3, [] ] ] ] - ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 3, - [] - ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 1029, - 0, - 3 - ] - ], - "maxId": 3 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ + [ + 1029, + 0, + 3 + ] + ], + "maxId": 3 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/complete-3x3-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/complete-3x3-final.json index d76493c6bb1d..1f1436208653 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/complete-3x3-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/complete-3x3-final.json @@ -1,32 +1,73 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "test trees.Recursive Map": { - "map": { + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "root": { "kind": "Optional", "types": [ "test trees.Recursive Map", @@ -34,83 +75,59 @@ ] } }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] } } - }, - "root": { - "kind": "Optional", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 - } - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 - ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ + { + "data": { + "maxId": 1, + "changes": [ { - "c": { - "extraFields": 1 + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "test trees.Recursive Map", - false, [ - "FieldA", + [ + 1, + 0 + ] + ] + ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, [ "test trees.Recursive Map", false, @@ -122,293 +139,220 @@ [ "FieldA", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "1", - [], - "com.fluidframework.leaf.string", - true, - "2", - [], - "com.fluidframework.leaf.string", - true, - "3", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "4", - [], - "com.fluidframework.leaf.string", - true, - "5", - [], - "com.fluidframework.leaf.string", - true, - "6", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "1", + [], + "com.fluidframework.leaf.string", + true, + "2", + [], + "com.fluidframework.leaf.string", + true, + "3", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "7", - [], - "com.fluidframework.leaf.string", - true, - "8", - [], - "com.fluidframework.leaf.string", - true, - "9", - [] - ] - ] - ] - ] - ], - "FieldB", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "4", + [], + "com.fluidframework.leaf.string", + true, + "5", + [], + "com.fluidframework.leaf.string", + true, + "6", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "10", - [], - "com.fluidframework.leaf.string", - true, - "11", - [], - "com.fluidframework.leaf.string", - true, - "12", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "7", + [], + "com.fluidframework.leaf.string", + true, + "8", + [], + "com.fluidframework.leaf.string", + true, + "9", + [] + ] + ] ] ] ], "FieldB", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "13", - [], - "com.fluidframework.leaf.string", - true, - "14", - [], - "com.fluidframework.leaf.string", - true, - "15", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "16", - [], - "com.fluidframework.leaf.string", - true, - "17", - [], - "com.fluidframework.leaf.string", - true, - "18", - [] - ] - ] - ] - ] - ], - "FieldC", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "10", + [], + "com.fluidframework.leaf.string", + true, + "11", + [], + "com.fluidframework.leaf.string", + true, + "12", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "19", - [], - "com.fluidframework.leaf.string", - true, - "20", - [], - "com.fluidframework.leaf.string", - true, - "21", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "13", + [], + "com.fluidframework.leaf.string", + true, + "14", + [], + "com.fluidframework.leaf.string", + true, + "15", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "22", - [], - "com.fluidframework.leaf.string", - true, - "23", - [], - "com.fluidframework.leaf.string", - true, - "24", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "16", + [], + "com.fluidframework.leaf.string", + true, + "17", + [], + "com.fluidframework.leaf.string", + true, + "18", + [] + ] + ] ] ] ], "FieldC", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "25", - [], - "com.fluidframework.leaf.string", - true, - "26", - [], - "com.fluidframework.leaf.string", - true, - "27", - [] - ] - ] - ] - ] - ] - ] - ], - "FieldB", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "28", - [], - "com.fluidframework.leaf.string", - true, - "29", - [], - "com.fluidframework.leaf.string", - true, - "30", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "19", + [], + "com.fluidframework.leaf.string", + true, + "20", + [], + "com.fluidframework.leaf.string", + true, + "21", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "31", - [], - "com.fluidframework.leaf.string", - true, - "32", - [], - "com.fluidframework.leaf.string", - true, - "33", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "22", + [], + "com.fluidframework.leaf.string", + true, + "23", + [], + "com.fluidframework.leaf.string", + true, + "24", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "34", - [], - "com.fluidframework.leaf.string", - true, - "35", - [], - "com.fluidframework.leaf.string", - true, - "36", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "25", + [], + "com.fluidframework.leaf.string", + true, + "26", + [], + "com.fluidframework.leaf.string", + true, + "27", + [] + ] + ] ] ] ] @@ -421,293 +365,220 @@ [ "FieldA", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "37", - [], - "com.fluidframework.leaf.string", - true, - "38", - [], - "com.fluidframework.leaf.string", - true, - "39", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "40", - [], - "com.fluidframework.leaf.string", - true, - "41", - [], - "com.fluidframework.leaf.string", - true, - "42", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "28", + [], + "com.fluidframework.leaf.string", + true, + "29", + [], + "com.fluidframework.leaf.string", + true, + "30", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "43", - [], - "com.fluidframework.leaf.string", - true, - "44", - [], - "com.fluidframework.leaf.string", - true, - "45", - [] - ] - ] - ] - ] - ], - "FieldC", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "31", + [], + "com.fluidframework.leaf.string", + true, + "32", + [], + "com.fluidframework.leaf.string", + true, + "33", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "46", - [], - "com.fluidframework.leaf.string", - true, - "47", - [], - "com.fluidframework.leaf.string", - true, - "48", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "34", + [], + "com.fluidframework.leaf.string", + true, + "35", + [], + "com.fluidframework.leaf.string", + true, + "36", + [] + ] + ] ] ] ], "FieldB", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "49", - [], - "com.fluidframework.leaf.string", - true, - "50", - [], - "com.fluidframework.leaf.string", - true, - "51", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "52", - [], - "com.fluidframework.leaf.string", - true, - "53", - [], - "com.fluidframework.leaf.string", - true, - "54", - [] - ] - ] - ] - ] - ] - ] - ], - "FieldC", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "37", + [], + "com.fluidframework.leaf.string", + true, + "38", + [], + "com.fluidframework.leaf.string", + true, + "39", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "55", - [], - "com.fluidframework.leaf.string", - true, - "56", - [], - "com.fluidframework.leaf.string", - true, - "57", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "40", + [], + "com.fluidframework.leaf.string", + true, + "41", + [], + "com.fluidframework.leaf.string", + true, + "42", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "58", - [], - "com.fluidframework.leaf.string", - true, - "59", - [], - "com.fluidframework.leaf.string", - true, - "60", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "43", + [], + "com.fluidframework.leaf.string", + true, + "44", + [], + "com.fluidframework.leaf.string", + true, + "45", + [] + ] + ] ] ] ], "FieldC", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "61", - [], - "com.fluidframework.leaf.string", - true, - "62", - [], - "com.fluidframework.leaf.string", - true, - "63", - [] - ] - ] - ] - ] - ], - "FieldB", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "64", - [], - "com.fluidframework.leaf.string", - true, - "65", - [], - "com.fluidframework.leaf.string", - true, - "66", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "46", + [], + "com.fluidframework.leaf.string", + true, + "47", + [], + "com.fluidframework.leaf.string", + true, + "48", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "67", - [], - "com.fluidframework.leaf.string", - true, - "68", - [], - "com.fluidframework.leaf.string", - true, - "69", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "49", + [], + "com.fluidframework.leaf.string", + true, + "50", + [], + "com.fluidframework.leaf.string", + true, + "51", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "70", - [], - "com.fluidframework.leaf.string", - true, - "71", - [], - "com.fluidframework.leaf.string", - true, - "72", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "52", + [], + "com.fluidframework.leaf.string", + true, + "53", + [], + "com.fluidframework.leaf.string", + true, + "54", + [] + ] + ] ] ] ] @@ -720,67 +591,220 @@ [ "FieldA", [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "55", + [], + "com.fluidframework.leaf.string", + true, + "56", + [], + "com.fluidframework.leaf.string", + true, + "57", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "73", - [], - "com.fluidframework.leaf.string", - true, - "74", - [], - "com.fluidframework.leaf.string", - true, - "75", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "58", + [], + "com.fluidframework.leaf.string", + true, + "59", + [], + "com.fluidframework.leaf.string", + true, + "60", + [] + ] + ] + ], + "FieldC", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "61", + [], + "com.fluidframework.leaf.string", + true, + "62", + [], + "com.fluidframework.leaf.string", + true, + "63", + [] + ] + ] ] ] ], "FieldB", [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "64", + [], + "com.fluidframework.leaf.string", + true, + "65", + [], + "com.fluidframework.leaf.string", + true, + "66", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "76", - [], - "com.fluidframework.leaf.string", - true, - "77", - [], - "com.fluidframework.leaf.string", - true, - "78", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "67", + [], + "com.fluidframework.leaf.string", + true, + "68", + [], + "com.fluidframework.leaf.string", + true, + "69", + [] + ] + ] + ], + "FieldC", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "70", + [], + "com.fluidframework.leaf.string", + true, + "71", + [], + "com.fluidframework.leaf.string", + true, + "72", + [] + ] + ] ] ] ], "FieldC", [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "73", + [], + "com.fluidframework.leaf.string", + true, + "74", + [], + "com.fluidframework.leaf.string", + true, + "75", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "79", - [], - "com.fluidframework.leaf.string", - true, - "80", - [], - "com.fluidframework.leaf.string", - true, - "81", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "76", + [], + "com.fluidframework.leaf.string", + true, + "77", + [], + "com.fluidframework.leaf.string", + true, + "78", + [] + ] + ] + ], + "FieldC", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "79", + [], + "com.fluidframework.leaf.string", + true, + "80", + [], + "com.fluidframework.leaf.string", + true, + "81", + [] + ] + ] ] ] ] @@ -790,184 +814,201 @@ ] ] ] - ] - ] + } + } } - } - } - }, - { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "test trees.Recursive Map": { - "map": { - "kind": "Optional", + }, + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "root": { + "kind": "Value", "types": [ "test trees.Recursive Map", "test trees.String Array" ] } }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "old": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "test trees.Recursive Map": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + }, + "test trees.String Array": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] - } - }, - "old": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "test trees.Recursive Map": { - "map": { + }, + "root": { "kind": "Optional", "types": [ "test trees.Recursive Map", "test trees.String Array" ] } - }, - "test trees.String Array": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } } - }, - "root": { - "kind": "Optional", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] } } - } + ], + "revision": 3, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 3, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "test trees.Recursive Map": { - "kind": { - "map": { - "kind": "Optional", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] - } - } - }, - "test trees.String Array": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "test trees.Recursive Map": { + "kind": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] + } + } + }, + "test trees.String Array": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "test trees.Recursive Map", + "test trees.String Array" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "test trees.Recursive Map", - "test trees.String Array" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "test trees.Recursive Map", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "FieldA", + 1, [ "test trees.Recursive Map", false, @@ -979,293 +1020,220 @@ [ "FieldA", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "1", - [], - "com.fluidframework.leaf.string", - true, - "2", - [], - "com.fluidframework.leaf.string", - true, - "3", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "4", - [], - "com.fluidframework.leaf.string", - true, - "5", - [], - "com.fluidframework.leaf.string", - true, - "6", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "1", + [], + "com.fluidframework.leaf.string", + true, + "2", + [], + "com.fluidframework.leaf.string", + true, + "3", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "7", - [], - "com.fluidframework.leaf.string", - true, - "8", - [], - "com.fluidframework.leaf.string", - true, - "9", - [] - ] - ] - ] - ] - ], - "FieldB", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "4", + [], + "com.fluidframework.leaf.string", + true, + "5", + [], + "com.fluidframework.leaf.string", + true, + "6", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "10", - [], - "com.fluidframework.leaf.string", - true, - "11", - [], - "com.fluidframework.leaf.string", - true, - "12", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "7", + [], + "com.fluidframework.leaf.string", + true, + "8", + [], + "com.fluidframework.leaf.string", + true, + "9", + [] + ] + ] ] ] ], "FieldB", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "13", - [], - "com.fluidframework.leaf.string", - true, - "14", - [], - "com.fluidframework.leaf.string", - true, - "15", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "16", - [], - "com.fluidframework.leaf.string", - true, - "17", - [], - "com.fluidframework.leaf.string", - true, - "18", - [] - ] - ] - ] - ] - ], - "FieldC", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "10", + [], + "com.fluidframework.leaf.string", + true, + "11", + [], + "com.fluidframework.leaf.string", + true, + "12", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "19", - [], - "com.fluidframework.leaf.string", - true, - "20", - [], - "com.fluidframework.leaf.string", - true, - "21", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "13", + [], + "com.fluidframework.leaf.string", + true, + "14", + [], + "com.fluidframework.leaf.string", + true, + "15", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "22", - [], - "com.fluidframework.leaf.string", - true, - "23", - [], - "com.fluidframework.leaf.string", - true, - "24", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "16", + [], + "com.fluidframework.leaf.string", + true, + "17", + [], + "com.fluidframework.leaf.string", + true, + "18", + [] + ] + ] ] ] ], "FieldC", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "25", - [], - "com.fluidframework.leaf.string", - true, - "26", - [], - "com.fluidframework.leaf.string", - true, - "27", - [] - ] - ] - ] - ] - ] - ] - ], - "FieldB", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "28", - [], - "com.fluidframework.leaf.string", - true, - "29", - [], - "com.fluidframework.leaf.string", - true, - "30", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "19", + [], + "com.fluidframework.leaf.string", + true, + "20", + [], + "com.fluidframework.leaf.string", + true, + "21", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "31", - [], - "com.fluidframework.leaf.string", - true, - "32", - [], - "com.fluidframework.leaf.string", - true, - "33", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "22", + [], + "com.fluidframework.leaf.string", + true, + "23", + [], + "com.fluidframework.leaf.string", + true, + "24", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "34", - [], - "com.fluidframework.leaf.string", - true, - "35", - [], - "com.fluidframework.leaf.string", - true, - "36", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "25", + [], + "com.fluidframework.leaf.string", + true, + "26", + [], + "com.fluidframework.leaf.string", + true, + "27", + [] + ] + ] ] ] ] @@ -1278,293 +1246,220 @@ [ "FieldA", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "37", - [], - "com.fluidframework.leaf.string", - true, - "38", - [], - "com.fluidframework.leaf.string", - true, - "39", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "40", - [], - "com.fluidframework.leaf.string", - true, - "41", - [], - "com.fluidframework.leaf.string", - true, - "42", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "28", + [], + "com.fluidframework.leaf.string", + true, + "29", + [], + "com.fluidframework.leaf.string", + true, + "30", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "43", - [], - "com.fluidframework.leaf.string", - true, - "44", - [], - "com.fluidframework.leaf.string", - true, - "45", - [] - ] - ] - ] - ] - ], - "FieldC", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "31", + [], + "com.fluidframework.leaf.string", + true, + "32", + [], + "com.fluidframework.leaf.string", + true, + "33", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "46", - [], - "com.fluidframework.leaf.string", - true, - "47", - [], - "com.fluidframework.leaf.string", - true, - "48", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "34", + [], + "com.fluidframework.leaf.string", + true, + "35", + [], + "com.fluidframework.leaf.string", + true, + "36", + [] + ] + ] ] ] ], "FieldB", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "49", - [], - "com.fluidframework.leaf.string", - true, - "50", - [], - "com.fluidframework.leaf.string", - true, - "51", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "52", - [], - "com.fluidframework.leaf.string", - true, - "53", - [], - "com.fluidframework.leaf.string", - true, - "54", - [] - ] - ] - ] - ] - ] - ] - ], - "FieldC", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "37", + [], + "com.fluidframework.leaf.string", + true, + "38", + [], + "com.fluidframework.leaf.string", + true, + "39", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "55", - [], - "com.fluidframework.leaf.string", - true, - "56", - [], - "com.fluidframework.leaf.string", - true, - "57", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "40", + [], + "com.fluidframework.leaf.string", + true, + "41", + [], + "com.fluidframework.leaf.string", + true, + "42", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "58", - [], - "com.fluidframework.leaf.string", - true, - "59", - [], - "com.fluidframework.leaf.string", - true, - "60", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "43", + [], + "com.fluidframework.leaf.string", + true, + "44", + [], + "com.fluidframework.leaf.string", + true, + "45", + [] + ] + ] ] ] ], "FieldC", [ - "test trees.String Array", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "61", - [], - "com.fluidframework.leaf.string", - true, - "62", - [], - "com.fluidframework.leaf.string", - true, - "63", - [] - ] - ] - ] - ] - ], - "FieldB", - [ - "test trees.Recursive Map", - false, - [ - "FieldA", - [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "64", - [], - "com.fluidframework.leaf.string", - true, - "65", - [], - "com.fluidframework.leaf.string", - true, - "66", - [] - ] - ] - ], - "FieldB", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "46", + [], + "com.fluidframework.leaf.string", + true, + "47", + [], + "com.fluidframework.leaf.string", + true, + "48", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "67", - [], - "com.fluidframework.leaf.string", - true, - "68", - [], - "com.fluidframework.leaf.string", - true, - "69", - [] - ] - ] - ], - "FieldC", - [ - "test trees.String Array", - false, - [ - "", + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "49", + [], + "com.fluidframework.leaf.string", + true, + "50", + [], + "com.fluidframework.leaf.string", + true, + "51", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "70", - [], - "com.fluidframework.leaf.string", - true, - "71", - [], - "com.fluidframework.leaf.string", - true, - "72", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "52", + [], + "com.fluidframework.leaf.string", + true, + "53", + [], + "com.fluidframework.leaf.string", + true, + "54", + [] + ] + ] ] ] ] @@ -1577,67 +1472,220 @@ [ "FieldA", [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "55", + [], + "com.fluidframework.leaf.string", + true, + "56", + [], + "com.fluidframework.leaf.string", + true, + "57", + [] + ] + ] + ], + "FieldB", [ - "com.fluidframework.leaf.string", - true, - "73", - [], - "com.fluidframework.leaf.string", - true, - "74", - [], - "com.fluidframework.leaf.string", - true, - "75", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "58", + [], + "com.fluidframework.leaf.string", + true, + "59", + [], + "com.fluidframework.leaf.string", + true, + "60", + [] + ] + ] + ], + "FieldC", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "61", + [], + "com.fluidframework.leaf.string", + true, + "62", + [], + "com.fluidframework.leaf.string", + true, + "63", + [] + ] + ] ] ] ], "FieldB", [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "64", + [], + "com.fluidframework.leaf.string", + true, + "65", + [], + "com.fluidframework.leaf.string", + true, + "66", + [] + ] + ] + ], + "FieldB", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "67", + [], + "com.fluidframework.leaf.string", + true, + "68", + [], + "com.fluidframework.leaf.string", + true, + "69", + [] + ] + ] + ], + "FieldC", [ - "com.fluidframework.leaf.string", - true, - "76", - [], - "com.fluidframework.leaf.string", - true, - "77", - [], - "com.fluidframework.leaf.string", - true, - "78", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "70", + [], + "com.fluidframework.leaf.string", + true, + "71", + [], + "com.fluidframework.leaf.string", + true, + "72", + [] + ] + ] ] ] ], "FieldC", [ - "test trees.String Array", + "test trees.Recursive Map", false, [ - "", + "FieldA", [ - "com.fluidframework.leaf.string", - true, - "79", - [], - "com.fluidframework.leaf.string", - true, - "80", - [], - "com.fluidframework.leaf.string", - true, - "81", - [] + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "73", + [], + "com.fluidframework.leaf.string", + true, + "74", + [], + "com.fluidframework.leaf.string", + true, + "75", + [] + ] + ] + ], + "FieldB", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "76", + [], + "com.fluidframework.leaf.string", + true, + "77", + [], + "com.fluidframework.leaf.string", + true, + "78", + [] + ] + ] + ], + "FieldC", + [ + "test trees.String Array", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "79", + [], + "com.fluidframework.leaf.string", + true, + "80", + [], + "com.fluidframework.leaf.string", + true, + "81", + [] + ] + ] ] ] ] @@ -1647,35 +1695,47 @@ ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 0 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 0 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/concurrent-inserts-tree2.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/concurrent-inserts-tree2.json index 9c2ffeb3f518..53d443319cb3 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/concurrent-inserts-tree2.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/concurrent-inserts-tree2.json @@ -1,482 +1,542 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "y", - [] + [ + [ + 0, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "y", + [] + ] + ] + ] + } + } } } - } - } - ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 2 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 2 + } + }, + "cellId": 2 } - }, - "cellId": 2 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 2, - 0 ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "x", - [] + [ + [ + 2, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "x", + [] + ] + ] + ] + } + } } } - } - } - ], - "revision": 5, - "sequenceNumber": 6, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 5, + "sequenceNumber": 6, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 2 - }, - { - "count": 2, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 2, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "a", - [], - "com.fluidframework.leaf.string", - true, - "c", - [] + [ + [ + 0, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "a", + [], + "com.fluidframework.leaf.string", + true, + "c", + [] + ] + ] + ] + } + } } } - } - } - ], - "revision": 6, - "sequenceNumber": 8, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 6, + "sequenceNumber": 8, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 4, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 4, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 3 - }, - { - "count": 1, - "effect": { - "insert": { - "id": 3 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "insert": { + "id": 3 + } + }, + "cellId": 3 } - }, - "cellId": 3 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "b", - [] + [ + [ + 3, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "b", + [] + ] + ] + ] + } + } } } - } + ], + "revision": 7, + "sequenceNumber": 9, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 7, - "sequenceNumber": 9, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, [ - "com.fluidframework.leaf.string", - true, - "x", - [], - "com.fluidframework.leaf.string", - true, - "y", - [], - "com.fluidframework.leaf.string", - true, - "a", - [], - "com.fluidframework.leaf.string", - true, - "b", - [], - "com.fluidframework.leaf.string", - true, - "c", - [] + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "x", + [], + "com.fluidframework.leaf.string", + true, + "y", + [], + "com.fluidframework.leaf.string", + true, + "a", + [], + "com.fluidframework.leaf.string", + true, + "b", + [], + "com.fluidframework.leaf.string", + true, + "c", + [] + ] + ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 5 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 5 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/concurrent-inserts-tree3.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/concurrent-inserts-tree3.json index f343f4d1430f..b78d0f47b7ca 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/concurrent-inserts-tree3.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/concurrent-inserts-tree3.json @@ -1,501 +1,561 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 4, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 4, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 3 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "insert": { + "id": 3 + } + }, + "cellId": 3 } - }, - "cellId": 3 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "b", - [] + [ + [ + 3, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "b", + [] + ] + ] + ] + } + } } } - } - } - ], - "revision": 7, - "sequenceNumber": 9, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 7, + "sequenceNumber": 9, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 4 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 4 + } + }, + "cellId": 4 } - }, - "cellId": 4 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 4, - 0 ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "z", - [] + [ + [ + 4, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "z", + [] + ] + ] + ] + } + } } } - } - } - ], - "revision": 10, - "sequenceNumber": 11, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 10, + "sequenceNumber": 11, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 2 - }, + "fieldChanges": [ { - "count": 2, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 2 + }, + { + "count": 2, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "d", - [], - "com.fluidframework.leaf.string", - true, - "e", - [] + [ + [ + 0, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "d", + [], + "com.fluidframework.leaf.string", + true, + "e", + [] + ] + ] + ] + } + } } } - } - } - ], - "revision": 11, - "sequenceNumber": 13, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 11, + "sequenceNumber": 13, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 3 - }, + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 3 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 3 + }, + { + "count": 1, + "effect": { + "insert": { + "id": 3 + } + }, + "cellId": 3 } - }, - "cellId": 3 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "f", - [] + [ + [ + 3, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "f", + [] + ] + ] + ] + } + } } } - } + ], + "revision": 12, + "sequenceNumber": 14, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 12, - "sequenceNumber": 14, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, [ - "com.fluidframework.leaf.string", - true, - "z", - [], - "com.fluidframework.leaf.string", - true, - "x", - [], - "com.fluidframework.leaf.string", - true, - "d", - [], - "com.fluidframework.leaf.string", - true, - "f", - [], - "com.fluidframework.leaf.string", - true, - "e", - [], - "com.fluidframework.leaf.string", - true, - "y", - [], - "com.fluidframework.leaf.string", - true, - "a", - [], - "com.fluidframework.leaf.string", - true, - "b", - [], - "com.fluidframework.leaf.string", - true, - "c", - [] + "concurrent-inserts.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "z", + [], + "com.fluidframework.leaf.string", + true, + "x", + [], + "com.fluidframework.leaf.string", + true, + "d", + [], + "com.fluidframework.leaf.string", + true, + "f", + [], + "com.fluidframework.leaf.string", + true, + "e", + [], + "com.fluidframework.leaf.string", + true, + "y", + [], + "com.fluidframework.leaf.string", + true, + "a", + [], + "com.fluidframework.leaf.string", + true, + "b", + [], + "com.fluidframework.leaf.string", + true, + "c", + [] + ] + ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 9 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 9 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/empty-root-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/empty-root-final.json index 6e67f0f0d094..8a7a5a3ea30b 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/empty-root-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/empty-root-final.json @@ -1,159 +1,219 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.number": { - "leaf": 0 + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.number": { + "leaf": 0 + } + }, + "root": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.number" + ] + } + }, + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] + } } - }, - "root": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.number" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 0, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0 + { + "data": { + "maxId": 0, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0 + } + } } - } + ] } - ] - } + } + ], + "revision": 2, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 2, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } - } - }, - "root": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.number" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" } }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "Forest": { - "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } } }, - { - "a": 0 + "root": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.number" + ] } - ], - "data": [] - }, - "version": 1 + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [] + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": -1 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": -1 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/has-handle-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/has-handle-final.json index 36332987d9af..d870224611b7 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/has-handle-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/has-handle-final.json @@ -1,221 +1,281 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 2, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 2, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "handleField", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + "fieldChanges": [ + { + "fieldKey": "handleField", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } + } } - } + ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.handle", - true, + [ + [ + 1, + 0 + ] + ] + ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ { - "type": "__fluid_handle__", - "url": "/test/tree-0" + "c": { + "extraFields": 1 + } }, - [] + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.handle", + true, + { + "type": "__fluid_handle__", + "url": "/test/tree-0" + }, + [] + ] + ] ] - ] - ] + } + } } } - } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.handle": { - "kind": { - "leaf": 3 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "has-handle.HandleObject": { - "kind": { - "object": { - "handleField": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.handle" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.handle": { + "kind": { + "leaf": 3 + } + }, + "has-handle.HandleObject": { + "kind": { + "object": { + "handleField": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.handle" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "has-handle.HandleObject" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "has-handle.HandleObject" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "has-handle.HandleObject", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "handleField", + 1, [ - "com.fluidframework.leaf.handle", - true, - { - "type": "__fluid_handle__", - "url": "/test/tree-0" - }, - [] + "has-handle.HandleObject", + false, + [ + "handleField", + [ + "com.fluidframework.leaf.handle", + true, + { + "type": "__fluid_handle__", + "url": "/test/tree-0" + }, + [] + ] + ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 1 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 1 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/insert-and-remove-tree-0-after-insert.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/insert-and-remove-tree-0-after-insert.json index dd781e4d8f19..c5c3bc9da5ba 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/insert-and-remove-tree-0-after-insert.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/insert-and-remove-tree-0-after-insert.json @@ -1,219 +1,279 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 1, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 0 + } + }, + "cellId": 0 } - }, - "cellId": 0 + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.string", - true, - "42", - [] + [ + [ + 0, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "42", + [] + ] + ] + ] + } + } } } - } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, [ - "com.fluidframework.leaf.string", - true, - "42", - [] + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "42", + [] + ] + ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 1 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 1 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/insert-and-remove-tree-0-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/insert-and-remove-tree-0-final.json index 9849b4b46b68..4a03ff452bab 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/insert-and-remove-tree-0-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/insert-and-remove-tree-0-final.json @@ -1,189 +1,249 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 2 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 2 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 5, + "sequenceNumber": 6, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 5, - "sequenceNumber": 6, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-2" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", - false, - [] - ] + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-2" ], - [ - 1, - [ - "com.fluidframework.leaf.string", - true, - "42", - [] + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [] + ] + ], + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "42", + [] + ] + ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 5, - 2, - 2 - ] - ], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ + [ + 5, + 2, + 2 + ] + ], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/insert-and-remove-tree-1-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/insert-and-remove-tree-1-final.json index e2a5fbcbf0f2..b726e6082860 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/insert-and-remove-tree-1-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/insert-and-remove-tree-1-final.json @@ -1,197 +1,257 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 3, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 3, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "remove": { - "id": 2 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "remove": { + "id": 2 + } + } } - } + ] } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 5, + "sequenceNumber": 6, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 5, - "sequenceNumber": 6, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [ - [ - "8f95be09-8376-4ff7-8755-ccd7e8124b06", - { - "base": 5, - "commits": [] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [ + [ + "8f95be09-8376-4ff7-8755-ccd7e8124b06", + { + "base": 5, + "commits": [] + } + ] + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-2" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", - false, - [] - ] + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-2" ], - [ - 1, - [ - "com.fluidframework.leaf.string", - true, - "42", - [] + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "insert-and-remove.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [] + ] + ], + [ + 1, + [ + "com.fluidframework.leaf.string", + true, + "42", + [] + ] + ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 5, - 2, - 2 - ] - ], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ + [ + 5, + 2, + 2 + ] + ], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/move-across-fields-tree-0-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/move-across-fields-tree-0-final.json index 12823fc3be9f..88794f8fd668 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/move-across-fields-tree-0-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/move-across-fields-tree-0-final.json @@ -1,525 +1,585 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Optional", + "types": [ + "move-across-fields.Node" + ] } }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - } + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] } } - }, - "root": { - "kind": "Optional", - "types": [ - "move-across-fields.Node" - ] } }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 - } - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 - ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ + { + "data": { + "maxId": 1, + "changes": [ { - "c": { - "extraFields": 1 + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "move-across-fields.Node", - false, [ - "foo", [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", - false, - [ - "", - [ - "com.fluidframework.leaf.string", - true, - "a", - [], - "com.fluidframework.leaf.string", - true, - "b", - [], - "com.fluidframework.leaf.string", - true, - "c", - [] - ] - ] - ], - "bar", + 1, + 0 + ] + ] + ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + "move-across-fields.Node", false, [ - "", + "foo", + [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "a", + [], + "com.fluidframework.leaf.string", + true, + "b", + [], + "com.fluidframework.leaf.string", + true, + "c", + [] + ] + ] + ], + "bar", [ - "com.fluidframework.leaf.string", - true, - "d", - [], - "com.fluidframework.leaf.string", - true, - "e", - [], - "com.fluidframework.leaf.string", - true, - "f", - [] + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "d", + [], + "com.fluidframework.leaf.string", + true, + "e", + [], + "com.fluidframework.leaf.string", + true, + "f", + [] + ] + ] ] ] ] ] ] - ] - ] - } - } - } - }, - { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] - } - } - }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - } } } - }, - "root": { - "kind": "Value", - "types": [ - "move-across-fields.Node" - ] } }, - "old": { - "version": 1, - "nodes": { - "com.fluidframework.leaf.string": { - "leaf": 1 - }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 + }, + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Value", + "types": [ + "move-across-fields.Node" + ] } }, - "move-across-fields.Node": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "old": { + "version": 1, + "nodes": { + "com.fluidframework.leaf.string": { + "leaf": 1 }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "move-across-fields.Node": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } + }, + "root": { + "kind": "Optional", + "types": [ + "move-across-fields.Node" + ] } } - }, - "root": { - "kind": "Optional", - "types": [ - "move-across-fields.Node" - ] } } - } - } - ], - "revision": 3, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 3, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 7, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 7, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "foo", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "fieldChanges": [ + { + "fieldKey": "foo", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 2, - "effect": { - "moveOut": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 2, + "effect": { + "moveOut": { + "id": 0 + } + } } - } + ] } ] } ] - } - ] - ] - }, - { - "fieldKey": "bar", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + ] + }, + { + "fieldKey": "bar", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ - { - "count": 1 - }, + "fieldChanges": [ { - "count": 2, - "effect": { - "moveIn": { - "id": 0 + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1 + }, + { + "count": 2, + "effect": { + "moveIn": { + "id": 0 + } + }, + "cellId": 2 } - }, - "cellId": 2 + ] } ] } ] - } - ] + ] + } ] } ] - } - ] + ] + } ] } - ] - } + } + ], + "revision": 4, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "com.fluidframework.leaf.string" - ] + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 } - } - } - }, - "move-across-fields.Node": { - "kind": { - "object": { - "bar": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] - }, - "foo": { - "kind": "Value", - "types": [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" - ] + }, + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "move-across-fields.Node": { + "kind": { + "object": { + "bar": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + }, + "foo": { + "kind": "Value", + "types": [ + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>" + ] + } + } } } + }, + "root": { + "kind": "Value", + "types": [ + "move-across-fields.Node" + ] } - } - }, - "root": { - "kind": "Value", - "types": [ - "move-across-fields.Node" - ] + }, + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "move-across-fields.Node", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "foo", + 1, [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + "move-across-fields.Node", false, [ - "", + "foo", [ - "com.fluidframework.leaf.string", - true, - "a", - [] - ] - ] - ], - "bar", - [ - "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", - false, - [ - "", + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "a", + [] + ] + ] + ], + "bar", [ - "com.fluidframework.leaf.string", - true, - "d", - [], - "com.fluidframework.leaf.string", - true, - "b", - [], - "com.fluidframework.leaf.string", - true, - "c", - [], - "com.fluidframework.leaf.string", - true, - "e", - [], - "com.fluidframework.leaf.string", - true, - "f", - [] + "move-across-fields.Array<[\"com.fluidframework.leaf.string\"]>", + false, + [ + "", + [ + "com.fluidframework.leaf.string", + true, + "d", + [], + "com.fluidframework.leaf.string", + true, + "b", + [], + "com.fluidframework.leaf.string", + true, + "c", + [], + "com.fluidframework.leaf.string", + true, + "e", + [], + "com.fluidframework.leaf.string", + true, + "f", + [] + ] + ] ] ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/nested-sequence-change-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/nested-sequence-change-final.json index 2870f18f9b33..10996a158f06 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/nested-sequence-change-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/nested-sequence-change-final.json @@ -1,246 +1,294 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 5, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 5, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "", - "fieldKind": "Sequence", - "change": [ + "fieldChanges": [ { - "count": 1, - "effect": { - "insert": { - "id": 0 - } - }, - "cellId": 0, - "changes": { - "fieldChanges": [ - { - "fieldKey": "foo", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 2, - "s": 3 - } + "fieldKey": "", + "fieldKind": "Sequence", + "change": [ + { + "count": 1, + "effect": { + "insert": { + "id": 0 } + }, + "cellId": 0, + "changes": { + "fieldChanges": [ + { + "fieldKey": "foo", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 2, + "s": 3 + } + } + } + ] } - ] - } + } + ] } ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 0, - 0 - ], - [ - 3, - 1 ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "test trees.Recursive Map", - false, - [] + [ + [ + 0, + 0 + ], + [ + 3, + 1 + ] + ] ] ], - [ - 1, - [ - "test trees.Array<[\"test trees.Recursive Map\"]>", - false, + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, [ "test trees.Recursive Map", false, + [] + ] + ], + [ + 1, + [ + "test trees.Array<[\"test trees.Recursive Map\"]>", + false, [ - "bar", + "", [ - "test trees.Array<[\"test trees.Recursive Map\"]>", + "test trees.Recursive Map", false, - [] + [ + "bar", + [ + "test trees.Array<[\"test trees.Recursive Map\"]>", + false, + [] + ] + ] ] ] ] ] ] - ] - ] + } + } } } - } + ], + "revision": 6, + "sequenceNumber": 4, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 6, - "sequenceNumber": 4, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "test trees.Array<[\"test trees.Recursive Map\"]>": { - "kind": { - "object": { - "": { - "kind": "Sequence", - "types": [ - "test trees.Recursive Map" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "test trees.Array<[\"test trees.Recursive Map\"]>": { + "kind": { + "object": { + "": { + "kind": "Sequence", + "types": [ + "test trees.Recursive Map" + ] + } + } + } + }, + "test trees.Recursive Map": { + "kind": { + "map": { + "kind": "Optional", + "types": [ + "test trees.Array<[\"test trees.Recursive Map\"]>" + ] + } } } + }, + "root": { + "kind": "Value", + "types": [ + "test trees.Array<[\"test trees.Recursive Map\"]>" + ] } }, - "test trees.Recursive Map": { - "kind": { - "map": { - "kind": "Optional", - "types": [ - "test trees.Array<[\"test trees.Recursive Map\"]>" - ] - } - } - } - }, - "root": { - "kind": "Value", - "types": [ - "test trees.Array<[\"test trees.Recursive Map\"]>" - ] + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "test trees.Array<[\"test trees.Recursive Map\"]>", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "", + 1, [ - "test trees.Recursive Map", + "test trees.Array<[\"test trees.Recursive Map\"]>", false, [ - "foo", + "", [ - "test trees.Array<[\"test trees.Recursive Map\"]>", + "test trees.Recursive Map", false, [ - "", + "foo", [ - "test trees.Recursive Map", + "test trees.Array<[\"test trees.Recursive Map\"]>", false, [ - "bar", + "", [ - "test trees.Array<[\"test trees.Recursive Map\"]>", + "test trees.Recursive Map", false, - [] + [ + "bar", + [ + "test trees.Array<[\"test trees.Recursive Map\"]>", + false, + [] + ] + ] ] ] ] @@ -250,35 +298,47 @@ ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 2 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 2 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/optional-field-scenarios-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/optional-field-scenarios-final.json index 0792b97124b0..8bbf5721ddb5 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/optional-field-scenarios-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/optional-field-scenarios-final.json @@ -1,579 +1,639 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "data": { - "maxId": 2, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "ModularEditBuilder.Generic", - "change": [ - [ - 0, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 2, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "ModularEditBuilder.Generic", + "change": [ + [ + 0, { - "fieldKey": "root 1 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + "fieldChanges": [ + { + "fieldKey": "root 1 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } + } } - } + ] } ] - } - ] - ] - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.number", - true, - 40, - [] + [ + [ + 1, + 0 + ] + ] + ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.number", + true, + 40, + [] + ] + ] ] - ] - ] - } - } - } - } - ], - "revision": 515, - "sequenceNumber": 6, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ - { - "data": { - "maxId": 4, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 3, - "s": 4 } } } - ], - "builds": { - "builds": [ - [ - [ - [ - 4, - 0 - ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ + } + ], + "revision": 515, + "sequenceNumber": 6, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, + { + "change": [ + { + "data": { + "maxId": 4, + "changes": [ { - "c": { - "extraFields": 1 + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 3, + "s": 4 + } } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "optional-field-scenarios.Map", - false, [ - "root 2 child", [ - "com.fluidframework.leaf.number", - true, - 41, - [] + 4, + 0 ] ] ] - ] - ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "optional-field-scenarios.Map", + false, + [ + "root 2 child", + [ + "com.fluidframework.leaf.number", + true, + 41, + [] + ] + ] + ] + ] + ] + } + } } } - } - } - ], - "revision": 516, - "sequenceNumber": 8, - "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" - }, - { - "change": [ + ], + "revision": 516, + "sequenceNumber": 8, + "sessionId": "a0693eac-892a-4396-86f7-ad20dc1cade2" + }, { - "data": { - "maxId": 7, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 3, - "s": 4 - }, - "c": [ - [ - [ - 3, - 516 - ], - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 7, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 3, + "s": 4 + }, + "c": [ + [ + [ + 3, + 516 + ], { - "fieldKey": "root 1 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 0, - "s": 1 + "fieldChanges": [ + { + "fieldKey": "root 1 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 0, + "s": 1 + } + } } - } + ] } - ] - } - ], - [ - 4, - { - "fieldChanges": [ + ], + [ + 4, { - "fieldKey": "root 3 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 5, - "s": 6 + "fieldChanges": [ + { + "fieldKey": "root 3 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 5, + "s": 6 + } + } } - } + ] } ] - } - ] - ] - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 - ], - [ - 4, - 1 - ], - [ - 6, - 2 - ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + ] } - }, - { - "a": 0 } ], - "data": [ - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 42, - [] - ] - ], - [ - 1, + "builds": { + "builds": [ [ - "optional-field-scenarios.Map", - false, - [] + [ + [ + 1, + 0 + ], + [ + 4, + 1 + ], + [ + 6, + 2 + ] + ] ] ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 43, - [] + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.number", + true, + 42, + [] + ] + ], + [ + 1, + [ + "optional-field-scenarios.Map", + false, + [] + ] + ], + [ + 1, + [ + "com.fluidframework.leaf.number", + true, + 43, + [] + ] + ] ] - ] - ] + } + } } } - } - } - ], - "revision": 7, - "sequenceNumber": 10, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - }, - { - "change": [ + ], + "revision": 7, + "sequenceNumber": 10, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" + }, { - "data": { - "maxId": 7, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "c": [ - [ - null, - { - "fieldChanges": [ + "change": [ + { + "data": { + "maxId": 7, + "changes": [ + { + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "c": [ + [ + null, { - "fieldKey": "root 3 child", - "fieldKind": "Optional", - "change": { - "r": { - "e": false, - "d": 2, - "s": 3 + "fieldChanges": [ + { + "fieldKey": "root 3 child", + "fieldKind": "Optional", + "change": { + "r": { + "e": false, + "d": 2, + "s": 3 + } + } } - } + ] } ] - } - ] - ] - } - } - ], - "builds": { - "builds": [ - [ - [ - [ - 3, - 0 - ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + ] } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.fluidframework.leaf.number", - true, - 44, - [] + [ + [ + 3, + 0 + ] + ] ] - ] - ] + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.fluidframework.leaf.number", + true, + 44, + [] + ] + ] + ] + } + } } } - } + ], + "revision": 8, + "sequenceNumber": 12, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 8, - "sequenceNumber": 12, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [ - [ - "a0693eac-892a-4396-86f7-ad20dc1cade2", - { - "base": 516, - "commits": [] - } - ] - ], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [ + [ + "a0693eac-892a-4396-86f7-ad20dc1cade2", + { + "base": 516, + "commits": [] + } + ] + ], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.fluidframework.leaf.number": { - "kind": { - "leaf": 0 - } + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 }, - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } - }, - "optional-field-scenarios.Map": { - "kind": { - "map": { - "kind": "Optional", - "types": [ - "com.fluidframework.leaf.number", - "com.fluidframework.leaf.string" - ] - } - } - } - }, - "root": { - "kind": "Optional", - "types": [ - "optional-field-scenarios.Map" - ] + "encoding": "utf-8" } }, - "encoding": "utf-8" - } - } - } - }, - { - "type": "tree", - "Forest": { - "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey", - "repair-6", - "repair-8", - "repair-10", - "repair-11" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.fluidframework.leaf.number": { + "kind": { + "leaf": 0 + } + }, + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 + } + }, + "optional-field-scenarios.Map": { + "kind": { + "map": { + "kind": "Optional", + "types": [ + "com.fluidframework.leaf.number", + "com.fluidframework.leaf.string" + ] + } + } } }, - { - "a": 0 + "root": { + "kind": "Optional", + "types": [ + "optional-field-scenarios.Map" + ] } - ], - "data": [ - [ - 1, - [ - "optional-field-scenarios.Map", - false, + }, + "encoding": "utf-8" + } + } + ] + } + }, + { + "type": "tree", + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey", + "repair-6", + "repair-8", + "repair-10", + "repair-11" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "root 3 child", + 1, [ - "com.fluidframework.leaf.number", - true, - 44, - [] + "optional-field-scenarios.Map", + false, + [ + "root 3 child", + [ + "com.fluidframework.leaf.number", + true, + 44, + [] + ] + ] ] - ] - ] - ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 43, - [] - ] - ], - [ - 1, - [ - "com.fluidframework.leaf.number", - true, - 40, - [] - ] - ], - [ - 1, - [ - "optional-field-scenarios.Map", - false, + ], [ - "root 1 child", + 1, [ "com.fluidframework.leaf.number", true, - 42, + 43, [] ] - ] - ] - ], - [ - 1, - [ - "optional-field-scenarios.Map", - false, + ], [ - "root 2 child", + 1, [ "com.fluidframework.leaf.number", true, - 41, + 40, [] ] + ], + [ + 1, + [ + "optional-field-scenarios.Map", + false, + [ + "root 1 child", + [ + "com.fluidframework.leaf.number", + true, + 42, + [] + ] + ] + ] + ], + [ + 1, + [ + "optional-field-scenarios.Map", + false, + [ + "root 2 child", + [ + "com.fluidframework.leaf.number", + true, + 41, + [] + ] + ] + ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [ - [ - 7, - [ + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [ + [ + 7, + [ + [ + 0, + 8 + ], + [ + 3, + 11 + ] + ] + ], [ - 0, - 8 + 8, + 2, + 6 ], [ + 516, 3, - 11 + 10 ] - ] - ], - [ - 8, - 2, - 6 - ], - [ - 516, - 3, - 10 - ] - ], - "maxId": 11 - }, - "encoding": "utf-8" - } + ], + "maxId": 11 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/tree-with-identifier-field-final.json b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/tree-with-identifier-field-final.json index 92b14298be2a..2659585c167d 100644 --- a/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/tree-with-identifier-field-final.json +++ b/packages/dds/tree/src/test/snapshots/output/summary/Uncompressed/v2_73/tree-with-identifier-field-final.json @@ -1,297 +1,357 @@ { "type": "tree", - "tree": { - "type": "tree", - "indexes": { + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { "type": "tree", - "entries": [ - { - "type": "tree", - "EditManager": { + "indexes": { + "type": "tree", + "entries": [ + { "type": "tree", - "tree": { - "type": "blob", - "String": { - "type": "blob", - "content": { - "trunk": [ - { - "change": [ + "EditManager": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "String": { + "type": "blob", + "content": { + "trunk": [ { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" - ] + "change": [ + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 } + }, + "root": { + "kind": "Optional", + "types": [ + "com.example.parent" + ] } }, - "com.fluidframework.leaf.string": { - "leaf": 1 - } - }, - "root": { - "kind": "Optional", - "types": [ - "com.example.parent" - ] - } - }, - "old": { - "version": 1, - "nodes": {}, - "root": { - "kind": "Forbidden", - "types": [] - } - } - } - }, - { - "data": { - "maxId": 1, - "changes": [ - { - "fieldKey": "rootFieldKey", - "fieldKind": "Optional", - "change": { - "r": { - "e": true, - "d": 0, - "s": 1 + "old": { + "version": 1, + "nodes": {}, + "root": { + "kind": "Forbidden", + "types": [] } } } - ], - "builds": { - "builds": [ - [ - [ - [ - 1, - 0 - ] - ] - ] - ], - "trees": { - "version": 2, - "identifiers": [], - "shapes": [ + }, + { + "data": { + "maxId": 1, + "changes": [ { - "c": { - "extraFields": 1 + "fieldKey": "rootFieldKey", + "fieldKind": "Optional", + "change": { + "r": { + "e": true, + "d": 0, + "s": 1 + } } - }, - { - "a": 0 } ], - "data": [ - [ - 1, + "builds": { + "builds": [ [ - "com.example.parent", - false, [ - "identifier", [ - "com.fluidframework.leaf.string", - true, - "8f95be09-8376-4ff7-8755-ccd7e8124b06", - [] + 1, + 0 ] ] ] - ] - ] - } - } - } - }, - { - "schema": { - "new": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" + ], + "trees": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ + [ + 1, + [ + "com.example.parent", + false, + [ + "identifier", + [ + "com.fluidframework.leaf.string", + true, + "8f95be09-8376-4ff7-8755-ccd7e8124b06", + [] + ] + ] + ] ] - } + ] } - }, - "com.fluidframework.leaf.string": { - "leaf": 1 } - }, - "root": { - "kind": "Value", - "types": [ - "com.example.parent" - ] } }, - "old": { - "version": 1, - "nodes": { - "com.example.parent": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" - ] + { + "schema": { + "new": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 } + }, + "root": { + "kind": "Value", + "types": [ + "com.example.parent" + ] } }, - "com.fluidframework.leaf.string": { - "leaf": 1 + "old": { + "version": 1, + "nodes": { + "com.example.parent": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + }, + "com.fluidframework.leaf.string": { + "leaf": 1 + } + }, + "root": { + "kind": "Optional", + "types": [ + "com.example.parent" + ] + } } - }, - "root": { - "kind": "Optional", - "types": [ - "com.example.parent" - ] } } - } + ], + "revision": 4, + "sequenceNumber": 2, + "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" } ], - "revision": 4, - "sequenceNumber": 2, - "sessionId": "8f95be09-8376-4ff7-8755-ccd7e8124b06" - } - ], - "branches": [], - "version": 4 - }, - "encoding": "utf-8" - } + "branches": [], + "version": 4 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "Schema": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "SchemaString": { - "type": "blob", - "content": { - "version": 2, - "nodes": { - "com.example.parent": { - "kind": { - "object": { - "identifier": { - "kind": "Identifier", - "types": [ - "com.fluidframework.leaf.string" - ] + "Schema": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "SchemaString": { + "type": "blob", + "content": { + "version": 2, + "nodes": { + "com.example.parent": { + "kind": { + "object": { + "identifier": { + "kind": "Identifier", + "types": [ + "com.fluidframework.leaf.string" + ] + } + } + } + }, + "com.fluidframework.leaf.string": { + "kind": { + "leaf": 1 } } + }, + "root": { + "kind": "Value", + "types": [ + "com.example.parent" + ] } }, - "com.fluidframework.leaf.string": { - "kind": { - "leaf": 1 - } - } - }, - "root": { - "kind": "Value", - "types": [ - "com.example.parent" - ] + "encoding": "utf-8" } - }, - "encoding": "utf-8" - } + } + ] } - } - }, - { - "type": "tree", - "Forest": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "ForestTree": { - "type": "blob", - "content": { - "keys": [ - "rootFieldKey" - ], - "fields": { - "version": 2, - "identifiers": [], - "shapes": [ - { - "c": { - "extraFields": 1 - } - }, - { - "a": 0 - } - ], - "data": [ - [ - 1, - [ - "com.example.parent", - false, + "Forest": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } + }, + { + "type": "blob", + "ForestTree": { + "type": "blob", + "content": { + "keys": [ + "rootFieldKey" + ], + "fields": { + "version": 2, + "identifiers": [], + "shapes": [ + { + "c": { + "extraFields": 1 + } + }, + { + "a": 0 + } + ], + "data": [ [ - "identifier", + 1, [ - "com.fluidframework.leaf.string", - true, - "8f95be09-8376-4ff7-8755-ccd7e8124b06", - [] + "com.example.parent", + false, + [ + "identifier", + [ + "com.fluidframework.leaf.string", + true, + "8f95be09-8376-4ff7-8755-ccd7e8124b06", + [] + ] + ] ] ] ] - ] - ] - }, - "version": 1 - }, - "encoding": "utf-8" - } + }, + "version": 1 + }, + "encoding": "utf-8" + } + } + ] } - } - }, - { - "type": "tree", - "DetachedFieldIndex": { + }, + { "type": "tree", - "tree": { - "type": "blob", - "DetachedFieldIndexBlob": { - "type": "blob", - "content": { - "version": 2, - "data": [], - "maxId": 0 + "DetachedFieldIndex": { + "type": "tree", + "entries": [ + { + "type": "blob", + ".metadata": { + "type": "blob", + "content": { + "version": 2 + }, + "encoding": "utf-8" + } }, - "encoding": "utf-8" - } + { + "type": "blob", + "DetachedFieldIndexBlob": { + "type": "blob", + "content": { + "version": 2, + "data": [], + "maxId": 0 + }, + "encoding": "utf-8" + } + } + ] } } - } - ] + ] + } } - } + ] } \ No newline at end of file diff --git a/packages/dds/tree/src/util/index.ts b/packages/dds/tree/src/util/index.ts index f58a06f2f31f..11e23e7cf55d 100644 --- a/packages/dds/tree/src/util/index.ts +++ b/packages/dds/tree/src/util/index.ts @@ -153,3 +153,5 @@ export { export { type TupleBTree, newTupleBTree, mergeTupleBTrees } from "./bTreeUtils.js"; export { cloneWithReplacements } from "./cloneWithReplacements.js"; + +export { readAndParseSnapshotBlob } from "./readSnapshotBlob.js"; diff --git a/packages/dds/tree/src/util/readSnapshotBlob.ts b/packages/dds/tree/src/util/readSnapshotBlob.ts new file mode 100644 index 000000000000..60e68e82ad72 --- /dev/null +++ b/packages/dds/tree/src/util/readSnapshotBlob.ts @@ -0,0 +1,23 @@ +/*! + * Copyright (c) Microsoft Corporation and contributors. All rights reserved. + * Licensed under the MIT License. + */ + +import type { IFluidHandle } from "@fluidframework/core-interfaces"; +import type { IChannelStorageService } from "@fluidframework/datastore-definitions/internal"; +import type { JsonCompatible } from "./utils.js"; +import { bufferToString } from "@fluid-internal/client-utils"; +import type { SummaryElementParser } from "../shared-tree-core/index.js"; + +/** + * Reads and parses a snapshot blob from storage service. + */ +export const readAndParseSnapshotBlob = async >( + blobPath: string, + service: IChannelStorageService, + parse: SummaryElementParser, +): Promise => { + const treeBuffer = await service.readBlob(blobPath); + const treeBufferString = bufferToString(treeBuffer, "utf8"); + return parse(treeBufferString) as T; +};