You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
style is applied to a wrapper <View style={[{flex: 1}, style]}> (MapView.tsx:681,700-706). Verify on device before deciding whether to forward it (that would be breaking).
the default cluster colour is #0F52FF, but the README says "green"
layoutAnimationConf
RenderClusterProps has no clusterFontFamily
the superClusterRef lifecycle: it's replaced by an unbuilt instance on every rebuild and is null when clustering is disabled
animationEnabled is documented as "iOS only", but it also gates the Android fade.
Marker detection rules aren't documented: only direct children with a top-level coordinate prop are clustered. Fragments and wrapper components silently render unclustered.
Performance claims. These are unbacked or inaccurate:
"faster"
"instead of JavaScript on the RN bridge"
"off the JS thread": only the build is; queries are synchronous JSI
"zero-copy": the buffer is copied into C++
the FPS tables
Sources: README.md:5,35,45,211-229, the homepage features, packPoints.ts:32.
API reference gaps:
The Supercluster class methods aren't documented at all.
The /clusterer snippet uses the private featureKey.
The defaults differ from react-native-clusterer (minZoom 1 / maxZoom 20 vs 0 / 16).
map/reduce is advertised but unsupported (only sum/min/max).
Problem
The docs don't match the code in these places:
Migration guide. It says props "keep working", but these differences are undocumented:
onRegionChangeCompletesignature (Document thatonRegionChangeCompletefollows react-native-map-clustering 4.x, not 3.x (and warn in dev) #29)marker-${index}) #28)styleis applied to a wrapper<View style={[{flex: 1}, style]}>(MapView.tsx:681,700-706). Verify on device before deciding whether to forward it (that would be breaking).#0F52FF, but the README says "green"layoutAnimationConfRenderClusterPropshas noclusterFontFamilysuperClusterReflifecycle: it's replaced by an unbuilt instance on every rebuild and isnullwhen clustering is disabledspiralEnabledis documented as "on cluster press" / "at max zoom", but it's automatic and currently unreachable (Spiderfy never triggers for co-located markers #22).animationEnabledis documented as "iOS only", but it also gates the Android fade.Marker detection rules aren't documented: only direct children with a top-level
coordinateprop are clustered. Fragments and wrapper components silently render unclustered.Performance claims. These are unbacked or inaccurate:
Sources:
README.md:5,35,45,211-229, the homepage features,packPoints.ts:32.API reference gaps:
Superclusterclass methods aren't documented at all./clusterersnippet uses the privatefeatureKey.map/reduceis advertised but unsupported (onlysum/min/max).Missing topics:
MapView#30)/engine(buildAsyncis not thread-safe and captures a rawthis#23)Stale: a CONTRIBUTING checklist that mentions a tab and 30k markers.
Suggested fix
Acceptance criteria
bun run docs:buildpasses.Priority: P2 · Breaking change: No · Depends on: land the related code fixes first where behaviour changes (#12, #29, #22, #31)
From the engineering audit of
main@7c7d659(2026-09-29) · audit ref I-23. Line numbers refer to that commit.