Skip to main content

Changelog

All notable changes to the Manna module will be documented in this file.

Latest release

Manna [0.6.98] - 2024-04-29

Added

  • Various new functions in MathHelpers.cs
  • Dependency to Ark module for computer vision computations!

Changed

  • This version of Manna is using new Domain SDK, Read about it here!
  • Interface did not yet change, but planned changes include:
    • opening up calibration steps to developers, instead of an all-in-one step solution
    • let developers select the domain when scanning a lighthouse, rather than simply the pose

Removed

  • Any internal implementation of Scanner was removed: Manna is now dependent on Ark package for QRCode scanning and pose estimation!

Previous releases

Manna [0.6.89] - 2023-12-20

Changed

  • Drastically improved GPU-based scanner speed (both on iOS and Android)
  • Android ARCore support tested for OS 12+
  • Replaced usage of StaticLighthouseData instead of LighthousePose[]
  • Added inline documentation for developers: now SDK has full code XML documentation visible from the code
  • Various internal bugfixes

Manna [0.6.58] - 2023-09-18

Added

  • Introduced Pose Optimizer: on each scan, reported poses are more precise since the error on the corners gets iteratively minimized

Fixed

  • Fixed a bug appearing when the Framestamp is not correctly scanned, and a valid timestamp is not found
  • Updated module to support the newly released Conjurekit

Manna [0.6.51] - 2023-08-25

Added

  • Added wider support for more Android devices
  • Added a public property, CalibrationCooldownMs. The user is now able to control the cooldown timer between subsequent calibrations in milliseconds: a higher value means a higher waiting period.

Fixed

  • Precision improvement on QRCode scanning
  • Reduced performance impact on GPU on the scanner

Manna [0.6.34] - 2023-07-24

Added

  • A new suggested method to get frames from camera for Scanner. The advantage of the new method is that the image is kept on GPU to be used by the GPU scanner, preventing needless copies to the CPU.
    • previous method: get an XRCPU image from ARCameraManager
      • WARNING: this method does not currently work on Android
    • new method: get the texture from GPU from ARCameraBackground (works for both iOS and Android)
  • Added support for more generic Texture image type (from Texture2D)
    • Also RenderTexture can be used now for scanning
  • Confirmed Android scanner support for the following devices
    • OnePlus 7 Pro
    • Google Pixel 4 XL
    • Google Pixel 7 Pro
    • Google Pixel 6 Pro
    • Samsung Galaxy S21 Ultra
    • Samsung Galaxy S22 Ultra
    • Samsung A53 5G
    • Samsung Galaxy Tab S7
    • Samsung FE 21
    • Poco X3 pro

Changed

  • Code samples: updated how the frames are retreived from ARFoundation

Fixed

  • Improved precision in QRCode scanning
  • Fixed an issue with decoding failing when the wrong amount of data is detected in the QRCode

Manna [0.6.25] - 31-05-2023

Added

  • Introducing Framestamp scanning: a visual timestamp is scanned together with the dynamic QRCode/Lighthouse, and it is used to increase time precision and decouple pose estimation from the "scanning" and the "scanned" device clock discrepancies
  • Previous QRCode formats (without frame stamp) are still supported and will use device timestamps as before
  • Introduced the method ProcessVideoFrameTexture, which is responsible for the pose detection of a QRCode given:
    • Texture: the Texture2D to scan
    • ProjectionMatrix: the camera projection matrix, the coordinate transform from camera space to screen coordinates
    • WorldToCameraMatrix: the coordinate transforms from camera space to world space
  • An overload of method ProcessVideoFrameTexture has also been added, which allows developers to provide:
    • A custom TextureToProjectedCoordinatesMatrix: from texture to screen coordinates
    • ProjectionMatrix: same as the overloaded method
    • WorldToCameraMatrix: same as the overloaded method

Changed

  • Adapted to support new ECS API
  • Introduced proprietary 4th Generation scanner implementation for Manna
    • Uses Compute Shaders (on GPU) instead of CPU for QRCode corner detection in the image
    • Improved pose estimation over previous methods
  • Updated Samples: how to provide camera frames to Manna from ARFoundation 4

Removed

  • Removed mandatory dependency from ARFoundation
    • Developers should now provide the frame to scan, using the method ProcessVideoFrameTexture
    • Any library that can provide the needed data will work (including ARFoundation 4 or 5)
  • Removed the ImageTracker parameter from Manna

Previous releases

Manna [0.5.80] - 15-03-2023

Added

  • Introduced Native iOS scanning as a separate scan method, which uses iOS QR code scanning from native SDK
    • Using One-Frame calibration: pose estimation is performed on a single image frame and with higher millimeter precision
    • Native scanning on iOS requires a minimum version of ARFoundation 4.2.7, due to a bug in ARKit/ARF causing a crash.
  • Introduced Asynchronous scanning on both iOS/Android (all scan methods)
  • Support for App landScape mode while scanning
  • Internal database of offsets between cameras and screen upper right corners for various phone models for better alignment when scanning Dynamic Lighthouses
  • Option for vibrating on calibration: to enable it, set Manna.VibrateOnReadPose for the device being scanned and Manna.VibrateOnSendPose for the scanning device.
  • Uses device offsets in ConjureKit configuration when available

Fixed

  • Application is not stuttering/freezing anymore due to scanning being performed asynchronously
  • Avoided ZXing-generated border glitch, appearing on certain QRCode resolutions due to a bug in ZXing

Changed

  • Session origin is required in the constructor as transform: this removes the dependency from ARSession and lays support for ARFoundation 5
  • Vibration is no longer default on calibration
  • Updated Samples
  • Scanner now converts the image to Greyscale before processing to increase performance

Manna [0.5.17] - 2022-11-22

Added

  • Experimental Android (ARCore) support
  • Camera offset/placement of QR code anywhere on the screen
  • "VibrateOnReportPose" option for the master phone
  • "VibrateOnReadPose" option for the slave phone
  • MillisecondsSinceLastOnCalibrationSuccess() method
  • OwnDeviceScreenPixelsPerInch() method
  • SetLighthousePosition() method

Changed

  • Optimized lighthouse positioning
  • Better logging

Manna [0.5.11] - 2022-11-09

Added

  • New callback OnBeforeCalibration
  • New callback OnCalibrationSuccess

Changed

  • AukiDebug log messages consistently use AukiDebug.LogInfo
  • Updated samples

Manna [0.5.0] - 2022-10-17

Changed

  • Updated namespace to Auki.ConjureKit.Manna.*
  • Updated package name and description
  • Newtonsoft JSON reference bumped to 3.0.2
  • Updated samples