# Browser runtime notices

NexaCurrent self-hosts these files so the developer tools can run without sending user input to a third-party execution service.

## Pyodide

- Package version: 314.0.3
- License: Mozilla Public License 2.0
- Source: https://github.com/pyodide/pyodide
- Local license copy: `/vendor/pyodide/LICENSE`

The distributed files are unmodified copies from the npm package except for their hosting path.

## sql.js

- Package version: 1.14.1
- License: MIT
- Source: https://github.com/sql-js/sql.js
- Local license copy: `/vendor/sql.js/LICENSE`

The distributed WebAssembly file is an unmodified copy from the npm package.

## MediaPipe Tasks Vision and BlazeFace short-range detector

- Runtime package: `@mediapipe/tasks-vision` 1.0.1
- Runtime and model license: Apache License 2.0
- Source: https://github.com/google-ai-edge/mediapipe
- Local license copy: `/vendor/mediapipe-face-detector/LICENSE`
- Model source: `blaze_face_short_range/float16/latest` from the official MediaPipe model bucket
- Model SHA-256: `b4578f35940bf5a1a655214a1cce5cab13eba73c1297cd78e1a04c2380b0152f`

The unmodified runtime files and pinned model are self-hosted. NexaCurrent supplies the interface, file limits, editable redaction regions, review guidance, effects, export flow, and cleanup.

## ONNX Runtime Web

- Package version: 1.27.0
- License: MIT
- Source: https://github.com/microsoft/onnxruntime
- Local license copy: `/vendor/onnxruntime/LICENSE`
- Local WASM SHA-256: `d1ab1b94b16a65b29d710d0b587b29e7bed336827577623913479b8afe8113e6`
- Local WASM loader SHA-256: `0a1e718d99c41b22c21f2520ff4f9e883a6b5533856e398d21816ee8eb8185d3`

Only the browser WebAssembly execution path is integrated for the Background Remover. The Node runtime is not a production dependency of this feature.

## MODNet portrait matting model

- Original project: https://github.com/ZHKKKe/MODNet
- Browser-ready model repository: https://huggingface.co/Xenova/modnet
- Fixed model revision: `fa2fa546052fba4c08921230a26cc69a333fca12`
- Code and model license: Apache License 2.0
- Local license copy: `/vendor/modnet/LICENSE`
- File: `onnx/model_quantized.onnx`, 6,632,188 bytes
- SHA-256: `92e49898c3e05a6d7a944fc67a8cb87c4aad754ffb6ebd949528c7d1105fee3a`

The model is self-hosted unchanged. NexaCurrent owns preprocessing, mask post-processing, refinement brushes, resource limits, cancellation semantics, transparent/color compositing, messages, and PNG export.

## UpscalerJS and default 2× model

- Runtime package: `upscaler` 1.0.0
- Model package: `@upscalerjs/default-model` 1.0.0
- License: MIT
- Source: https://github.com/thekevinscott/UpscalerJS
- Local license copy: `/vendor/upscalerjs-default/LICENSE`
- Local model JSON SHA-256: `8efb488c2caed0196a6163e3f06798f9245e92623ffd50654a26c372e09150ea`
- Local 888,300-byte weight file SHA-256: `5cb464ae4d390ce0a771afd5feaf60fbfcdb18ab48a56db98cdf6b88202369de`

The default DIV2K-trained 2× model is copied unchanged from the fixed npm package and self-hosted. The adapter replaces the package CDN path with the local model path, limits input pixels, runs overlapping tiles, exposes progress and cancellation, preserves source alpha, and labels generated detail as an estimate.

## TensorFlow.js

- Package version: 4.11.0
- License: Apache License 2.0
- Source: https://github.com/tensorflow/tfjs
- Local license copy: `/vendor/tensorflow-js/LICENSE`

TensorFlow.js is dynamically loaded only when the AI Image Upscaler runs. NexaCurrent does not use a remote inference service or TensorFlow.js Node bindings for this tool.

## html-to-image

- Package version: 1.11.13
- License: MIT
- Source: https://github.com/bubkoo/html-to-image
- Local license copy: `/vendor/html-to-image/LICENSE`

The library captures only the locally sanitized, script-free preview DOM. NexaCurrent supplies markup and CSS limits, external-resource blocking, a restrictive preview policy, exact output bounds, reset and result cleanup. Public URL capture is not enabled by this integration.

---

# Third-party notices

## wayou/t-rex-runner

- Project: `wayou/t-rex-runner`
- Original repository: <https://github.com/wayou/t-rex-runner>
- Fixed upstream commit: `5455bfa408ec6b707c7300ff194b7390733a766d`
- License: BSD-3-Clause, with the repository text preserved at [`t-rex-runner/LICENSE-WAYOU`](./t-rex-runner/LICENSE-WAYOU).
- Chromium source terms: the adapted code and sprite layout retain the Chromium Authors BSD-style notice from upstream `index.js`/`index.css`; the official Chromium license text is preserved at [`t-rex-runner/LICENSE-CHROMIUM`](./t-rex-runner/LICENSE-CHROMIUM).
- Local files: [`100-offline-sprite.png`](./t-rex-runner/100-offline-sprite.png), [`200-offline-sprite.png`](./t-rex-runner/200-offline-sprite.png), and the React adapter under `src/app/(frontend)/tools/_components/entertainment/vendor/t-rex-runner/`.
- Modification status: the sprite sheet is locally hosted unchanged; the JavaScript game core is adapted from the pinned upstream `index.js` into a pure, unloadable React-facing engine. Global document listeners, the upstream singleton, page-wide CSS, inline audio, and `index.html` are not shipped.
- No endorsement: the upstream project and its contributors do not endorse NexaCurrent or this page.

## sarahRosannaBusch/dice

- Project: `dice`
- Original repository: <https://github.com/sarahRosannaBusch/dice>
- Fixed upstream commit: `76fe0a8bf7da68f0d5704d5fdb4c1114133571ae`
- License: MIT, with the upstream license text preserved at [`dice/LICENSE`](./dice/LICENSE).
- Local runtime: Three.js `0.185.1` and cannon-es `0.20.0` are used by a React-owned adapter. The adapter carries forward the pinned project’s polyhedral vertex/face tables, face notation, rigid-body parameters, and final face-up alignment; lifecycle and browser fallback code are NexaCurrent changes.
- Supporting licenses: Three.js is MIT-licensed with its local text at [`three/LICENSE`](./three/LICENSE) and source at <https://github.com/mrdoob/three.js/tree/r185>; cannon-es is MIT-licensed with the inherited cannon.js license text at [`cannon-es/LICENSE`](./cannon-es/LICENSE) and source at <https://github.com/pmndrs/cannon-es/tree/0.20.0>.
- Sound: the upstream MP3 is not copied or loaded. This page has no external audio dependency.
- Modification status: the old global demo shell, singleton, inline handlers, and external sound are not shipped. The local source is an unloadable TypeScript/React adaptation.
- No endorsement: the upstream project and its contributors do not endorse NexaCurrent or this page.

## cuSTEMized/Connect-The-Dots-Generator

- Project: `Connect-The-Dots-Generator`
- Original repository: <https://github.com/cuSTEMized/Connect-The-Dots-Generator>
- Fixed upstream commit: `208dcd8c785dd614068f64f962307c44a9721c23`
- License: MIT, with the upstream license text preserved at [`connect-the-dots-generator/LICENSE`](./connect-the-dots-generator/LICENSE).
- Local adaptation: the pinned project’s SVG path-sampling and editable numbered-point ideas are adapted into the NexaCurrent TypeScript/React component for the Connect the Dots Generator.
- Security and lifecycle changes: the upstream global page, Bootstrap/jQuery CDNs, inline handlers, arbitrary `eval`-based label/filter functions, and demo artwork are not shipped. The local tool parses bounded SVG input as data, extracts supported path geometry, draws its own output, and owns its browser listeners and download lifecycle.
- No endorsement: the upstream project and its contributors do not endorse NexaCurrent or this page.
