Skip to content

Profiles: modern-console, switch-like, steamdeck, mobile-low, webgl, vr presets #369

Description

@fernandotonon

Problem

Modern consoles do not generally offer public universal mesh interchange formats suitable for “export to PS5/Xbox/Switch binary.” QtMesh should instead ship performance and pipeline validation presets for source assets: budgets for triangles, materials, textures, animations, LOD expectations, and engine-friendly naming—aligned with glTF/FBX preparation, not proprietary cooked formats.

Proposed solution

Add bundled profiles:

  • modern-console.json — conservative “AAA source asset” budgets (tunable).
  • switch-like.json, steamdeck.json, mobile-low.json, webgl.json, vr.json — class-based GPU/CPU heuristics as warnings, not certifiable limits.

Profile JSON may include:

  • engineHints free-text or structured tags: unreal, unity, godot, custom — for documentation and future rules, not SDK calls.
  • Rules: triangle/vertex caps, material count, texture memory estimate thresholds, bone counts, animation clip counts, redundant keyframe linkage to existing redundant_keyframes_pct, optional require LOD placeholder (implement when AssetInfo supports LOD detection).

Scope

  • JSON presets + tests + rule wiring only for fields already supported after budget-rules issue; stub TODO fields documented.

Acceptance criteria

  • All profile IDs documented in qtmesh scan --help.
  • Each profile loads; tests assert key thresholds.
  • README or help text clarifies: validation of source assets, export via engine/cooked pipelines, not first-party console SDK formats.

Files / components likely affected

  • profiles/modern-console.json, profiles/switch-like.json, profiles/steamdeck.json, profiles/mobile-low.json, profiles/webgl.json, profiles/vr.json
  • action.yml / CLI docs examples (optional follow-up sentence)

Test strategy

  • Profile parse tests + one scan run on sample asset if available.

Labels

enhancement, scan, cli

Milestone

Milestone 4: Modern platform presets

Dependencies

Metadata

Metadata

Assignees

No one assigned

    Labels

    cliCommand-line / qtmeshenhancementNew feature or requestscanAsset scan / validation

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions