-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathqtmesh.yml
More file actions
70 lines (61 loc) · 2.37 KB
/
qtmesh.yml
File metadata and controls
70 lines (61 loc) · 2.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# qtmesh.yml — Asset validation config for QtMeshEditor repository
# Used by CI to validate the demo/test models in media/.
version: 1
scan:
roots:
- media/
include:
- "**/*.fbx"
- "**/*.glb"
- "**/*.gltf"
- "**/*.vrm"
- "**/*.obj"
- "**/*.mesh"
# PlayStation / Psy-Q (QtMeshEditor importers; not Assimp extensions)
- "**/*.tmd"
- "**/*.rsd"
- "**/*.ply"
exclude:
# robot.mesh is MeshSerializer v1.40. The local in-tree build reads it
# fine via Ogre 14.5.x; the published 'fernandotonon/qtmesh' Docker image
# used by the scan-assets-qtmesh job ships an older Ogre that only
# supports up to v1.8. Drop this exclude once the next release rebuilds
# the action image against current Ogre.
- "**/robot.mesh"
- "**/build/**"
- "**/.git/**"
rules:
# Complexity limits — generous for demo assets
max_file_size_mb: 50
min_file_size_mb: 0.001
max_vertex_count: 50000
min_vertex_count: 3
max_mesh_count: 16
max_material_count: 16
max_anim_keyframes: 500
max_anim_duration: 30.0
min_anim_keyframes: 2
# All demo assets should have a skeleton and at least one animation
require_skeleton: true
require_animations: true
# Texture/material hygiene
allow_embedded_textures: true
require_textures_exist: false
allow_missing_materials: true
# Skip file naming enforcement — demo assets have spaces in names
# file_name_case: snake_case
# Phase 6 slice C4 — quality rules driven by the Ogre scene walk.
# All opt-in (0/false = disabled) so adding them here doesn't change
# CI behaviour for the demo asset set. Uncomment to enable.
# max_texture_resolution: 2048 # px, longest texture edge
# require_uv_channels: 1 # min UV sets per submesh (1=any UV, 2=lightmap workflow)
# detect_zero_weight_bones: true # info-level Mixamo bloat detector
# detect_overlapping_uvs_pct: 5.0 # warn at >= 5% triangles with overlapping UV0 AABBs
# detect_non_manifold_edges_pct: 1.0 # warn at >= 1% non-manifold edges
# Animation simplification — opt-in because the --fix is destructive.
# When set, redundant_keyframes_pct also drives the auto-fix that
# re-exports the asset via MeshImporterExporter for every supported
# format (FBX/glTF/glb/DAE/OBJ/PLY/STL/.mesh) — no Assimp::Exporter.
# redundant_keyframes_pct: 40
report:
fail_on: error