Header menu logo Nu

Nu Namespace

Type/Module Description

Address (Module)

Address functions.

Address (Type)

A generalized address.

'a Address

Specifies the address of an identifiable value. OPTIMIZATION: Names is an array only for speed; it is invalid to mutate it. TODO: have Address constructor throw if multiple wildcards or ellipses are used in Debug build mode.

AddressConverter

Converts Address types.

AddressOperators

Address operators.

AnimatedBillboardDispatcher

Gives an entity the base behavior of an animated billboard.

AnimatedBillboardFacet

Augments an entity with an animated billboard.

AnimatedModel

A phantom type to denote the type of an asset as an animated model.

AnimatedModelDispatcher

Gives an entity the base behavior of an animated model.

AnimatedModelFacet

Augments an entity with an animated model.

AnimatedModelFacetExtensions

AnimatedSpriteDispatcher

Gives an entity the base behavior of an animated sprite.

AnimatedSpriteFacet

Augments an entity with an animated sprite.

AnimatedSpriteFacetExtensions

Animation

Describes an animation.

AppendProperties

Details additional editing behavior for a simulant's properties.

ApplyBodyAngularImpulseMessage

A message to the physics system to apply an angular impulse to a body.

ApplyBodyForceMessage

A message to the physics system to apply a force to a body.

ApplyBodyLinearImpulseMessage

A message to the physics system to apply a linear impulse to a body.

ApplyBodyTorqueMessage

A message to the physics system to apply torque to a body.

ArgImSim<'s>

Describes an argument used with the ImSim API.

Asset (Module)

Asset functions.

Asset (Type)

Describes a game asset, such as an image, sound, or model in detail. All assets must belong to an asset Package, which is a unit of asset loading. In order for the renderer to render a single texture, that texture, along with all the other assets in the corresponding package, must be loaded. Also, the only way to unload any of those assets is to send a package unload message to the relevent subsystem.

'a Asset

Describes a strongly-typed game asset, such as an image, sound, or model, in detail. All assets must belong to an asset Package, which is a unit of asset loading. In order for the renderer to render a single texture, that texture, along with all the other assets in the corresponding package, must be loaded. Also, the only way to unload any of those assets is to send a package unload message to the relevent subsystem.

AssetClient

Provides asset clients for direct usage.

AssetDescriptor

Describes assets and how to process and use them.

AssetGraph (Module)

AssetGraph (Type)

A graph of all the assets used in a game.

AssetPatterns

Active patterns for recognizing asset file extensions.

Assets (Module)

The assets that come with the Nu Game Engine.

Assets (Module)

The assets that come with the Nu Game Engine.

AssetTag (Module)

AssetTag functions.

AssetTag (Type)

Describes a means for looking up an asset.

'a AssetTag

Describes a strongly-typed means for looking up an asset.

AssetTagConverter

Converts AssetTag types, interning its strings for look-up speed.

AssetTagOperators

AssetTag operators.

Assimp

Additional assimp functionality. Intentionally prevents the original Assimp namespace from being opened.

AssimpExtensions

AttributesInferred

The inferred attributes of an entity that are used to construct its bounds. HACK: added Unimportant field to allow attributes to be marked as unimportant. TODO: see if we can refactor this type to make its representation and algo less hacky.

AudioMessage

A message to the audio system.

AudioPlayer

The audio player. Represents the audio subsystem of Nu generally.

BackdroppableFacet

Augments an entity with optional backdrop behavior.

BackdroppableFacetExtensions

Ball2dDispatcher

Gives an entity the base behavior of a rigid 2d ball using dynamic physics.

Ball3dDispatcher

Gives an entity the base behavior of a rigid 3d ball using dynamic physics.

BasicStaticBillboardEmitterDispatcher

Gives an entity the base behavior of basic static billboard emitter.

BasicStaticBillboardEmitterFacet

Augments an entity with basic static billboard emitter.

BasicStaticBillboardEmitterFacetExtensions

BasicStaticSpriteEmitterDispatcher

Gives an entity the base behavior of basic static sprite emitter.

BasicStaticSpriteEmitterFacet

Augments an entity with a basic static sprite emitter.

BasicStaticSpriteEmitterFacetExtensions

BatchPhase

The batch phasing such involved in persisting OpenGL state.

BillboardParticlesDescriptor

Describes billboard-based particles.

BillboardValue

A mutable billboard value type.

Blend

The blend mode of a sprite.

BlendMap

Blend-weights for a 3d terrain.

BlendMaterial

Blend-weighted material for a 3d terrain.

Block2dDispatcher

Gives an entity the base behavior of a rigid 2d block using static physics.

Block3dDispatcher

Gives an entity the base behavior of a rigid 3d block using static physics.

BodyEventData

The data for a physics body event.

BodyId

Identifies a body that can be found in a physics engine.

BodyIntersection

Describes a physics body intersection, such as found from a ray cast.

BodyJoint

A joint on physics bodies. Because physics joints don't generalize well across 2D and 3D - or even across different 3D physics engines, we're currently only providing joint creation via the user-defined cases.

BodyJoint2dDispatcher

Gives an entity the base behavior of a physics-driven 2d joint.

BodyJoint3dDispatcher

Gives an entity the base behavior of a physics-driven 3d joint.

BodyJointBreakData

The data of a body joint break event.

BodyJointBreakMessage

A message from the physics system describing a body joint break.

BodyJointFacet

Augments an entity with a physics-driven joint.

BodyJointFacetExtensions

BodyJointId

Identifies a joint in a physics engine.

BodyJointProperties

Describes the universal properties of a body joint.

BodyPenetrationData

The data for a penetration event.

BodyPenetrationMessage

A message from the physics system describing body pentration that took place.

BodyProperties

The properties needed to describe the physical part of a body.

BodySeparationExplicitData

The data for an explicit separation event. Unfortunately, due to the fact that physics system itself does not raise separation events until the following frame, we need both an implicit and explicit body separation representation and the user MUST handle both!

BodySeparationImplicitData

The data for an implicit separation event. Unfortunately, due to the fact that physics system itself does not raise separation events until the following frame, we need both an implicit and explicit body separation representation and the user MUST handle both!

BodySeparationMessage

A message from the physics system describing body separation that took place.

BodyShape

The shape of a physics body.

BodyShapeIndex

Identifies a body shape in a physics engine.

BodyShapeProperties

Describes body shape-specific properties.

BodyTransformData

Tje data for describing a change in transform.

BodyTransformMessage

A message from the physics system describing the updated transform of a body.

BodyType

The type of a physics body.

BodyUserObject

Internal object that carries interstitial information between Nu and a physics engine.

Box2dDispatcher

Gives an entity the base behavior of a rigid 2d box using dynamic physics.

Box3dDispatcher

Gives an entity the base behavior of a rigid 3d box using dynamic physics.

'w BoxableSubscription

Describes an event subscription that can be boxed / unboxed.

BoxRoundedShape

The shape of a physics body capsule.

BoxShape

The shape of a physics body box.

Branchless

Provides operators for branchless programming. NOTE: implemented in terms of a static class to enable overloading.

ButtonDispatcher

Gives an entity the base behavior of a gui button.

ButtonFacet

Augments an entity with button behavior.

ButtonFacetExtensions

CachedAnimatedModelMessage

An internally cached animated model used to reduce GC promotion or pressure.

CachedSpriteDescriptor

Describes an internally cached sprite used to avoid GC promotion of sprite descriptors.

CachedStaticModelMessage

An internally cached static model used to reduce GC promotion or pressure.

CachedStaticModelSurfaceMessage

An internally cached static model surface used to reduce GC promotion or pressure.

Callback<'a, 's>

The type of a subscription callback.

CapsuleShape

The shape of a physics body capsule.

Chain

Chain operators.

Chain<'e, 'a>

The Chain monad. Allows the user to define a chain of operations over the world that optionally spans across a bounded number of events.

ChainBuilder (Module)

ChainBuilder operators.

ChainBuilder (Type)

Implements the chain monad.

ChangeData

The data for a change in a simulant.

Character2dDispatcher

Gives an entity the base behavior of 2d physics-driven character in a platformer.

Character2dDispatcherExtensions

Character3dDispatcher

Gives an entity the base behavior of a 3d character.

CharacterProperties

The properties specific to the utilization of the character body types.

CollisionDetection

Describe the form of collision detection to use.

Command

A model-message-command-content (MMCC) command tag type.

Configure

Provides engine-specific configuration functionality.

Content

MMCC content declaration API.

ContentOperators

MMCC content operators.

Core

Provides core operations for basic Nu functionality.

CoreOperators

The core operators that come with the Nu Game Engine.

Coroutine

Coroutine operators.

'w Coroutine

A coroutine in Nu allows easy definition of static behavior over multiple frames.

CoroutineBuilder

CoroutineBuilder operators.

'w CoroutineBuilder

A computation expression builder for Coroutine. Note that the "value" carried is simply unit as we are sequencing actions.

'w CoroutineResult

The result of stepping a coroutine.

CreateBodiesMessage

A message to the physics system to create multiple bodies.

CreateBodyJointMessage

A message to the physics system to create a joint.

CreateBodyMessage

A message to the physics system to create a body.

CreateUserDefinedStaticModel

Describes how to create a user-defined static model.

CubeMap

A phantom type to denote the type of an asset as a cube map.

DataToken (Module)

DataToken functions.

DataToken (Type)

Data tokens for downstream processing. NOTE: EffectToken exists only as a way to make effect emitters on emitters work due to issue #141. If we can cut this dependency then we can place this type definition above all the effects types in its own code folder.

Declarative

Declaratively exposes simulant lenses and events.

DefinitionContent<'s>

Describes definition content to the model-message-command-content (MMCC) content system.

DepthTest

Specifies the type of desired fragment depth testing.

DesiredScreen

Specifies the desired screen, if any, or whether to ignore screen desire functionality altogether.

DestroyBodiesMessage

A message to the physics system to destroy multiple bodies.

DestroyBodyJointMessage

A message to the physics system to destroy a joint.

DestroyBodyMessage

A message to the physics system to destroy a body.

DestroyUserDefinedStaticModel

Describes how to destroy a user-defined static model.

Dispatcher

Generalized interface tag for dispatchers.

Dispatchers

The world's dispatchers (including facets). NOTE: it would be nice to make this record internal, but doing so would non-trivially increases the number of parameters of World.make, which is already rather long.

DissolveDescriptor

Describes the behavior of the screen dissolving algorithm.

DockType

The manner in which a gui entity may be docked by a parent entity.

EditContext

Context for editing behavior.

EditOperation

Specifies an aspect of simulant editing to perform.

EditVolumeDispatcher

Enables common operations on 3D entities that intersect this entity's bounds. TODO: P1: implement EditAreaDispatcher for 2D entities.

EditVolumeFacet

Enables common operations on 3D entities that intersect this entity's bounds. TODO: P1: implement EditAreaFacet for 2D entities.

Effect (Module)

Effect (Type)

A time-based effect.

Effect2dDispatcher

Gives an entity the base behavior of a 2d effect.

Effect3dDispatcher

Gives an entity the base behavior of a 3d effect.

EffectFacet

Augments an entity with an effect.

EffectFacetExtensions

Endianness

The endianness which indicates byte order in a raw asset.

Entity

The type around which the whole game engine is based! Used in combination with dispatchers to implement things like buttons, characters, blocks, and things of that sort.

Entity2dDispatcher

A 2d entity dispatcher.

Entity3dDispatcher

A 3d entity dispatcher.

EntityContent

Describes an entity to the MMCC content system.

EntityConverter

Converts Entity types, interning its strings for look-up speed.

EntityDescriptor

Describes an entity value independent of the engine. Used to directly serialize an entity.

EntityDispatcher

The default dispatcher for entities.

EntityDispatcherModule

EntityPropertyDescriptor

Entity PropertyDescriptor functions.

EntityState

Hosts the ongoing state of an entity.

Event (Module)

Event functions.

Event (Type)

The generalized event type (can be used to handle any event).

Event<'a, 's>

An event used by the event system.

EventFilter

Describes how events are filtered.

EventGraph (Module)

EventGraph (Type)

A functional publisher-neutral event mechanism for handling simulation events in Nu. Publisher-neutrality means that the user can subscribe to events regardless if the event source exists or not. This decouples subscription lifetime from event source lifetime.

EventInfo

Conveys debugging information about an event.

Events

Engine and simulation events that come with Nu.

EventTrace (Module)

EventTrace functions.

EventTrace (Type)

Conveys an event's trace information.

Facet

Dynamically augments an entity's behavior in a composable way.

FeelerDispatcher

Gives an entity the base behavior of gui feeler (an invisible control that only takes mouse input).

FeelerFacet

Augments an entity with feeler behavior, acting as little invisible pane that produces touch events in response to mouse input.

FeelerFacetExtensions

FillBarDispatcher

Gives an entity the base behavior of gui fill bar.

FillBarFacet

Augments an entity with fill bar behavior.

FillBarFacetExtensions

FlatMaterial

A material as projected from images to a 3d terrain.

FlowDirection

The direction in which a layout flows its children.

FlowLimit

The manner in which a layout limits the flow its children.

FollowerFacet

Enables an entity to follow another entity (currently for 3D entities only).

FollowerFacetExtensions

Font

A phantom type to denote the type of an asset as a font.

FontStyle

Represents an aspect of font styling.

FpsDispatcher

Gives an entity the base behavior of a gui FPS counter.

FpsDispatcherExtensions

FrameRate

The targeted frame rate.

Freezer3dFacet

Gives an entity the ability to freeze hierarchies of 3D entities.

Freezer3dFacetExtensions

Game

The game type that hosts the various screens used to navigate through a game.

GameContent

Describes a game to the model-message-command-content (MMCC) content system.

GameConverter

Converts Game types, interning its strings for look-up speed.

GameDescriptor

Describes a game value independent of the engine. Used to directly serialize a game.

GameDispatcher

The default dispatcher for games.

GameDispatcherModule

GamepadButton

Describes a gamepad button.

GamepadButtonData

The data for a gamepad button event.

GamepadDirection

Describes a gamepad direction.

GamepadDirectionData

The data for a gamepad button event.

GamepadState

Exposes the ongoing state of gamepads.

GamePropertyDescriptor

Game PropertyDescriptor functions.

GameState

Hosts the ongoing state of a game.

GameTime

Provides a variable representation of time based on whether the engine is configured to use a static or a dynamic frame rate.

GameTimeConverter

Type converter for GameTime.

Gen (Module)

Provides engine-specific value generation functionality.

Gen (Type)

Generates engine-specific values on-demand.

GeometryShape

The shape of a physics body in terms of triangle faces.

Globals

Global mutable values. Any code that dynamically depends on these values must track their changes manually by internally keeping track of their last observed value and comparing it with the current one.

GlobalSimulantGeneralized

A simulant in the event system that is globalized and compatible with generalized events.

GlRenderer2d

The OpenGL implementation of Renderer2d.

GlRenderer3d

The OpenGL implementation of Renderer3d.

GlRendererImGui (Module)

GlRendererImGui functions.

GlRendererImGui (Type)

Renders an imgui view via OpenGL.

Group

Forms a logical group of entities.

GroupContent

Describes a group to the model-message-command-content (MMCC) content system.

GroupConverter

Converts Group types, interning its strings for look-up speed.

GroupDescriptor

Describes a group value independent of the engine. Used to directly serialize a group.

GroupDispatcher

The default dispatcher for groups.

GroupDispatcherModule

GroupPropertyDescriptor

Group PropertyDescriptor functions.

GroupState

Hosts the ongoing state of a group.

GuiDispatcher

A gui entity dispatcher.

Handling

Describes whether an in-flight event has been resolved or should cascade to down-stream handlers.

HeightMap

A height map for terrain.

HeightMapMetadata

Metadata for a height map, including resolution, normalized heights, and positions and texture coordinates.

HierarchyContext

Details additional editing behavior for hierarchy context menu.

Image

A phantom type to denote the type of an asset as an image.

ImGui

Wraps ImGui context, state, and calls. Also extends the ImGui interface with static methods. NOTE: API is primarily object-oriented / mutation-based because it's ported from a port.

ImGuiEditResult

The result of an imgui editing operation.

ImGuizmo

ImGuizmo functions.

IntegrationData

The data for a physics integration event.

IntegrationMessage

A message from the physics system.

Intersection

The result of an intersection-detecting operation.

Job

A job for threaded processing.

JobGraph

Processes jobs based on priority.

JobGraphInline

Processes jobs based on priority inline.

JobGraphParallel

Processes jobs based on priority in parallel.

JobResult

The result of running a job.

JumpBodyMessage

A message to the physics system to apply a jump motion to a body (KinematicCharacter only).

Justification

Justification (such as for text alignment).

JustificationH

Horizontal justification.

JustificationV

Vertical justification.

KeyboardKey

Denotes a key on the keyboard.

KeyboardKeyData

The data for a keyboard key event.

KeyedValueChangeData

The data for a change in a simulant.

LabelDispatcher

Gives an entity the base behavior of a gui label.

LateBindings

Generalized interface tag for late-bound objects.

LayeredOperation2d

Describes a layered rendering operation to a 2d rendering subsystem. NOTE: mutation is used only for internal caching.

Layout

A gui layout.

LayoutFacet

Augments an entity with the capability to perform layout transformations on its children.

LayoutFacetExtensions

Lens (Module)

Lens functions.

Lens (Type)

Provides access to the property of a simulant via an interface. Initially inspired by Haskell lenses, but specialized for simulant properties.

Lens<'a, 's>

Provides access to the property of a simulant. Initially inspired by Haskell lenses, but highly specialized for simulant properties.

LensOperators

Lens operators.

LifeCycleEventData

The data for a life-cycle event.

Light3dDispatcher

Gives an entity the base behavior of a 3d light.

Light3dFacet

Augments an entity with a 3d light.

Light3dFacetExtensions

Light3dValue

A mutable 3d light value type.

Lighting3dConfig

Configures 3d lighting and ssao.

Lighting3dConfigDispatcher

Gives an entity the base behavior of a 3d lighting configuration.

Lighting3dConfigDispatcherExtensions

LightProbe3dDispatcher

Gives an entity the base behavior of a 3d light probe.

LightProbe3dFacet

Augments an entity with a 3d light probe.

LightProbe3dFacetExtensions

LightProbe3dValue

A mutable 3d light probe value type.

Link

An aspect of a relation.

Log

The synchronized global logging API.

Material (Module)

Material functions.

Material (Type)

Material description for surfaces.

MaterialProperties (Module)

MaterialProperties functions.

MaterialProperties (Type)

Material properties for surfaces. NOTE: this type has to go after TerrainMaterialProperties lest the latter's field names shadow this one's.

Message

A model-message-command-content (MMCC) message tag type.

Metadata (Module)

Metadata functions.

Metadata (Type)

Metadata for an asset. Useful to describe various attributes of an asset without having the full asset loaded into memory.

MountData

The data for describing a mounting or unmounting event.

MouseButton

Describes a mouse button.

MouseButtonData

The data for a mouse button event.

MouseMoveData

The data for a mouse move event.

MouseWheelData

The data for a mouse wheel event.

Nav3d

Represents 3d navigation capabilies for a screen. NOTE: this type is intended only for internal engine use.

Nav3dConfig

Configure the construction of 3d navigation meshes.

Nav3dConfigDispatcher

Augments an entity with a navigation mesh.

Nav3dConfigDispatcherExtensions

Nav3dInputGeomProvider

3d navigation input geometry provider.

NavBodyFacet

Augments an entity with a 3d navigation body.

NavBodyFacetExtensions

NavBuilderResultData

The data collected from a navigation builder result.

NavId

Identifies a navigation entry.

NavOutput

The result of a navigation computation.

NavShape

The shape of a navigation body (includes both 2d and 3d representations, with some cases unsupported depending on the dimensionality of the system utilizing it).

Nu

Nu initialization functions. NOTE: this is a type in order to avoid creating a module name that may clash with the namespace name in an interactive environment.

NuPlugin

Provides a way to make user-defined dispatchers, facets, and various other sorts of game- specific values and configurations.

Octelement

Octelement<'e>

An element in an octree.

OctelementEqualityComparer<'e>

Equality compares two octelements.

OctelementMasks

Masks for Octelement flags.

Octree

Octree<'e>

A spatial structure that organizes elements in a 3d grid.

OneBodyJoint2d

Allows users to create their own one-body 2D joints.

OneBodyJoint3d

Allows users to create their own one-body 3D joints.

OpenGL

Force qualification of OpenGL namespace in Nu unless opened explicitly.

Overlay

An overlay.

Overlayer (Module)

Overlayer (Type)

Defines the manner in which overlays are applied to targets.

OverlayNameDescriptor

Describes the shape of a desired overlay.

Package<'a, 's>

Tracks assets as well as their originating file paths.

PackageDescriptor

Describes asset packages.

Packages<'a, 's>

A dictionary of asset packages.

PanelDispatcher

Gives an entity the base behavior of a gui panel.

Particle

A mutable particle type.

PasteType

The manner in which an entity paste operation should be executed.

PathF

Performs operations on System.String instances that contain file or directory path information. These operations are performed in a normalized manner where '/' is always used as the directory seperator.

Permafreezer3dDispatcher

Gives an entity the base behavior of a permafrozen hierarchy of potentially-rigid model surfaces.

Permafreezer3dDispatcherExtensions

Physics

Miscellaneous physics operations.

PhysicsEngine

Represents a physics engine in Nu. TODO: investigate if we'll ever have to handle enough physics or integration messages to necessitate the use of SList instead of List.

PhysicsEngine2d

The 2d implementation of PhysicsEngine in terms of Aether Physics.

PhysicsEngine3d

The 2d implementation of PhysicsEngine in terms of Jolt Physics.

PhysicsMessage

A message to the physics system.

PhysicsMotion

The way in which an entity's motion is driven by a corresponding body.

Playback

Determines how an animated behavior is executed.

PointsShape

The shape of a physics body defined by body-relative points.

Presence

Describes the form of an element's presence.

PresenceOperators

Presence operators.

Profile

Describes the physical profile of a complex body.

PropertyContent

Describes property content to the model-message-command-content (MMCC) content system.

PropertyDescriptor

PropertyDescriptor functions.

Quadelement

Quadelement<'e>

An element in a quadree.

QuadelementEqualityComparer<'e>

Equality compares two quadelements.

QuadelementMasks

Masks for Quadelement flags.

Quadtree

Quadtree<'e>

A spatial structure that organizes elements on a 2d plane.

RadioButtonDispatcher

Gives an entity the base behavior of a gui radio button.

RadioButtonFacet

Augments an entity with radio button behavior.

RadioButtonFacetExtensions

Raw

A phantom type to denote the type of an asset as a blob of raw data.

RawFormat

The format of a raw asset. NOTE: [] attribute was removed in order to work around an F# regression where calling GetUnionFields on this type's cases can result in an InvalidOperationException "Multiple CompilationMappingAttributes, expected at most one". TODO: apparently, one work-around for this regression is to update to the latest FSharp.Core as of the regression, version 9.0.3 (or higher), so let's do this when it makes sense then restore the Struct attribute.

RawHeightMap

A height map for 3d terrain constructed from a raw asset.

Refinement

A refinement that can be applied to an asset during the build process.

Reflection

Provides engine-specific reflection functionality.

ReflectionOperators

Reflection operators.

Relation

Relation functions.

'a Relation

A relation that can be resolved to an address via contextual resolution. OPTIMIZATION: Links is an array only for speed; it is invalid to mutate it.

RelationConverter

Converts Relation types.

RenderAnimatedModel

Describes how to render an animated model.

RenderAnimatedModels

Describes how to render multiple animated models with shared attributes.

RenderAsset

An asset that is used for rendering.

RenderBillboard

Describes how to render a billboard.

RenderBillboardParticles

Describes how to render billboard particles.

RenderBillboards

Describes how to render multiple billboards with shared attributes.

Renderer2d

The 2d renderer. Represents a 2d rendering subsystem in Nu generally.

Renderer3d

The 3d renderer. Represents a 3d rendering subsystem in Nu generally.

Renderer3dConfig

Configures 3d renderer.

RendererImGui

Renders an imgui view. NOTE: API is object-oriented / mutation-based because it's ported from a port.

RendererInline

A non-threaded render process.

RendererPhysics3d

Renders 3D physics via ImGui.

RendererProcess

A renderer process that may or may not be threaded. TODO: name all these abstract method parameters.

RendererThread

A threaded render process.

RenderLight3d

Describes how to render a 3D light.

RenderLightMap3d

Describes how to render a 3D light map.

RenderLightProbe3d

Describes how to render a 3D light probe.

RenderMessage2d

A message to a 2d rendering subsystem.

RenderMessage3d

A message to the 3d renderer.

RenderMessageImGui

A message to the ImGui rendering subsystem.

RenderOperation2d

Describes a 2d rendering operation.

RenderPass

Describes the nature of the rendering that takes place.

RenderSkyBox

Describes how to render a sky box.

RenderStaticModel

Describes how to render a static model.

RenderStaticModels

Describes how to render multiple static model with shared attributes.

RenderStaticModelSurface

Describes how to render a static model surface.

RenderStaticModelSurfacePreBatch

Describes how to render a static model surface pre-batch.

RenderStaticModelSurfacePreBatches

Describes how to render multiple static model surface pre-batches with shared attributes.

RenderStyle

The type of rendering used on a surface (for use by the higher-level engine API).

RenderTerrain

Describes how to render terrain.

RenderType

The type of rendering used on a surface (for use by the lower-level renderer API).

RenderUserDefinedStaticModel

Describes how to render a user-defined static model.

Repetition

Represents different repetition modes for an animated behavior.

ReplaceProperty

Details replacement for editing behavior for a simulant property, allowing the user to indicate that a property was replaced.

RequestedSong

Specified the requested song, if any, or whether to ignore song request functionality altogether.

Rexpr

Effectively new-types the Regex type to implement custom type-conversion without needing explicit initialization by the client program.

RexprConverter

Converts Rexpr types.

RigidBodyFacet

Augments an entity with a physics-driven rigid body.

RigidBodyFacetExtensions

RigidModelDispatcher

Gives an entity the base behavior of physics-driven rigid model.

RigidModelHierarchyDispatcher

Gives an entity the base behavior of a hierarchy of indexed, physics-driven rigid models.

RigidModelHierarchyDispatcherExtensions

RigidModelSurfaceDispatcher

Gives an entity the base behavior of an indexed, physics-driven rigid model.

RunMode

The timing with which an effect should be evaluated in a frame.

Screen

The screen type that allows transitioning to and from other screens, and also hosts the currently interactive groups of entities.

ScreenBehavior

Describes the behavior of a screen.

ScreenContent

Describes a screen to the model-message-command-content (MMCC) content system.

ScreenConverter

Converts Screen types, interning its strings for look-up speed.

ScreenDescriptor

Describes a screen value independent of the engine. Used to directly serialize a screen.

ScreenDispatcher

The default dispatcher for screens.

ScreenDispatcherModule

ScreenPropertyDescriptor

Screen PropertyDescriptor functions.

ScreenState

Hosts the ongoing state of a screen.

SdlAudioPlayer

The SDL implementation of AudioPlayer.

SdlConfig

Describes the general configuration of SDL.

SdlDeps (Module)

SdlDeps (Type)

The dependencies needed to initialize SDL.

SdlWindowConfig

Describes the initial configuration of a window created via SDL.

SelectionEventData

The data for a screen selection event.

SensorModelDispatcher

Gives an entity the base behavior of physics-driven sensor model.

SensorModelSurfaceDispatcher

Gives an entity the base behavior of an indexed, physics-driven sensor model.

SetBodyAngularVelocityMessage

A message to the physics system to set the angular velocity of a body.

SetBodyCenterMessage

A message to the physics system to destroy a body.

SetBodyEnabledMessage

A message to the physics system to destroy a body.

SetBodyLinearVelocityMessage

A message to the physics system to set the linear velocity of a body.

SetBodyRotationMessage

A message to the physics system to set the rotation of a body.

SetBodyVehicleBrakeInputMessage

A message to the physics system to set the brake input of a vehicle body.

SetBodyVehicleForwardInputMessage

A message to the physics system to set the forward input of a vehicle body.

SetBodyVehicleHandBrakeInputMessage

A message to the physics system to set the brake input of a vehicle body.

SetBodyVehicleRightInputMessage

A message to the physics system to set the right input of a vehicle body.

SglWindow

A window for rendering in SDL OpenGL.

Signal (Module)

Signal functions.

Signal (Type)

A model-message-command-content (MMCC) signal tag type.

SignalOperators

Signal operators.

Simulant

A participant in the event graph.

SimulantContent

Describes a simulant to the model-message-command-content (MMCC) content system.

SimulantDescriptor

Describes a generalized simulant value independent of the engine. Not used for serialization.

SimulantDispatcher

Generalized interface tag for simulant dispatchers.

SimulantOperators

Simulant operators.

SimulantPropertyDescriptor

SimulantState

Generalized interface for simulant state.

SkyBoxDispatcher

Gives an entity the base behavior of sky box.

SkyBoxFacet

Augments an entity with sky box.

SkyBoxFacetExtensions

Slide

The data required to execute slide screen presentation.

SlideDescriptor

Describes the behavior of the screen slide algorithm.

SnapshotType

Describes the type of snapshot taken for operation tracking.

Song

A phantom type to denote the type of an asset as a song.

SongDescriptor

Describes a song.

SortPriority

Describes the information needed to sort simulants. OPTIMIZATION: carries related simulant to avoid GC pressure. NOTE: SortPriority can't be structified because it is currently cast to IComparable.

Sound

A phantom type to denote the type of an asset as a sound.

SoundDescriptor

Describes a sound.

Sphere2dDispatcher

Gives an entity the base behavior of a rigid 2d sphere using static physics.

Sphere3dDispatcher

Gives an entity the base behavior of a rigid 3d sphere using static physics.

SphereShape

The shape of a physics body sphere.

SpineAnimation

Describes a Spine animation for a given track.

SpineSkeleton

A phantom type to denote the type of an asset as a spine skeleton.

SpineSkeletonAnimationTriggerData

The data for describing an animation trigger event.

SpineSkeletonDescriptor

Describes how to render a Spine skeletong to the rendering system. NOTE: do NOT send your own copy of Spine.Skeleton as the one taken here will be operated on from another thread!

SpineSkeletonDispatcher

Gives an entity the base behavior of a Spine skeleton. NOTE: Spine skeletons are inherently imperative and therefore currently unsupported by undo / redo.

SpineSkeletonExtensions

SpineSkeletonFacet

Augments an entity with Spine skeleton content. NOTE: SpineSkeleteState fields are inherently imperative and therefore currently unsupported by undo / redo.

SpineSkeletonMetadata

Metadata of a Spine skeleton.

SpineSkeletonState

Represents the mutable backing state of an animating Spine skeleton. NOTE: this is inherently imperative and therefore currently unsupported by undo / redo.

SpriteDescriptor

Describes how to render a sprite to a rendering subsystem.

SpriteDescriptors

Describes how to render multiple sprite descriptors to a rendering subsystem.

SpriteParticlesDescriptor

Describes sprite-based particles.

SpritesDescriptor

Describes how to render multiple sprites to a rendering subsystem.

SpriteValue

A mutable sprite value.

StaticBillboardDispatcher

Gives an entity the base behavior of a static billboard.

StaticBillboardFacet

Augments an entity with a static billboard.

StaticBillboardFacetExtensions

StaticModel

A phantom type to denote the type of an asset as a static model.

StaticModelDispatcher

Gives an entity the base behavior of a static model.

StaticModelFacet

Augments an entity with a static model.

StaticModelFacetExtensions

StaticModelHierarchyDispatcher

Gives an entity the base behavior of hierarchy of indexed static models.

StaticModelHierarchyDispatcherExtensions

StaticModelShape

The shape of a physics body in terms of a static model.

StaticModelSurfaceDescriptor

Describes a static model surface.

StaticModelSurfaceDispatcher

Gives an entity the base behavior of an indexed static model.

StaticModelSurfaceFacet

Augments an entity with an indexed static model surface.

StaticModelSurfaceFacetExtensions

StaticModelSurfaceFacetExtensions2

StaticModelSurfacePreBatch

Describes a pre-composed batch of static model surfaces.

StaticModelSurfaceShape

The shape of a physics body in terms of a static model surface.

StaticModelSurfaceValue

A mutable static model surface value type.

StaticModelValue

A mutable static model value type.

StaticSpriteDispatcher

Gives an entity the base behavior of a static sprite.

StaticSpriteFacet

Augments an entity with a static sprite.

StaticSpriteFacetExtensions

Stream

Stream operators.

Stream<'a>

The Stream construct.

StructPair

StructPair functions.

StructPair<'a, 'b>

A struct-based representation of a pair. This type would seem redundant with struct (,) and KeyValuePair, but it's not. This type is unique in that allows you to take a reference to its Fst and Snd fields. Unfortunately, there seems to be no way to do that with struct (,) or KeyValuePair. NOTE: StructPair doesn't allow client assemblies to reference its fields, so it's not properly usable outside of Nu's engine code, unfortunately.

StructPairOperators

StructPair operators.

StubAudioPlayer

The stub implementation of AudioPlayer.

StubPhysicsEngine

The stub implementation of PhysicsEngine.

StubRenderer2d

The stub implementation of Renderer2d.

StubRenderer3d

The stub implementation of Renderer3d.

StubRendererImGui (Module)

StubRendererImGui functions.

StubRendererImGui (Type)

A stub imgui renderer.

SubscriptionEntries

A map of event subscriptions.

SubscriptionEntry

An entry in the subscription map.

SubscriptionSorter

Abstracts over a subscription sorting procedure.

Substance

Describes the substantial nature of a body in terms of mass or density.

Symbolics (Module)

Symbolics (Type)

Provides references to symbols that are loaded from files.

SymbolLoadMetadata

Symbol loading metadata. OPTIMIZATION: made this a struct because, well, it's two booleans. If we add non-trivial fields to this, it will be okay to make it a reference type.

'w Tasklet

A tasklet to be completed at the scheduled time.

TerrainDescriptor

Describes a static 3d terrain.

TerrainDispatcher

Gives an entity the base behavior of a rigid 3d terrain.

TerrainFacet

Augments an entity with a rigid 3d terrain.

TerrainFacetExtensions

TerrainGeometryDescriptor

Describes a static 3d terrain geometry.

TerrainLayer

A layer from which a 3d terrain's material is composed.

TerrainMaterial

Describes the material of which a 3d terrain is composed.

TerrainMaterialProperties (Module)

TerrainMaterialProperties functions.

TerrainMaterialProperties (Type)

Material properties for terrain surfaces.

TerrainShape

The shape of a physics body in terms of a terrain height map.

TextBoxDispatcher

Gives an entity the base behavior of a gui text box control.

TextBoxFacet

Augments an entity with text box behavior.

TextBoxFacetExtensions

TextDescriptor

Describes how to render text to a rendering subsystem.

TextDispatcher

Gives an entity the base behavior of a gui text control.

TextEditData

The data for a text edit event.

TextFacet

Augments an entity with text.

TextFacetExtensions

TextInputData

The data for a text input event.

TextValue

A mutable text value.

TileAnimationDescriptor

Describes a Tiled tile animation.

TileDescriptor

Describes a Tiled tile.

TileMap

A phantom type to denote the type of an asset as a tile map.

TileMapDescriptor

Describes a Tiled tile map.

TileMapDispatcher

Gives an entity the base behavior of an asset-defined tile map.

TileMapFacet

Augments an entity with a asset-defined tile map.

TileMapFacetExtensions

TileMapMetadata

A tile map's metadata.

TilesDescriptor

Describes how to render tile map tiles to the rendering system.

TileSetPropertyNotFoundException

Thrown when a tile set property is not found.

Timers

Engine timing objects.

TmxExtensions

TmxMap

TmxMap functions for the world.

TmxMapDispatcher

Gives an entity the base behavior of a user-defined tile map.

TmxMapFacet

Augments an entity with a user-defined tile map.

TmxMapFacetExtensions

ToggleButtonDispatcher

Gives an entity the base behavior of gui toggle button.

ToggleButtonFacet

Augments an entity with toggle button behavior.

ToggleButtonFacetExtensions

Transform

Carries transformation data specific to an Entity.

TransformData

The data of a body transform event.

TransformMasks

Masks for Transform flags.

Transition

Describes one of a screen's transition processes.

TransitionState

The state of a screen's transition.

TransitionType

The type of a screen transition. Incoming means a new screen is being shown and Outgoing means an existing screen being hidden.

TraversalInterpolatedFacetExtensions

TraversalInterpoledFacet

Tracks interpolated values typically used for traversal. TODO: P1: make this GameTime-based rather than frame-based!

TwoBodyJoint2d

Allows users to create their own two-body 2D joints.

TwoBodyJoint3d

Allows users to create their own two-body 3D joints.

Unsubscription

Represents an unsubscription operation for an event.

UnsubscriptionEntries

A map of subscription keys to unsubscription data.

VehicleProperties

The properties needed to describe the vehicle aspects of a body.

Viewport

Describes the bounds of a viewport. TODO: add missing doc comments to this type's functions.

ViewportContext

Details additional editing behavior for viewport context menu.

ViewportOverlay

Details the additional editing behavior for a simulant in a viewport.

VuiDispatcher

A vui dispatcher (gui in 3d).

Window

A window for rendering.

World

The world, in a functional programming sense. Hosts the simulation state, the dependencies needed to implement a game, messages to by consumed by the various engine subsystems, and general configuration data. For better ergonomics, the World type keeps a mutable reference to the functional WorldState, which is updated by the engine whenever the engine transforms the world state.

WorldAudio

Audio functions for the world.

WorldChain

Chain functions for the world.

WorldConfig

Configuration parameters for the world.

WorldDataToken

Data token processing functions for the world.

WorldEntityHierarchyExtensions

WorldEntityModule

Entity functions for the world (2/2).

WorldGameModule

Game functions for the world (2/2).

WorldGroupModule

Group functions for the world (2/2).

WorldImGui

ImGui functions for the world.

WorldImGui2

More ImGui functions for the world.

WorldImSim

ImSim API for the world.

WorldInputModule

HID input functions for the world.

WorldModule

Universal function definitions for the world (1/4).

WorldModule2

Universal function definitions for the world (2/4).

WorldModule3

Universal function definitions for the world (3/4).

WorldModule4

Universal function definitions for the world (4/4).

WorldModuleEntity

Entity functions for the world (1/2).

WorldModuleGame

Game functions for the world (1/2).

WorldModuleGroup

Group functions for the world (1/2).

WorldModuleOperators

Global operators for the world.

WorldModuleScreen

Screen functions for the world (1/2).

WorldPhysics

Physics functions for the world.

WorldRender

Rendering functions for the world.

WorldScreenModule

Screen functions for the world (2/2).

WorldSimulantModule

Generalized simulant functions for the world.

WorldState

The world state, in a functional programming sense. This type is immutable enough to allows efficient snapshots and later restoration, such as for undo and redo, with very little additional code.

Xtension (Module)

Xtension (Type)

Provides a convenient way to implement both dynamic properties and designer properties.

Type something to start searching.