Build Tools Functional Spec


General Description

What does this feature do?

Interface Requirements

How does the user use/activate this feature?


Performance Requirements

Will this feature affect:
Client FPS? no
Simulator FPS? yes - physical objects slow simulator FPS
Database? no
Asset server? yes - taking or deleting objects will create assets
Network load? yes - selecting and updating many objects causes network load
Any other system? no

Design Constraints

Will this feature be unavailable on certain hardware? no

Is this feature consistent with other features? yes, it uses floater windows

Is this feature well integrated? yes. There's room for improvement, such as making a build mode, keeping objects selected when moving around, and increasing view when manipulating large objects, and improving Undo functionality.

Is this feature discoverable? yes. The build button on the toolbar is highly visible.

Is this feature Safe, Predictable, and Responsive? Most build features are predictable. Undo is available for only move, scale and rotate and is unpredictable in some situations.

Feature Dependencies

Features that this feature will affect

Features that affect this feature

Security risks

Does this feature give access to something it should not? NO


Usage Rules

Rules: Object scale rule

Link distance rule

Attachment offset limit

Linked object prim limit

Physical object prim limit

Create

Selections


Deselecting

Linking

(backwards for drag select - bug?)


Unlinking

- All prims will be unlinked

- This leaves the selected prim selected. The new root of the other object will be prim selected second to last when the object was linked.

- The selected prim is unlinked and remains selected. Link order will be recalculated for the still linked object.

Editing

Editing whole Linked sets

Editing one or multiple parts of a Linked set


Editing whole attachments


Editing one or multiple parts of an attachment


Editing seats


Dropping inventory onto objects you have edit permissions for.

Control-dropping inventory into objects you have edit permissions for.


Dragging inventory onto objects that allow anything to be dropped in them because of the llAllowInventoryDrop LSL command.

Dragging inventory over objects you don't have edit permissions for will show a "not" symbol. Except object, which will let you rez an object at the surface of the other object

Linked object editing

No single side of the prim can scale larger than 10m or smaller than 0.010m.

When uniformly scaling a linked set, all primitives within the linked set must obey the object scale limit rule If you try to scale beyond the rule, the object will simply not scale (Needs feedback?)



Undo works only for

Undo / Redo

Taking and rezzing an object clears the object's undo history

A duplicated object has no undo history, the same as a new object.

Undo is only applied to the object(s) selected when you activate undo.

Linking clears undo history(?)

Unlinking clears undo history (?)

Undo can be accessed with Ctrl-z or via the Edit menu

Redo can be accessed with Ctrl-y or via the Edit menu


UI widgets


Grid snap

Scale both sides


Scale Textures


Reference


Undo



Build Tools UI

Edit


Features Tab

The extra parameters are ephemeral in the sense that they are remembered only as long as the object is rezzed in-world and the simulator doesn't restart.


The extra parameters are ephemeral in the sense that they are remembered only as long as the object is rezzed in-world and the simulator doesn't restart.