Coverage gaps and contradictions
0.57.0-dev · beta source documentation. Native, Blueprint, Editor and rendering examples are source-reviewed, not executed in Unreal during this scan. See validation and limits.
These findings concern commit fe5b709ec900e282b50e58b819a25041945005f9, inspected on DESTROYER. They do not propose changing plugin behavior. The new guides use source behavior when older prose disagrees.
| Finding | Source evidence | Publication treatment |
|---|---|---|
| README says 0.56.0-dev; descriptor says 0.57.0-dev | README.md; QuartzUI.uplugin | Version this package as descriptor 0.57.0-dev, beta |
| GettingStarted first steps require Web Browser Widget; final paragraph says it is not enabled | GettingStarted.md; descriptor; Runtime.Build.cs | Explain dependency on WebBrowser module; separate WebBrowserWidget plugin is not declared required |
| Old npm/singleton and high-level client helpers are not in the standalone client | UISounds.md, SimpleGameUI.md, API.md versus Resources/Client/quartzui.mjs exports/methods | Use generic request and subscription APIs, not undocumented package installation or convenience imports |
| API/GettingStarted claim included roving-focus adapter and automatic presentation application | Resources/Client inventory; FrontendClient.md explicitly excludes former app adapters | Host implements navigation, domain decoders, and HTML lang/dir/CSS application |
| FrontendClient says former React hooks are absent although react.mjs now exists | FrontendClient.md versus ReactFrontend.md and Resources/Client/react.mjs | Small state hook is shipped; former full reference app/navigation remains absent |
| Optional CommonInput, CommonUI, Enhanced Input, and Modular Gameplay plugins are referenced but absent | Whole tracked-file manifest and uplugin modules | List as external integrations requiring another verified distribution; core adapter seams and in-tree GAS are available |
| AngelScript namespace is referenced without an in-tree binding module | QuartzUIMigration.md versus module/source inventory | Host-specific integration; do not promise a shipped AngelScript API |
| Providers links a nonexistent Docs/GeneratedTypeScript.md | Providers.md; tracked paths | Link existing ProjectContracts/FrontendClient and exact generator source |
| Lyra/Cubegame probes, VerifyRendererRecovery.ps1 and other historical gates are not shipped | DirectWorldSurfaces.md, API.md, Development.md versus Scripts/Source inventory | Distinguish historical host evidence from runnable plugin commands |
| Motion component has no dedicated upstream practical guide | QuartzUIMotionComponent.h/.cpp; core wire declaration | New integration guide covers ownership, tick, snapshot, impulse and reduced-motion responsibility |
| Build manifest requires localization fingerprint, without a full host build/export recipe | GettingStarted.md; QuartzUIProjectAudit.cpp | New packaging guide gives the exact empty-authority case and native API for real localization |
| Baked texture tool emits manifest.json; docs warn UAT excludes cooked .json | texture_resources.py; GettingStarted.md; audit comments | Bundle manifest into compiled frontend or validate explicit staging; do not assume JSON file survives cook |
| SpatialWidgets announces four paths but its initial numbered list has three | SpatialWidgets.md; HtmlProjectionPrototype.md | New comparison includes the separate prototype explicitly |
| IsInputMethodSystemBound is called Blueprint-visible in an API paragraph but is an unreflected native declaration | QuartzUIWidget.h; GettingStarted.md | Native diagnostic; no promise of a Blueprint node |
| “Stable main” branch wording coexists with beta descriptor and experimental APIs | README.md, descriptor, HtmlProjection header | Branch policy is not a production/support guarantee |
Each path above is linked in the generated source provenance and inventory; original documentation links are collected in source provenance.
Deliberate implementation limits
- Direct world surfaces and compatibility spatial widgets are passive; arbitrary UV ray input, focus, and IME are not supplied.
- HTML projection exists but is experimental, with uniform atlas cells, bounded anchors, limited activation and no content-painted fence or world occlusion.
- Scene backdrop supports bounded SDR screen regions, not arbitrary CSS compositing across views, HDR/stereo, or qualified split-screen rendering.
- Texture2D runtime snapshots exist; live TextureRenderTarget2D GPU import and zero-copy image input do not.
- Full DOM OS screen-reader traversal and trusted raw multitouch are not established by the stock public WebBrowser API. Native status announcement is narrower.
- Core single-range policy tests do not supply missing browser request headers in Epic's adapter.
- D3D12 has upstream historical host evidence; D3D11 remains unqualified by that evidence. This rescan adds no new GPU qualification.
- Plugin-owned CEF work belongs to another branch and is not in this descriptor. No alternative production backend is delivered here.
Remaining validation and authoring gaps
No host project is included, so this scan cannot certify the first page, generated contract freshness against a loaded project, C++ snippets, asset authoring, cooking, or rendering. Native automation sources are inventoried but not executed. Python texture tests use a synthetic PNG header and a fake exporter; they do not prove Unreal export or image quality. React-store tests do not mount React components or prove Strict Mode behavior.
The inventory covers all shipped public definitions, delegate declarations, client exports, modules, scripts, configuration, shader/fixture groups, and authoring skills. Private sources and tests are included in the hash manifest and mapped as implementation/evidence, not promoted to supported APIs. Individual inherited Unreal engine methods are outside scope. Exact headers are retained as reference to avoid omitting fields or method overloads; public-header placement alone does not make an internal helper a recommended game API.
Product can integrate this guide package without waiting for new plugin behavior. Before promising a tested starter or a supported rendering/device matrix, complete the manual acceptance checklist in validation.