update documentation
This commit is contained in:
parent
c969197470
commit
751c040651
4 changed files with 75 additions and 52 deletions
|
|
@ -1,19 +1,28 @@
|
|||
BEGIN{
|
||||
ROUNDROBIN="🎲"
|
||||
ASSET="🔒"
|
||||
PV_OVERRIDE="🔓"
|
||||
OVERRIDE="🔓"
|
||||
PV_OVERRIDE="💥"
|
||||
BROWSER_OVERRIDE="👩"
|
||||
PROMPT="✋?"
|
||||
BROWSER_OVERRIDE_TOPLEVEL="🌐"
|
||||
print ROUNDROBIN" = multiple values will be roundrobin'ed<br>"
|
||||
print ASSET" = value(s) can only defined in 3D asset (immutable)<br>"
|
||||
print PV_OVERRIDE" = value(s) can be overwritten by [predefined_view](#predefined_view)<br>"
|
||||
print BROWSER_OVERRIDE" = value(s) can be overwritten by [URL browser_override](#browser_override)<br>"
|
||||
print PROMPT" = value(s) can be overwritten only offering confirmation/undo to user<br><br>"
|
||||
print "| fragment | type | write access | scope |"
|
||||
EMBED_OVERRIDE="🔗"
|
||||
print "| fragment | type | access | scope |"
|
||||
print "|----------|------|--------------|-------|"
|
||||
}
|
||||
|
||||
END{
|
||||
print ""
|
||||
print ASSET" = value(s) can only defined in 3D asset (immutable)<br>"
|
||||
print OVERRIDE" = value(s) can be overwritten in certain context<br>"
|
||||
print ROUNDROBIN" = multiple values will be roundrobin'ed<br>"
|
||||
print PV_OVERRIDE" = value(s) can be overwritten by [predefined_view](#predefined_view)<br>"
|
||||
print BROWSER_OVERRIDE" = value(s) can be overwritten when user clicks `href` (value) or top-level URL change(see [How it works](#How%20it%20works))<br>"
|
||||
print EMBED_OVERRIDE" = value(s) can be overwritten when 3D asset is embedded/linked as `src` value<br>"
|
||||
print PROMPT" = value(s) can be overwritten by offering confirmation/undo to user<br><br>"
|
||||
print ""
|
||||
print "for more info see [How it works](#How%20it%20works)"
|
||||
}
|
||||
|
||||
/category:/ {
|
||||
$1=$2=""
|
||||
sub(/^[[:space:]]+/, "", $0 ) # remove leading spaces
|
||||
|
|
@ -26,7 +35,7 @@ BEGIN{
|
|||
gsub(/.*\("/,"",$1)
|
||||
gsub(/".*/,"",$1)
|
||||
type="string"
|
||||
perms=""
|
||||
perms = $0 ~ /OVERRIDE/ ? OVERRIDE : ASSET
|
||||
frag=$1
|
||||
$1=""
|
||||
if( $0 ~ /T_INT/ ) type="int"
|
||||
|
|
@ -36,9 +45,9 @@ BEGIN{
|
|||
if( $0 ~ /T_URL/ ) type="[url](#url ) "
|
||||
if( $0 ~ /T_PREDEFINED_VIEW/ ) type="[predefined view](#predefined_view ) "
|
||||
if( $0 ~ /ROUNDROBIN/ ) perms=perms" "ROUNDROBIN
|
||||
if( $0 ~ /ASSET/ ) perms=perms" "ASSET
|
||||
if( $0 ~ /PV_OVERRIDE/ ) perms=perms" "PV_OVERRIDE
|
||||
if( $0 ~ /BROWSER_OVERRIDE/ ) perms=perms" "BROWSER_OVERRIDE
|
||||
if( $0 ~ /EMBED_OVERRIDE/ ) perms=perms" "EMBED_OVERRIDE
|
||||
if( $0 ~ /PROMPT/ ) perms=perms" "PROMPT
|
||||
print "| **"frag"** |" type "|" perms "|" scope "|"
|
||||
}
|
||||
|
|
|
|||
31
index.html
31
index.html
File diff suppressed because one or more lines are too long
|
|
@ -20,26 +20,26 @@ class Parser {
|
|||
Frag.set("src", XRF.ASSET | XRF.T_URL );
|
||||
|
||||
// category: href navigation / portals / teleporting
|
||||
Frag.set("pos", XRF.PV_OVERRIDE | XRF.ROUNDROBIN | XRF.T_VECTOR3 | XRF.T_STRING_OBJ );
|
||||
Frag.set("pos", XRF.PV_OVERRIDE | XRF.ROUNDROBIN | XRF.T_VECTOR3 | XRF.T_STRING_OBJ | XRF.EMBED_OVERRIDE );
|
||||
Frag.set("href", XRF.ASSET | XRF.T_URL | XRF.T_PREDEFINED_VIEW );
|
||||
|
||||
// category: query selector / object manipulation
|
||||
Frag.set("q", XRF.PV_OVERRIDE | XRF.T_STRING );
|
||||
Frag.set("scale", XRF.QUERY_OPERATOR | XRF.PV_OVERRIDE | XRF.ROUNDROBIN | XRF.T_INT );
|
||||
Frag.set("rot", XRF.QUERY_OPERATOR | XRF.PV_OVERRIDE | XRF.ROUNDROBIN | XRF.T_VECTOR3 );
|
||||
Frag.set("translate", XRF.QUERY_OPERATOR | XRF.PV_OVERRIDE | XRF.ROUNDROBIN | XRF.T_VECTOR3 );
|
||||
Frag.set("visible", XRF.QUERY_OPERATOR | XRF.PV_OVERRIDE | XRF.ROUNDROBIN | XRF.T_INT );
|
||||
Frag.set("env", XRF.ASSET | XRF.PV_OVERRIDE | XRF.T_STRING );
|
||||
Frag.set("q", XRF.PV_OVERRIDE | XRF.T_STRING | XRF.EMBED_OVERRIDE );
|
||||
Frag.set("scale", XRF.QUERY_OPERATOR | XRF.PV_OVERRIDE | XRF.ROUNDROBIN | XRF.T_INT | XRF.EMBED_OVERRIDE );
|
||||
Frag.set("rot", XRF.QUERY_OPERATOR | XRF.PV_OVERRIDE | XRF.ROUNDROBIN | XRF.T_VECTOR3 | XRF.EMBED_OVERRIDE );
|
||||
Frag.set("translate", XRF.QUERY_OPERATOR | XRF.PV_OVERRIDE | XRF.ROUNDROBIN | XRF.T_VECTOR3 | XRF.EMBED_OVERRIDE );
|
||||
Frag.set("visible", XRF.QUERY_OPERATOR | XRF.PV_OVERRIDE | XRF.ROUNDROBIN | XRF.T_INT | XRF.EMBED_OVERRIDE );
|
||||
Frag.set("env", XRF.ASSET | XRF.PV_OVERRIDE | XRF.T_STRING | XRF.EMBED_OVERRIDE );
|
||||
|
||||
// category: animation
|
||||
Frag.set("t", XRF.ASSET | XRF.PV_OVERRIDE | XRF.ROUNDROBIN | XRF.T_VECTOR2 | XRF.BROWSER_OVERRIDE );
|
||||
Frag.set("gravity", XRF.ASSET | XRF.PV_OVERRIDE | XRF.T_VECTOR3 );
|
||||
Frag.set("physics", XRF.ASSET | XRF.PV_OVERRIDE | XRF.T_VECTOR3 );
|
||||
Frag.set("t", XRF.ASSET | XRF.PV_OVERRIDE | XRF.ROUNDROBIN | XRF.T_VECTOR2 | XRF.BROWSER_OVERRIDE | XRF.EMBED_OVERRIDE);
|
||||
Frag.set("gravity", XRF.ASSET | XRF.PV_OVERRIDE | XRF.T_VECTOR3 | XRF.EMBED_OVERRIDE );
|
||||
Frag.set("physics", XRF.ASSET | XRF.PV_OVERRIDE | XRF.T_VECTOR3 | XRF.EMBED_OVERRIDE );
|
||||
|
||||
// category: device / viewport settings
|
||||
Frag.set("fov", XRF.ASSET | XRF.PV_OVERRIDE | XRF.T_INT | XRF.BROWSER_OVERRIDE );
|
||||
Frag.set("clip", XRF.ASSET | XRF.PV_OVERRIDE | XRF.T_VECTOR2 | XRF.BROWSER_OVERRIDE );
|
||||
Frag.set("fog", XRF.ASSET | XRF.PV_OVERRIDE | XRF.T_STRING | XRF.BROWSER_OVERRIDE );
|
||||
Frag.set("fov", XRF.ASSET | XRF.PV_OVERRIDE | XRF.T_INT | XRF.BROWSER_OVERRIDE | XRF.EMBED_OVERRIDE );
|
||||
Frag.set("clip", XRF.ASSET | XRF.PV_OVERRIDE | XRF.T_VECTOR2 | XRF.BROWSER_OVERRIDE | XRF.EMBED_OVERRIDE );
|
||||
Frag.set("fog", XRF.ASSET | XRF.PV_OVERRIDE | XRF.T_STRING | XRF.BROWSER_OVERRIDE | XRF.EMBED_OVERRIDE );
|
||||
|
||||
// category: author / metadata
|
||||
Frag.set("namespace", XRF.ASSET | XRF.T_STRING );
|
||||
|
|
@ -48,7 +48,7 @@ class Parser {
|
|||
Frag.set("description", XRF.ASSET | XRF.T_STRING );
|
||||
|
||||
// category: multiparty
|
||||
Frag.set("session", XRF.ASSET | XRF.T_URL | XRF.PV_OVERRIDE | XRF.BROWSER_OVERRIDE | XRF.PROMPT );
|
||||
Frag.set("session", XRF.ASSET | XRF.T_URL | XRF.PV_OVERRIDE | XRF.BROWSER_OVERRIDE | XRF.EMBED_OVERRIDE | XRF.PROMPT );
|
||||
|
||||
/**
|
||||
* # XR Fragments parser
|
||||
|
|
|
|||
|
|
@ -16,21 +16,22 @@ class XRF {
|
|||
public static var QUERY_OPERATOR:Int = 4; // fragment will be applied to result of queryselecto
|
||||
public static var PROMPT:Int = 8; // ask user whether this fragment value can be changed
|
||||
public static var ROUNDROBIN:Int = 16; // evaluation of this (multi) value can be roundrobined
|
||||
public static var BROWSER_OVERRIDE:Int = 32; // fragment can be overriden by (manual) browser URI change
|
||||
public static var PV_OVERRIDE:Int = 64; // fragment can be overriden when specified in predefined view value
|
||||
public static var PV_EXECUTE:Int = 128; // fragment can be overriden by (manual) browser URI change
|
||||
public static var BROWSER_OVERRIDE:Int = 32; // fragment can be overridden by (manual) browser URI change
|
||||
public static var EMBED_OVERRIDE:Int = 64; // fragment can be overridden by an embedded URL
|
||||
public static var PV_OVERRIDE:Int = 128; // fragment can be overridden when specified in predefined view value
|
||||
public static var PV_EXECUTE:Int = 256; // fragment can be overridden by (manual) browser URI change
|
||||
|
||||
// high-level value-types (powers of 2)
|
||||
public static var T_COLOR:Int = 256;
|
||||
public static var T_INT:Int = 512;
|
||||
public static var T_FLOAT:Int = 1024;
|
||||
public static var T_VECTOR2:Int = 2048;
|
||||
public static var T_VECTOR3:Int = 4096;
|
||||
public static var T_URL:Int = 8192;
|
||||
public static var T_PREDEFINED_VIEW:Int = 16384;
|
||||
public static var T_STRING:Int = 32768;
|
||||
public static var T_STRING_OBJ:Int = 65536;
|
||||
public static var T_STRING_OBJ_PROP:Int = 131072;
|
||||
public static var T_COLOR:Int = 8192;
|
||||
public static var T_INT:Int = 16384;
|
||||
public static var T_FLOAT:Int = 32768;
|
||||
public static var T_VECTOR2:Int = 65536;
|
||||
public static var T_VECTOR3:Int = 131072;
|
||||
public static var T_URL:Int = 262144;
|
||||
public static var T_PREDEFINED_VIEW:Int = 524288;
|
||||
public static var T_STRING:Int = 1048576;
|
||||
public static var T_STRING_OBJ:Int = 2097152;
|
||||
public static var T_STRING_OBJ_PROP:Int = 4194304;
|
||||
|
||||
// regexes
|
||||
public static var isColor:EReg = ~/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/; // 1. hex colors are detected using regex `/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/`
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue