Skip to content
Merged

Dev #178

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .documentation/SchemaUpdates.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ on the python side:

And then run the build (or test commands if available) for each from @duc/package.json

and in case you need to check the fbs schema: @duc/schema/duc.fbs
and in case you need to check the fbs schema or what changed (changes may be git staged): @duc/schema/duc.fbs
12 changes: 12 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file added assets/testing/duc-files/multiple_blocks.duc
Binary file not shown.
1 change: 1 addition & 0 deletions packages/ducdxf/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.egg-info
3 changes: 3 additions & 0 deletions packages/ducjs/src/flatbuffers/duc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ export { DIMENSION_FIT_RULE } from './duc/dimension-fit-rule';
export { DIMENSION_TEXT_PLACEMENT } from './duc/dimension-text-placement';
export { DIMENSION_TYPE } from './duc/dimension-type';
export { DIMENSION_UNITS_FORMAT } from './duc/dimension-units-format';
export { DOCUMENT_GRID_ALIGN_ITEMS } from './duc/document-grid-align-items';
export { DatumReference } from './duc/datum-reference';
export { Delta } from './duc/delta';
export { DictionaryEntry } from './duc/dictionary-entry';
Expand All @@ -35,6 +36,7 @@ export { DimensionLineStyle } from './duc/dimension-line-style';
export { DimensionSymbolStyle } from './duc/dimension-symbol-style';
export { DimensionToleranceStyle } from './duc/dimension-tolerance-style';
export { DimensionValidationRules } from './duc/dimension-validation-rules';
export { DocumentGridConfig } from './duc/document-grid-config';
export { DucArrowElement } from './duc/duc-arrow-element';
export { DucBlock } from './duc/duc-block';
export { DucBlockAttributeDefinition } from './duc/duc-block-attribute-definition';
Expand Down Expand Up @@ -74,6 +76,7 @@ export { DucLineReference } from './duc/duc-line-reference';
export { DucLinearElement } from './duc/duc-linear-element';
export { DucLocalState } from './duc/duc-local-state';
export { DucMermaidElement } from './duc/duc-mermaid-element';
export { DucModelElement } from './duc/duc-model-element';
export { DucParametricElement } from './duc/duc-parametric-element';
export { DucPath } from './duc/duc-path';
export { DucPdfElement } from './duc/duc-pdf-element';
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
// automatically generated by the FlatBuffers compiler, do not modify

/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */

export enum DOCUMENT_GRID_ALIGN_ITEMS {
START = 10,
CENTER = 11,
END = 12
}
92 changes: 92 additions & 0 deletions packages/ducjs/src/flatbuffers/duc/document-grid-config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
// automatically generated by the FlatBuffers compiler, do not modify

/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */

import * as flatbuffers from 'flatbuffers';

import { DOCUMENT_GRID_ALIGN_ITEMS } from '../duc/document-grid-align-items';


export class DocumentGridConfig {
bb: flatbuffers.ByteBuffer|null = null;
bb_pos = 0;
__init(i:number, bb:flatbuffers.ByteBuffer):DocumentGridConfig {
this.bb_pos = i;
this.bb = bb;
return this;
}

static getRootAsDocumentGridConfig(bb:flatbuffers.ByteBuffer, obj?:DocumentGridConfig):DocumentGridConfig {
return (obj || new DocumentGridConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
}

static getSizePrefixedRootAsDocumentGridConfig(bb:flatbuffers.ByteBuffer, obj?:DocumentGridConfig):DocumentGridConfig {
bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);
return (obj || new DocumentGridConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
}

columns():number {
const offset = this.bb!.__offset(this.bb_pos, 4);
return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;
}

gapX():number {
const offset = this.bb!.__offset(this.bb_pos, 6);
return offset ? this.bb!.readFloat64(this.bb_pos + offset) : 0.0;
}

gapY():number {
const offset = this.bb!.__offset(this.bb_pos, 8);
return offset ? this.bb!.readFloat64(this.bb_pos + offset) : 0.0;
}

alignItems():DOCUMENT_GRID_ALIGN_ITEMS|null {
const offset = this.bb!.__offset(this.bb_pos, 10);
return offset ? this.bb!.readUint8(this.bb_pos + offset) : null;
}

firstPageAlone():boolean {
const offset = this.bb!.__offset(this.bb_pos, 12);
return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;
}

static startDocumentGridConfig(builder:flatbuffers.Builder) {
builder.startObject(5);
}

static addColumns(builder:flatbuffers.Builder, columns:number) {
builder.addFieldInt32(0, columns, 0);
}

static addGapX(builder:flatbuffers.Builder, gapX:number) {
builder.addFieldFloat64(1, gapX, 0.0);
}

static addGapY(builder:flatbuffers.Builder, gapY:number) {
builder.addFieldFloat64(2, gapY, 0.0);
}

static addAlignItems(builder:flatbuffers.Builder, alignItems:DOCUMENT_GRID_ALIGN_ITEMS) {
builder.addFieldInt8(3, alignItems, null);
}

static addFirstPageAlone(builder:flatbuffers.Builder, firstPageAlone:boolean) {
builder.addFieldInt8(4, +firstPageAlone, +false);
}

static endDocumentGridConfig(builder:flatbuffers.Builder):flatbuffers.Offset {
const offset = builder.endObject();
return offset;
}

static createDocumentGridConfig(builder:flatbuffers.Builder, columns:number, gapX:number, gapY:number, alignItems:DOCUMENT_GRID_ALIGN_ITEMS|null, firstPageAlone:boolean):flatbuffers.Offset {
DocumentGridConfig.startDocumentGridConfig(builder);
DocumentGridConfig.addColumns(builder, columns);
DocumentGridConfig.addGapX(builder, gapX);
DocumentGridConfig.addGapY(builder, gapY);
if (alignItems !== null)
DocumentGridConfig.addAlignItems(builder, alignItems);
DocumentGridConfig.addFirstPageAlone(builder, firstPageAlone);
return DocumentGridConfig.endDocumentGridConfig(builder);
}
}
23 changes: 22 additions & 1 deletion packages/ducjs/src/flatbuffers/duc/duc-doc-element.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import * as flatbuffers from 'flatbuffers';

import { ColumnLayout } from '../duc/column-layout';
import { DocumentGridConfig } from '../duc/document-grid-config';
import { DucDocStyle } from '../duc/duc-doc-style';
import { DucTextDynamicPart } from '../duc/duc-text-dynamic-part';
import { TEXT_FLOW_DIRECTION } from '../duc/text-flow-direction';
Expand Down Expand Up @@ -71,8 +72,20 @@ autoResize():boolean {
return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;
}

gridConfig(obj?:DocumentGridConfig):DocumentGridConfig|null {
const offset = this.bb!.__offset(this.bb_pos, 18);
return offset ? (obj || new DocumentGridConfig()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;
}

fileId():string|null
fileId(optionalEncoding:flatbuffers.Encoding):string|Uint8Array|null
fileId(optionalEncoding?:any):string|Uint8Array|null {
const offset = this.bb!.__offset(this.bb_pos, 20);
return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;
}

static startDucDocElement(builder:flatbuffers.Builder) {
builder.startObject(7);
builder.startObject(9);
}

static addBase(builder:flatbuffers.Builder, baseOffset:flatbuffers.Offset) {
Expand Down Expand Up @@ -115,6 +128,14 @@ static addAutoResize(builder:flatbuffers.Builder, autoResize:boolean) {
builder.addFieldInt8(6, +autoResize, +false);
}

static addGridConfig(builder:flatbuffers.Builder, gridConfigOffset:flatbuffers.Offset) {
builder.addFieldOffset(7, gridConfigOffset, 0);
}

static addFileId(builder:flatbuffers.Builder, fileIdOffset:flatbuffers.Offset) {
builder.addFieldOffset(8, fileIdOffset, 0);
}

static endDucDocElement(builder:flatbuffers.Builder):flatbuffers.Offset {
const offset = builder.endObject();
return offset;
Expand Down
104 changes: 104 additions & 0 deletions packages/ducjs/src/flatbuffers/duc/duc-model-element.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
// automatically generated by the FlatBuffers compiler, do not modify

/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */

import * as flatbuffers from 'flatbuffers';

import { _DucElementBase } from '../duc/duc-element-base';


export class DucModelElement {
bb: flatbuffers.ByteBuffer|null = null;
bb_pos = 0;
__init(i:number, bb:flatbuffers.ByteBuffer):DucModelElement {
this.bb_pos = i;
this.bb = bb;
return this;
}

static getRootAsDucModelElement(bb:flatbuffers.ByteBuffer, obj?:DucModelElement):DucModelElement {
return (obj || new DucModelElement()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
}

static getSizePrefixedRootAsDucModelElement(bb:flatbuffers.ByteBuffer, obj?:DucModelElement):DucModelElement {
bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);
return (obj || new DucModelElement()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
}

base(obj?:_DucElementBase):_DucElementBase|null {
const offset = this.bb!.__offset(this.bb_pos, 4);
return offset ? (obj || new _DucElementBase()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;
}

source():string|null
source(optionalEncoding:flatbuffers.Encoding):string|Uint8Array|null
source(optionalEncoding?:any):string|Uint8Array|null {
const offset = this.bb!.__offset(this.bb_pos, 6);
return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;
}

svgPath():string|null
svgPath(optionalEncoding:flatbuffers.Encoding):string|Uint8Array|null
svgPath(optionalEncoding?:any):string|Uint8Array|null {
const offset = this.bb!.__offset(this.bb_pos, 8);
return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;
}

fileIds(index: number):string
fileIds(index: number,optionalEncoding:flatbuffers.Encoding):string|Uint8Array
fileIds(index: number,optionalEncoding?:any):string|Uint8Array|null {
const offset = this.bb!.__offset(this.bb_pos, 10);
return offset ? this.bb!.__string(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;
}

fileIdsLength():number {
const offset = this.bb!.__offset(this.bb_pos, 10);
return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;
}

static startDucModelElement(builder:flatbuffers.Builder) {
builder.startObject(4);
}

static addBase(builder:flatbuffers.Builder, baseOffset:flatbuffers.Offset) {
builder.addFieldOffset(0, baseOffset, 0);
}

static addSource(builder:flatbuffers.Builder, sourceOffset:flatbuffers.Offset) {
builder.addFieldOffset(1, sourceOffset, 0);
}

static addSvgPath(builder:flatbuffers.Builder, svgPathOffset:flatbuffers.Offset) {
builder.addFieldOffset(2, svgPathOffset, 0);
}

static addFileIds(builder:flatbuffers.Builder, fileIdsOffset:flatbuffers.Offset) {
builder.addFieldOffset(3, fileIdsOffset, 0);
}

static createFileIdsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {
builder.startVector(4, data.length, 4);
for (let i = data.length - 1; i >= 0; i--) {
builder.addOffset(data[i]!);
}
return builder.endVector();
}

static startFileIdsVector(builder:flatbuffers.Builder, numElems:number) {
builder.startVector(4, numElems, 4);
}

static endDucModelElement(builder:flatbuffers.Builder):flatbuffers.Offset {
const offset = builder.endObject();
return offset;
}

static createDucModelElement(builder:flatbuffers.Builder, baseOffset:flatbuffers.Offset, sourceOffset:flatbuffers.Offset, svgPathOffset:flatbuffers.Offset, fileIdsOffset:flatbuffers.Offset):flatbuffers.Offset {
DucModelElement.startDucModelElement(builder);
DucModelElement.addBase(builder, baseOffset);
DucModelElement.addSource(builder, sourceOffset);
DucModelElement.addSvgPath(builder, svgPathOffset);
DucModelElement.addFileIds(builder, fileIdsOffset);
return DucModelElement.endDucModelElement(builder);
}
}
18 changes: 11 additions & 7 deletions packages/ducjs/src/flatbuffers/duc/duc-pdf-element.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

import * as flatbuffers from 'flatbuffers';

import { DocumentGridConfig } from '../duc/document-grid-config';
import { _DucElementBase } from '../duc/duc-element-base';


Expand Down Expand Up @@ -37,8 +38,13 @@ fileId(optionalEncoding?:any):string|Uint8Array|null {
return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;
}

gridConfig(obj?:DocumentGridConfig):DocumentGridConfig|null {
const offset = this.bb!.__offset(this.bb_pos, 8);
return offset ? (obj || new DocumentGridConfig()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;
}

static startDucPdfElement(builder:flatbuffers.Builder) {
builder.startObject(2);
builder.startObject(3);
}

static addBase(builder:flatbuffers.Builder, baseOffset:flatbuffers.Offset) {
Expand All @@ -49,15 +55,13 @@ static addFileId(builder:flatbuffers.Builder, fileIdOffset:flatbuffers.Offset) {
builder.addFieldOffset(1, fileIdOffset, 0);
}

static addGridConfig(builder:flatbuffers.Builder, gridConfigOffset:flatbuffers.Offset) {
builder.addFieldOffset(2, gridConfigOffset, 0);
}

static endDucPdfElement(builder:flatbuffers.Builder):flatbuffers.Offset {
const offset = builder.endObject();
return offset;
}

static createDucPdfElement(builder:flatbuffers.Builder, baseOffset:flatbuffers.Offset, fileIdOffset:flatbuffers.Offset):flatbuffers.Offset {
DucPdfElement.startDucPdfElement(builder);
DucPdfElement.addBase(builder, baseOffset);
DucPdfElement.addFileId(builder, fileIdOffset);
return DucPdfElement.endDucPdfElement(builder);
}
}
Loading