This is the sole coverage record for the thin facade. Each row covers an application contract or a group of unchanged forwarded fields. The owning code and representative tests define the route. Upstream research notes preserve useful versioned findings and primary-source citations; consult upstream declarations for individual API signatures and defaults.
The review checkboxes, coverage boundaries, and source/test routes below describe the current TF contract only. A checked row means its current route or substantiated boundary was reviewed; it establishes neither renderer acceptance nor next-release completion. An unchecked row preserves current unfinished work or an open gate, including owner exclusions. The first three cells preserve that candidate's historical routes, including method-mirror helpers and tests removed by U06 and native marker drag routes being retired by U07. They do not describe the working next-release runtime surface.
The next-release column records the agreed disposition and implementation/review owner from the unit plan. All four selected wrapper getters are implemented; U06 is merged as PR25 and U07 as PR26. U08 native camera target migration is merged as PR27. U09 feature-state lifetime migration is merged as PR28. U10 current-map capture migration is merged as PR29. U11 selected offline manager migration is merged as PR30. U12 independent snapshot migration is merged as PR31; applicable routine verification is recorded. U13 common popup migration is merged as PR32; routine verification and provenance are recorded; U14 navigation and fullscreen migration is merged as PR33; routine verification and provenance are recorded; U15 scale and attribution migration is implemented and independently audited after reviewed U14 PR33; routine verification and provenance are recorded. U15 PR34 is merged. U16 geolocation UI migration is implemented and independently audited; routine verification and provenance are recorded. U16 PR35 is merged. U17 common control layout migration is implemented and independently audited; bounded routine verification and artifact provenance are recorded; U17 PR36 is merged. U18 acquisition migration is implemented and independently audited; U18 evidence records bounded routine verification, archive provenance and remaining gates. U18 PR37 is merged. U19 feature-click migration is merged as PR38; U19 evidence records bounded routine verification and exact archive provenance. U20 Images migration is implemented and independently audited; U20 evidence records bounded routine verification, inherited publication exclusions and exact archive provenance. U20 PR40 is open after independent review. U21 private-coordination cleanup is implemented and independently audited; U21 evidence records bounded routine verification and exact archive provenance. U21 PR41 is open after independent review. U22 public-surface audit and bounded documentation/test fixes are implemented and independently audited; U22 evidence records full routine checks without fixture exclusions, exact packed/declaration verification and the corrected fixture-loading diagnosis. U22 PR42 is open after independent review. U23 read-only patch/peer assessment is complete with PR43 open after review; the decision report records eight retained publication repair gaps at the read-only checkpoint. U23-F01 is implemented and independently audited; reconciliation evidence records exact patch identities, bounded routine/pristine/isolated proofs and frozen-archive checks with peers, locks and versions unchanged. The reconciliation PR44 is open after review. U24 candidate preparation is implemented and independently audited with PR45 open after review. The authorized U25 browser attempt failed in its first command; the Mapbox scenario passed, MapLibre camera forwarding failed, and runner cleanup left owned child processes. Eight commands were not run. The owner-approved camera/runner repairs are implemented and independently audited with PR46 open. The authorized attempt02 passed commands 1-4 on both web engines, then command 5 failed after source recreation, before requesting the replacement style, with an undefined-value error; commands 6-9 were not run. All five commands exited normally and released their owned processes. Source-backed SDK and full-hook reproductions trace the error to redundant removal of already-empty fresh feature state followed by a set before SDK state coalescing. The fixture-only repair is implemented and independently source-audited with PR47 open; applicable routine checks passed. Library behavior is unchanged. The authorized attempt03 passed commands 1-5 on both web engines, then command 6 failed in the Mapbox UI popup-teardown assertion (open=2, close=2, expected no extra dismissal); commands 7-9 were not run. All six commands exited normally and released owned resources, with frozen inputs unchanged. Source-backed raw-wrapper/SDK and actual-scene controls locate an application ownership defect: old-map removal invokes the old popup callback before child cleanup, and that stale callback closes replacement-generation state. The fixture-only generation/lifetime guard and stronger replacement-popup verification are implemented with PR48 open; applicable routine checks and independent source audit passed. The current browser outcome records all nine approved rows passing on the unchanged PR48 candidate, including commands 1-2 from attempt04 and commands 3-9 from approved recovery. The interrupted attempt04 and prior failures remain recorded history. The browser harness and runtime tools are retired. The sole acceptance proposal owns the source-audited and routinely verified resolver/retained-coverage repairs, the proposed host-readiness phase and the later separate native execution-permission gate. Native acceptance remains unverified. Patch/peer assessment and the approved retained publication patch reconciliation are complete; final release verification remains open. Automatic sequential implementation through U24 follows the unit protocol. The U22 cross-surface audit and bounded routine/packed checks are complete; applicable U24-U27 verification remains open. Full coverage applies to the retained next-release contract, with deliberate exclusions separate from SDK limitations. getWrapperMap replaces selected method mirrors only; it cannot complete retained common conversions or cleanup guarantees. The working route obtains a borrowed wrapper per operation and rejects when detached, without waiting for load. Web raw SDK reads, gesture tuning, and event/plugin operations use borrowedWrapper.getMap(); useWrapperMap remains available. Borrowed handles retain upstream lifetime, and React props retain resource ownership.
The support matrix owns current versions and patches. The release record owns release gates. The audit and repair evidence retain their original findings and routine outcomes. The repaired candidate's renderer behavior remains unverified. Earlier acceptance applies only to the scenarios and artifacts in its original records.
| Current review | Current coverage boundary | Current route and representative checks | Next-release disposition and verification owner |
|---|---|---|---|
[x] selection |
Common import safety, MapSetup, adapter selection, map IDs/useMap registry, explicit entry paths, platform aliases, and mixed engine selection. React component metadata adds no independent map operation. | Setup, registry, registry tests, packed selection. ESM is the consumer contract; CommonJS builds and server-rendered maps are outside it. Common imports must remain renderer safe. | Retain selection, aliases, mixed backends and named maps; service/setup narrowing implemented U18 (implemented and independently audited; bounded routine verification recorded in U18 evidence; renderer acquisition unverified), final surface audit U22. |
[x] web-host |
All inherited DOM host props and CSS fields on Map and UI hosts, with browser semantics. | Web map, host tests. Forwarding does not certify every browser or accessibility effect. | Retain Map/Marker host forwarding; common Popup host removed U13 (implemented and audited; renderer interaction unverified); navigation/fullscreen facade hosts removed U14; scale/attribution facade hosts removed U15; geolocation facade host removed U16 (implemented and independently audited; renderer interaction unverified); custom-control host removed U17 (implemented and independently audited; bounded routine checks recorded; renderer layout unverified), audit U22. |
[x] native-host |
Inherited ViewProps, host styles, native handles, and ornament placement types on both native engines. | Native presentation, UI tests, native peer types. TV, accessibility, animation, and device semantics remain host owned. | Retain map/marker host props, handles and SDK ornaments; control layout removed U17 (implemented and independently audited; bounded routine checks recorded; renderer layout unverified), audit U22. |
[x] lifecycle |
Map creation, load/style/move/error callbacks, logical detachment, unmount/remount, stale callbacks and async results, and Strict Mode cleanup. Web reuseMaps is delegated; native reuseMaps=true rejects. | Facade Map, web map, native option guards, lifetime tests. | Retain callbacks, reuse boundaries, attachment/error/teardown safety; private orphan cleanup implemented and independently audited U21 (bounded routine verification and exact archive provenance); retained callbacks, named maps, native marker observations and stale-map query ownership remain; renderer behavior unverified. |
[x] common-camera |
Shared center/zoom/bearing/pitch, bounds, padding, events, commands, projections, and promise-based MapRef operations. Selected SDK signatures remain distinct from normalized common results. | Camera contract, web ref, camera conversions, both Mapbox and MapLibre adapter tests. See native exceptions below. | Retain camera/projection/elevation methods and restrictions; common capture removed U10 (implemented and audited; routine verification recorded; renderer acceptance unverified), native target change implemented and audited U08 (routine verification recorded; renderer acceptance unverified). |
[x] sources-layers |
Five portable source families, eight portable layer types, source injection, creation-only fields, mutable/reset values, style replacement, clustering options, and registered images. A source supplies map data; a layer supplies drawing rules. | Shared Source, Layer, sources record, source lifetime tests. Advanced selected families are covered below. | Retain all source/layer families, clustering and updates; narrow Images web polyfill implemented and independently audited U20 (bounded routine verification and exact archive provenance): native wrapper delegation remains, web waits for initial readiness and owns entries within one style; applications finish cleanup before replacement and remount after readiness; no automatic replay/retry or renderer acceptance claim. |
[x] queries-state |
Rendered/source/cluster queries, feature state, result conversion, source registries, source removal and replacement, interactiveLayerIds, and source press handling. | Query record, feature-state implementation, feature-state tests, query tests. Native loaded-tile queries and GeoJSON getData retain distinct meanings. | Retain rendered/source/cluster queries and explicit state with errors/current refs; renderer-owned lifetime migration implemented and audited U09 (routine verification recorded; renderer acceptance unverified), source-click removal implemented and independently audited U19 (bounded routine verification and archive provenance); Map.onClick/interactiveLayerIds retain actual-point feature queries, errors and stale-map protection; renderer/query/touch behavior unverified. |
[x] shared-ui |
Marker, Popup, Control, NavigationControl, AttributionControl, ScaleControl, GeolocateControl and FullscreenControl; mutable presentation, dragging, activation, map access, and cleanup. Shared creation guards also apply to custom adapters. | Shared UI, native UI, creation regressions, web and native UI tests. Defaults and unsupported requests are explicit below. | Retain live Marker activation/children/refresh and web drag; native shared drag removal implemented and audited U07 (routine verification recorded; touch acceptance unverified), common Popup removed U13 (implemented and independently audited; routine checks support their covered scope, renderer interaction unverified), NavigationControl/FullscreenControl removed U14 (routine scope and renderer gates in the unit status); ScaleControl/AttributionControl removed U15 (routine scope and renderer gates in the unit status); GeolocateControl/follow removed U16 (implemented and independently audited; routine scope and renderer gates in the unit status); Control/layout removed U17 (implemented and independently audited; bounded routine checks recorded; renderer layout unverified). |
[x] advanced-common |
Portable terrain, projection, light, and hillshade contracts, capability checks, and explicit selected advanced inputs. | Rendering record, rendering tests, validation tests. Renderer support depends on the selected SDK and exact style values. | Retain terrain/projection/light/hillshade, capability guards and selected inputs; audit U22. |
Rows in this section apply to both selected web engines unless named otherwise. The Mapbox entry and MapLibre entry own the actual exports. Selected forwarding tests cover current handles, arguments, receiver binding, synchronous results/errors and detachment; peer checks check installed endpoint declarations.
| Current review | Current coverage boundary | Current route and representative checks | Next-release disposition and verification owner |
|---|---|---|---|
[x] web-map |
WrapperMap's complete selected constructor/options/callback props. Map.options supplies typed selected constructor values through common Map; shared lifecycle and camera conversions remain separate. | Web map, Mapbox adapter tests, MapLibre adapter tests. | Retain this selected/current boundary and its source/test owner; cross-surface audit U22, patch/peer review U23 where applicable. No new support claim. |
[x] web-style |
Complete selected style roots, sources, layer paint/layout/filter fields, expressions and schema defaults. Schema metadata and operator vocabulary describe transported values, not independent resources. | Web map, sources, layer validation, rendering tests. SDK validation owns unchanged values. | Retain this selected/current boundary and its source/test owner; cross-surface audit U22, patch/peer review U23 where applicable. No new support claim. |
[x] web-values |
Named geometry constructors and instance types, event payloads, query results, custom-layer callbacks, images, camera/control inputs, and other concrete public argument/result types. | Selected entry exports and selected tests. Passing a concrete type through an actual operation does not certify renderer internals or hardware. | Retain this selected/current boundary and its source/test owner; cross-surface audit U22, patch/peer review U23 where applicable. No new support claim. |
[x] web-ui |
WrapperMarker, WrapperPopup, named control components, useControl and useWrapperMap, with full selected props and imperative refs. SDK add/remove and setters compose through React ownership. | Web UI, UI tests. Instance storage is not a portable resource. | Retain WrapperMarker/Popup/controls, useControl/useWrapperMap; selected facade Popup aliases removed U13 (implemented and audited; direct web WrapperPopup application wiring checked with mocks); navigation/fullscreen aliases removed U14; scale/attribution aliases removed U15; geolocation aliases removed U16; Control aliases removed U17 (implemented and independently audited; bounded routine checks recorded; renderer layout unverified). |
[x] web-ref-owners |
Common MapRef, selected WebMapRef, and raw WrapperMap refs have separate typed owners. | Web ref, selected entry declarations and selected tests. An SDK instance type does not promise every instance field on a wrapper ref. | Retain SDK-free common MapRef and borrowed WrapperMap refs; selected getWrapperMap implemented U03 with wrapper lifecycle tests and routine evidence, mirror removed in U06 working implementation (audited; bounded routine verification recorded). |
[x] web-selected-refs |
Named dynamic subscriptions, add/remove/hasControl, source/layer/style/DOM readbacks, loading state and repaint operations; other declared selected methods retain their selected signatures. | Selected entry method lists, forwarding helper, forwarding regressions, selected tests. Retained facade refs reject after detachment and follow replacement handles. | Remove selected advanced mirrors in favor of borrowed getWrapperMap; getter implemented U03, mirror removed in U06 working implementation (audited; bounded routine verification recorded), preserve common methods and detached/current-handle guards. |
[x] web-wrapper-refs |
Upstream createRef's public, non-underscore functions through WrapperMap/useWrapperMap. | Selected entry wrapper exports and adapter tests. Selected synchronous SDK behavior is distinct from common promise semantics. | Retain raw wrapper refs/useWrapperMap with upstream timing/ownership; selected getWrapperMap implemented U03, renderer acceptance unverified. |
[x] web-resource-ownership |
Destructive or React-owned SDK setters omitted by upstream createRef use component props and mount/unmount instead. | Web map, sources, selected tests. No duplicate raw owner is claimed. | Retain this selected/current boundary and its source/test owner; cross-surface audit U22, patch/peer review U23 where applicable. No new support claim. |
[x] web-events |
Public fire and MapLibre setEventedParent preserve plugin event production and parent routing. | Selected entry methods and selected tests. Mapbox's private event machinery is excluded. | Retain raw wrapper/SDK event facilities through getWrapperMap/useWrapperMap; getter implemented U03; facade mirror removed in U06 working implementation (audited; bounded routine verification recorded). |
[x] web-gestures |
Gesture props and common enable/disable conversions; getGestureHandler exposes typed public state/tuning on borrowed SDK handlers. | Gesture conversion, gesture tests, selected tests. Borrowed handles retain upstream lifetime; internal DOM dispatch/reset/render-frame methods are not facade operations. MapLibre cooperativeGestures and cancelPendingTileRequestsWhileZooming have explicit routes. | Retain common gesture conversions and raw tuning through wrapper access; getter implemented U03; selected getGestureHandler mirror removed in U06 working implementation (audited; bounded routine verification recorded). |
[x] web-sources |
getSource, typed getCanvasSource/getVideoSource, media controls and independent readbacks. | Selected entry source-kind checks, source implementation, selected tests. Returned SDK sources are borrowed; React-owned data/configuration changes use Source props. | Retain source families and borrowed raw SDK sources through wrapper access; getter implemented U03; typed facade getter/media mirror removed in U06 working implementation (audited; bounded routine verification recorded). |
[x] web-debug |
Explicit debug property setters/readbacks, including repaint, rather than unbound fields on the wrapper ref. | Selected entry getDebugOptions/setDebugOptions and selected tests. | Retain raw SDK debug facilities through wrapper access; getter implemented U03; facade debug helper removed in U06 working implementation (audited; bounded routine verification recorded). |
[x] web-version |
getVersion reads the SDK instance.version synchronously. | Selected entry explicit getter and selected tests. Nonfunction SDK fields are not copied by createRef. | Use raw wrapper.getMap().version; getter implemented U03; facade getVersion removed in U06 working implementation (audited; bounded routine verification recorded). |
[x] web-injection |
Typed Map.options.mapLib injection and SDK-owned component constructors. MapLibre maplibreLogo uses its constructor option or selected LogoControl composition. | Web map, selected entry types and peer checks. | Retain this selected/current boundary and its source/test owner; cross-surface audit U22, patch/peer review U23 where applicable. No new support claim. |
[x] web-probe |
Mapbox supported is the selected browser/GPU probe, invoked only when called. MapLibre GL JS 6.13 has no exported supported function; optional injected mapLib.supported is only a structural wrapper field. | Selected entry exports, selected tests. No fabricated MapLibre hardware probe. | Retain this selected/current boundary and its source/test owner; cross-surface audit U22, patch/peer review U23 where applicable. No new support claim. |
[x] web-offset |
Mapbox GL JS 3.33 addControl position/offset options and ControlOffset values retain the installed peer signature; 3.32 retains its own signature. | Endpoint research, selected tests, peer checks. | Retain raw Wrapper controls and SDK position/offset types; getter implemented U03; facade addControl mirror removed in U06 working implementation (audited; bounded routine verification recorded). |
[x] web-global-state |
MapLibre GL JS 6.14 initial globalState uses Map.options/WrapperMap. Replacement uses React mapStyle, onStyleLoad and per-key setGlobalStateProperty, with null reset. | MapLibre entry, endpoint research, selected tests. No facade setStyle is advertised; endpoint runtime remains unverified. | Retain selected constructor/style transport and raw SDK state operations; getter implemented U03; per-key method mirror removed in U06 working implementation (audited; bounded routine verification recorded). |
[x] web-baseline |
Historical /mapbox-legacy names resolve conceptually through the selected Mapbox 3 route. Mapbox GL JS 1/2 compatibility is outside this release baseline. | Web research notes, support matrix. This is a version boundary, not an SDK feature limitation or a new legacy export. | Retain this selected/current boundary and its source/test owner; cross-surface audit U22, patch/peer review U23 where applicable. No new support claim. |
[x] web-escape |
Wrapper getMap is an explicit SDK escape hatch. | Selected entry wrapper exports and selected tests. Subsequent arbitrary SDK operations do not establish facade coverage. | Retain raw wrapper getMap; selected getWrapperMap implemented U03 with borrowed lifetime and no ownership transfer; renderer acceptance unverified. |
[x] web-internals |
SDK Style/Transform/Painter/HandlerManager/Terrain managers, private event helpers, source workers, tile loading, GPU/media buffers, computed projection transforms, and instance storage remain renderer owned. | Web research, selected entry public methods and selected tests. Style/source/layer inputs, named readbacks and custom-layer callbacks are the application routes. Declaration-only fields are not claimed as forwarded properties. | Retain this selected/current boundary and its source/test owner; cross-surface audit U22, patch/peer review U23 where applicable. No new support claim. |
The Mapbox entry and MapLibre entry own explicit exports. Their named components retain upstream props and refs; common Map does not own their camera tree. The exact native SDK source identities behind style boundaries are in the native style research.
| Current review | Current coverage boundary | Current route and representative checks | Next-release disposition and verification owner |
|---|---|---|---|
[x] mb-components |
RNMapbox public annotation, camera, source, layer, image and other selected components. WrapperCamera belongs under WrapperMapView, independently of common Map. | Mapbox entry, adapter tests, peer checks. | Retain raw components and wrapper refs; selected getWrapperMap implemented U04 with attachment regressions and routine evidence, renderer/native linking unverified, advanced mirror removed in U06 working implementation (audited; bounded routine verification recorded), final audit U22. No new support claim. |
[x] ml-components |
MapLibre public Callout, annotation, source, module/class exports and selected component/ref operations. WrapperCamera belongs under WrapperMap, independently of common Map. | MapLibre entry, adapter tests, peer checks. | Retain raw components and wrapper refs; selected getWrapperMap implemented U05 with attachment regressions and routine evidence, renderer/native linking unverified, advanced mirror removed in U06 working implementation (audited; bounded routine verification recorded), final audit U22. No new support claim. |
[x] native-camera |
Selected raw stop/initial-state/options and movement payloads retain wrapper semantics; common camera commands and events convert separately. | Both selected entry types, camera tests, controlled-state regressions. Forwarded Camera props do not prove controlled gesture rejection. | Retain raw camera/options/events and common commands; native unchanged-target rollback removal implemented and audited U08 (routine verification recorded; renderer acceptance unverified). |
[x] native-values |
Concrete geometry, bounds, point, query and callback payload aliases pass through their actual component/service operations. | Both native entry exports, wrapper value tests, peer checks. Types are not independent renderer operations. | Retain concrete types for rendering/display and raw wrapper operations; common map capture-only types removed U10 (implemented and audited; routine verification recorded); common offline types removed U11 (implemented and audited; routine verification recorded; live SDK behavior unverified); common capture/image-output types removed in working U12; remaining acquisition-only types removed U18; GeolocationPosition and UserLocationProps retained (implemented and independently audited; bounded routine verification recorded in U18 evidence; renderer acquisition unverified). U12 is implemented and audited; applicable routine verification is recorded. |
[x] mb-animation |
RNMapbox constants, geometry, selected public types, Animated classes/functions and experimental shape animators retain their actual exports. | Mapbox entry, adapter tests, peer checks. Native linking and hardware behavior require separate evidence. | Retain this selected/current boundary and its source/test owner; cross-surface audit U22, patch/peer review U23 where applicable. No new support claim. |
[x] ml-values |
MapLibre concrete component/Layer/service inputs and payloads, including selected native animation and public types. | MapLibre entry, adapter tests, peer checks. Recursive GeoJSON/ReactNode and opaque animation internals use their public value/handle contract. | Retain selected Layer/component/animation and raw manager types; common map capture-only types removed U10 (implemented and audited; routine verification recorded); common offline types removed U11 (implemented and audited; routine verification recorded; live SDK behavior unverified); common capture/image-output types removed in working U12; remaining acquisition-only types removed U18; GeolocationPosition and UserLocationProps retained (implemented and independently audited; bounded routine verification recorded in U18 evidence; renderer acquisition unverified). U12 is implemented and audited; applicable routine verification is recorded. |
[x] mb-layers |
RNMapbox generated paint/layout/style fields and expression vocabulary use selected layer/style transport. Full style documents use Map style configuration, not the wrapper Style component that ignores other roots. | Mapbox layers, style conversion, adapter tests. SDK validation and drawing remain upstream. | Retain this selected/current boundary and its source/test owner; cross-surface audit U22, patch/peer review U23 where applicable. No new support claim. |
[x] ml-layers |
MapLibre selected Layer paint/layout, legacy native style fields and expression values reach the selected layer. | MapLibre layers, style guards, style tests. Exceptions are enumerated below. | Retain this selected/current boundary and its source/test owner; cross-surface audit U22, patch/peer review U23 where applicable. No new support claim. |
[x] ml-style |
Parsed MapLibre native style roots/source fields/operators follow exact SDK parser/property registries. | Style guards, source hashes, style tests. Rejected values, native parser errors and font build dependencies are distinguished below. | Retain this selected/current boundary and its source/test owner; cross-surface audit U22, patch/peer review U23 where applicable. No new support claim. |
[x] mb-model |
RNMapbox 10.3.8 LocationPuck.model, including uri, scale, rotation and opacity, uses the selected component. It is absent from 10.3.7. | Mapbox entry, endpoint research, peer checks. Model rendering remains unverified. | Retain this selected/current boundary and its source/test owner; cross-surface audit U22, patch/peer review U23 where applicable. No new support claim. |
[x] mb-errors |
RNMapbox 10.3.8 onMapLoadingError's structured error/sourceId/tileId/type callback payload retains its selected declaration. | Mapbox entry, endpoint research, peer checks. No unconditional named type export absent from the minimum peer. | Retain this selected/current boundary and its source/test owner; cross-surface audit U22, patch/peer review U23 where applicable. No new support claim. |
[x] mb-language |
RNMapbox 10.3.8 normalizeLanguageTag/setLanguage and label localization are feature detected. Unavailable minimum-peer requests reject explicitly, including supplied localizeLabels=false. | Language guards, language tests, peer checks. | Retain this selected/current boundary and its source/test owner; cross-surface audit U22, patch/peer review U23 where applicable. No new support claim. |
[x] mb-build |
RNMapbox public plugin, Podfile, Gradle, SDK version, build configuration and dependency settings remain application owned. | Package setup, version guard, version tests. Current SDK requirement is exactly 11.23.1 on both platforms; historical wrapper iOS defaults were a range. Configuration is not linked-build evidence. | Retain application-owned build configuration, current peers and patches; read-only patch/peer review U23. |
[x] ml-build |
MapLibre public plugin, SPM and build settings retain their selected types. SDK overrides, repositories and location engine selection remain application responsibilities. | Package setup, native research, peer checks. Current recorded defaults are iOS 6.31.0 and Android 13.6.1; Android source minSdk 24 takes precedence over older getting-started text. | Retain application-owned build configuration, current peers and patches; read-only patch/peer review U23. |
[x] native-internals |
React lifecycle/storage, bridge envelopes, private annotation/source/service methods, abstract inheritance and internal location/offline/snapshot machinery have no separate facade operation. | RNMapbox and MapLibre research, both selected entry export lists and peer checks. Arbitrary native SDK APIs not exposed by these wrappers are outside the wrapper inventory. | Retain this selected/current boundary and its source/test owner; cross-surface audit U22, patch/peer review U23 where applicable. No new support claim. |
| Current review | Current coverage boundary | Current route and representative checks | Next-release disposition and verification owner |
|---|---|---|---|
[x] web-location |
Default SDK geolocation, explicit provider override, selected GeolocateControl payloads, follow behavior and common UserLocation. | UserLocation, web controls tests. Selected controls preserve backend semantics; shared service results convert separately. | Retain raw WrapperGeolocateControl and supplied UserLocation display; common control/follow removed U16 (implemented and independently audited; runtime geolocation unverified) with no setup-provider interception; library acquisition/provider removed U18; applications own permission, acquisition and cleanup (implemented and independently audited; bounded routine verification recorded in U18 evidence; browser acquisition unverified); display onPress removed U19 (implemented and independently audited; bounded routine verification recorded; renderer/query/touch behavior unverified); pressable geometry uses application-owned source/layer IDs with Map.onClick/interactiveLayerIds. |
[x] native-location |
Common location service/UserLocation, supplied positions, selected pucks, WrapperLocationManager and useWrapperCurrentPosition. Subscription and permission lifetimes remain explicit. | Native location, location tests, service tests. Mounting/importing must not silently start tracking. Provider/build and permission exceptions remain below. | Retain supplied display, pucks and raw managers/hooks; common control/follow removed U16 (implemented and independently audited; native interaction unverified) in favor of application UI/policy; common acquisition removed U18; applications own permission, acquisition and cleanup (implemented and independently audited; bounded routine verification recorded in U18 evidence; native acquisition unverified); display onPress removed U19 (implemented and independently audited; bounded routine verification recorded; renderer/query/touch behavior unverified); pressable geometry uses application-owned source/layer IDs with Map.onClick/interactiveLayerIds. |
[x] native-offline |
Common offline pack identity/bounds/status/events/subscriptions and selected manager, cache, import/migration operations exposed by the wrappers. | Offline service, offline tests, service tests, scoped acceptance record. Legacy/deprecated declarations are not proof of current SDK success. Two excluded methods remain unchecked below. | Retain raw selected offline/cache/import managers and persisted data/metadata; common normalization/observers removed U11 (implemented and audited; routine verification recorded; live SDK behavior unverified). Live download/import/cache/database and native execution remain unverified. Patches unchanged; review U23. |
[x] capture |
Map capture and selected static snapshots, camera/style/output normalization, image transport, deadlines and teardown. | Map capture, image output, web capture tests, image tests, native service tests. Native peer patches are required; renderer-only versus composed UI inclusion is scope dependent. | Retain raw capture/snapshot facilities with app-owned output/readiness; common map capture removed U10 (implemented and audited; routine verification recorded; renderer acceptance unverified), common independent snapshot services and capture/image-output types are removed in working U12; U12 is implemented and audited; applicable routine verification is recorded. Raw managers remain; native image execution is unverified. Patches unchanged; review U23. |
These rows retain behavior that must not disappear inside a broad forwarding claim. A checked rejection records implemented behavior, not permission to stop investigating a future supported route. The historical research notes preserve upstream findings and investigation limits; stage assignments and pending cells there describe their original implementation, not current status.
| Review | Exception | Boundary and evidence |
| --- | --- | --- | --- |
| [x] native-options | Native reuse, external web drawing contexts, desktop gestures/pointer callbacks, resize and stop. | Option guards reject requested unsupported values, including explicit false for desktop options. Native host styles own size; the facade does not simulate camera cancellation by dispatching another command. Backend getters without wrapper support fail explicitly. | Retain this selected/current boundary and its source/test owner; cross-surface audit U22, patch/peer review U23 where applicable. No new support claim. |
| [ ] native-fit-cap | Native fitBounds.maxZoom, including supplied zero, remains rejected and owner deferred. | Investigation memo, camera conversion tests. Do not label this implemented support. Native custom easing also lacks a portable callback transport; see the camera contract. | Retain this selected/current boundary and its source/test owner; cross-surface audit U22, patch/peer review U23 where applicable. No new support claim. |
| [ ] native-controlled | Native viewState writes camera props and reconciles rejected proposals; controlledCamera capability remains unadvertised. | Controlled-state implementation, regressions, release gates. Real gesture rejection/clamping acceptance is still required. | Deliberately exclude unchanged-target rollback; changed targets/commands remain. U08 implemented and audited, routine verification recorded and renderer acceptance unverified; no newly completed capability or SDK impossibility. |
| [x] android-opening-camera | RNMapbox 10.3.7 cold-cache opening camera keeps latitude at zero on Android. | Android camera handoff. This is a pinned peer limitation; remove it only after the upstream fix is present and verified. | Retain this selected/current boundary and its source/test owner; cross-surface audit U22, patch/peer review U23 where applicable. No new support claim. |
| [x] native-source-options | Common native GeoJSON generateId/promoteId and raster-dem scheme are rejected when supplied. | Shared source gates, both native source implementations and adapter tests. RNMapbox also rejects common GeoJSON clusterMinPoints and raster-dem encoding/attribution. Unsupported requests cannot silently drop fields. RNMapbox selected RasterArraySource bounds/tileSize may need TileJSON composition on iOS. | Retain this selected/current boundary and its source/test owner; cross-surface audit U22, patch/peer review U23 where applicable. No new support claim. |
| [x] ml-style-roots | MapLibre native explicit terrain, sky and state roots reject; projection must be Mercator. | Style guards, primary source record. Style URLs delegate to the SDK; the facade cannot inspect their downloaded content. | Retain this selected/current boundary and its source/test owner; cross-surface audit U22, patch/peer review U23 where applicable. No new support claim. |
| [x] native-symbol-layout | Shared Layer rejects icon-overlap, text-overlap and text-variable-anchor-offset on both native backends. | Shared guard, guard regressions. These common-component restrictions do not establish SDK limitations or change selected wrapper/style-document routes. | Retain this selected/current boundary and its source/test owner; cross-surface audit U22, patch/peer review U23 where applicable. No new support claim. |
| [x] ml-style-properties | MapLibre native rejects resampling on the audited color-relief/hillshade/raster paths, fill-layer-opacity, line-layer-opacity, icon-overlap and text-overlap, including legacy spelling equivalents. | Layer guards. Legacy rasterResampling and basic iconAllowOverlap/textAllowOverlap remain valid routes. | Retain this selected/current boundary and its source/test owner; cross-surface audit U22, patch/peer review U23 where applicable. No new support claim. |
| [x] ml-style-sources | MapLibre native rejects video sources, volatile, GeoJSON attribution/filter/generateId/promoteId, vector promoteId and raster-dem redFactor/greenFactor/blueFactor/baseShift. Custom raster-dem encoding is SDK invalid. | Style/source guards, sources, style tests. Named selected style transport does not bypass SDK boundaries. | Retain this selected/current boundary and its source/test owner; cross-surface audit U22, patch/peer review U23 where applicable. No new support claim. |
| [x] ml-expressions | MapLibre native format.vertical-align and number-format.unit reject before dispatch. global-state, interpolate-hcl and interpolate-lab retain native parser errors. Font faces depend on the native HarfBuzz build. | Expression guards, primary source record. Literal arrays, match labels and GeoJSON properties remain data; there is no facade expression evaluator. | Retain this selected/current boundary and its source/test owner; cross-surface audit U22, patch/peer review U23 where applicable. No new support claim. |
| [x] ui-creation | Creation options stay frozen with equivalent defaults normalized. Each marker freezes its content-dependent default independently of explicit anchor and later child changes. | Shared guards, stable options, regressions. Removing an initially nondefault top anchor throws, with or without custom children. | Retain Marker creation guards; Popup guards removed with the common API U13 (implemented and audited); navigation/fullscreen guards removed U14; scale/attribution guards removed U15; geolocation guards removed U16; Control guards removed U17 (implemented and independently audited; bounded routine checks recorded). |
| [x] ui-defaults | Ordinary controls default top-right; native attribution bottom-right and compact; native scale bottom-left. Web attribution retains its automatic compact default. | Native UI, web UI, placement tests. | Retain SDK ornament and raw web control defaults; navigation/fullscreen defaults removed U14; common scale/attribution defaults, width and units policy removed U15; geolocation defaults removed U16; common Control defaults/layout removed U17 (implemented and independently audited; bounded routine checks recorded; renderer layout unverified). |
| [x] native-popup-controls | Native explicit popup focusAfterOpen requests fail, maxWidth must be a positive number/pixel width, and fullscreen requires the browser API. | Native UI, UI tests. Native AttributionControl compact=false rejects expanded attribution; scale maxWidth must be positive and finite; see UI scope. | Common Popup dismissal/focus/maxWidth guarantees and rejections removed U13 (implemented and audited; app-owned accessible close/lifetime checked with mocks); native common fullscreen rejection removed U14; common scale/attribution guarantees and rejections removed U15; geolocation guarantees/rejections removed U16; remaining common Control guarantees/rejections removed U17 (implemented and independently audited; bounded routine checks recorded); selected raw facilities retain upstream behavior. |
| [x] native-platform-ui | Selected MapLibre live Marker.selected is iOS only; Android ViewAnnotation children are bitmaps; iOS Callout needs title. Android scaleBarPosition supports top-left only; androidView is Android only. | Native research. These selected wrapper differences do not change common UI's separate overlay/composition contract. RNMapbox MarkerView stopGesturePropagation is Android only. | Retain raw annotation/marker/ornament boundaries and shared live children/refresh; native shared drag removal implemented and audited U07 (routine verification recorded; touch acceptance unverified); portal/overlay retained U17/U21. |
| [x] native-platform-camera | Selected MapLibre Android touchZoom=false also disables double-tap zoom variants; frame scheduling and NativeUserLocation course differ across OS targets. Camera.triggerKey in historical RNMapbox declarations was documented unimplemented. | Both native research notes. Selected wrapper semantics do not prove common controlled-camera or interaction acceptance. | Retain selected SDK gesture/camera/puck differences; common rollback exclusion implemented and audited U08 (routine verification recorded; renderer acceptance unverified), audit U22. |
| [x] location-permissions | Permissions/providers stay application controlled. RNMapbox iOS uses the application permission provider; MapLibre's default Android engine is unsuitable for emulator location, while the google engine changes dependencies. | Location record, permission tests, location tests. SDK download credentials, runtime map tokens and tile-provider credentials remain distinct. | Keep application permissions/configuration and raw SDK requirements; common acquisition policy removed U18 (implemented and independently audited; bounded routine verification recorded in U18 evidence; sensor behavior unverified), patch review U23. |
| [x] capture-scope | Native capture may include renderer content without React overlays; requests outside the selected capture scope fail or require another backend. Snapshot/map file and data output differ by backend. Browser offline and independent snapshot services are absent; native file output is temporary. RNMapbox iOS hierarchy capture rejects strict renderer scope. | Capture scope, required patches, capture tests. Deadline and stale-result guards remain required. | Common map scope/output/deadline guarantees are removed U10 (implemented and audited; routine verification recorded; renderer acceptance unverified); common independent snapshot services and capture/image-output types are removed in working U12; U12 is implemented and audited; applicable routine verification is recorded. Raw managers remain; native image execution is unverified. App owns raw SDK inclusion/output/errors. Preserve required patches through U23 review. |
| [ ] cache-exclusions | RNMapbox offlineManager.invalidateAmbientCache and offlineManager.setMaximumAmbientCacheSize remain owner excluded and pending. | Owner scope, offline evidence. No completed-support or runtime-success claim. | Preserve current owner exclusion without a success claim; common offline removed U11 (implemented and audited; routine verification recorded; live SDK behavior unverified), raw manager routes remain; patch review U23. |
| [ ] physical-devices | Physical-device testing is owner excluded. Full VoiceOver and TalkBack audits remain outside the recorded UI checkpoint. | Owner scope, UI record. Host typing and representative simulator/emulator tests do not certify these effects. | Preserve recorded testing limits; later acceptance scope remains subject to owner permission U24-U27. |
| [ ] release-runtime | Current repaired candidate acceptance, expanded peer endpoints, exact linked native SDK identities, and native model rendering remain unverified. | Release record, repair evidence. Separate permission is required before browser renderers, Metro transport, native builds/installations or acceptance flows. | Current candidate gate remains unchanged; new candidate freezing/acceptance belongs to U24-U27 and separate permission. |
| [ ] workspace-runtime | Example workspace native coexistence remains a separate pending gate. | Workspace checkpoint. Routine example resolution/build/type checks do not establish actual renderer transport or coexistence. | Current scenario evidence remains attached to its artifact; migration of scenes accompanies U06-U20, final consumer audit U22 and acceptance U24-U27. |
For next-release work, update the next-release disposition only after its unit is reviewed and verified; preserve current-only evidence until the contract transition is complete. A deliberate exclusion records a scope decision and migration status, never a newly checked SDK limitation. When a public API changes, find its owning row and inspect the supported peer's actual export, declaration and wrapper call. Unchanged fields stay grouped under that route. Add or split a row when conversion, lifecycle, version support, error behavior or an exception needs separate review. Preserve representative source/test links and explicitly mark unfinished work; do not add a row for each inherited host field, schema token or alias. Duplicate MapInstance/MapRef views of one operation belong to the same contract.
For a peer upgrade, compare the new exports, declarations, style schema and release notes with the cited upstream sources and support matrix. Review changed fields against the owning rows and add meaningful exceptions before claiming completeness. Keep useful findings and citations in the research notes; keep all coverage decisions and open work in this checklist. This manual review replaces neither tests nor release acceptance; documentation checks only validate structure and links.
Historical evidence may mention the retired JSON inventory or its checker. Those paths describe their original commits and artifacts. The retired ledger at the last inventory commit remains available through Git. The checklist migration evidence records research preservation, coverage grouping, storage savings and routine verification; it is a checkpoint record, not another active inventory.