kmcurry / bwjs Goto Github PK
View Code? Open in Web Editor NEWBridgeworks for JavaScript
License: MIT License
Bridgeworks for JavaScript
License: MIT License
When I'm snapping and unsnapping models it's helpful to see snappable surfaces and connection points (socket positions).
When snapping two surfaces together the surfaces should highlight just before the snap.
Ideally snap doesn't happen while the model is "help" by a mouse down or touch-press. Snap detection is run after the model is released from selection.
When unsnapping two surfaces there should be a highlighted sphere showing the unsnap point. Clicking anywhere in/on the sphere unsnaps the two surfaces.
(Or something like that.)
CommandMgr.js needs: createCommand & createAttribute ported from CommandMgr.cpp
CommandMgr.prototype.createCommandTrigger(command, attribute) {
}
CommandMgr.prototype.createAttribute(attribute, value) {
}
Implement a simple state machine to conditionally control attributes and commands
Port serialization so that scenes can be written back to markup.
Implement standard morph
Dissolve envelopes are used in Lightwave Scenes (LWS) to fade objects in and out. LWS2XML writes out .env files and references them in the XML output but they don't work when parsed as input in BwJS.
CC @mbrazell
LightwaveSceneBuilder.js is already started but it's missing much of the required functionality to load a complete scene.
When I serialize a scene with a backgroundImageFilename and then reload the scene there is no background image
Port antialiasing to smooth models that are not moving.
When I'm running in Safari mouse events are not handled correctly. When I click on an model the collection bridgeworks.selector.selections.models stays empty.
Port bones so that animations using bones will work.
ViewportLoadModified comment the code out of this function. 3 lines total.
Need to update fragment shader to support this.
Integrate a physics package
See Bridgeworks.js lines 10578-10580
I want to record a brief video clip of a scene I've created. I also want to take a picture.
In the C++ version the function checks the length of the evaluators array for > 0 and the pointer to the current evaluator for not null. The JS version needs similar checks.
When you add a cube to the editor it shows up blue but if you go to the console and type selectedModel.color.values it will return 1,1,1,1 which is white. It seems as though the cube upon load is not updating the Model color values.
When I copy an object I want to have a continuous gesture such as dragging my finger on the screen that pastes a new copy wherever my finger goes.
LWO, SHP, 3DS, OBJ, DXF
Implement sounds.
I want to be able to link sounds to actions and objects.
I want to be able to synch sounds with animations.
IE now supports WebGL by default! Some updates are needed to BwJS detection logic, I think.
We need 'em
Port collaboration
Port orthographic camera for schematic views
SerializeCommand's serializeScene function concatenates to a variable called serializedScene. This variable isn't declared anywhere in Bridgeworks. For this to work a client application, ex., 3Scape must declare this as a global variable. Is there are reason the function doesn't simply return the value as a string?
It could be a very large string.
In any case there must be some more elegant way to handle the result.
See line 27840 of Bridgeworks.js
"Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help http://xhr.spec.whatwg.org/" triggered at Util.js line 21
as recently implemented in C++
Create a demo that utilizes BalloonTipLabel. For example, load a box model and attach a label to the box that appears on a mouse hover or click event.
It would be helpful to know Bridgeworks' progress when loading large content.
I want to be able to walk and fly through the scene using my peripheral devices (mouse, keyboard, stylus, Leap motion, Kinect...)
I created a Cube with both a socket and a plug. I tried with a socket on the y normal +1 and plug at y normal -1. That didn't work so I tried y normal 1 and x normal 1. In all cases the model is no longer selectable. If I remove either the socket or the plug the model is selected.
<Model name="Cube" url="objects/cube.lwo" detectCollision="true"> <position x="0" y="0" z="0"/> <rotation x="0" y="0" z="0"/> <scale x="1" y="1" z="1" /> <physicalProperties> <mass>5</mass> </physicalProperties> <socketConnectors> <socketConnector type="110v"> <normal x="0" y="1" z="0"/> <slot1> <center x="0.25" y="0.25" z="0"/> <radius>0.2</radius> </slot1> <slot2> <center x="0.25" y="-0.25" z="0"/> <radius>0.2</radius> </slot2> </socketConnector> </socketConnectors> <plugConnectors> <plugConnector type="110v"> <normal x="1" y="1" z="0"/> <pin1> <center x="0.25" y="0.25" z="0"/> <radius>0.2</radius> </pin1> <pin2> <center x="-0.25" y="0.25" z="0"/> <radius>0.2</radius> </pin2> </plugConnector> </plugConnectors> </Model>
Conway's Game of Life "is a cellular automaton devised by the British mathematician John Horton Conway in 1970.[1]
The "game" is a zero-player game, meaning that its evolution is determined by its initial state, requiring no further input. One interacts with the Game of Life by creating an initial configuration and observing how it evolves or, for advanced players, by creating patterns with particular properties."
Requirements for Bridgeworks:
When I run AutoInterpolate it fails with "can't set attribute 'length' of undefined" on attributeReferencePairs. The correct attribute name is attributeRefPairs. When I replace "attributeReferencePairs" with "attributeRefPairs" it works.
Somewhere with drawing the canvas and updating it the screencapture is returning a blank canvas. I have reported this to Michael directly but I wanted to post this as an official issue.
Implement "snap-to", which attaches one model to another within a proximity.
Billboarding is needed, for example, to make the smoke simulation work
Port model coloring so that it can be set.
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.