diff --git a/README.md b/README.md
index 3568283..188d0b6 100644
--- a/README.md
+++ b/README.md
@@ -1,16 +1,16 @@
# oriels
*a °dof driven dev space*
-
+
**mapped out by:**
@spatialfree × @opendegree
-
+
-
+
diff --git a/zrc/StereoKitLogoLight.svg b/_/StereoKitLogoLight.svg
similarity index 100%
rename from zrc/StereoKitLogoLight.svg
rename to _/StereoKitLogoLight.svg
diff --git a/zrc/channel-icon-tranparent.png b/_/channel-icon-tranparent.png
similarity index 100%
rename from zrc/channel-icon-tranparent.png
rename to _/channel-icon-tranparent.png
diff --git a/zrc/dofdev-logo.svg b/_/dofdev-logo.svg
similarity index 100%
rename from zrc/dofdev-logo.svg
rename to _/dofdev-logo.svg
diff --git a/zrc/dofdev.gif b/_/dofdev.gif
similarity index 100%
rename from zrc/dofdev.gif
rename to _/dofdev.gif
diff --git a/zrc/markberg.png b/_/markberg.png
similarity index 100%
rename from zrc/markberg.png
rename to _/markberg.png
diff --git a/zrc/oriel.gif b/_/oriel.gif
similarity index 100%
rename from zrc/oriel.gif
rename to _/oriel.gif
diff --git a/app/dofs/wave-cursor/pattern.txt b/app/dofs/wave-cursor/pattern.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/app/Backrooms/Mono.cs b/src/Backrooms/Mono.cs
similarity index 100%
rename from app/Backrooms/Mono.cs
rename to src/Backrooms/Mono.cs
diff --git a/app/Blocks.cs b/src/Blocks.cs
similarity index 100%
rename from app/Blocks.cs
rename to src/Blocks.cs
diff --git a/app/Board.cs b/src/Board.cs
similarity index 100%
rename from app/Board.cs
rename to src/Board.cs
diff --git a/app/Compositor.cs b/src/Compositor.cs
similarity index 100%
rename from app/Compositor.cs
rename to src/Compositor.cs
diff --git a/app/Cubics.cs b/src/Cubics.cs
similarity index 100%
rename from app/Cubics.cs
rename to src/Cubics.cs
diff --git a/app/Glove.cs b/src/Glove.cs
similarity index 100%
rename from app/Glove.cs
rename to src/Glove.cs
diff --git a/app/Greenyard/Mono.cs b/src/Greenyard/Mono.cs
similarity index 100%
rename from app/Greenyard/Mono.cs
rename to src/Greenyard/Mono.cs
diff --git a/app/Mono.cs b/src/Mono.cs
similarity index 100%
rename from app/Mono.cs
rename to src/Mono.cs
diff --git a/app/MonoNet.cs b/src/MonoNet.cs
similarity index 100%
rename from app/MonoNet.cs
rename to src/MonoNet.cs
diff --git a/app/OrbitalView.cs b/src/OrbitalView.cs
similarity index 100%
rename from app/OrbitalView.cs
rename to src/OrbitalView.cs
diff --git a/app/PullRequest.cs b/src/PullRequest.cs
similarity index 100%
rename from app/PullRequest.cs
rename to src/PullRequest.cs
diff --git a/app/Rig/Mic.cs b/src/Rig/Mic.cs
similarity index 100%
rename from app/Rig/Mic.cs
rename to src/Rig/Mic.cs
diff --git a/app/Rig/Rig.cs b/src/Rig/Rig.cs
similarity index 100%
rename from app/Rig/Rig.cs
rename to src/Rig/Rig.cs
diff --git a/app/Space.cs b/src/Space.cs
similarity index 100%
rename from app/Space.cs
rename to src/Space.cs
diff --git a/app/Space/Mono.cs b/src/Space/Mono.cs
similarity index 100%
rename from app/Space/Mono.cs
rename to src/Space/Mono.cs
diff --git a/app/SpatialCursor.cs b/src/SpatialCursor.cs
similarity index 100%
rename from app/SpatialCursor.cs
rename to src/SpatialCursor.cs
diff --git a/app/_Init.cs b/src/_Init.cs
similarity index 100%
rename from app/_Init.cs
rename to src/_Init.cs
diff --git a/app/dofs/color-cube/ColorCube.cs b/src/dofs/color-cube/ColorCube.cs
similarity index 100%
rename from app/dofs/color-cube/ColorCube.cs
rename to src/dofs/color-cube/ColorCube.cs
diff --git a/app/dofs/color-cube/pattern.txt b/src/dofs/color-cube/pattern.txt
similarity index 100%
rename from app/dofs/color-cube/pattern.txt
rename to src/dofs/color-cube/pattern.txt
diff --git a/app/dofs/cubic-flow/pattern.txt b/src/dofs/cubic-flow/pattern.txt
similarity index 100%
rename from app/dofs/cubic-flow/pattern.txt
rename to src/dofs/cubic-flow/pattern.txt
diff --git a/app/dofs/dof.cs b/src/dofs/dof.cs
similarity index 100%
rename from app/dofs/dof.cs
rename to src/dofs/dof.cs
diff --git a/app/dofs/fullstick/pattern.txt b/src/dofs/fullstick/pattern.txt
similarity index 100%
rename from app/dofs/fullstick/pattern.txt
rename to src/dofs/fullstick/pattern.txt
diff --git a/app/dofs/offset-cursor/pattern.txt b/src/dofs/offset-cursor/pattern.txt
similarity index 100%
rename from app/dofs/offset-cursor/pattern.txt
rename to src/dofs/offset-cursor/pattern.txt
diff --git a/app/dofs/orbital-view/pattern.txt b/src/dofs/orbital-view/pattern.txt
similarity index 100%
rename from app/dofs/orbital-view/pattern.txt
rename to src/dofs/orbital-view/pattern.txt
diff --git a/app/dofs/oriel/Oriel.cs b/src/dofs/oriel/Oriel.cs
similarity index 100%
rename from app/dofs/oriel/Oriel.cs
rename to src/dofs/oriel/Oriel.cs
diff --git a/app/dofs/oriel/pattern.txt b/src/dofs/oriel/pattern.txt
similarity index 100%
rename from app/dofs/oriel/pattern.txt
rename to src/dofs/oriel/pattern.txt
diff --git a/app/dofs/quadraticizer/pattern.txt b/src/dofs/quadraticizer/pattern.txt
similarity index 100%
rename from app/dofs/quadraticizer/pattern.txt
rename to src/dofs/quadraticizer/pattern.txt
diff --git a/app/dofs/reach-cursor/ReachCursor.cs b/src/dofs/reach-cursor/ReachCursor.cs
similarity index 100%
rename from app/dofs/reach-cursor/ReachCursor.cs
rename to src/dofs/reach-cursor/ReachCursor.cs
diff --git a/app/dofs/reach-cursor/pattern.txt b/src/dofs/reach-cursor/pattern.txt
similarity index 100%
rename from app/dofs/reach-cursor/pattern.txt
rename to src/dofs/reach-cursor/pattern.txt
diff --git a/app/dofs/rolls-cursor/RollsCursor.cs b/src/dofs/rolls-cursor/RollsCursor.cs
similarity index 100%
rename from app/dofs/rolls-cursor/RollsCursor.cs
rename to src/dofs/rolls-cursor/RollsCursor.cs
diff --git a/app/dofs/rolls-cursor/pattern.txt b/src/dofs/rolls-cursor/pattern.txt
similarity index 100%
rename from app/dofs/rolls-cursor/pattern.txt
rename to src/dofs/rolls-cursor/pattern.txt
diff --git a/app/dofs/stretch-cursor/StretchCursor.cs b/src/dofs/stretch-cursor/StretchCursor.cs
similarity index 100%
rename from app/dofs/stretch-cursor/StretchCursor.cs
rename to src/dofs/stretch-cursor/StretchCursor.cs
diff --git a/app/dofs/stretch-cursor/pattern.txt b/src/dofs/stretch-cursor/pattern.txt
similarity index 62%
rename from app/dofs/stretch-cursor/pattern.txt
rename to src/dofs/stretch-cursor/pattern.txt
index 2b0e4e0..ee9bd66 100644
--- a/app/dofs/stretch-cursor/pattern.txt
+++ b/src/dofs/stretch-cursor/pattern.txt
@@ -1,4 +1,4 @@
-# 2018.10.06 -> 2022.10.04 ->
+# 2018.10.06 -> 2023.04.10 ->
input
vTo
@@ -9,10 +9,11 @@ data
cursor
frame
- mag = (vTo - vFrom).mag
+ delta = vTo - vFrom
+ mag = delta.mag
stretch = max(mag - deadzone, 0)
- dir = v3.dir(vTo, vFrom)
+ dir = nor(delta)
cursor = vTo + dir * stretch * strength
design
diff --git a/app/dofs/touch-xr/pattern.txt b/src/dofs/touch-xr/pattern.txt
similarity index 100%
rename from app/dofs/touch-xr/pattern.txt
rename to src/dofs/touch-xr/pattern.txt
diff --git a/app/dofs/trackballer/Trackballer.cs b/src/dofs/trackballer/Trackballer.cs
similarity index 100%
rename from app/dofs/trackballer/Trackballer.cs
rename to src/dofs/trackballer/Trackballer.cs
diff --git a/app/dofs/trackballer/pattern.txt b/src/dofs/trackballer/pattern.txt
similarity index 100%
rename from app/dofs/trackballer/pattern.txt
rename to src/dofs/trackballer/pattern.txt
diff --git a/app/dofs/twist-cursor/pattern.txt b/src/dofs/twist-cursor/pattern.txt
similarity index 100%
rename from app/dofs/twist-cursor/pattern.txt
rename to src/dofs/twist-cursor/pattern.txt
diff --git a/app/dofs/wave-cursor/WaveCursor.cs b/src/dofs/wave-cursor/WaveCursor.cs
similarity index 80%
rename from app/dofs/wave-cursor/WaveCursor.cs
rename to src/dofs/wave-cursor/WaveCursor.cs
index 3f9d144..4b64746 100644
--- a/app/dofs/wave-cursor/WaveCursor.cs
+++ b/src/dofs/wave-cursor/WaveCursor.cs
@@ -21,14 +21,14 @@ class WaveCursor : dof {
float fL = rig.Flexion(hand, FingerId.Little);
// Biased by finger length
- float stretch = (fI + fI + fM + fM + fM + fR + fR + fL) / 8f;
+ float wave = (fI + fI + fM + fM + fM + fR + fR + fL) / 8f;
Vec3 to = hand.Get(FingerId.Index, JointId.Tip).position;
Vec3 from = hand.Get(FingerId.Index, JointId.KnuckleMajor).position;
- Vec3 dir = PullRequest.Direction(to, from);
+ Vec3 dir = Vec3.Direction(to, from);
- cursor.raw = to + dir * stretch * reach.value;
+ cursor.raw = to + dir * wave * crest.value;
Mesh.Sphere.Draw(Mono.inst.matHoloframe, Matrix.TRS(cursor.raw, Quat.Identity, 0.01f), new Color(1, 0, 0));
Mesh.Sphere.Draw(Mono.inst.matHoloframe, Matrix.TRS(cursor.pos, Quat.Identity, 0.01f), new Color(0, 1, 0));
@@ -37,7 +37,7 @@ class WaveCursor : dof {
}
// design
- public Design reach = new Design { str="1.0", term="0+m", min=0 };
+ public Design crest = new Design { str="1.0", term="0+m", min=0 };
// demo
@@ -92,4 +92,18 @@ class WaveCursor : dof {
/*
COMMENTS
+ !uses a naive flexion method
+ that needs a refactor to
+ to both track for
+ finger & knuckle flexion
+
+ as they are intertwined at the intersection
+ in way that can't be ignored and must be derived!
+ in order to have a principled wave-cursor
+ (let alone a rolls-cursor)
+
+
+ sidetest: may be useful for interactions!
+ where you can use the finger flexion for grabbing
+ and knuckle flexion for cursor extension
*/
\ No newline at end of file
diff --git a/src/dofs/wave-cursor/pattern.txt b/src/dofs/wave-cursor/pattern.txt
new file mode 100644
index 0000000..9a8f2de
--- /dev/null
+++ b/src/dofs/wave-cursor/pattern.txt
@@ -0,0 +1,27 @@
+# 2022.10.01 -> 2023.04.10
+
+# !draft
+
+input
+ hand
+
+data
+ cursor
+
+frame
+ fI = hand.flexion(Index)
+ fM = hand.flexion(Middle)
+ fR = hand.flexion(Ring)
+ fL = hand.flexion(Little)
+
+ wave = (fI+fI + fM+fM+fM + fR+fR + fL) / 8
+
+ vTo = hand.IndexTip
+ vFrom = hand.KnuckleMajor
+
+ dir = nor(vTo - vFrom)
+
+ cursor = vTo + dir * wave * crest
+
+design
+ crest = 1.0 [0+m]
\ No newline at end of file