https://github.com/create3000/x3d-tidy
X3D Converter, Beautifier and Minimizer
https://github.com/create3000/x3d-tidy
beautifier converter gltf2 json ply svg vrml wavefront-obj x3d
Last synced: 3 months ago
JSON representation
X3D Converter, Beautifier and Minimizer
- Host: GitHub
- URL: https://github.com/create3000/x3d-tidy
- Owner: create3000
- License: agpl-3.0
- Created: 2022-11-19T12:52:19.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-15T09:30:41.000Z (about 1 year ago)
- Last Synced: 2024-04-17T02:51:51.521Z (about 1 year ago)
- Topics: beautifier, converter, gltf2, json, ply, svg, vrml, wavefront-obj, x3d
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/x3d-tidy
- Size: 131 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# x3d-tidy
[](https://www.npmjs.com/package/x3d-tidy)
[](https://npmtrends.com/x3d-tidy)
[](https://deepscan.io/dashboard#view=project&tid=23540&pid=26815&bid=855448)X3D converter, beautifier and minimizer
## Synopsis
You can run *x3d-tidy* without installing it using **npx**:
**npx x3d-tidy** \[options\] -i input-file -o output-file [-i input-file -o output-file ...]
## Overview
*x3d-tidy* is a command-line tool designed for processing X3D (Extensible 3D) files. It provides both conversion and data mining capabilities to enhance and streamline working with X3D content.
* Run *x3d-tidy* with `npx x3d-tidy ...` directly from npm without installing it.
* Format Conversion: Transforms X3D files between different encodings, such as XML, Classic VRML, and JSON.
* Syntax Cleanup: Ensures well-formed and standardized X3D output by fixing structural inconsistencies and formatting issues.
* Data Extraction: Mines relevant data from X3D scenes, allowing analysis and reuse of geometries, metadata, and structure.
* Validation & Optimization: Helps identify errors, redundant elements, and inefficiencies in X3D models.
* Command-line Usability: Easily integrates into automation workflows and scripts for batch processing.This tool is particularly useful for developers, 3D artists, and researchers working with X3D-based applications, ensuring clean, efficient, and interoperable files.
## Options
**x3d-tidy** interprets the following options when it is invoked:
### -i *file(s)* ...
Set input file(s). This can be either a local file path or a URL. If there are less input files than output files, the last input file is used for the remaining output files.
### -o *file(s)* ...
Set output file(s). To output it to stdout use only the extension, e.g. ".x3dv".
### -s *[**TIDY**, COMPACT, SMALL, CLEAN]*
Set output style, default is "TIDY". "TIDY" results in a good readable file, but with larger size, whereas "CLEAN" result in the smallest size possible by removing all redundant whitespaces. The other values are somewhere in between.
### -d *integer*
Set double precision, default is 15.
### -f *integer*
Set float precision, default is 7.
### -r
If set, infer profile and components from used nodes.
### -m
If set, remove metadata nodes.
### -v
Show version.
### -h
Show help.
## Supported Input File Types
| Encoding | File Extension | MIME Type |
|------------------|----------------|-----------------|
| X3D XML | .x3d, .x3dz | model/x3d+xml |
| X3D JSON | .x3dj, .x3djz | model/x3d+json |
| X3D Classic VRML | .x3dv, .x3dvz | model/x3d+vrml |
| VRML | .wrl, .wrz | model/vrml |
| glTF | .gltf, .glb | model/gltf+json |
| Wavefront OBJ | .obj | model/obj |
| STL | .stl | model/stl |
| PLY | .ply | model/ply |
| SVG Document | .svg, .svgz | image/svg+xml |## Supported Output File Types
| X3D Encoding | File Extension | MIME Type |
|--------------|----------------|----------------|
| XML | .x3d, .x3dz | model/x3d+xml |
| JSON | .x3dj, .x3djz | model/x3d+json |
| Classic VRML | .x3dv, .x3dvz | model/x3d+vrml |
| HTML | .html | text/html |## Examples
Convert an XML encoded file to a VRML encoded file.
```sh
$ npx x3d-tidy -i file.x3d -o file.x3dv
```Convert an XML encoded file to a VRML encoded file and a JSON encoded file with smallest size possible by removing redundant whitespaces.
```sh
$ npx x3d-tidy -s CLEAN -i file.x3d -o file.x3dv file.x3dj
```## Online Converter
[Online X3D File Format Converter](https://create3000.github.io/x_ite/laboratory/x3d-file-converter) powered by [X_ITE](https://create3000.github.io/x_ite/).