Functional gaps

CNA snapshot c1c316b9  ·  Known Issues › Functional gaps  ·  source links pinned to c1c316b9

✓

Evidence basis: source-verified at the pinned commit. Claims on this page were checked by reading the CNA source at commit c1c316b9; unless a sentence says otherwise, nothing here was built or executed.

Functionality is intentionally or currently incomplete or unsupported; nothing violates a contract, the contract is narrower than one might expect. Every entry below exists at CNA c1c316b9; open an entry for its expected and actual behaviour, source locations, evidence and blast radius.

60 entries

IDTitleSubsystemStatusSeverityEvidence basis
CNA-GAP-002CNA::Logger serialises writes but not level changes, and a sink must not call back into the loggerCore & runtimeopenn/asource-verified
CNA-GAP-003CNA::Runtime and CNA::RuntimeOptions are declared in CNA/Misc.hpp but not implementedCore & runtimeopenn/asource-verified
CNA-GAP-004Game::ShowMissingRequirementMessage is a virtual hook that nothing in CNA callsCore & runtimeopenn/asource-verified
CNA-GAP-005DrawableGameComponent loads content once in Initialize and never follows the graphics device serviceCore & runtimeopenn/asource-verified
CNA-GAP-006GraphicsDeviceManager never calls its FindBestDevice, RankDevices or CanResetDevice virtualsCore & runtimeopenn/asource-verified
CNA-GAP-007CNA public headers export Sharp Runtime's unprefixed property macros (YES, NO, nothing, ref1, getter1, CONTAINS, INTERNAL and others)Core & runtimeopenn/asource-verified
CNA-GAP-008SDL_GPU ShaderEffect draws bind only the first vertex stream, while the limitation report claims all sixteen stream bindingsGraphics & renderersopenn/asource-verified
CNA-GAP-009Sub-pixel SpriteBatch destinations reach only EasyGL, SOFTWARE and METAL; every other renderer truncates them to whole pixelsGraphics & renderersnarrowedn/asource-verified
CNA-GAP-010SpriteSortMode::Immediate does not submit each sprite as it is drawn on VULKAN, SDL_GPU, the Direct3D families and WEBGPU, which still batch below the renderer seamGraphics & renderersnarrowedn/asource-verified
CNA-GAP-011PresentationParameters.RenderTargetUsage is stored, cloned and exposed but never consulted by GraphicsDeviceGraphics & renderersopenn/asource-verified
CNA-GAP-012On HEADLESS, TextureCube::SetData throws NotSupportedException because the headless cube renderer stores no pixels, so cube-map content cannot be loadedGraphics & renderersopenn/asource-verified
CNA-GAP-013METAL runs custom ShaderEffects only through SpriteBatch, refuses a partial MultiSampleMask for custom and compiled effects, and presents PresentInterval.Two as OneGraphics & renderersnarrowedn/asource-verified
CNA-GAP-014SDL_RENDERER ignores GraphicsDevice.ViewportGraphics & renderersnarrowedn/asource-verified
CNA-GAP-015Only BasicEffect exposes XNA's parameter graph and technique name; the other stock effects publish partial, hand-built parameter tablesGraphics & renderersopenn/asource-verified
CNA-GAP-016Several live GraphicsDevices share process-wide window and input slots with last-writer semanticsGraphics & renderersopenn/asource-verified
CNA-GAP-018EasyGL does not register Texture3D with its context-loss recovery, so volume texture contents are lost after a real WebGL/GLES context lossGraphics & renderersopenn/asource-verified
CNA-GAP-019A VULKAN occlusion query counts only the first contiguous run of its tagged draws per frameGraphics & renderersopenn/asource-verified
CNA-GAP-020SDL_GPU accepts ShaderEffect GLSL only in Vulkan-rule form (#version 450, explicit locations and SDL_gpu sets), so the shared GLSL ES 3.00 .cnj effect fixture does not load thereGraphics & renderersopenn/arecorded by CNA
CNA-GAP-021DIRECTX9 BasicEffect reaches only 12 of its 32 shader variants; other combinations throw 'no matching CNA vertex layout'Graphics & renderersopenn/asource-verified
CNA-GAP-022DIRECTX9 ignores mipMap for RenderTarget2D (single level, GetData above level 0 throws) and ignores the MSAA request for RenderTargetCubeGraphics & renderersopenn/asource-verified
CNA-GAP-023On DIRECTX9 a Texture2D can only be created with SurfaceFormat::ColorGraphics & renderersopenn/asource-verified
CNA-GAP-024DIRECTX11 never uses DXGI exclusive full screen: SetFullscreenState is not called and exclusiveFullscreen_ is dead stateGraphics & renderersopenn/asource-verified
CNA-GAP-026SDL_RENDERER cannot honour TextureAddressMode.Wrap or Mirror for SpriteBatch; a Wrap draw silently shows clamped pixelsGraphics & renderersopenn/arecorded by CNA
CNA-GAP-032PbrEffect limits: one punctual light per draw, and no back-face normal flip for double-sided materials outside EasyGLGraphics & renderersnarrowedn/asource-verified
CNA-GAP-033CNA has no counterpart of XNA's MissingVertexShaderInput draw check, and renderers resolve a stock-effect draw that lacks an input differentlyGraphics & renderersopenn/asource-verified
CNA-GAP-034The XNB DateTime reader discards the two DateTimeKind bits, so Utc and Local values load as plain tick countsContent & XNB/CNB/CNJopenn/asource-verified
CNA-GAP-035Only the direct glTF route fills Model::CamerasEXT; models loaded from .cnj or .cnb carry no camerasModels & glTFopenn/asource-verified
CNA-GAP-036Runtime glTF import has no unit-scale option; only the offline converters can rescale a modelModels & glTFopenn/asource-verified
CNA-GAP-037EXT_mesh_gpu_instancing is not imported: each node keeps one placement and its per-instance transforms are droppedModels & glTFopenn/asource-verified
CNA-GAP-038Mirrored glTF placements keep the shared winding, so under the default cull mode they render back-facingModels & glTFopenn/asource-verified
CNA-GAP-039The glTF vertex ABI carries two UV channels, one joint-influence set and one colour set; further sets are dropped and reportedModels & glTFopenn/asource-verified
CNA-GAP-040A skinned glTF model cannot also carry rigid scene-node animation: tracks not driven by its skins are droppedModels & glTFopenn/asource-verified
CNA-GAP-041A glTF mesh placed by several nodes takes its morph-weight animation from the first of them onlyModels & glTFopenn/asource-verified
CNA-GAP-042CUBICSPLINE bone and node channels are sampled at key times and played back linearly between themModels & glTFopenn/asource-verified
CNA-GAP-043glTF skins with more than 72 joints are refused at importModels & glTFopenn/asource-verified
CNA-GAP-044glTF punctual lights are approximated as at most three directional lights; point and spot lights have no native supportModels & glTFopenn/asource-verified
CNA-GAP-045XACT features FAudio never finished are unimplemented: QUEUE and REPLACE_QUIETEST limits, band-pass track filters, reverb sends and DSP-preset RPCsAudio & mediaopenn/asource-verified
CNA-GAP-046CNA has no sound-instance limit: InstancePlayLimitException is declared but never thrownAudio & mediaopenn/asource-verified
CNA-GAP-047XACT wave-bank entries compressed as XMA/XMA2 or WMA produce no soundAudio & mediaopenn/asource-verified
CNA-GAP-048StorageContainer::OpenFile(file, mode, access, share) ignores its FileShare argumentStoragenarrowedn/asource-verified
CNA-GAP-049StorageDevice::DeviceChanged is declared but never raisedStorageopenn/asource-verified
CNA-GAP-053QualityOfService of PlayerMatch and Ranked search results is never measuredNetworking & gamer servicesnarrowedn/asource-verified
CNA-GAP-054The terminal window title is stored but never emitted, so SetTitle has no visible effectPlatformsopenn/asource-verified
CNA-GAP-055TerminalSession does not restore or re-establish the terminal on job-control stop and continue (SIGTSTP/SIGCONT)Platformsopenn/asource-verified
CNA-GAP-057CNA::Devices host dialogs are minimal: message boxes are unparented with no default or cancel button, tray icons have no image API, and UrlLauncher passes any string to the OSPlatformsopenn/asource-verified
CNA-GAP-059In a MinGW-w64 cross tree CnaTests gets a Wine CROSSCOMPILING_EMULATOR only when the default renderer is DIRECTX9 or DIRECTX11Build & CIopenn/asource-verified
CNA-GAP-060No renderer or subsystem registers an IDiagnosticsSource, and nothing registers ResourceKind::AudioVoice resourcesDiagnostics & Inspectoropenn/asource-verified
CNA-GAP-061No renderer implements IResourcePreviewProvider, and the seam cannot cancel a preview ticket the agent abandonsDiagnostics & Inspectoropenn/asource-verified
CNA-GAP-062The C ABI has no route for 631 public C++ declarations that the coverage inventory records as plannedC API & bindingsopenn/asource-verified
CNA-GAP-063A fixed-step TargetElapsedTime above 500 ms never produces an Update from Game::Tick, essentially the same ceiling XNA 4.0 hasCore & runtimeopenn/asource-verified
CNA-GAP-064WEBGPU does not propagate a real device loss: OnDeviceLost only logs, so DeviceLost, the device status and the draw gate react only to the debug hooksGraphics & renderersopenn/asource-verified
CNA-GAP-065The renderer capability profile has no feature for pre-compiled SPIR-V payloads, so SDL_GPU and VULKAN report every source-dialect feature UnsupportedGraphics & renderersopenn/asource-verified
CNA-GAP-066A runtime .cnj Texture2D colorKey leaves keyed texels as straight-alpha (key RGB, alpha 0), so they are invisible only under a non-premultiplied blend stateContent & XNB/CNB/CNJopenn/asource-verified
CNA-GAP-067ScrollWheelValue drops sub-notch wheel motion: the SDL3 platform counts whole notches only, where XNA accumulates raw wheel unitsInputopenn/asource-verified
CNA-GAP-068Video playback is unavailable on Windows, MinGW, Emscripten, Android and iOS: CNA has no FFmpeg integration for those targets yetAudio & mediaopenn/asource-verified
CNA-GAP-070NetworkSession's Local, LocalWithLeaderboards and SystemLink Begin/End pairs are synchronous: Begin runs the callback and returns a completed result, and End does the work on the caller's threadNetworking & gamer servicesopenn/asource-verified
CNA-GAP-071Only EasyGL leases its context to other threads: on every other renderer, graphics resources created on a loading thread have no CNA-level exclusion against the frameGraphics & renderersnarrowedn/asource-verified
CNA-GAP-072SendDataOptions cannot express XNA's combined Chat flags, and chat packets are always sent reliablyNetworking & gamer servicesopenn/asource-verified
CNA-GAP-073Offline leaderboards keep no Stream columns, and a column changed without a rating change is not saved offlineNetworking & gamer servicesopenn/asource-verified
CNA-GAP-074Guests cannot take part in PlayerMatch or Ranked sessionsNetworking & gamer servicesopenn/asource-verified