Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

Activity (RSS)

Thursday, August 19 2010
156 Use gl.drawArraysInstanced to offload math onto GPU was created
Wednesday, August 18 2010
155 Tidy up node constructors was created
  • lindsay.kay (at xeolabs)
    lindsay.kay (at xeolabs) created the ticket at 7:31 PM

    The default constructor technique is getting dirty, forcing us into inefficiencies, such as with ID registration:

    SceneJS.Node = function() {
        this._nodeTyp...
154 Option to create scenes from JSON was created
153 Deliver complete event object, not just params was created
  • lindsay.kay (at xeolabs)
    lindsay.kay (at xeolabs) created the ticket at 4:55 PM

    Each event is to be received at listeners as the complete, on which is available the name and event source URL:

    SceneJS.node({ sid: "left-green-sphere",
        li...
152 Demo select-by-ID in dynamic callbacks was created
  • lindsay.kay (at xeolabs)
    lindsay.kay (at xeolabs) created the ticket at 2:16 AM

    This is an awesome use case for dynamic callbacks - worthy of a demonstration:

    SceneJS.material(
        function(data) {
            var updates = data.get("updates")...
151 WebGL Array spec change update was created
Monday, August 16 2010
150 Support addition of multiple child nodes to a parent was created
  • lindsay.kay (at xeolabs)
    lindsay.kay (at xeolabs) created the ticket at 5:19 AM

    Add Node#addNodes([SceneJS.Node]) - useful for asset server's kd-tree server, which often needs to push multiple new child nodes to client BoundingBoxes

149 Hack to fall back on old createTexture API was created
Sunday, August 15 2010
148 Support sharing position VBOs between Geometry nodes was created
Thursday, August 12 2010
147 Add events to BoundingBox node was created
  • lindsay.kay (at xeolabs)
    lindsay.kay (at xeolabs) created the ticket at 5:50 AM

    Have the SceneJS.BoundingBox declare its various states of locality and view frustum intersection with events. Make it also declare each level-of-detail (LOD) s...

Wednesday, August 11 2010
132 Find better color-to-object mapping for GLSL picking was updated
143 Hash function for individual traversal states (node visits) was updated
142 Pick event routing broken across Instance-Symbol links was updated
146 Allow nodes to fire events at super nodes was created
  • lindsay.kay (at xeolabs)
    lindsay.kay (at xeolabs) created the ticket at 3:25 AM

    Support the firing of events up the scene graph at render time, as shown below.

    Basic Case

    SceneJS has a two-pass event handling model: on the first traversal, ...

Saturday, August 07 2010
145 "Garbage" status for orphan nodes was created
  • lindsay.kay (at xeolabs)
    lindsay.kay (at xeolabs) created the ticket at 10:45 AM

    When a child node has been removed from a parent, store it on a "ophan" map until it has been attached to another parent. If a scene traversal is done while the...

144 Unique IDs for Nodes was created
  • lindsay.kay (at xeolabs)
    lindsay.kay (at xeolabs) created the ticket at 10:30 AM

    Provide a Node#getID method, plus SceneJS#getNode method to find them individually. Node IDs will be auto-generated.

    Initially, we'll just generate the node IDs...

143 Hash function for individual traversal states (node visits) was created
  • lindsay.kay (at xeolabs)
    lindsay.kay (at xeolabs) created the ticket at 9:39 AM

    Whenever we are at a node during traversal, we need to have a unique hash value for that particular traversal state. In other words, if we are at this node (not...

142 Pick event routing broken across Instance-Symbol links was created
  • lindsay.kay (at xeolabs)
    lindsay.kay (at xeolabs) created the ticket at 7:50 AM

    When pick events are handled within multiply-instanced Symbols, where the event originates within the subnodes of the Instances, the Symbol can get confused abo...

141 Instance-Symbol child inheritance broken for WithConfigs and Socket nodes was created
  • lindsay.kay (at xeolabs)
    lindsay.kay (at xeolabs) created the ticket at 6:49 AM

    Sub-nodes of an Instance node are supposed to be temporarily inherited by the right-most leaf node of the target Symbol's subtree - algorithm described here: ht...

139 Node dynamic config callbacks should execute on Node's scope was updated
140 Node's listeners should execute on node scope - remove self param from func s... was updated
  • lindsay.kay (at xeolabs)
    • State changed from open to resolved
    by lindsay.kay (at xeolabs) at 3:37 AM
  • lindsay.kay (at xeolabs)
    lindsay.kay (at xeolabs) commented at 3:06 AM

    Originally I thought it might be nice to control the scope of the listener the way ExtJS does, but there are other ways to do that, eg. using delegate functions...

  • lindsay.kay (at xeolabs)
    lindsay.kay (at xeolabs) created the ticket at 3:02 AM

    Take "picked" listeners for example:

    SceneJS.node({
                sid: "alpha",
     
                listeners: {
                    "picked":{
                        fn: fun...
136 Update GLSL for validation spec changes was updated
138 Encapsulate scene rendering loop in Scene start and stop funcs was updated
Friday, August 06 2010
138 Encapsulate scene rendering loop in Scene start and stop funcs was created
  • lindsay.kay (at xeolabs)
    lindsay.kay (at xeolabs) created the ticket at 4:47 AM

    99% of the time a scene graph will be animated, and therefore rendered in a loop.

    We need to encapsulate the render loop within SceneJS.Scene start and stop met...

137 FPS on demand to reduce CPU load by idling scene graph was created
  • lindsay.kay (at xeolabs)
    lindsay.kay (at xeolabs) created the ticket at 2:20 AM

    At the moment a looping scene graph render goes at full-tilt, using a lot of CPU, even when not much is happening, ie. no animations.

    With the render loop encap...

136 Update GLSL for validation spec changes was created
Thursday, August 05 2010
135 COLLADA Adoption and Conformance Testing was created
95 JSONP proxy barfs on MS line breaks was updated
Wednesday, August 04 2010
134 Explicit subgraph destruction was created
  • lindsay.kay (at xeolabs)
    lindsay.kay (at xeolabs) created the ticket at 10:04 AM

    Although SceneJS does its best to keep a pool of free WebGL resources available using LRU eviction, it should also be possible to explicitly free them.

    A SceneJ...

133 Picking error 1281 for readPixels with MacOSX Chromium 6.0.452.0 (51117 was created
Tuesday, August 03 2010
124 0.7.6 live examples blank canvas in Chrome 5.0.375.99 was updated
131 Transform nodes memoise when super transform updated was updated
130 Integrate WebGL-debug was updated
V0.7.7 was created by lindsay.kay (at xeolabs) at 11:37 PM
 
0 of 26 tickets remain in this milestone
102 Create JSDocs for SceneJS.Renderer node was updated
114 Fix SceneJS.WithData arguments was updated
118 Prohibit dynamic URI base for SceneJS.Instance was updated
107 Extend SceneJS.Scene to receive configs a la SceneJS.WithConfigs was updated
106 SceneJS.Interpolator to work with SceneJS.WithConfigs was updated
108 Timout on SceneJS.Instance nodes was updated
  • lindsay.kay (at xeolabs)
    • Milestone cleared.
    • State changed from open to invalid
    • Milestone order changed from 0 to 0
    by lindsay.kay (at xeolabs) at 11:33 PM
82 Mesh Import from Wavefront OBJ Format was updated
39 OBJ File Import was updated
86 Wavefront MTL File Import was updated
103 Ambient light source was updated
Wednesday, July 28 2010
132 Find better color-to-object mapping for GLSL picking was created
  • lindsay.kay (at xeolabs)
    lindsay.kay (at xeolabs) created the ticket at 5:12 AM

    At the moment the Picking Module computes pick shader colour for each object (node) thus:

      color.g = parseFloat(Math.round((nodeIndex + 1) / 256) / 256);
      co...
Tuesday, July 27 2010
131 Transform nodes memoise when super transform updated was created
  • lindsay.kay (at xeolabs)
    lindsay.kay (at xeolabs) created the ticket at 11:31 AM

    Transform nodes are supposed to discard internally memoised state when any super-transform properties have been modified via setter methods.

    Description

    Problem...