Skip to content

Proposal: Constant definitions - grouping, subtypes, arguments #31

@Martin-Pitt

Description

@Martin-Pitt

Would be good to see constants have grouping and whether they are bit mask, bit field or enum.

While most constants groups can be inferred by their prefix, e.g. PRIM_, there are others such as the sensor/type constants that did not have this foresight (or deprecation to prefixed versions).

Additionally there are MANY constants used with arguments style syntax in their tooltips, this should be integrated as a dedicated field. For example:

  REZ_POS:
    tooltip: Position at which to rez the new object.
    type: integer
    subtype: enum
    value: '2'
    grouping: Rezzing
    arguments: '[vector position, integer relative, integer atroot]]'

There are however certain contexts based on setting or getting for the constants, particularly with the prim params with llGetLinkPrimitiveParams & llSetLinkPrimitiveParamsFast.

Alternatively we could call it usage instead of arguments, that might be more towards how it is meant to be used for documentation purposes with tooltips and like. Here's how that might look:

  PRIM_TEXTURE:
    tooltip: 'Sets or gets the Blinn-Phong texture parameters on the prim'
    type: integer
    subtype: enum
    value: 17
    grouping: 'Prim Params'
    usage:
      setter: '[integer face, string texture, vector repeats, vector offsets, float rotation_in_radians]'
      getter: '[integer face]'

Multiple groupings:

  AGENT:
    tooltip: Objects in world that are agents.
    type: integer
    subtype: bitfield
    value: '0x1'
    grouping:
    - Sensor
    - Type
  ACTIVE:
    tooltip: Objects in world that are running a script or currently physically moving.
    type: integer
    subtype: bitfield
    value: '0x2'
    grouping:
    - Sensor
    - Type
  PASSIVE:
    tooltip: Static in-world objects.
    type: integer
    subtype: bitfield
    value: '0x4'
    grouping:
    - Sensor
    - Type
  SCRIPTED:
    tooltip: Scripted in-world objects.
    type: integer
    subtype: bitfield
    value: '0x8'
    grouping:
    - Sensor
    - Type

Thoughts?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions