Skip to content

Publish readiness: peers, minSdk pin, quality normalisation, streamed sources, tests, publish workflow - #1

Draft
Xget7 wants to merge 14 commits into
mainfrom
publish-readiness
Draft

Publish readiness: peers, minSdk pin, quality normalisation, streamed sources, tests, publish workflow#1
Xget7 wants to merge 14 commits into
mainfrom
publish-readiness

Conversation

@Xget7

@Xget7 Xget7 commented Sep 10, 2026

Copy link
Copy Markdown
Owner

Takes the binding from the 2026-09-09 review (41/60) to a publishable alpha.

  • peerDependencies react >= 19, react-native >= 0.85; engines, sideEffects; version 0.1.0-alpha.1.
  • minSdkVersion 29 pinned in the library so a lower app floor fails with this package's name.
  • quality normalised in JavaScript (typed presets, clamped ranges, -1 sentinels) and mapped in Kotlin without ever throwing; identical values are not reapplied.
  • cameraPose compared by value; no events or hand-overs after release(); a cleared prop withdraws a load in flight.
  • Remote, content and asset sources stream to a cache file and are mapped by the engine: timeouts, cancellation, unique part files, a declared-length check, onLoadProgress.
  • iOS stub announces whichever of emitter and window arrives last.
  • Jest (12), example mount test, JUnit (19, including the fetcher over a local HTTP server); CI runs them all; publish.yml publishes from a v* tag with provenance.
  • README: consumer setup (minSdk, ABI, Expo), retries, caching, children, progress.

Device verification and the performance table (README still has TBM placeholders) follow on the Mi 9 before the tag.

Xget7 added 14 commits September 9, 2026 22:06
…ads withdrawn on release and on a cleared prop, quality mapping that never throws, a publish gate that runs the native tests
… MB cap on the source cache

The ticker was a flag and a fresh runnable per start, so an interval that went
through zero and back inside one period left two loops emitting. It is one
runnable now, removed before every change and stopped with the engine.
The cache kept every world ever fetched; it trims the least recently used
past 512 MB on startup and a hit counts as use.
Consumers can name their event payloads, the README sample reads from the
app's own directory, and the interop claim in the manager comment is gone.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant