react-native-parity-blur 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/BlurView.js +4 -4
- package/lib/module/BlurView.js.map +1 -1
- package/lib/module/pipeline/androidCalibration.js.map +1 -1
- package/lib/module/pipeline/captureRect.js.map +1 -1
- package/lib/module/pipeline/saturation.js.map +1 -1
- package/lib/module/pipeline/units.js.map +1 -1
- package/lib/typescript/src/pipeline/androidCalibration.d.ts.map +1 -1
- package/lib/typescript/src/pipeline/captureRect.d.ts.map +1 -1
- package/lib/typescript/src/pipeline/saturation.d.ts.map +1 -1
- package/lib/typescript/src/pipeline/units.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/BlurView.tsx +4 -4
- package/src/pipeline/androidCalibration.ts +4 -1
- package/src/pipeline/captureRect.ts +14 -3
- package/src/pipeline/saturation.ts +20 -4
- package/src/pipeline/units.ts +8 -2
package/lib/module/BlurView.js
CHANGED
|
@@ -54,7 +54,10 @@ function normalizeDownsample(value) {
|
|
|
54
54
|
* docs/PIPELINE_SPEC.md for the canonical pipeline both backends implement
|
|
55
55
|
* and docs/CALIBRATION_REPORT.md for measured cross-platform parity.
|
|
56
56
|
*/
|
|
57
|
-
export const BlurView = /*#__PURE__*/React.forwardRef(function
|
|
57
|
+
export const BlurView = /*#__PURE__*/React.forwardRef(function BlurViewImpl(props, ref) {
|
|
58
|
+
// `blurTarget` is intentionally not destructured: it is accepted on
|
|
59
|
+
// BlurViewProps for public-API shape stability (plan §18) but not yet
|
|
60
|
+
// wired to native capture logic. Deferred to v1.1 — see docs/LIMITATIONS.md.
|
|
58
61
|
const {
|
|
59
62
|
preset,
|
|
60
63
|
blurRadius,
|
|
@@ -65,9 +68,6 @@ export const BlurView = /*#__PURE__*/React.forwardRef(function BlurView(props, r
|
|
|
65
68
|
downsample,
|
|
66
69
|
maxFps,
|
|
67
70
|
fallbackColor,
|
|
68
|
-
// Accepted for public-API shape stability (plan §18); not yet wired
|
|
69
|
-
// to native capture logic. Deferred to v1.1 — see docs/LIMITATIONS.md.
|
|
70
|
-
blurTarget: _blurTarget,
|
|
71
71
|
children,
|
|
72
72
|
style
|
|
73
73
|
} = props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","NativeParityBlurView","Commands","NativeCommands","DEFAULT_BLUR_RADIUS","DEFAULT_DOWNSAMPLE","DEFAULT_MAX_FPS","DEFAULT_MODE","DEFAULT_OVERLAY_COLOR","DEFAULT_QUALITY","DEFAULT_SATURATION","MAX_MAX_FPS","MIN_MAX_FPS","BlurPresets","jsx","_jsx","LOG_TAG","clampBlurRadius","value","Number","isFinite","clampSaturation","clampMaxFps","Math","min","max","normalizeDownsample","undefined","__DEV__","console","warn","JSON","stringify","BlurView","forwardRef","props","ref","preset","blurRadius","mode","overlayColor","saturation","quality","downsample","maxFps","fallbackColor","
|
|
1
|
+
{"version":3,"names":["React","NativeParityBlurView","Commands","NativeCommands","DEFAULT_BLUR_RADIUS","DEFAULT_DOWNSAMPLE","DEFAULT_MAX_FPS","DEFAULT_MODE","DEFAULT_OVERLAY_COLOR","DEFAULT_QUALITY","DEFAULT_SATURATION","MAX_MAX_FPS","MIN_MAX_FPS","BlurPresets","jsx","_jsx","LOG_TAG","clampBlurRadius","value","Number","isFinite","clampSaturation","clampMaxFps","Math","min","max","normalizeDownsample","undefined","__DEV__","console","warn","JSON","stringify","BlurView","forwardRef","BlurViewImpl","props","ref","preset","blurRadius","mode","overlayColor","saturation","quality","downsample","maxFps","fallbackColor","children","style","presetProps","resolvedBlurRadius","resolvedSaturation","resolvedOverlayColor","nativeRef","useRef","useImperativeHandle","refresh","current","safeBlurRadius","safeSaturation","safeMaxFps","safeDownsample"],"sourceRoot":"../../src","sources":["BlurView.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ANDROID_MIN_BLUR_SIGMA","HWUI_SIGMA_INTERCEPT","HWUI_SIGMA_SLOPE","sigmaForRadius","radiusPlatform","radiusForSigma","sigmaSnapshot","Number","isFinite","noBlur","iosSigmaForSigma"],"sourceRoot":"../../../src","sources":["pipeline/androidCalibration.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SACEA,sBAAsB,EACtBC,oBAAoB,EACpBC,gBAAgB,QACX,gBAAa;AAYpB;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAACC,cAAsB,EAAU;EAC7D,OAAOF,gBAAgB,GAAGE,cAAc,GAAGH,oBAAoB;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASI,cAAcA,CAACC,aAAqB,EAAoB;EACtE,
|
|
1
|
+
{"version":3,"names":["ANDROID_MIN_BLUR_SIGMA","HWUI_SIGMA_INTERCEPT","HWUI_SIGMA_SLOPE","sigmaForRadius","radiusPlatform","radiusForSigma","sigmaSnapshot","Number","isFinite","noBlur","iosSigmaForSigma"],"sourceRoot":"../../../src","sources":["pipeline/androidCalibration.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SACEA,sBAAsB,EACtBC,oBAAoB,EACpBC,gBAAgB,QACX,gBAAa;AAYpB;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAACC,cAAsB,EAAU;EAC7D,OAAOF,gBAAgB,GAAGE,cAAc,GAAGH,oBAAoB;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASI,cAAcA,CAACC,aAAqB,EAAoB;EACtE,IACE,CAACC,MAAM,CAACC,QAAQ,CAACF,aAAa,CAAC,IAC/BA,aAAa,IAAIN,sBAAsB,EACvC;IACA,OAAO;MAAES,MAAM,EAAE,IAAI;MAAEL,cAAc,EAAE;IAAE,CAAC;EAC5C;EACA,OAAO;IACLK,MAAM,EAAE,KAAK;IACbL,cAAc,EAAE,CAACE,aAAa,GAAGL,oBAAoB,IAAIC;EAC3D,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASQ,gBAAgBA,CAACJ,aAAqB,EAAU;EAC9D,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACF,aAAa,CAAC,IAAIA,aAAa,IAAI,CAAC,EAAE,OAAO,CAAC;EACnE,OAAOA,aAAa;AACtB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CAPTURE_SUPPORT_K","supportMarginPx","sigmaPx","k","Number","isFinite","Math","ceil","intersectRect","a","b","x0","max","x","y0","y","x1","min","width","y1","height","expandCaptureRect","visibleRect","targetBounds","margin","expanded","rectArea","r","snapshotRectFor","captureRectPx","downsample","floor","farX","farY","cropRectFor","snapshotRect","cropRectToViewPx","cropRect","buildCapturePlan","marginPx","captureAreaPx"],"sourceRoot":"../../../src","sources":["pipeline/captureRect.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,iBAAiB,QAAQ,gBAAa;AAG/C;AACA,OAAO,SAASC,eAAeA,
|
|
1
|
+
{"version":3,"names":["CAPTURE_SUPPORT_K","supportMarginPx","sigmaPx","k","Number","isFinite","Math","ceil","intersectRect","a","b","x0","max","x","y0","y","x1","min","width","y1","height","expandCaptureRect","visibleRect","targetBounds","margin","expanded","rectArea","r","snapshotRectFor","captureRectPx","downsample","floor","farX","farY","cropRectFor","snapshotRect","cropRectToViewPx","cropRect","buildCapturePlan","marginPx","captureAreaPx"],"sourceRoot":"../../../src","sources":["pipeline/captureRect.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["LUMA_B","LUMA_G","LUMA_R","saturationMatrix","s","lr","lg","lb","t","applySaturation","matrix","r","g","b","a","clamp01","v","m"],"sourceRoot":"../../../src","sources":["pipeline/saturation.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,MAAM,EAAEC,MAAM,EAAEC,MAAM,QAAQ,gBAAa;;AAEpD;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAC9BC,CAAS,EACTC,EAAU,GAAGH,MAAM,EACnBI,EAAU,GAAGL,MAAM,EACnBM,EAAU,GAAGP,MAAM,EACT;EACV,MAAMQ,CAAC,GAAG,CAAC,GAAGJ,CAAC;EACf,OAAO,CACLI,CAAC,GAAGH,EAAE,GAAGD,CAAC,
|
|
1
|
+
{"version":3,"names":["LUMA_B","LUMA_G","LUMA_R","saturationMatrix","s","lr","lg","lb","t","applySaturation","matrix","r","g","b","a","clamp01","v","m"],"sourceRoot":"../../../src","sources":["pipeline/saturation.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,MAAM,EAAEC,MAAM,EAAEC,MAAM,QAAQ,gBAAa;;AAEpD;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAC9BC,CAAS,EACTC,EAAU,GAAGH,MAAM,EACnBI,EAAU,GAAGL,MAAM,EACnBM,EAAU,GAAGP,MAAM,EACT;EACV,MAAMQ,CAAC,GAAG,CAAC,GAAGJ,CAAC;EACf,OAAO,CACLI,CAAC,GAAGH,EAAE,GAAGD,CAAC,EACVI,CAAC,GAAGF,EAAE,EACNE,CAAC,GAAGD,EAAE,EACN,CAAC,EACD,CAAC,EACDC,CAAC,GAAGH,EAAE,EACNG,CAAC,GAAGF,EAAE,GAAGF,CAAC,EACVI,CAAC,GAAGD,EAAE,EACN,CAAC,EACD,CAAC,EACDC,CAAC,GAAGH,EAAE,EACNG,CAAC,GAAGF,EAAE,EACNE,CAAC,GAAGD,EAAE,GAAGH,CAAC,EACV,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,CACF;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASK,eAAeA,CAC7BC,MAAgB,EAChBC,CAAS,EACTC,CAAS,EACTC,CAAS,EACTC,CAAS,EACuC;EAChD,MAAMC,OAAO,GAAIC,CAAS,IAAMA,CAAC,GAAG,CAAC,GAAG,CAAC,GAAGA,CAAC,GAAG,CAAC,GAAG,CAAC,GAAGA,CAAE;EAC1D,MAAMC,CAAC,GAAGP,MAAM;EAChB,OAAO;IACL;IACAC,CAAC,EAAEI,OAAO,CAACE,CAAC,CAAC,CAAC,CAAC,GAAIN,CAAC,GAAGM,CAAC,CAAC,CAAC,CAAC,GAAIL,CAAC,GAAGK,CAAC,CAAC,CAAC,CAAC,GAAIJ,CAAC,GAAGI,CAAC,CAAC,CAAC,CAAC,GAAIH,CAAC,GAAGG,CAAC,CAAC,CAAC,CAAE,CAAC;IACjEL,CAAC,EAAEG,OAAO,CAACE,CAAC,CAAC,CAAC,CAAC,GAAIN,CAAC,GAAGM,CAAC,CAAC,CAAC,CAAC,GAAIL,CAAC,GAAGK,CAAC,CAAC,CAAC,CAAC,GAAIJ,CAAC,GAAGI,CAAC,CAAC,CAAC,CAAC,GAAIH,CAAC,GAAGG,CAAC,CAAC,CAAC,CAAE,CAAC;IACjEJ,CAAC,EAAEE,OAAO,CAACE,CAAC,CAAC,EAAE,CAAC,GAAIN,CAAC,GAAGM,CAAC,CAAC,EAAE,CAAC,GAAIL,CAAC,GAAGK,CAAC,CAAC,EAAE,CAAC,GAAIJ,CAAC,GAAGI,CAAC,CAAC,EAAE,CAAC,GAAIH,CAAC,GAAGG,CAAC,CAAC,EAAE,CAAE,CAAC;IACtEH,CAAC,EAAEG,CAAC,CAAC,EAAE,CAAC,GAAIN,CAAC,GAAGM,CAAC,CAAC,EAAE,CAAC,GAAIL,CAAC,GAAGK,CAAC,CAAC,EAAE,CAAC,GAAIJ,CAAC,GAAGI,CAAC,CAAC,EAAE,CAAC,GAAIH,CAAC,GAAGG,CAAC,CAAC,EAAE;EAC7D,CAAC;AACH","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["sigmaPxFromDp","blurRadiusDp","displayScale","Number","isFinite","sigmaSnapshotFromPx","sigmaPx","downsample"],"sourceRoot":"../../../src","sources":["pipeline/units.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA,OAAO,SAASA,aAAaA,
|
|
1
|
+
{"version":3,"names":["sigmaPxFromDp","blurRadiusDp","displayScale","Number","isFinite","sigmaSnapshotFromPx","sigmaPx","downsample"],"sourceRoot":"../../../src","sources":["pipeline/units.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA,OAAO,SAASA,aAAaA,CAC3BC,YAAoB,EACpBC,YAAoB,EACZ;EACR,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACH,YAAY,CAAC,IAAIA,YAAY,IAAI,CAAC,EAAE,OAAO,CAAC;EACjE,IAAI,CAACE,MAAM,CAACC,QAAQ,CAACF,YAAY,CAAC,IAAIA,YAAY,IAAI,CAAC,EAAE,OAAO,CAAC;EACjE,OAAOD,YAAY,GAAGC,YAAY;AACpC;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASG,mBAAmBA,CACjCC,OAAe,EACfC,UAAsB,EACd;EACR,IAAI,CAACJ,MAAM,CAACC,QAAQ,CAACE,OAAO,CAAC,IAAIA,OAAO,IAAI,CAAC,EAAE,OAAO,CAAC;EACvD,OAAOA,OAAO,GAAGC,UAAU;AAC7B","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"androidCalibration.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/androidCalibration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,MAAM,WAAW,gBAAgB;IAC/B,qEAAqE;IACrE,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,gBAAgB,
|
|
1
|
+
{"version":3,"file":"androidCalibration.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/androidCalibration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,MAAM,WAAW,gBAAgB;IAC/B,qEAAqE;IACrE,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,gBAAgB,CAWtE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAG9D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captureRect.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/captureRect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,YAAS,CAAC;AAEhD,yEAAyE;AACzE,wBAAgB,eAAe,
|
|
1
|
+
{"version":3,"file":"captureRect.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/captureRect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,YAAS,CAAC;AAEhD,yEAAyE;AACzE,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,CAAC,GAAE,MAA0B,GAC5B,MAAM,CAGR;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAWpD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,IAAI,EACjB,YAAY,EAAE,IAAI,EAClB,OAAO,EAAE,MAAM,EACf,CAAC,GAAE,MAA0B,GAC5B,IAAI,CASN;AAED,uEAAuE;AACvE,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAExC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,aAAa,EAAE,IAAI,EACnB,UAAU,EAAE,UAAU,GACrB,IAAI,CAMN;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,WAAW,EAAE,IAAI,EACjB,YAAY,EAAE,IAAI,EAClB,UAAU,EAAE,UAAU,GACrB,IAAI,CAON;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,IAAI,EACd,YAAY,EAAE,IAAI,EAClB,UAAU,EAAE,UAAU,GACrB,IAAI,CAON;AAED,MAAM,WAAW,WAAW;IAC1B,wDAAwD;IACxD,WAAW,EAAE,IAAI,CAAC;IAClB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,aAAa,EAAE,IAAI,CAAC;IACpB,gEAAgE;IAChE,aAAa,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,UAAU,EAAE,UAAU,CAAC;IACvB,oDAAoD;IACpD,YAAY,EAAE,IAAI,CAAC;IACnB,qEAAqE;IACrE,QAAQ,EAAE,IAAI,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,IAAI,EACjB,YAAY,EAAE,IAAI,EAClB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,UAAU,EACtB,CAAC,GAAE,MAA0B,GAC5B,WAAW,CAmBb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"saturation.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/saturation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,MAAM,EACT,EAAE,GAAE,MAAe,EACnB,EAAE,GAAE,MAAe,EACnB,EAAE,GAAE,MAAe,GAClB,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"saturation.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/saturation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,MAAM,EACT,EAAE,GAAE,MAAe,EACnB,EAAE,GAAE,MAAe,EACnB,EAAE,GAAE,MAAe,GAClB,MAAM,EAAE,CAwBV;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EAAE,EAChB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAUhD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"units.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/units.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAS,CAAC;AAE1C;;;GAGG;AACH,wBAAgB,aAAa,
|
|
1
|
+
{"version":3,"file":"units.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/units.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAS,CAAC;AAE1C;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,GACnB,MAAM,CAIR;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,UAAU,GACrB,MAAM,CAGR"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-parity-blur",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Cross-platform native backdrop blur for React Native (Fabric)",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"types": "./lib/typescript/src/index.d.ts",
|
|
@@ -51,14 +51,14 @@
|
|
|
51
51
|
],
|
|
52
52
|
"repository": {
|
|
53
53
|
"type": "git",
|
|
54
|
-
"url": "git+https://github.com/
|
|
54
|
+
"url": "git+https://github.com/thebinarysolution/react-native-parity-blur.git"
|
|
55
55
|
},
|
|
56
|
-
"author": "Lakhwinder Singh <luckysingh781@gmail.com> (https://github.com/
|
|
56
|
+
"author": "Lakhwinder Singh <luckysingh781@gmail.com> (https://github.com/thebinarysolution)",
|
|
57
57
|
"license": "MIT",
|
|
58
58
|
"bugs": {
|
|
59
|
-
"url": "https://github.com/
|
|
59
|
+
"url": "https://github.com/thebinarysolution/react-native-parity-blur/issues"
|
|
60
60
|
},
|
|
61
|
-
"homepage": "https://github.com/
|
|
61
|
+
"homepage": "https://github.com/thebinarysolution/react-native-parity-blur#readme",
|
|
62
62
|
"publishConfig": {
|
|
63
63
|
"registry": "https://registry.npmjs.org/"
|
|
64
64
|
},
|
package/src/BlurView.tsx
CHANGED
|
@@ -81,7 +81,10 @@ type NativeInstance = React.ComponentRef<typeof NativeParityBlurView>;
|
|
|
81
81
|
* and docs/CALIBRATION_REPORT.md for measured cross-platform parity.
|
|
82
82
|
*/
|
|
83
83
|
export const BlurView = React.forwardRef<BlurViewRef, BlurViewProps>(
|
|
84
|
-
function
|
|
84
|
+
function BlurViewImpl(props, ref) {
|
|
85
|
+
// `blurTarget` is intentionally not destructured: it is accepted on
|
|
86
|
+
// BlurViewProps for public-API shape stability (plan §18) but not yet
|
|
87
|
+
// wired to native capture logic. Deferred to v1.1 — see docs/LIMITATIONS.md.
|
|
85
88
|
const {
|
|
86
89
|
preset,
|
|
87
90
|
blurRadius,
|
|
@@ -92,9 +95,6 @@ export const BlurView = React.forwardRef<BlurViewRef, BlurViewProps>(
|
|
|
92
95
|
downsample,
|
|
93
96
|
maxFps,
|
|
94
97
|
fallbackColor,
|
|
95
|
-
// Accepted for public-API shape stability (plan §18); not yet wired
|
|
96
|
-
// to native capture logic. Deferred to v1.1 — see docs/LIMITATIONS.md.
|
|
97
|
-
blurTarget: _blurTarget,
|
|
98
98
|
children,
|
|
99
99
|
style,
|
|
100
100
|
} = props;
|
|
@@ -44,7 +44,10 @@ export function sigmaForRadius(radiusPlatform: number): number {
|
|
|
44
44
|
* Monotonically non-decreasing in sigmaSnapshot.
|
|
45
45
|
*/
|
|
46
46
|
export function radiusForSigma(sigmaSnapshot: number): AndroidBlurParam {
|
|
47
|
-
if (
|
|
47
|
+
if (
|
|
48
|
+
!Number.isFinite(sigmaSnapshot) ||
|
|
49
|
+
sigmaSnapshot <= ANDROID_MIN_BLUR_SIGMA
|
|
50
|
+
) {
|
|
48
51
|
return { noBlur: true, radiusPlatform: 0 };
|
|
49
52
|
}
|
|
50
53
|
return {
|
|
@@ -26,7 +26,10 @@ import { CAPTURE_SUPPORT_K } from './constants';
|
|
|
26
26
|
import type { Downsample, Rect } from './types';
|
|
27
27
|
|
|
28
28
|
/** Gaussian support margin in device px (plan §7): ceil(K * sigmaPx). */
|
|
29
|
-
export function supportMarginPx(
|
|
29
|
+
export function supportMarginPx(
|
|
30
|
+
sigmaPx: number,
|
|
31
|
+
k: number = CAPTURE_SUPPORT_K
|
|
32
|
+
): number {
|
|
30
33
|
if (!Number.isFinite(sigmaPx) || sigmaPx <= 0) return 0;
|
|
31
34
|
return Math.ceil(k * sigmaPx);
|
|
32
35
|
}
|
|
@@ -78,7 +81,10 @@ export function rectArea(r: Rect): number {
|
|
|
78
81
|
* cover). The returned rect is in SNAPSHOT PIXELS (indices), so its device-px
|
|
79
82
|
* footprint is `snapshotRect * D`.
|
|
80
83
|
*/
|
|
81
|
-
export function snapshotRectFor(
|
|
84
|
+
export function snapshotRectFor(
|
|
85
|
+
captureRectPx: Rect,
|
|
86
|
+
downsample: Downsample
|
|
87
|
+
): Rect {
|
|
82
88
|
const x = Math.floor(captureRectPx.x / downsample);
|
|
83
89
|
const y = Math.floor(captureRectPx.y / downsample);
|
|
84
90
|
const farX = Math.ceil((captureRectPx.x + captureRectPx.width) / downsample);
|
|
@@ -157,7 +163,12 @@ export function buildCapturePlan(
|
|
|
157
163
|
k: number = CAPTURE_SUPPORT_K
|
|
158
164
|
): CapturePlan {
|
|
159
165
|
const marginPx = supportMarginPx(sigmaPx, k);
|
|
160
|
-
const captureRectPx = expandCaptureRect(
|
|
166
|
+
const captureRectPx = expandCaptureRect(
|
|
167
|
+
visibleRect,
|
|
168
|
+
targetBounds,
|
|
169
|
+
sigmaPx,
|
|
170
|
+
k
|
|
171
|
+
);
|
|
161
172
|
const snapshotRect = snapshotRectFor(captureRectPx, downsample);
|
|
162
173
|
const cropRect = cropRectFor(visibleRect, snapshotRect, downsample);
|
|
163
174
|
return {
|
|
@@ -34,10 +34,26 @@ export function saturationMatrix(
|
|
|
34
34
|
): number[] {
|
|
35
35
|
const t = 1 - s;
|
|
36
36
|
return [
|
|
37
|
-
t * lr + s,
|
|
38
|
-
t *
|
|
39
|
-
t *
|
|
40
|
-
0,
|
|
37
|
+
t * lr + s,
|
|
38
|
+
t * lg,
|
|
39
|
+
t * lb,
|
|
40
|
+
0,
|
|
41
|
+
0,
|
|
42
|
+
t * lr,
|
|
43
|
+
t * lg + s,
|
|
44
|
+
t * lb,
|
|
45
|
+
0,
|
|
46
|
+
0,
|
|
47
|
+
t * lr,
|
|
48
|
+
t * lg,
|
|
49
|
+
t * lb + s,
|
|
50
|
+
0,
|
|
51
|
+
0,
|
|
52
|
+
0,
|
|
53
|
+
0,
|
|
54
|
+
0,
|
|
55
|
+
1,
|
|
56
|
+
0,
|
|
41
57
|
];
|
|
42
58
|
}
|
|
43
59
|
|
package/src/pipeline/units.ts
CHANGED
|
@@ -16,7 +16,10 @@ import type { Downsample } from './types';
|
|
|
16
16
|
* Convert the public blurRadius (sigma in dp) to sigma in device pixels.
|
|
17
17
|
* Non-finite or negative inputs clamp to 0 (plan §28 safe clamping).
|
|
18
18
|
*/
|
|
19
|
-
export function sigmaPxFromDp(
|
|
19
|
+
export function sigmaPxFromDp(
|
|
20
|
+
blurRadiusDp: number,
|
|
21
|
+
displayScale: number
|
|
22
|
+
): number {
|
|
20
23
|
if (!Number.isFinite(blurRadiusDp) || blurRadiusDp <= 0) return 0;
|
|
21
24
|
if (!Number.isFinite(displayScale) || displayScale <= 0) return 0;
|
|
22
25
|
return blurRadiusDp * displayScale;
|
|
@@ -26,7 +29,10 @@ export function sigmaPxFromDp(blurRadiusDp: number, displayScale: number): numbe
|
|
|
26
29
|
* Convert device-pixel sigma to snapshot-domain sigma given a downsample
|
|
27
30
|
* factor D. D is a positive integer in {1,2,4,8}.
|
|
28
31
|
*/
|
|
29
|
-
export function sigmaSnapshotFromPx(
|
|
32
|
+
export function sigmaSnapshotFromPx(
|
|
33
|
+
sigmaPx: number,
|
|
34
|
+
downsample: Downsample
|
|
35
|
+
): number {
|
|
30
36
|
if (!Number.isFinite(sigmaPx) || sigmaPx <= 0) return 0;
|
|
31
37
|
return sigmaPx / downsample;
|
|
32
38
|
}
|