Parcel Prim Limit Overflow test
Purpose
- Eliminate paths of accidental object return due to Mesh object editing.
- This means that when UserA is editing or creating objects on his parcel, there should be no way to accidentally return other people's objects on his land.
- When possible also avoid returning UserA's own objects, by failing to perform the operation that would have caused the overflow and providing a helpful error message.
setup
- UserA, own some land.
- UserA, upload a mesh that has a prim equivalent less than 10 (Use duck.dae with the default LODs)
- UserA, upload a mesh that has a prim equivalent greater than 10 (Use duck.dae with only the High LOD)
- UserB, rez objects on UserA land until only 10 prims are available on the parcel.
rez a mesh
- UserA, rez a mesh that has a prim equivalent greater than 10.
- Verify UserA's mesh object is returned.
- Verify UserA receives a descriptive message explaining why the object was returned.
- Verify UserB's objects are not returned.
rez a mesh via script
- UserA, create a prim on your parcel and add the following script
default{touch_start(integer total_number){llRezObject("Object", llGetPos()+<0,0,1>, ZERO_VECTOR, ZERO_ROTATION, 1);}}
- UserA, put a mesh that has a prim equivalent greater than 10 inside the contents of the prim. Name that mesh "Object".
- Touch the prim.
- Verify UserA's mesh object is returned.
- Verify UserA receives a descriptive message explaining why the object was returned.
- Verify UserB's objects are not returned.
resize a mesh
- UserA, rez a mesh that has a prim equivalent less than 10.
- UserA, resize the mesh smaller (or larger?), so its cost increases past 10
- UserA, deselect the object
- (Ideal behavior: The scale operation fails and the object snaps back to its previous scale. A helpful error message explains that the scale operation failed because it would have exceeded the parcel's resource limit.)
- Verify UserA's mesh object is returned.
- Verify UserA receives a descriptive message explaining why the object was returned.
- Verify UserB's objects are not returned.
- Also test:
- A rezzes object, B rezzes object, A scales already-rezzed object beyond resource limit.
- B rezzes object, A rezzes object, A scales B's already-rezzed object (B will need to give A permissions to do this)
change Physics shape type manually
- UserA, rez a mesh that has a prim equivalent less than 10.
- UserA, change the Physics Shape Type to Prim. (This should increase the cost past 10)
- Verify UserA's mesh object is returned.
- Verify UserA receives a descriptive message explaining why the object was returned.
- Verify UserB's objects are not returned.
change the physics shape type as a result of linking or unlinking.
- UserA, on some parcel other than your own, rez a mesh that has a prim equivalent less than 10.
- Duplicate the mesh and link the 2 meshes together.
- Set the Physics Shape Type to None. (You'll see an error, but that's okay. The child mesh is now set to None)
- Take the linked mesh into inventory.
- Rez the linked mesh onto your parcel
- UserB, Fill up the parcel with objects
- UserA, Unlink the linked meshes.
- Verify one of UserA's mesh object is returned.
- Verify UserA receives a descriptive message explaining why the object was returned.
- Verify UserB's objects are not returned.
change the mesh shape by dragging a different asset onto a mesh object
- UserA, rez a mesh that has a prim equivalent less than 10.
- UserA, drag a mesh asset which has a prim equivalent greater than 10 onto the mesh.
- Verify UserA's mesh object is returned.
- Verify UserA receives a descriptive message explaining why the object was returned.
- Verify UserB's objects are not returned.
stand up from a vehicle
- UserA, Sit on a Mesh that has a prim equivalent greater than 10 then drag it onto your parcel
- Verify no prims are returned.
- UserA, stand up.
- Verify UserA's mesh object is returned.
- Verify UserA receives a descriptive message explaining why the object was returned.
- Verify UserB's objects are not returned.
change a temporary prim into a temporary mesh
- UserA, rez 2 prims on your parcel.
- Set the prim Temporary by checking the Temporary box in the Objects tab of the Edit Tools.
- (this step may not yet be possible with the UI) Change the prim to a mesh asset which has a prim equivalent greater than 10.
- Verify UserA's mesh object is returned.
- Verify UserA receives a descriptive message explaining why the object was returned.
- Verify UserB's objects are not returned.
drop a mesh attachment that would overflow the parcel
- (Ideal: Give the standard error message as when you try to drop a prim attachment on a parcel that is full)