maine-imre / handwaver Goto Github PK
View Code? Open in Web Editor NEWA gesture-based mathematical making environment from the University of Maine
Home Page: http://www.imrelab.org
A gesture-based mathematical making environment from the University of Maine
Home Page: http://www.imrelab.org
Scenes to recreate
Additional context
These were destroyed upon git file management. They can be recreated with the prefabs and scripts from our repo.
CodeFactor found an issue: Complex Method
It's currently on:
[Assets\Resources\Databases\PlanetaryData\HORIZONSDataCreator.py:112-196
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Resources/Databases/PlanetaryData/HORIZONSDataCreator.py#L112)
CodeFactor found an issue: Complex Method
It's currently on:
[Assets\Resources\Databases\StellarData\getJ2000EarthData.py:109-144
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Resources/Databases/StellarData/getJ2000EarthData.py#L109)
The CheckInPlane function does not return the desired result. Always returns false.
Remaining:
CodeFactor found an issue: Complex Method
It's currently on:
[Assets\Resources\Databases\PlanetaryData\HORIZONSDataCreator.py:70-109
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Resources/Databases/PlanetaryData/HORIZONSDataCreator.py#L70)
The prefab doesn't work
Maybe this is a good time to consider a different design?
CodeFactor found an issue: Complex Method
It's currently on:
[Assets\Scripts\SceneSpecific\GeometersPlanetarium\Verlet\VerletV2\HorizonsAccuracyTesting.cs:33-153
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Scripts/SceneSpecific/GeometersPlanetarium/Verlet/VerletV2/HorizonsAccuracyTesting.cs#L33)Commit 4dcebde
CodeFactor found an issue: Complex Method
It's currently on:
[Assets\Scripts\SceneSpecific\Chess\Pieces\queenPiece.cs:26-47
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Scripts/SceneSpecific/Chess/Pieces/queenPiece.cs#L26)Commit 4dcebde
Is your feature request related to a problem? Please describe.
This is discussed in Dimmel's proposal, appendix B. MODIFIED AUG 19, 2019
Describe the solution you'd like
A set of figures that extend the sandbox dimension with analogs in 2,3 and 4 dimensions.
The scene will have a set of figures that can be viewed using a set of lenses. Additionally, some actions (events) can be applied to each figure).
Figures:
Lenses
Events
Completion Checklist
Projection Algorithms
Cross-Sections --> Are these a separate object?
Net Folding --> These can exist if we consider an unfolding of the mesh
Translation
Rotation
Important Design Considerations
If we allow translation and rotation, do we need more general cross-sections?
Can we solve all of the projection problems with 4D --> 3D?
Points and tools will continue to use the interaction engine.
Otherwise, we will use our own interactions to move things around.
This stems from the Physx colldiers being limited.
This will also help us in an ECS system.
CodeFactor found an issue: Complex Method
It's currently on:
[Assets\Scripts\SceneSpecific\GeometersPlanetarium\Verlet\VerletV3\HorizonsV3.cs:19-145
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Scripts/SceneSpecific/GeometersPlanetarium/Verlet/VerletV3/HorizonsV3.cs#L19)Commit dcd3251
Likely a combo of inherited prefabs and Instantiate on Resources.Load
Subtask of #9
Socket does not establish proper communication. When that is complete, we need to emit a message of "Subscribe: "+ sessionID
This should allow for us to then receive updates through the socket.
Is your feature request related to a problem? Please describe.
We need a much more robust geometry solver. Our current geometry solver is quite limited - it either doesn't iterate enough to get an accurate image, or it's iterations don't converge because of rounding errors and figures drift out towards the infinite.
Optimally, we would either port geogebra's geometry solver to C#, find some wrapper for GeoGebra that allows us to access it through Unity, or build on the GeoGebra VR platform, implementing a new user interface.
Describe the solution you'd like
We need a robust geometry solver (kernel). This should have multiple layers of abstraction - the kernel level that handles the mathematical abstractions of the figures, a graphical level that renders each figure in the scene, and an interaction level that interprets users inputs using LeapMotion Orion and OSVR controllers to send commands to the kernel.
Any solution should support cross-sections, and restrictions of orthogonal, parallel and congruence.
Describe alternatives you've considered
We have considered rewriting our existing solver with an event-based system, though it seems that this delays the problem. A connection to an existing open-source solution seems much more viable.
Additional context
Is your feature request related to a problem? Please describe.
When we are developing for LeapMotion Orion, we have three problems. One, we often use similar gestures for multiple applications but re-implement the gesture each time. Two, we leave OSVR Control overrides behind to clean up later. Three, we need a universal system for visual and audio feedback for control use. InteractionBehaviours for general movement already support OSVR controllers.
Describe the solution you'd like
We want our abstraction to have three layers. A base layer that lays infrastructure for connecting left hand to left OSVR controller, etc. Also, button access for OSVR and basic PUN RPC support. A middle layer would define gestures in terms of both the LeapHands and OSVR controllers. This layer would also handle audio and visual feedback, so this is consistent (e.g. an open palm has the same color feedback and same audio feedback in any context). A top layer would extend this class to the specific implementation. This would send the specific RPCs as needed and interact with the kernel or other tools as needed.
For example:
IMRE_OneHandedGesture --> IRME_Point --> PointToSelect
Additional context
Interface Layer
Classification Layer
Action Layer
Is your feature request related to a problem? Please describe.
Describe the solution you'd like
Describe alternatives you've considered
Additional Info
The desired Code to be callable within C#:
https://wiki.geogebra.org/en/Reference:GeoGebra_Apps_API
A suggested tool to call JS within C#:
https://archive.codeplex.com/?p=javascriptdotnet
A suggested tool to create a DLL that contains a jar file:
https://www.ikvm.net/
CodeFactor found an issue: Duplicate Code
It's currently on:
[Assets\Resources\Databases\StellarData\getJ2000EarthData.py:11-32
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Resources/Databases/StellarData/getJ2000EarthData.py#L11)[Assets\Resources\Databases\PlanetaryData\HORIZONSDataTester.py:14-35
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Resources/Databases/PlanetaryData/HORIZONSDataTester.py#L14)[Assets\Resources\Databases\PlanetaryData\HORIZONSDataCreator.py:13-35
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Resources/Databases/PlanetaryData/HORIZONSDataCreator.py#L13)
This is a string within HandWaverServerSocket.cs
that would require a GUID format. Current idea is to allow for a command line argument, and later can be integrated with a platform such as steam or discord for user identification.
CodeFactor found an issue: Complex Method
It's currently on:
[Assets\Scripts\SceneSpecific\Chess\Abstract\allValidMoves.cs:224-317
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Scripts/SceneSpecific/Chess/Abstract/allValidMoves.cs#L224)Commit 4dcebde
CodeFactor found an issue: Complex Method
It's currently on:
[Assets\Scripts\SceneSpecific\GeometersPlanetarium\Verlet\skyboxGenerator.cs:182-239
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Scripts/SceneSpecific/GeometersPlanetarium/Verlet/skyboxGenerator.cs#L182)Commit dcd3251
CodeFactor found an issue: Complex Method
It's currently on:
[Assets\Resources\Databases\PlanetaryData\HORIZONSDataTester.py:112-147
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Resources/Databases/PlanetaryData/HORIZONSDataTester.py#L112)
Describe the solution you'd like
A set of extensions to the Geometer's planetarium scene.
Additional context
CodeFactor found an issue: Duplicate Code
It's currently on:
[Assets\Resources\Databases\PlanetaryData\HORIZONSDataCreator.py:12-37
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Resources/Databases/PlanetaryData/HORIZONSDataCreator.py#L12)[Assets\Resources\Databases\PlanetaryData\HORIZONSDataTester.py:13-37
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Resources/Databases/PlanetaryData/HORIZONSDataTester.py#L13)
CodeFactor found an issue: Duplicate Code
It's currently on:
[Assets\Scripts\SceneSpecific\GeometersPlanetarium\Verlet\VerletV2\VerletV2StressTestControl.cs:10-28
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Scripts/SceneSpecific/GeometersPlanetarium/Verlet/VerletV2/VerletV2StressTestControl.cs#L10)[Assets\Scripts\SceneSpecific\GeometersPlanetarium\Verlet\VerletStressTestControl.cs:10-28
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Scripts/SceneSpecific/GeometersPlanetarium/Verlet/VerletStressTestControl.cs#L10)Commit 6ee9e81
We were using sliders from LM Interaction. Consider alternatives
Is your feature request related to a problem? Please describe.
Allow for resetting the scene and quitting the application without alt + F4
Describe the solution you'd like
On screen menu that would allow for scene reload and application quit.
Describe alternatives you've considered
In the past, we have used a system that would be consisting of random key buttons. This solution would allow for the user to handle these features in a single place with a single button.
CodeFactor found an issue: Complex Method
It's currently on:
[Assets\Scripts\SceneSpecific\ScaleDimensionStudy\CrossSection\HyperTorusCrossSection.cs:31-101
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/feature scale-dimension-study/Assets/Scripts/SceneSpecific/ScaleDimensionStudy/CrossSection/HyperTorusCrossSection.cs#L31)Commit 3ada574
Describe the bug
Upon point strech completion, the resulting line is not properly setup. This breaks all solver functionality.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A line should spawn between the two points. The line should update as the points connected to it move.
Desktop (please complete the following information):
Additional context
The errors seem to be related to the figtype of the line. This might be an order of operations issue upon creation. I would suggest starting there.
Is your feature request related to a problem? Please describe.
We currently allow for multiple players in the same space, but we want to be able to align networked space that exists in the same physical space. We also need to support voice and hands better for users that do not share a physical space.
Describe the solution you'd like
We need a solution using PUN that represents avatars in a way that is usable in shared and unshared physical spaces. We also need a simple mechanism to create public and private rooms and to enter those rooms.
As we implement these, we should consider what parts of this support could help develop a way to replay a user's experience in the environment.
Describe alternatives you've considered
We've tried a Unity UNet implication before, but PUN 2 seems to be much easier to work with. Unity is coming out with new network support that we will consider in the future.
Additional context
There are two scenes for initial networking support.
Basic Infrastructure
Improve Avatars - basically, we want to have something that is representative enough to be workable but doesn't attract attention.
This part of the work would be a good first task for someone when @nsgnn figures out the stuff above.
Is your feature request related to a problem? Please describe.
Some users are not as tall as our developer team.
Describe the solution you'd like
Two keyboard buttons. One would slightly bump the camera rig up 0.1m. One would slightly bum the camera rig down 0.1m.
Describe alternatives you've considered
This can be handled by SteamVR standing setup. You can fudge the numbers when you input the users height.
Additional context
This is a good step towards accessibility. This shouldn't be a hard task, and it is important to document the keys used on the keyboard. A good place to place this script would be on the camera rig. The goal being to be a universal feature of our environments.
CodeFactor found an issue: Duplicate Code
It's currently on:
[Assets\Scripts\SceneSpecific\ScaleDimensionStudy\Nets\triangleNet.cs:10-34
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/feature scale-dimension-study/Assets/Scripts/SceneSpecific/ScaleDimensionStudy/Nets/triangleNet.cs#L10)[Assets\Scripts\SceneSpecific\ScaleDimensionStudy\Nets\squareNet.cs:10-34
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/feature scale-dimension-study/Assets/Scripts/SceneSpecific/ScaleDimensionStudy/Nets/squareNet.cs#L10)Commit 3ada574
CodeFactor found an issue: Duplicate Code
It's currently on:
[Assets\Scripts\SceneSpecific\GeometersPlanetarium\Horizons\HORIZONSDataCreator.py:66-83
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Scripts/SceneSpecific/GeometersPlanetarium/Horizons/HORIZONSDataCreator.py#L66)[Assets\Resources\Databases\PlanetaryData\HORIZONSDataCreator.py:65-82
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Resources/Databases/PlanetaryData/HORIZONSDataCreator.py#L65)[Assets\Resources\Databases\PlanetaryData\HORIZONSDataTester.py:65-82
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Resources/Databases/PlanetaryData/HORIZONSDataTester.py#L65)[Assets\Resources\Databases\StellarData\getJ2000EarthData.py:62-79
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Resources/Databases/StellarData/getJ2000EarthData.py#L62)
CodeFactor found an issue: Complex Method
It's currently on:
[Assets\Resources\Databases\StellarData\getJ2000EarthData.py:109-144
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Resources/Databases/StellarData/getJ2000EarthData.py#L109)
CodeFactor found an issue: Complex Method
It's currently on:
[Assets\Scripts\SceneSpecific\GeometersPlanetarium\Verlet\VerletV3\VerletV3.cs:51-127
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Scripts/SceneSpecific/GeometersPlanetarium/Verlet/VerletV3/VerletV3.cs#L51)Commit dcd3251
As described by @camden-bock or @jkdimmel.
Extend the higher dimensional dodgeball scene for ax throwing. (e.g. on the surface of a klien bottle.)
RULES: The path of the ax must not be linear in a Euclidean space. That is, the ax will have a boolean on it, such that it won't be 'alive' until it's position has been modified by
Target get coordinates of collision from collider. Map these onto a scoring chart (use league rules). Color the target appropriately.
Ax - belongs to a player (will work well with PUN2), an ax spawns for the next player when the previous ax is retrieved. The Ax object modifies the player's score.
Axes are treated as balls from the dodgeball scene.
@nsgnn increase allowed bandwidth/packet count in PUN2
@camden-bock add controller support
@VinDangle debugg controller support, build in windows. Ask @Joey-Haney or @nsgnn for assistance here.
We need this done by Friday (end of day)
CodeFactor found an issue: Duplicate Code
It's currently on:
[Assets\Scripts\SceneSpecific\GeometersPlanetarium\Verlet\VerletV3\AbstractThreadV2.cs:3-51
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Scripts/SceneSpecific/GeometersPlanetarium/Verlet/VerletV3/AbstractThreadV2.cs#L3)[Assets\Scripts\SceneSpecific\GeometersPlanetarium\Verlet\VerletV2\AbstractThread.cs:3-47
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Scripts/SceneSpecific/GeometersPlanetarium/Verlet/VerletV2/AbstractThread.cs#L3)Commit 4dcebde
The park object within the handwaver base scene has behaviours that need to be migrated to the new gesture system
Is your feature request related to a problem? Please describe.
We want to limit the closed source dependencies in our project (and eventually eliminate).
Describe the solution you'd like
Prepare for a new ECS/GGB rendering pipeline. Describe each object as a procedural mesh.
GeoGebra's object structure will be the basis for object types.
These will be grouped into paths, surfaces and regions and non-geometericObjects.
The class structure should be diagrammed with UML. Everything above will fall into the tree below.
GeoElement
-- Point
-- Path
-- Surface
-- Region
-- NonGeometeric
CodeFactor found an issue: Complex Method
It's currently on:
[Assets\Scripts\SceneSpecific\GeometersPlanetarium\Verlet\addTexture.cs:10-122
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Scripts/SceneSpecific/GeometersPlanetarium/Verlet/addTexture.cs#L10)Commit dcd3251
CodeFactor found an issue: Complex Method
It's currently on:
[Assets\Resources\Databases\StellarData\getJ2000EarthData.py:67-106
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Resources/Databases/StellarData/getJ2000EarthData.py#L67)
CodeFactor found an issue: Complex Method
It's currently on:
[Assets\Scripts\SceneSpecific\GeometersPlanetarium\Verlet\readHorizonsData.cs:24-128
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Scripts/SceneSpecific/GeometersPlanetarium/Verlet/readHorizonsData.cs#L24)Commit dcd3251
CodeFactor found an issue: Duplicate Code
It's currently on:
[Assets\Scripts\SceneSpecific\ScaleDimensionStudy\CrossSection\TorusCrossSection.cs:252-284
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/feature scale-dimension-study/Assets/Scripts/SceneSpecific/ScaleDimensionStudy/CrossSection/TorusCrossSection.cs#L252)[Assets\Scripts\SceneSpecific\ScaleDimensionStudy\CrossSection\HyperTorusCrossSection.cs:157-189
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/feature scale-dimension-study/Assets/Scripts/SceneSpecific/ScaleDimensionStudy/CrossSection/HyperTorusCrossSection.cs#L157)Commit 3ada574
CodeFactor found an issue: Complex Method
It's currently on:
[Assets\Resources\Databases\PlanetaryData\HORIZONSDataTester.py:70-109
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Resources/Databases/PlanetaryData/HORIZONSDataTester.py#L70)
CodeFactor found an issue: Complex Method
It's currently on:
[Assets\Scripts\SceneSpecific\GeometersPlanetarium\Verlet\VerletV2\HorizonsV2.cs:19-146
](https://www.codefactor.io/repository/github/maine-imre/handwaver/source/unstable remove-legacy/Assets/Scripts/SceneSpecific/GeometersPlanetarium/Verlet/VerletV2/HorizonsV2.cs#L19)Commit dcd3251
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.