Skip to content

Monolook World API

Import

js
import { Monolook } from 'monolook/world'

Constructor

js
const monolook = new Monolook({
  adapter: 'three',
  THREE,
  scene,
  camera,
  renderer,
  domOverlayRoot
})

Options

OptionTypeRequiredDescription
adapter'three' | 'aframe' | 'babylon'YesBuilt-in adapter
THREEobjectThree.jsThree.js namespace
sceneobjectThree/BabylonEngine scene
cameraobjectThree/BabylonEngine camera
rendererobjectThreeThree.js renderer
sceneElHTMLElementA-FrameLoaded <a-scene>
engineobjectBabylonBabylon.js engine
BABYLONobjectBabylonBabylon.js namespace
domOverlayRootHTMLElementNoRoot for WebXR overlay UI

Methods

MethodReturnsDescription
start(options)Promise<void>Validates license and initializes SDK
enterAR(options?)Promise<XRSession | null>Requests AR session
startTracking()voidStarts surface search
pauseTracking()voidPauses tracking
setRenderLoop(callback)voidSets render loop
updateTracking()voidUpdates camera/indicator
getIndicatorPose(){ position, rotation, visible } | nullPlacement point pose
setIndicatorVisible(visible)voidShows/hides indicator
setTransparentBackground()voidTransparent AR background
setDesktopBackground(color?)voidPreview background
reset()voidResets state
isPresenting()booleanWhether an AR session is active
on(event, callback)() => voidSubscribes to event
off(event, callback)voidUnsubscribes event

start(options)

OptionTypeRequiredDescription
mode'surface'YesTracking mode
licenseKeystringYesWorld license key

Events

EventPayloadDescription
surfacefound{ pose }Surface detected
surfacelostobjectSurface lost
select{ nativeEvent }Tap/select in AR
sessionstart{ platform, ...payload }Session started
sessionend{ platform, ...payload }Session ended
trackingstartundefinedTracking active
trackingpauseundefinedTracking paused
licensedobjectLicense validated
errorErrorError