diff --git a/CHANGELOG.md b/CHANGELOG.md
index 462bb1e6f9796d13d3117b7f89e95592edc6e8a3..28001aea2327b2fe57f1cc222538b7d622622085 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,15 @@
# 1.5.0-dev
+- aframe-ar.js - added link into webxr.io/augmented-website
+- aframe-ar.js - change debugUIEnabled default from false to true.
+- drafting a demo for 3d.io
+- made demo for portal-door - nice reuseable components available
+- made demos to celebrate firefox 55
+- made demo for mapbox
+- vr-camera-controls - or how to walk in VR with AR.js
+
+# 1.4.10
+
- support for markers-area
- Efficient user friendly area scanning
- More Versatile than single marker tracking 0 larger areas than single markers
diff --git a/TODO.md b/TODO.md
index 5c0778198e6965c83247dd48504fe1a0731c5731..76c8f0108db85b30791e6e56554114ff0704a499 100644
--- a/TODO.md
+++ b/TODO.md
@@ -2,8 +2,10 @@
- do a button - display-hittester-plane
- in three.js and in aframe.js
-
-
+- cleanup /three.js/examples
+ - which version remains in ar.js session and currently
+- have a source in images and video. in three.js and aframe.js
+-
- once this refactor is done, publish is as AR.js v1.5 with a blog post
- DONE ensure backward compatibility of aframe api
diff --git a/aframe/build/aframe-ar.js b/aframe/build/aframe-ar.js
index f6d3ccc4a39b9d8ca5077dac90669a2683054f02..804597f6efb3c889b5f0d75e99fe4ac867b44dfb 100644
--- a/aframe/build/aframe-ar.js
+++ b/aframe/build/aframe-ar.js
@@ -6597,15 +6597,39 @@ ARjs.SessionDebugUI = function(arSession, tangoPointCloud){
var trackingBackend = arSession.arContext.parameters.trackingBackend
this.domElement = document.createElement('div')
+ this.domElement.style.color = 'rgba(0,0,0,0.9)'
+ this.domElement.style.backgroundColor = 'rgba(127,127,127,0.5)'
+ this.domElement.style.display = 'inline-block'
+ this.domElement.style.padding = '0.5em'
+ this.domElement.style.margin = '0.5em'
+ this.domElement.style.textAlign = 'left'
+
+ var domElement = document.createElement('div')
+ domElement.style.display = 'block'
+ domElement.style.fontWeight = 'bold'
+ domElement.style.fontSize = '120%'
+ this.domElement.appendChild(domElement)
+ domElement.innerHTML = 'AR.js Session Debug'
//////////////////////////////////////////////////////////////////////////////
// current-tracking-backend
//////////////////////////////////////////////////////////////////////////////
var domElement = document.createElement('span')
+ domElement.style.display = 'block'
this.domElement.appendChild(domElement)
- domElement.innerHTML = 'trackingBackend :' +trackingBackend
+ domElement.innerHTML = 'trackingBackend : ' +trackingBackend
+ //////////////////////////////////////////////////////////////////////////////
+ // augmented-websites
+ //////////////////////////////////////////////////////////////////////////////
+ var domElement = document.createElement('a')
+ domElement.innerHTML = 'Share on augmented-websites'
+ domElement.style.display = 'block'
+ domElement.setAttribute('target', '_blank')
+ domElement.href = 'https://webxr.io/augmented-website?'+location.href
+ this.domElement.appendChild(domElement)
+
//////////////////////////////////////////////////////////////////////////////
// toggle-point-cloud
//////////////////////////////////////////////////////////////////////////////
@@ -6646,15 +6670,32 @@ ARjs.AnchorDebugUI = function(arAnchor){
var trackingBackend = arSession.arContext.parameters.trackingBackend
this.domElement = document.createElement('div')
+ this.domElement.style.color = 'rgba(0,0,0,0.9)'
+ this.domElement.style.backgroundColor = 'rgba(127,127,127,0.5)'
+ this.domElement.style.display = 'inline-block'
+ this.domElement.style.padding = '0.5em'
+ this.domElement.style.margin = '0.5em'
+ this.domElement.style.textAlign = 'left'
+ //////////////////////////////////////////////////////////////////////////////
+ // add title
+ //////////////////////////////////////////////////////////////////////////////
+
+ var domElement = document.createElement('div')
+ domElement.style.display = 'block'
+ domElement.style.fontWeight = 'bold'
+ domElement.style.fontSize = '120%'
+ this.domElement.appendChild(domElement)
+ domElement.innerHTML = 'Anchor Marker Debug'
//////////////////////////////////////////////////////////////////////////////
// current-tracking-backend
//////////////////////////////////////////////////////////////////////////////
var domElement = document.createElement('span')
+ domElement.style.display = 'block'
this.domElement.appendChild(domElement)
- domElement.innerHTML = 'markersAreaEnabled :' +arAnchor.parameters.markersAreaEnabled
+ domElement.innerHTML = 'markersAreaEnabled :' +arAnchor.parameters.markersAreaEnabled
//////////////////////////////////////////////////////////////////////////////
// toggle-marker-helper
@@ -6662,6 +6703,7 @@ ARjs.AnchorDebugUI = function(arAnchor){
if( arAnchor.parameters.markersAreaEnabled ){
var domElement = document.createElement('button')
+ domElement.style.display = 'block'
this.domElement.appendChild(domElement)
domElement.id= 'buttonToggleMarkerHelpers'
@@ -6681,7 +6723,9 @@ ARjs.AnchorDebugUI = function(arAnchor){
if( arAnchor.parameters.markersAreaEnabled ){
var domElement = document.createElement('button')
+ domElement.style.display = 'block'
this.domElement.appendChild(domElement)
+
domElement.id = 'buttonMarkersAreaLearner'
domElement.innerHTML = 'Learn-new-marker-area'
domElement.href ='javascript:void(0)'
@@ -6698,7 +6742,9 @@ ARjs.AnchorDebugUI = function(arAnchor){
if( arAnchor.parameters.markersAreaEnabled ){
var domElement = document.createElement('button')
+ domElement.style.display = 'block'
this.domElement.appendChild(domElement)
+
domElement.id = 'buttonMarkersAreaReset'
domElement.innerHTML = 'Reset-marker-area'
domElement.href ='javascript:void(0)'
@@ -7999,8 +8045,17 @@ AFRAME.registerComponent('arjs-anchor', {
// honor .debugUIEnabled
//////////////////////////////////////////////////////////////////////////////
if( arjsSystem.data.debugUIEnabled ){
+ // get or create containerElement
+ var containerElement = document.querySelector('#arjsDebugUIContainer')
+ if( containerElement === null ){
+ containerElement = document.createElement('div')
+ containerElement.id = 'arjsDebugUIContainer'
+ containerElement.setAttribute('style', 'position: fixed; bottom: 10px; width:100%; text-align: center; z-index: 1; color: grey;')
+ document.body.appendChild(containerElement)
+ }
+ // create anchorDebugUI
var anchorDebugUI = new ARjs.AnchorDebugUI(arAnchor)
- document.querySelector('#arjsDebugUIContainer').appendChild(anchorDebugUI.domElement)
+ containerElement.appendChild(anchorDebugUI.domElement)
}
}, 1000/60)
},
@@ -8401,6 +8456,7 @@ AFRAME.registerSystem('arjs', {
arSource.copyElementSizeTo(document.body)
}
+ // fixing a-frame css
var buttonElement = document.querySelector('.a-enter-vr')
if( buttonElement ){
buttonElement.style.position = 'fixed'
@@ -8411,9 +8467,20 @@ AFRAME.registerSystem('arjs', {
//////////////////////////////////////////////////////////////////////////////
// honor .debugUIEnabled
//////////////////////////////////////////////////////////////////////////////
- if( _this.data.debugUIEnabled ){
+ if( _this.data.debugUIEnabled ) initDebugUI()
+ function initDebugUI(){
+ // get or create containerElement
+ var containerElement = document.querySelector('#arjsDebugUIContainer')
+ if( containerElement === null ){
+ containerElement = document.createElement('div')
+ containerElement.id = 'arjsDebugUIContainer'
+ containerElement.setAttribute('style', 'position: fixed; bottom: 10px; width:100%; text-align: center; z-index: 1;color: grey;')
+ document.body.appendChild(containerElement)
+ }
+
+ // create sessionDebugUI
var sessionDebugUI = new ARjs.SessionDebugUI(arSession)
- document.querySelector('#arjsDebugUIContainer').appendChild(sessionDebugUI.domElement)
+ containerElement.appendChild(sessionDebugUI.domElement)
}
})
diff --git a/aframe/src/system-arjs.js b/aframe/src/system-arjs.js
index 925f3278a155131624007ca4b6f6c7248b9f06bd..3f9396792cac03e0dfeb78bdc1abf7125ed4f177 100644
--- a/aframe/src/system-arjs.js
+++ b/aframe/src/system-arjs.js
@@ -203,6 +203,7 @@ AFRAME.registerSystem('arjs', {
arSource.copyElementSizeTo(document.body)
}
+ // fixing a-frame css
var buttonElement = document.querySelector('.a-enter-vr')
if( buttonElement ){
buttonElement.style.position = 'fixed'
@@ -213,7 +214,8 @@ AFRAME.registerSystem('arjs', {
//////////////////////////////////////////////////////////////////////////////
// honor .debugUIEnabled
//////////////////////////////////////////////////////////////////////////////
- if( _this.data.debugUIEnabled ){
+ if( _this.data.debugUIEnabled ) initDebugUI()
+ function initDebugUI(){
// get or create containerElement
var containerElement = document.querySelector('#arjsDebugUIContainer')
if( containerElement === null ){
@@ -222,9 +224,10 @@ AFRAME.registerSystem('arjs', {
containerElement.setAttribute('style', 'position: fixed; bottom: 10px; width:100%; text-align: center; z-index: 1;color: grey;')
document.body.appendChild(containerElement)
}
+
// create sessionDebugUI
var sessionDebugUI = new ARjs.SessionDebugUI(arSession)
- containerElement.appendChild(sessionDebugUI.domElement)
+ containerElement.appendChild(sessionDebugUI.domElement)
}
})
diff --git a/three.js/build/ar.js b/three.js/build/ar.js
index 2edfff98badf82c2d540d54cddad45caf1525218..5e6e5cdd94cb06ed9f71858dd7338314aea959ac 100644
--- a/three.js/build/ar.js
+++ b/three.js/build/ar.js
@@ -6597,15 +6597,39 @@ ARjs.SessionDebugUI = function(arSession, tangoPointCloud){
var trackingBackend = arSession.arContext.parameters.trackingBackend
this.domElement = document.createElement('div')
+ this.domElement.style.color = 'rgba(0,0,0,0.9)'
+ this.domElement.style.backgroundColor = 'rgba(127,127,127,0.5)'
+ this.domElement.style.display = 'inline-block'
+ this.domElement.style.padding = '0.5em'
+ this.domElement.style.margin = '0.5em'
+ this.domElement.style.textAlign = 'left'
+
+ var domElement = document.createElement('div')
+ domElement.style.display = 'block'
+ domElement.style.fontWeight = 'bold'
+ domElement.style.fontSize = '120%'
+ this.domElement.appendChild(domElement)
+ domElement.innerHTML = 'AR.js Session Debug'
//////////////////////////////////////////////////////////////////////////////
// current-tracking-backend
//////////////////////////////////////////////////////////////////////////////
var domElement = document.createElement('span')
+ domElement.style.display = 'block'
this.domElement.appendChild(domElement)
- domElement.innerHTML = 'trackingBackend :' +trackingBackend
+ domElement.innerHTML = 'trackingBackend : ' +trackingBackend
+ //////////////////////////////////////////////////////////////////////////////
+ // augmented-websites
+ //////////////////////////////////////////////////////////////////////////////
+ var domElement = document.createElement('a')
+ domElement.innerHTML = 'Share on augmented-websites'
+ domElement.style.display = 'block'
+ domElement.setAttribute('target', '_blank')
+ domElement.href = 'https://webxr.io/augmented-website?'+location.href
+ this.domElement.appendChild(domElement)
+
//////////////////////////////////////////////////////////////////////////////
// toggle-point-cloud
//////////////////////////////////////////////////////////////////////////////
@@ -6646,15 +6670,32 @@ ARjs.AnchorDebugUI = function(arAnchor){
var trackingBackend = arSession.arContext.parameters.trackingBackend
this.domElement = document.createElement('div')
+ this.domElement.style.color = 'rgba(0,0,0,0.9)'
+ this.domElement.style.backgroundColor = 'rgba(127,127,127,0.5)'
+ this.domElement.style.display = 'inline-block'
+ this.domElement.style.padding = '0.5em'
+ this.domElement.style.margin = '0.5em'
+ this.domElement.style.textAlign = 'left'
+
+ //////////////////////////////////////////////////////////////////////////////
+ // add title
+ //////////////////////////////////////////////////////////////////////////////
+ var domElement = document.createElement('div')
+ domElement.style.display = 'block'
+ domElement.style.fontWeight = 'bold'
+ domElement.style.fontSize = '120%'
+ this.domElement.appendChild(domElement)
+ domElement.innerHTML = 'Anchor Marker Debug'
//////////////////////////////////////////////////////////////////////////////
// current-tracking-backend
//////////////////////////////////////////////////////////////////////////////
var domElement = document.createElement('span')
+ domElement.style.display = 'block'
this.domElement.appendChild(domElement)
- domElement.innerHTML = 'markersAreaEnabled :' +arAnchor.parameters.markersAreaEnabled
+ domElement.innerHTML = 'markersAreaEnabled :' +arAnchor.parameters.markersAreaEnabled
//////////////////////////////////////////////////////////////////////////////
// toggle-marker-helper
@@ -6662,6 +6703,7 @@ ARjs.AnchorDebugUI = function(arAnchor){
if( arAnchor.parameters.markersAreaEnabled ){
var domElement = document.createElement('button')
+ domElement.style.display = 'block'
this.domElement.appendChild(domElement)
domElement.id= 'buttonToggleMarkerHelpers'
@@ -6681,7 +6723,9 @@ ARjs.AnchorDebugUI = function(arAnchor){
if( arAnchor.parameters.markersAreaEnabled ){
var domElement = document.createElement('button')
+ domElement.style.display = 'block'
this.domElement.appendChild(domElement)
+
domElement.id = 'buttonMarkersAreaLearner'
domElement.innerHTML = 'Learn-new-marker-area'
domElement.href ='javascript:void(0)'
@@ -6698,7 +6742,9 @@ ARjs.AnchorDebugUI = function(arAnchor){
if( arAnchor.parameters.markersAreaEnabled ){
var domElement = document.createElement('button')
+ domElement.style.display = 'block'
this.domElement.appendChild(domElement)
+
domElement.id = 'buttonMarkersAreaReset'
domElement.innerHTML = 'Reset-marker-area'
domElement.href ='javascript:void(0)'
diff --git a/three.js/src/new-api/arjs-debugui.js b/three.js/src/new-api/arjs-debugui.js
index 96f3318f13dcea29559d8c5de02ce1202d629530..7a7c1fb6f6b7414bef7ef72d2e15f864be05957e 100644
--- a/three.js/src/new-api/arjs-debugui.js
+++ b/three.js/src/new-api/arjs-debugui.js
@@ -10,15 +10,39 @@ ARjs.SessionDebugUI = function(arSession, tangoPointCloud){
var trackingBackend = arSession.arContext.parameters.trackingBackend
this.domElement = document.createElement('div')
+ this.domElement.style.color = 'rgba(0,0,0,0.9)'
+ this.domElement.style.backgroundColor = 'rgba(127,127,127,0.5)'
+ this.domElement.style.display = 'inline-block'
+ this.domElement.style.padding = '0.5em'
+ this.domElement.style.margin = '0.5em'
+ this.domElement.style.textAlign = 'left'
+
+ var domElement = document.createElement('div')
+ domElement.style.display = 'block'
+ domElement.style.fontWeight = 'bold'
+ domElement.style.fontSize = '120%'
+ this.domElement.appendChild(domElement)
+ domElement.innerHTML = 'AR.js Session Debug'
//////////////////////////////////////////////////////////////////////////////
// current-tracking-backend
//////////////////////////////////////////////////////////////////////////////
var domElement = document.createElement('span')
+ domElement.style.display = 'block'
this.domElement.appendChild(domElement)
- domElement.innerHTML = 'trackingBackend :' +trackingBackend
+ domElement.innerHTML = 'trackingBackend : ' +trackingBackend
+ //////////////////////////////////////////////////////////////////////////////
+ // augmented-websites
+ //////////////////////////////////////////////////////////////////////////////
+ var domElement = document.createElement('a')
+ domElement.innerHTML = 'Share on augmented-websites'
+ domElement.style.display = 'block'
+ domElement.setAttribute('target', '_blank')
+ domElement.href = 'https://webxr.io/augmented-website?'+location.href
+ this.domElement.appendChild(domElement)
+
//////////////////////////////////////////////////////////////////////////////
// toggle-point-cloud
//////////////////////////////////////////////////////////////////////////////
@@ -59,15 +83,32 @@ ARjs.AnchorDebugUI = function(arAnchor){
var trackingBackend = arSession.arContext.parameters.trackingBackend
this.domElement = document.createElement('div')
+ this.domElement.style.color = 'rgba(0,0,0,0.9)'
+ this.domElement.style.backgroundColor = 'rgba(127,127,127,0.5)'
+ this.domElement.style.display = 'inline-block'
+ this.domElement.style.padding = '0.5em'
+ this.domElement.style.margin = '0.5em'
+ this.domElement.style.textAlign = 'left'
+
+ //////////////////////////////////////////////////////////////////////////////
+ // add title
+ //////////////////////////////////////////////////////////////////////////////
+ var domElement = document.createElement('div')
+ domElement.style.display = 'block'
+ domElement.style.fontWeight = 'bold'
+ domElement.style.fontSize = '120%'
+ this.domElement.appendChild(domElement)
+ domElement.innerHTML = 'Anchor Marker Debug'
//////////////////////////////////////////////////////////////////////////////
// current-tracking-backend
//////////////////////////////////////////////////////////////////////////////
var domElement = document.createElement('span')
+ domElement.style.display = 'block'
this.domElement.appendChild(domElement)
- domElement.innerHTML = 'markersAreaEnabled :' +arAnchor.parameters.markersAreaEnabled
+ domElement.innerHTML = 'markersAreaEnabled :' +arAnchor.parameters.markersAreaEnabled
//////////////////////////////////////////////////////////////////////////////
// toggle-marker-helper
@@ -75,6 +116,7 @@ ARjs.AnchorDebugUI = function(arAnchor){
if( arAnchor.parameters.markersAreaEnabled ){
var domElement = document.createElement('button')
+ domElement.style.display = 'block'
this.domElement.appendChild(domElement)
domElement.id= 'buttonToggleMarkerHelpers'
@@ -94,7 +136,9 @@ ARjs.AnchorDebugUI = function(arAnchor){
if( arAnchor.parameters.markersAreaEnabled ){
var domElement = document.createElement('button')
+ domElement.style.display = 'block'
this.domElement.appendChild(domElement)
+
domElement.id = 'buttonMarkersAreaLearner'
domElement.innerHTML = 'Learn-new-marker-area'
domElement.href ='javascript:void(0)'
@@ -111,7 +155,9 @@ ARjs.AnchorDebugUI = function(arAnchor){
if( arAnchor.parameters.markersAreaEnabled ){
var domElement = document.createElement('button')
+ domElement.style.display = 'block'
this.domElement.appendChild(domElement)
+
domElement.id = 'buttonMarkersAreaReset'
domElement.innerHTML = 'Reset-marker-area'
domElement.href ='javascript:void(0)'
diff --git a/webvr-polyfill/build/artoolkit-webvr-polyfill.js b/webvr-polyfill/build/artoolkit-webvr-polyfill.js
index 2e66777f8064f652a6b7e3573ed93267f7878758..5f73648f64c7f29d7cf360ac95c84ad07223fa6a 100644
--- a/webvr-polyfill/build/artoolkit-webvr-polyfill.js
+++ b/webvr-polyfill/build/artoolkit-webvr-polyfill.js
@@ -6597,15 +6597,39 @@ ARjs.SessionDebugUI = function(arSession, tangoPointCloud){
var trackingBackend = arSession.arContext.parameters.trackingBackend
this.domElement = document.createElement('div')
+ this.domElement.style.color = 'rgba(0,0,0,0.9)'
+ this.domElement.style.backgroundColor = 'rgba(127,127,127,0.5)'
+ this.domElement.style.display = 'inline-block'
+ this.domElement.style.padding = '0.5em'
+ this.domElement.style.margin = '0.5em'
+ this.domElement.style.textAlign = 'left'
+
+ var domElement = document.createElement('div')
+ domElement.style.display = 'block'
+ domElement.style.fontWeight = 'bold'
+ domElement.style.fontSize = '120%'
+ this.domElement.appendChild(domElement)
+ domElement.innerHTML = 'AR.js Session Debug'
//////////////////////////////////////////////////////////////////////////////
// current-tracking-backend
//////////////////////////////////////////////////////////////////////////////
var domElement = document.createElement('span')
+ domElement.style.display = 'block'
this.domElement.appendChild(domElement)
- domElement.innerHTML = 'trackingBackend :' +trackingBackend
+ domElement.innerHTML = 'trackingBackend : ' +trackingBackend
+ //////////////////////////////////////////////////////////////////////////////
+ // augmented-websites
+ //////////////////////////////////////////////////////////////////////////////
+ var domElement = document.createElement('a')
+ domElement.innerHTML = 'Share on augmented-websites'
+ domElement.style.display = 'block'
+ domElement.setAttribute('target', '_blank')
+ domElement.href = 'https://webxr.io/augmented-website?'+location.href
+ this.domElement.appendChild(domElement)
+
//////////////////////////////////////////////////////////////////////////////
// toggle-point-cloud
//////////////////////////////////////////////////////////////////////////////
@@ -6646,15 +6670,32 @@ ARjs.AnchorDebugUI = function(arAnchor){
var trackingBackend = arSession.arContext.parameters.trackingBackend
this.domElement = document.createElement('div')
+ this.domElement.style.color = 'rgba(0,0,0,0.9)'
+ this.domElement.style.backgroundColor = 'rgba(127,127,127,0.5)'
+ this.domElement.style.display = 'inline-block'
+ this.domElement.style.padding = '0.5em'
+ this.domElement.style.margin = '0.5em'
+ this.domElement.style.textAlign = 'left'
+
+ //////////////////////////////////////////////////////////////////////////////
+ // add title
+ //////////////////////////////////////////////////////////////////////////////
+ var domElement = document.createElement('div')
+ domElement.style.display = 'block'
+ domElement.style.fontWeight = 'bold'
+ domElement.style.fontSize = '120%'
+ this.domElement.appendChild(domElement)
+ domElement.innerHTML = 'Anchor Marker Debug'
//////////////////////////////////////////////////////////////////////////////
// current-tracking-backend
//////////////////////////////////////////////////////////////////////////////
var domElement = document.createElement('span')
+ domElement.style.display = 'block'
this.domElement.appendChild(domElement)
- domElement.innerHTML = 'markersAreaEnabled :' +arAnchor.parameters.markersAreaEnabled
+ domElement.innerHTML = 'markersAreaEnabled :' +arAnchor.parameters.markersAreaEnabled
//////////////////////////////////////////////////////////////////////////////
// toggle-marker-helper
@@ -6662,6 +6703,7 @@ ARjs.AnchorDebugUI = function(arAnchor){
if( arAnchor.parameters.markersAreaEnabled ){
var domElement = document.createElement('button')
+ domElement.style.display = 'block'
this.domElement.appendChild(domElement)
domElement.id= 'buttonToggleMarkerHelpers'
@@ -6681,7 +6723,9 @@ ARjs.AnchorDebugUI = function(arAnchor){
if( arAnchor.parameters.markersAreaEnabled ){
var domElement = document.createElement('button')
+ domElement.style.display = 'block'
this.domElement.appendChild(domElement)
+
domElement.id = 'buttonMarkersAreaLearner'
domElement.innerHTML = 'Learn-new-marker-area'
domElement.href ='javascript:void(0)'
@@ -6698,7 +6742,9 @@ ARjs.AnchorDebugUI = function(arAnchor){
if( arAnchor.parameters.markersAreaEnabled ){
var domElement = document.createElement('button')
+ domElement.style.display = 'block'
this.domElement.appendChild(domElement)
+
domElement.id = 'buttonMarkersAreaReset'
domElement.innerHTML = 'Reset-marker-area'
domElement.href ='javascript:void(0)'