- Fixed a curved image tracking performance issue.
TargetImagePreviewMesh
returnssRGB
material by default.- Fixed an issue with washed out camera feed r152+
- Fixed degenerate case for
ImageTargetPreview
. - Fixed an issue where the wrong camera would be used in
iOS 16.4
.
- Spanish, Portuguese and German translations for permissions screen
- Improvements to curved tracking
- Module is now built as
ESNext
(wasCommonJs
).
- Bumped
three
support tor146
- Updated
LoadingManager
loading text fromLoading..
toLoading...
- Bumped
three
support tor145
- Pinned dependency versions.
- Bumped
three
support tor144
- Migrated
SphereBufferGeometry
toSphereGeometry
inCameraEnvironmentMap
.
- Migrated various now deprecated BufferGeometries to Geometries.
- Greatly improved instant tracking.
- Introduced
SequenceSource
and pipeline functions to record and playback sequences of camera+motion data. - Added support for curved tracking.
- Added support for fetching image element containing target image's embedded preview image.
- Improved GL state management.
- Migrated to Webpack 5 workers.
- Dropped support for webpack 4.
- An issue where
troika-text
would corrupt gl state on some devices.
- Bumped
three
support to142.
- An issue where
troika-text
would corrupt gl state on some devices.
- Bumped
three
support to142.
- Set
matrixWorldNeedsUpdate
inZapparCamera
. This fixes an issue where the camera's position would not be set correctly inAnchorOrigin
mode.
- Bumped
peerDependencies
three
to"0.118.0 - 0.139.0"
- Addressed texture encoding issues for the camera background texture with recent three.js versions.
- Undo changes introduced in
0.3.36
.
ZapparThree.CameraEnvironmentMap
andZapparThree.Camera.backgroundTexture
encoding is set automatically.
ZapparThree.CameraEnvironmentMap
now extendsTHREE.Texture
.
- Internals - Moved
Camera
'sbackgroundTexture
into its own class.
- External WebGL state is preserved during
process_gl
calls. - Bumped supported
three
versions up to0.137.5
. - Updated dependencies.
- Pinned dependencies to exact versions
- Bumped
three
support to0.131.1
.
- LibraryLoader that ensures that the library is full loaded before any loading UI is dismissed
- loaded() function which returns true once the library is fully loaded and available for use
- loadedPromise() function which returns a promise that resolves once the library is fully loaded and available for use
- Bucket 172.* IP address range into one license check.
- Issues with other browsers on iOS, including social browsers
- Loaders for trackers and masks not registering items with the LoadingManager
- An issue where
facebuffergeometry
would not initialize it'sposition
,normal
, anduv
attributes.
- Updated
@zappar/zappar
.
.stop()
method to theZapparThree.Camera
, this is used to stop (non-destructive) the camera sources.
- Multi face tracking bug - #85
- The camera will no longer automatically start (if has not been previously started) on
visibilitychange
.
- Realtime Camera-based environment map. This is exported as
CameraEnvironmentMap
. Realtime Camera-based Reflections
section toREADME.md
CameraEnvironmentMap
tests.
- An issue where
ZapparCamera
would not work on react-three-fiber.
- Updated dependencies.
- Bumped
three
support to r128. - Minimum supported
three
version raised tor118
.
- Bumped
- Author url to
package.json
. Links and Resources
section toREADME.md
.
- Code Comments.
- TypeDoc generated documentation is hosted on GitHub Pages: https://zappar-xr.github.io/zappar-threejs/
- Pre-commit Husky hooks to enforce eslint rules.
CONTRIBUTING.MD
:- Added
Code Styling
section. - Added notes regarding
Husky
. - Added notes regarding
eslint
. - Added notes regarding custom
ESLint
rules.
- Added
package.json
:- Added
husky
andlint-staged
configs.
- Added
src
now hasgeometry
,loaders
,mesh
andtrackers
subdirectories. The following files have been moved from./src/
into subdirectories:src/geometry/facebuffergeometry.ts
src/loaders/facemeshloader.ts
src/loaders/facetrackerloader.ts
src/loaders/headmaskmeshloader.ts
src/loaders/imagetrackerloader.ts
src/loaders/loadingmanager.ts
src/mesh/headmaskmesh.ts
src/trackers/faceanchorgroup.ts
src/trackers/facelandmarkgroup.ts
src/trackers/imageanchorgroup.ts
src/trackers/instantworldanchorgroup.ts
- Now using AirBnB
ESLint
config alongsideprettier/recommended
plugin.- This is enforced using
Husky
pre-commit
hooks andlint-staged
. - Added
eslint-webpack-plugin
to enforce code style.
- This is enforced using
- (internal)
THREE
import validation is now handled by eslint.
- Tests now use
jest-image-snapshot
for snapshot testing. - All tests moved to
./tests/
. - Dramatically reduced test time by running console & snapshot tests in a single
it
block. - Expected screenshots are now stored in
tests/__image_snapshots__/
. - Screenshot diff artifacts are now saved in
tests/__image_snapshots__/__diff_output__
. - Standalone THREE versions to test against now come from
standalone-versions.js
. - Added
webpack.helper.js
. This helper is used to automatically generate standalone test pages. (tests/jest/module/*.ts
→tests/jest/generated-standalone/*.js
) - Added
kill-test-process
script to stop any processes running on the port 8081. - Added
test:post
script topackage.json
.
- No longer used dependencies and their corresponding
DT
packages:pngjs
,pixelmatch
,concurrently
,@zappar/zapworks-cli
.
CHANGELOG.md
markdown formatting.lint
andlint:fix
scripts inpackage.json
.README.MD
markdown formatting.
- Updated
@zappar/zappar-js
zNear
andzFar
options toZapparThree.Camera
, allowing custom clipping planes distances.
- Updated
@zappar/zappar
- Tracker groups matrices are now decomposed into the object's respective transforms.
- Migrated testing utils to
@zappar/test-utils
- Caveats section to
README.MD
- Version typo in
CHANGELOG.md
- Workaround for deprecated
removeAttribute
Camera
source options now takeHTMLImageElement
|HTMLVideoElement
|string
instead ofCameraSource
|string
.
- Updated ThreeJs to 0.127.0
- Fallback to getInverse for threejs versions before 0.123.x
- @zappar/zappar-threejs-for-aframe is now deployed alongside @zappar/zappar-threejs
- Options to
Camera
constructor, allowing custom video devices to be used. - logLevel() and setLogLevel(...) to customize volume of log output
- glContextLost() to indicate that the GL context is lost
- Open-sourcing on GitHub
- Updated dependencies
- License check now happens when the first
ZapparCamera
orPipeline
is created
- pipeline.glContextSet(...) correctly handles multiple invocations
- Updated dependencies
- Updated README to reference support for iOS WKWebView from iOS 14.3 and later
- Table of contents to
README.md
.SkipVersionLog
to disable console logging current version- ESLint
- Issue templates -
bug_report.md
&feature_request.md
- Dependabot
- Build status badges to
README.md
- All internal methods now have valid return types
- Bumped Three version to 0.123.0
- If available, camera sets
projectionMatrixInverse
usinginvert
instead of deprecatedgetInverse
.
- This changelog :-)
- Console log the version when the library is initialized
- Export
Pipeline
object - Pipeline
destroy()
function
- Ensure internal GL usage correctly sets the expected active texture
- Prevent flickering when there are no new camera frames
- Fixed building with recent versions of
worker-loader
- Dependencies update
- Remove unnecessary console logging
- Correctly export browser compatibility API
- Browser compatibility API and UI
- README section detailing browser support
DefaultLoaderUI
that wraps THREE's default loader
- Modifications to browser compatibility API
- Support for Firefox
- Camera now correctly destroys the two CameraSource objects it owns
- Fixed some typos in README.md
- Export new face landmark functionality
- Support for face landmarks
- Greatly improved face tracking model
- Fixes to iPad support
- Dependencies update
- Support for ThreeJS versions >= 0.118.*
- Fixed issue where face meshes disappear when close to the edge of the screen
- Introduced accurate ThreeJS peer dependency versioning
- Fixes to iPad support
- Dependencies update
- Remove circular reference in dispose functions
- Functions to THREE objects to dispose of underling Zappar JS objects
- README syntax highlighting improvements
- Fix issues with iOS 14
- Dependencies update
- Tweaks to computer vision algorithms
- Tweaks to computer vision algorithms
- Fixed to the README
- Use browser
visiblitychange
event to pause/start camera when user changes tabs
- Support for full head meshes
- Support for NGROK
- Added README.md clarifications around licensing
- Mobile-optimized LoadingManager UI
Initial release