
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
gltf-validator
Advanced tools
This is an npm package for the official glTF Validator compiled from Dart to JS.
npm install --save gltf-validator
const fs = require('fs');
const validator = require('gltf-validator');
const asset = fs.readFileSync('./Box.gltf');
validator.validateBytes(new Uint8Array(asset))
.then((report) => console.info('Validation succeeded: ', report))
.catch((error) => console.error('Validation failed: ', error));
const validator = require('gltf-validator');
fetch('Box.gltf')
.then((response) => response.arrayBuffer())
.then((asset) => validator.validateBytes(new Uint8Array(asset)))
.then((report) => console.info('Validation succeeded: ', report))
.catch((error) => console.error('Validation failed: ', error));
const fs = require("fs");
const path = require("path");
const validator = require('gltf-validator');
const filename = 'Box.gltf';
const fullpath = __dirname + '/' + filename;
const asset = fs.readFileSync(fullpath);
validator.validateBytes(new Uint8Array(asset), {
uri: filename,
format: 'gltf', // skip auto-detection and parse the input as glTF JSON
maxIssues: 10, // limit max number of output issues to 10
ignoredIssues: ['UNSUPPORTED_EXTENSION'], // mute UNSUPPORTED_EXTENSION issue
onlyIssues: ['ACCESSOR_INVALID_FLOAT'], // only consider ACCESSOR_INVALID_FLOAT an issue. Cannot be used along with ignoredIssues.
severityOverrides: { 'ACCESSOR_INDEX_TRIANGLE_DEGENERATE': 0 }, // treat degenerate triangles as errors
externalResourceFunction: (uri) =>
new Promise((resolve, reject) => {
uri = path.resolve(path.dirname(fullpath), decodeURIComponent(uri));
console.info("Loading external file: " + uri);
fs.readFile(uri, (err, data) => {
if (err) {
console.error(err.toString());
reject(err.toString());
return;
}
resolve(data);
});
})
}).then((result) => {
// [result] will contain validation report in object form.
// You can convert it to JSON to see its internal structure.
console.log(JSON.stringify(result, null, ' '));
}, (result) => {
// Promise rejection means that arguments were invalid or validator was unable
// to detect file format (glTF or GLB).
// [result] will contain exception string.
console.error(result);
});
Returns a version string.
Returns string
Returns an array of supported extensions names.
Validates an asset from bytes.
data
Uint8Array Byte array containing glTF or GLB data.options
ValidationOptions Object with validation options.Returns Promise Promise with validation result in object form.
Validates an asset from JSON string.
json
string String containing glTF JSON.options
ValidationOptions Object with validation options.Returns Promise Promise with validation result in object form.
Type: Object
uri
string Absolute or relative asset URI that will be copied to validation report.format
string Set to glb
or gltf
to skip auto-detection of the asset format based on the first byte; any other value will be ignored. This option has no effect on validateString
.externalResourceFunction
ExternalResourceFunction Function for loading external resources. If omitted, external resources are not validated.writeTimestamp
boolean Set to false
to omit timestamp from the validation report. Default is true
.maxIssues
number Max number of reported issues. Use 0
for unlimited output.ignoredIssues
Array<string> Array of ignored issue codes.onlyIssues
Array<string> Array of only issues to consider. Cannot be used along with ignoredIssues.severityOverrides
Object Object with overridden severities for issue codes.Type: Function
uri
string Relative URI of the external resource.Returns Promise Promise with Uint8Array data.
2.0.0-dev.3.10
Added support for KHR_materials_anisotropy
extension.
KHR_MATERIALS_ANISOTROPY_ANISOTROPY_TEXTURE_TEXCOORD
validation warning.Added support for KHR_materials_dispersion
extension.
KHR_MATERIALS_DISPERSION_NO_VOLUME
validation warning.Added new tangent space validations: MESH_PRIMITIVE_NO_TANGENT_SPACE
validation error and MESH_PRIMITIVE_GENERATED_TANGENT_SPACE
validation warning.
Added new KHR_MATERIALS_CLEARCOAT_CLEARCOAT_NORMAL_TEXTURE_TEXCOORD
validation warning.
Added partial support for the KHR_animation_pointer
extension.
KHR_ANIMATION_POINTER_ANIMATION_CHANNEL_TARGET_NODE
and KHR_ANIMATION_POINTER_ANIMATION_CHANNEL_TARGET_PATH
validation errors.INCOMPLETE_EXTENSION_SUPPORT
validation info.Web version now supports external resources in directories.
Removed UNRESERVED_EXTENSION_PREFIX
validation warning.
Removed KHR_MATERIALS_IRIDESCENCE_THICKNESS_RANGE_INVALID
validation error following the spec update.
Fixed incorrect errors when an indexed attribute, e.g., COLOR_0
, is used in morph targets (#178, #213).
Fixed incorrect errors in the Web version when an asset contains non-relative URIs (#229).
Fixed crash when skin weights data is missing (#196).
The validateBytes
JS API function now supports a format
validation option to bypass format detection and force GLB or glTF JSON explicitly.
Added an option to ignore all validation issues except those passed explicitly; supported in both JS API and YAML config file.
FAQs
Library for validating glTF 2.0 assets, compiled from Dart to JS.
The npm package gltf-validator receives a total of 15,156 weekly downloads. As such, gltf-validator popularity was classified as popular.
We found that gltf-validator demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.