To add any schema or markdown updates to the 3D Tiles Specification PDF, take the following steps:
-
Generate markdown property references from the schema.
- Run the wetzel tool on the schema to generate markdown property reference on the schemas in the
specification/schema
directory. - Paste the generated markdown in the corresponding section of
specification/README.md
or thespecification/TileFormats/<TILE_FORMAT>/README.md
.
- Run the wetzel tool on the schema to generate markdown property reference on the schemas in the
-
Generate a
.docx
file for each section.- Run pandoc to generate a formatted
.docx
file from markdown. Run the following command in the directory that contains the input file to preserve images.pandoc ./README.md -o README.docx -f github_markdown
- Generate a
.docx
for each of the following files:specification/README.md
specification/TileFormats/BatchTable/README.md
specification/TileFormats/FeatureTable/README.md
- Each tile format type
README.md
(the remaining directories inspecification/TileFormats/
)
- Run pandoc to generate a formatted
-
Update, save, and commit changes to
specification/specification.docx
.- Copy the formatted content generated in the previous step into the relevant sections of
specification/specification.docx
, with each of Tile Formats listed in the "Tile Formats" section. Headers should match the proper level, and can be edited in "Outline View". - Update formatting where needed, especially images and tables. Images should be captioned by adding "Insert Caption". Check internal links.
- Update any dates, version numbers, or document numbers.
- Add a row to the table in "Annex C: Revision History" with the date, your name, and any relevant details.
- Regenerate the "Table of Contents" and "Table of Figures".
- Copy the formatted content generated in the previous step into the relevant sections of
-
Generate the
specification/specification.pdf
file fromspecification/specification.docx
and commit the change.
As we add more tile formats, 3D Tiles needs to stay consistent.
- Tiles are composed of
sections
such asheader
andbody
. Sections are composed offields
such asmagic
andversion
. - "Feature" - indicates one model in a batch of models (
b3dm
), one instance in a collection of instances (i3dm
), one point in a point cloud (pnts
), etc.
- Field names are in camelCase.
Length
- aLength
suffix on a field name indicates the number of elements in an array.ByteLength
- aByteLength
suffix indicates the number of bytes, not to be confused with justLength
.
- Each tile format starts with a header that starts with the following fields:
magic // uchar[4], indicates the tile format
version // uint32, 1
byteLength // uint32, length, in bytes, of the entire tile.
- All binary data, e.g., tile formats, are in little endian.
To ensure an inclusive community, contributors and users in the Cesium community should follow the code of conduct.