Functional gaps

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

✓

Evidence basis: source-verified at the pinned commit. Claims on this page were checked by reading the CNA source at commit 009d40f5; 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 009d40f5; open an entry for its expected and actual behaviour, source locations, evidence and blast radius.

70 entries

IDTitleSubsystemStatusSeverityEvidence basis
CNA-GAP-001ContentLoadException derives from std::runtime_error, not System::Exception, so no Sharp Runtime catch clause spans CNA's XNA exceptionsCore & runtimenarrowedn/asource-verified
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, and the limitation report misstates ShaderEffect instancingGraphics & renderersopenn/asource-verified
CNA-GAP-009Sub-pixel SpriteBatch destinations reach only EasyGL, OPENGL4 and SOFTWARE; every other renderer truncates them to whole pixelsGraphics & renderersopenn/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 refuses a large part of the graphics API until it has macOS evidence: MRT, custom effects, occlusion queries, instancing, multi-stream input, back-buffer readback and several sampler/blend statesGraphics & renderersopenn/asource-verified
CNA-GAP-014CANVAS and FREEDIRECT ignore GraphicsDevice.Viewport and ScissorRectangle, and SDL_RENDERER ignores ViewportGraphics & renderersopenn/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-017PresentationMode is stored but not honoured by FREEDIRECT (always letterbox), CANVAS (only FixedHeightDynamicWidth changes output) and DIRECTX9 (never read)Graphics & 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 and DIRECTX12 never use DXGI exclusive full screen: SetFullscreenState is not called and exclusiveFullscreen_ is dead stateGraphics & renderersopenn/asource-verified
CNA-GAP-025DIRECT2D refuses additive blending (SourceAlpha/One and One/One) and other asymmetric or non-Add blend states, and reports AdditiveBlending falseGraphics & 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-027HTML_DOM and SVG_DOM refuse back-buffer readbackGraphics & renderersopenn/asource-verified
CNA-GAP-028The METAL renderer applies KHR_materials_specular factors only and samples neither specular textureGraphics & renderersopenn/asource-verified
CNA-GAP-029EasyGL GPU timers read 32-bit nanosecond results and cannot detect GL disjoint eventsGraphics & renderersopenn/asource-verified
CNA-GAP-030FREEDIRECT keeps presenting at the old physical scale after a virtual-resolution change once the first Present has happenedGraphics & renderersopenn/asource-verified
CNA-GAP-031ClusteredForwardEffect binds no material textures: many punctual lights cannot be combined with a texture setGraphics & renderersopenn/asource-verified
CNA-GAP-032Engine-layer PBR limits: one punctual light per PbrEffect draw, 8-bit environment cubes, no back-face normal flip for double-sided materials, no alpha-tested shadow castersGraphics & renderersopenn/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-051Guide's fourteen Show* shell entry points and DelayNotifications are empty no-opsNetworking & gamer servicesopenn/asource-verified
CNA-GAP-052Local gamer services have no catalogue, presence or profile data: achievement metadata is empty, Achievement::GetPicture throws, presence is never published and privileges are a fixed permissive constantNetworking & gamer servicesopenn/asource-verified
CNA-GAP-053Voice chat, party invites, NetworkMachine::RemoveFromSession, arbitration/TrueSkill events and QualityOfService bandwidth are not implementedNetworking & gamer servicesopenn/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-056A foreign HWND adopted by handle is not subclassed and is absent from windows_, so the Win32 GL, Vulkan, relative-mouse and text-input services refuse itPlatformsopenn/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-058The native Win32 platform backend has no gamepad support, no IME composition events and no file dropPlatformsopenn/asource-verified
CNA-GAP-059In a MinGW-w64 cross tree CnaTests gets a Wine CROSSCOMPILING_EMULATOR only when the default renderer is DIRECTX9/11/12 or DIRECT2D is compiled inBuild & 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 468 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 granularity depends on the platform backend: SDL3 drops sub-notch wheel motion, Win32 and Wayland keep itInputopenn/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-069Windows builds leave out Sharp Runtime's Xml.Serialization, so the XmlSerializationEXT surface of the math and input types is unavailable therePlatformsopenn/asource-verified
CNA-GAP-070NetworkSession's Begin/End pairs are synchronous: the result is complete and the callback has run when Begin returns, and End does the work on the caller's threadNetworking & gamer servicesopenn/asource-verified
CNA-GAP-071GraphicsDevice is single-threaded: its resource registry has no lock and only EasyGL and OpenGL4 lease a context, so resource creation from a loading thread is supported only for ContentManager loads on those twoGraphics & renderersopenn/asource-verified