diff options
Diffstat (limited to '')
-rwxr-xr-x | OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt | 34 |
1 files changed, 30 insertions, 4 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt index 7d6ace8..31dd790 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt +++ b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt | |||
@@ -1,3 +1,16 @@ | |||
1 | CURRENT PRIORITIES | ||
2 | ================================================= | ||
3 | Eliminate all crashes (DONEish) | ||
4 | Editing/deleting physical linkset (DONE) | ||
5 | Border crossing of physical linkset (DONE) | ||
6 | Enable vehicle border crossings (at least as poorly as ODE) | ||
7 | Avatar created in previous region and not new region when crossing border | ||
8 | Vehicle recreated in new sim at small Z value (offset from root value?) | ||
9 | Calibrate turning radius | ||
10 | limitMotorUp calibration (more down?) | ||
11 | study PID motors (include 'efficiency' implementation | ||
12 | Add to avatar movement | ||
13 | |||
1 | CRASHES | 14 | CRASHES |
2 | ================================================= | 15 | ================================================= |
3 | 20121129.1411: editting/moving phys object across region boundries causes crash | 16 | 20121129.1411: editting/moving phys object across region boundries causes crash |
@@ -11,16 +24,18 @@ CRASHES | |||
11 | 24 | ||
12 | VEHICLES TODO LIST: | 25 | VEHICLES TODO LIST: |
13 | ================================================= | 26 | ================================================= |
27 | Border crossing with linked vehicle causes crash | ||
14 | Neb vehicle taking > 25ms of physics time!! | 28 | Neb vehicle taking > 25ms of physics time!! |
15 | Vehicles (Move smoothly) | 29 | Vehicles (Move smoothly) |
16 | Add vehicle collisions so IsColliding is properly reported. | 30 | Add vehicle collisions so IsColliding is properly reported. |
17 | Needed for banking, limitMotorUp, movementLimiting, ... | 31 | Needed for banking, limitMotorUp, movementLimiting, ... |
18 | Some vehicles should not be able to turn if no speed or off ground. | 32 | Some vehicles should not be able to turn if no speed or off ground. |
33 | Cannot edit/move a vehicle being ridden: it jumps back to the origional position. | ||
19 | Neb car jiggling left and right | 34 | Neb car jiggling left and right |
20 | Happens on terrain and any other mesh object. Flat cubes are much smoother. | 35 | Happens on terrain and any other mesh object. Flat cubes are much smoother. |
21 | This has been reduced but not eliminated. | 36 | This has been reduced but not eliminated. |
22 | Light cycle falling over when driving | 37 | Light cycle falling over when driving |
23 | For limitMotorUp, use raycast down to find if vehicle is in the air. | 38 | Implement referenceFrame for all the motion routines. |
24 | Angular motion around Z moves the vehicle in world Z and not vehicle Z in ODE. | 39 | Angular motion around Z moves the vehicle in world Z and not vehicle Z in ODE. |
25 | Verify that angular motion specified around Z moves in the vehicle coordinates. | 40 | Verify that angular motion specified around Z moves in the vehicle coordinates. |
26 | Verify llGetVel() is returning a smooth and good value for vehicle movement. | 41 | Verify llGetVel() is returning a smooth and good value for vehicle movement. |
@@ -31,12 +46,13 @@ Should vehicle angular/linear movement friction happen after all the components | |||
31 | After getting off a vehicle, the root prim is phantom (can be walked through) | 46 | After getting off a vehicle, the root prim is phantom (can be walked through) |
32 | Need to force a position update for the root prim after compound shape destruction | 47 | Need to force a position update for the root prim after compound shape destruction |
33 | Linkset explosion after three "rides" on Nebadon lite vehicle (LinksetConstraint) | 48 | Linkset explosion after three "rides" on Nebadon lite vehicle (LinksetConstraint) |
34 | Implement referenceFrame for all the motion routines. | 49 | For limitMotorUp, use raycast down to find if vehicle is in the air. |
35 | Cannot edit/move a vehicle being ridden: it jumps back to the origional position. | 50 | Remove vehicle angular velocity zeroing in BSPrim.UpdateProperties(). |
36 | Border crossing with linked vehicle causes crash | 51 | A kludge that isn't fixing the real problem of Bullet adding extra motion. |
37 | 52 | ||
38 | BULLETSIM TODO LIST: | 53 | BULLETSIM TODO LIST: |
39 | ================================================= | 54 | ================================================= |
55 | Revisit CollisionMargin. Builders notice the 0.04 spacing between prims. | ||
40 | Avatar height off after unsitting (floats off ground) | 56 | Avatar height off after unsitting (floats off ground) |
41 | Editting appearance then moving restores. | 57 | Editting appearance then moving restores. |
42 | Must not be initializing height when recreating capsule after unsit. | 58 | Must not be initializing height when recreating capsule after unsit. |
@@ -64,11 +80,16 @@ Implement ShapeCollection.Dispose() | |||
64 | Implement water as a plain so raycasting and collisions can happen with same. | 80 | Implement water as a plain so raycasting and collisions can happen with same. |
65 | Add osGetPhysicsEngineName() so scripters can tell whether BulletSim or ODE | 81 | Add osGetPhysicsEngineName() so scripters can tell whether BulletSim or ODE |
66 | Also osGetPhysicsEngineVerion() maybe. | 82 | Also osGetPhysicsEngineVerion() maybe. |
83 | Linkset.Position and Linkset.Orientation requre rewrite to properly return | ||
84 | child position. LinksetConstraint acts like it's at taint time!! | ||
67 | 85 | ||
68 | LINKSETS | 86 | LINKSETS |
69 | ====================================================== | 87 | ====================================================== |
70 | Linksets should allow collisions to individual children | 88 | Linksets should allow collisions to individual children |
71 | Add LocalID to children shapes in LinksetCompound and create events for individuals | 89 | Add LocalID to children shapes in LinksetCompound and create events for individuals |
90 | LinksetCompound: when one of the children changes orientation (like tires | ||
91 | turning on a vehicle, the whole compound object is rebuilt. Optimize this | ||
92 | so orientation/position of individual children can change without a rebuild. | ||
72 | Verify/think through scripts in children of linksets. What do they reference | 93 | Verify/think through scripts in children of linksets. What do they reference |
73 | and return when getting position, velocity, ... | 94 | and return when getting position, velocity, ... |
74 | Confirm constraint linksets still work after making all the changes for compound linksets. | 95 | Confirm constraint linksets still work after making all the changes for compound linksets. |
@@ -140,6 +161,11 @@ Remove HeightmapInfo from terrain specification | |||
140 | Since C++ code does not need terrain height, this structure et al are not needed. | 161 | Since C++ code does not need terrain height, this structure et al are not needed. |
141 | Add floating motor for BS_FLOATS_ON_WATER so prim and avatar will | 162 | Add floating motor for BS_FLOATS_ON_WATER so prim and avatar will |
142 | bob at the water level. BSPrim.PositionSanityCheck(). | 163 | bob at the water level. BSPrim.PositionSanityCheck(). |
164 | Should taints check for existance or activeness of target? | ||
165 | When destroying linksets/etc, taints can be generated for objects that are | ||
166 | actually gone when the taint happens. Crashes don't happen because the taint closure | ||
167 | keeps the object from being freed, but that is just an accident. | ||
168 | Possibly have and 'active' flag that is checked by the taint processor? | ||
143 | 169 | ||
144 | THREADING | 170 | THREADING |
145 | ================================================= | 171 | ================================================= |