glTF-Validator
Web上でDnDでバリデーションできるツールがGitHub Pages?で提供されている
CLI: 使い方
code:sh
gltf-validator input.glb -a
-a するとerror以外の全issueが表示されるようになる
npm: 使い方
code:js
import { validateBytes } from 'gltf-validator';
const res = await fetch('input.gltf');
const buffer = await res.arrayBuffer();
const report = await validateBytes(new Uint8Array(buffer))
.catch((error) => console.error('Validation failed: ', error));
たぶん report.issues.messages とかを掘りたくなると思いますよ
型定義は提供されていないので、以下の最低限の gltf-validator.d.ts を使うと良いかも:
code:ts
declare module 'gltf-validator' {
export function validateBytes(
buffer: Uint8Array,
options?: {
maxIssues?: number
},
): Promise<any>;
}
ビルド
準備
Dart SDKの bin フォルダにPATHを通す
レポジトリルートで dart pub get を叩くと依存が降ってくる
2024年7月: dockerを使う
Dart 3でビルドできないので、Dockerの dart:2 🔗 でビルドします code:sh
docker run -it --rm -v .:/app dart:2
cd /app
dart pub get
dart run grinder exe
DnD Web
DnDでモデルをバリデーションするやつ
dart run grinder web を叩く
build/web 下に必要なファイルができる
CLI
dart run grinder exe を叩く
build/bin 下にバイナリができる
NPM Package
dart run grinder npm を叩く
build/node 下に gltf-validator パッケージが生成される
Validation Issues List
dart run grinder issues を叩く
レポジトリルートに ISSUES.md が生成される
バージョンを変える
lib/src/version.dart に packageVersion という定数があり、これがバージョン番号になります
これを書き換えてexeをビルドしたりnpmをビルドしたりすればおk