open-index/open-npm huggingface dataset:
npm package: @quenty/rbxthumb
Description: Wraps the rbxthumb URL api surface.
Latest version: 5.13.0

## RbxThumb
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Wraps the rbxthumb URL api surface to generate a URL for a thumbnail on the cloud.

These thumbnails are automatically batched for performance.

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/RbxThumbUtils">View docs →</a></div>

## Installation
```
npm install @quenty/rbxthumb --save
```
npm package: @quenty/receiptprocessing
Description: Centralize receipt processing within games since this is a constrained resource.
Latest version: 7.30.0

## ReceiptProcessing

<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Centralize receipt processing within games since this is a constrained resource.

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/ReceiptProcessingService">View docs →</a></div>

## Installation

```
npm install @quenty/receiptprocessing --save
```
npm package: @quenty/rectutils
Description: Utility methods for Rect data object
Latest version: 1.4.0

## RectUtils

<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Utility methods for Rect data object

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/RectUtils">View docs →</a></div>

## Installation

```
npm install @quenty/rectutils --save
```
npm package: @quenty/region3int16utils
Description: Module for working with Region3int16
Latest version: 10.10.0

## Region3int16Utils
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Module for working with Region3int16

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/Region3int16Utils">View docs →</a></div>

## Installation
```
npm install @quenty/region3int16utils --save
```
npm package: @quenty/region3utils
Description: Utility methods for Region3
Latest version: 10.12.0

## Region3Utils
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Utility methods for Region3

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/Region3Utils">View docs →</a></div>

## Installation
```
npm install @quenty/region3utils --save
```

## Usage
Usage is designed to be simple.

### `Region3Utils.fromPositionSize(position, size)`

### `Region3Utils.fromBox(cframe, size)`

### `Region3Utils.fromRadius(position, radius)`
npm package: @quenty/remotefunctionutils
Description: Utility functions to wrap invoking a remote function with a promise
Latest version: 10.16.0

## RemoteFunctionUtils
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Utility functions to wrap invoking a remote function with a promise

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/RemoteFunctionUtils">View docs →</a></div>

## Installation
```
npm install @quenty/remotefunctionutils --save
```
npm package: @quenty/remoting
Description: Global remoting retrieval system for Roblox (RemoteFunctions/RemoteEvents)
Latest version: 12.29.0

## Remoting
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Provides global remoting functionality for Roblox (GetRemoteEvent/GetRemoteFunction). This is extremely light-weight, but makes programming with global remotes a lot easier.

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/Remoting">View docs →</a></div>

## Installation
```
npm install @quenty/remoting --save
```

## Features

* Promise implementation available
* Always safe-to-use remotes if acquired
npm package: @quenty/resetservice
Description: Handles reset requests since Roblox's reset system doesn't handle ragdolls correctly
Latest version: 11.33.0

## ResetService
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Handles reset requests since Roblox's reset system doesn't handle ragdolls correctly.

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/ResetService">View docs →</a></div>

## Installation
```
npm install @quenty/resetservice --save
```
npm package: @quenty/richtext
Description: Holds rich text utility methods
Latest version: 1.4.2

## RichText

<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Holds rich text utility methods

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/RichTextUtils">View docs →</a></div>

## Installation

```
npm install @quenty/richtext --save
```
npm package: @quenty/rigbuilderutils
Description: Utility functions for debugging, builds a Roblox character rig
Latest version: 10.30.0

## RigBuilderUtils
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Utility functions for debugging, builds a Roblox character rig

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/RigBuilderUtils">View docs →</a></div>

## Installation
```
npm install @quenty/rigbuilderutils --save
```
npm package: @quenty/roblox-api-dump
Description: Utility functions for grabbing the Roblox API from the web
Latest version: 8.18.0

## Roblox-Api-Dump
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Utility functions for grabbing the Roblox API from the web

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/RobloxApiDump">View docs →</a></div>

## Installation
```
npm install @quenty/roblox-api-dump --save
```
npm package: @quenty/rodux-undo
Description: Undo stack for rodux
Latest version: 8.12.0

## rodux-undo
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/UndoableReducer">View docs →</a></div>

## Installation
```
npm install @quenty/rodux-undo --save
```
npm package: @quenty/rogue-humanoid
Description: Roguelike humanoid properties which can be modified
Latest version: 10.43.0

## RogueHumanoid
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/RogueHumanoidService">View docs →</a></div>

Roguelike properties applied to humanoids

## Installation
```
npm install @quenty/rogue-humanoids --save
```
npm package: @quenty/rogue-properties
Description: Roguelike properties which can be modified by external provides
Latest version: 11.41.0

## RogueProperties
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/RogueProperty">View docs →</a></div>

Roguelike properties which can be modified by external provides -- and that modification can be attributed to a source.

## Installation
```
npm install @quenty/rogue-properties --save
```

## Design goals
We need a property system for a rogue-like or MMORPG style game that offers the following attributes.

1. Modifiable - Can modify a base property in a variety of ways (additive, multiplicative, et cetera)
2. Attributable - Can attribute the source of final computation, especially for UI.
3. Extensible - Can combine properties
4. Grounded in Roblox datamodel - Source of truth exists in Roblox so other people can modify it
5. Performant - Needs to run fast
6. Agnostic to server/client - Needs to be able to centralize in datatable.
7. Scriptable - Need to be able to apply weird scripts to data.
8. Levelable - Can scale with level!
9. Usable for other people - The computed value is just .Value under the object!
npm package: @quenty/rotatinglabel
Description: A text label with most general properties of a textlabel, except when text is set, it rotates uniformly like an old clock, animating in a satisfying way
Latest version: 11.12.0

## RotatingLabel
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

A text label with most general properties of a textlabel, except when text is set, it rotates uniformly like an old clock, animating in a satisfying way

This is relatively legacy code and so probably should be carefully considered before using in a new project.

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/RotatingLabel">View docs →</a></div>

## Installation
```
npm install @quenty/rotatinglabel --save
```

## Usage
Usage is designed to be simple.

### `RotatingLabel.new()`

### `RotatingLabel:SetGui(gui)`

### `RotatingLabel:SetTemplate(template)`

### `RotatingLabel:UpdateRender()`

### `RotatingLabel:Destroy()`
npm package: @quenty/roundedbackingbuilder
Description: Construct a rounded backing with a shadow
Latest version: 2.3.4

## RoundedBackingBuilder
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Construct a rounded backing with a shadow. This existed before UICorner existed, and remains for backwards compatability with games that still leverage this. Note that the dropshadow created by this is still impossible to recreate with a UICorner, so this provides some utility.

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/RoundedBackingBuilder">View docs →</a></div>

## Installation
```
npm install @quenty/roundedbackingbuilder --save
```

## Usage
Usage is designed to be simple.

### `RoundedBackingBuilder.new(options)`
Initializes a new RoundedBackingBuilder

### `RoundedBackingBuilder:Create(gui)`

### `RoundedBackingBuilder:CreateBacking(gui)`

### `RoundedBackingBuilder:CreateTopBacking(gui)`
Only top two corners are rounded

### `RoundedBackingBuilder:CreateLeftBacking(gui)`

### `RoundedBackingBuilder:CreateRightBacking(gui)`

### `RoundedBackingBuilder:CreateBottomBacking(gui)`
Only bottom two corners are rounded

### `RoundedBackingBuilder:CreateTopShadow(backing)`

### `RoundedBackingBuilder:CreateShadow(backing)`
npm package: @quenty/rx
Description: Quenty's reactive library for Roblox
Latest version: 13.26.0

## Rx
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

A reactive library for Roblox that lets you program in the observable pattern

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/Rx">View docs →</a></div>

## Installation
```
npm install @quenty/rx --save
```
npm package: @quenty/rxbinderutils
Description: Reactive extensions for binders
Latest version: 14.32.0

## RxBinderUtils
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Reactive extensions for binders

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/RxBinderUtils">View docs →</a></div>

## Installation
```
npm install @quenty/rxbinderutils --save
```
npm package: @quenty/rxsignal
Description: Signal API for RxObservables
Latest version: 7.26.0

## RxSignal

<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Signal API for RxObservables

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/RxSignal">View docs →</a></div>

## Installation

```
npm install @quenty/rxsignal --save
```
npm package: @quenty/safedestroy
Description: Fixes an issue where you can't destroy already destroyed objects
Latest version: 1.5.2

## safeDestroy
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Fixes an issue where you can't destroy already destroyed objects

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/safeDestroy">View docs →</a></div>

## Installation
```
npm install @quenty/safedestroy --save
```


## Usage
```lua
safeDestroy(instance)
```
npm package: @quenty/scoredactionservice
Description: Scores actions and picks the highest rated one every frame
Latest version: 16.40.0

## ScoredActionService
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Scores actions and picks the highest rated one every frame

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/ScoredActionService">View docs →</a></div>

## Installation
```
npm install @quenty/scoredactionservice --save
```

## Usage
Usage is designed to be simple.

### `ScoredActionService:Init()`

### `ScoredActionService:GetScoredAction(inputKeyMapList)`

## ScoredAction API

### `ScoredAction.new()`

### `ScoredAction:IsPreferred()`

### `ScoredAction:SetScore(score)`
Big number is more important. At `-math.huge` we won't ever set preferred

### `ScoredAction:GetScore()`

### `ScoredAction:PushPreferred()`

### `ScoredAction.Removing`
Signal for when the scored action is getting cleaned up or removed

### `ScoredAction.PreferredChanged`
Signal for when the IsPreferred() value changed
npm package: @quenty/screenshothudservice
Description: Provides centralized API surface for screenshot hud API
Latest version: 7.30.0

## ScreenshotHudService

<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Provides centralized API surface for screenshot hud API

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/ScreenshotHudServiceClient">View docs →</a></div>

## Installation

```
npm install @quenty/screenshothudservice --save
```
npm package: @quenty/scrollingframe
Description: Creates an inertia based scrolling frame that is animated and has inertia frames Alternative to a Roblox ScrollingFrame with inertia scrolling and complete control over behavior and style
Latest version: 12.17.0

## ScrollingFrame
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Creates an inertia based scrolling frame that is animated and has inertia frames Alternative to a Roblox ScrollingFrame with inertia scrolling and complete control over behavior and style.

Somewhat less recommended these days because Roblox has added inertia scrolling to the mobile experience.

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/ScrollingFrame">View docs →</a></div>

## Installation
```
npm install @quenty/scrollingframe --save
```

## Usage
Usage is designed to be simple.

### `ScrollingFrame.new(gui)`
Creates a new ScrollingFrame which can be used. Prefer Container.Active = true so scroll wheel works.

### `ScrollingFrame:SetScrollType(scrollType)`
Sets the scroll type for the frame

### `ScrollingFrame:AddScrollbar(scrollbar)`

### `ScrollingFrame:RemoveScrollbar(scrollbar)`

### `ScrollingFrame:ScrollTo(position, doNotAnimate)`
Scrolls to the position in pixels offset

### `ScrollingFrame:ScrollToTop(doNotAnimate)`
Scrolls to the top

### `ScrollingFrame:ScrollToBottom(doNotAnimate)`
Scrolls to the bottom

### `ScrollingFrame:GetModel()`

### `ScrollingFrame:StopDrag()`

### `ScrollingFrame:BindInput(gui, options)`
Binds input to a specific GUI

### `ScrollingFrame:StartScrolling(inputBeganObject, options)`

### `ScrollingFrame:StartScrollbarScrolling(scrollbarContainer, inputBeganObject)`

### `ScrollingFrame:Destroy()`
npm package: @quenty/seatutils
Description: Holds utilities to work with Roblox seats
Latest version: 7.31.0

## SeatUtils

<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Holds utilities to work with Roblox seats

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/SeatUtils">View docs →</a></div>

## Installation

```
npm install @quenty/seatutils --save
```
npm package: @quenty/secrets
Description: Secrets storage system and API surface
Latest version: 7.43.0

## Secrets

<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Secrets storage system and API surface. Note this is not really entirely secure.

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/SecretsService">View docs →</a></div>

## Installation

```
npm install @quenty/secrets --save
```
npm package: @quenty/selectionimageutils
Description: Provides a utility method to clearing selection images with blank values.
Latest version: 11.10.0

## SelectionImageUtils
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Provides a utility method to clearing selection images with blank values.

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/SelectionImageUtils">View docs →</a></div>

## Installation
```
npm install @quenty/selectionimageutils --save
```

## Usage
Usage is designed to be simple.

### `SelectionImageUtils.overrideWithBlank(button)`
npm package: @quenty/selectionutils
Description: Utility methods around Selection service. Useful for plugins and stories.
Latest version: 8.28.0

## SelectionUtils
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Utility methods around Selection service. Useful for plugins and stories.

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/RxSelectionUtils">View docs →</a></div>

## Installation
```
npm install @quenty/selectionutils --save
```
npm package: @quenty/setmechanismcframe
Description: Sets a mechanisms cframe
Latest version: 10.10.0

## setMechanismCFrame
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Sets a mechanisms cframe

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/setMechanismCFrame">View docs →</a></div>

## Installation
```
npm install @quenty/setmechanismcframe --save
```
npm package: @quenty/settings
Description: Centralized player settings service
Latest version: 11.46.0

## Settings
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Centralized player settings service

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/SettingsService">View docs →</a></div>

## Installation
```
npm install @quenty/settings --save
```
npm package: @quenty/settings-inputkeymap
Description: Input key map setting saving for players
Latest version: 10.49.0

## SettingsInputKeyMap
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Input key map setting saving for players

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/Signal">View docs →</a></div>

## Installation
```
npm install @quenty/settings-inputkeymap --save
```
npm package: @quenty/signal
Description: A simple signal implementation for Roblox
Latest version: 7.12.0

## Signal
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>
A simple signal implementation for Roblox

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/Signal">View docs →</a></div>

## Installation
```
npm install @quenty/signal --save
```

This allows us to pass Lua objects around through a signal without reserialization. It wraps a Roblox bindable event, and reproduces Roblox's signal behavior.

## Features

* Supports Roblox's deferred event mode
* Allows you to pass metatables and other data without reserialization
* Light-weight
* Maintains stack traces
npm package: @quenty/singleton
Description: Provides a way to transform from a class to a singleton
Latest version: 6.12.0

## Singleton

<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Provides a way to transform from a class to a singleton

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/SingletonUtils">View docs →</a></div>

## Installation

```
npm install @quenty/singleton --save
```
npm package: @quenty/snackbar
Description: Snackbars provide lightweight feedback on an operation at the base of the screen. They automatically disappear after a timeout or user interaction. There can only be one on the screen at a time.
Latest version: 11.37.0

## Snackbar
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Snackbars provide lightweight feedback on an operation at the base of the screen. They automatically disappear after a timeout or user interaction. There can only be one on the screen at a time.

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/SnackbarServiceClient">View docs →</a></div>

## Installation
```
npm install @quenty/snackbar --save
```

## Usage
Using the snackbar should be done via the SnackbarManager, which ensures only one snackbar can be visible at a time.

```lua
local snackbarServiceClient = serviceBag:GetService(SnackbarServiceClient)

snackbarServiceClient:ShowSnackbar("Settings saved!", {
  CallToAction = {
    Text = "Undo";
    OnClick = function()
      print("Activated action")
    end;
  }
})
```
npm package: @quenty/socialserviceutils
Description: Utility functions wrapping SocialService with promises
Latest version: 10.16.0

## SocialServiceUtils
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Utility functions wrapping SocialService with promises

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/SocialServiceUtils">View docs →</a></div>

## Installation
```
npm install @quenty/socialserviceutils --save
```

## Usage
Usage is designed to be simple.

### `SocialServiceUtils.promiseCanSendGameInvite(player)`

### `SocialServiceUtils.promisePromptGameInvite(player)`
npm package: @quenty/softshutdown
Description: This service lets you shut down servers without losing a bunch of players. When game.OnClose is called, the script teleports everyone in the server into a reserved server.
Latest version: 9.42.0

## SoftShutdown
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

This service lets you shut down servers without losing a bunch of players. When game.OnClose is called, the script teleports everyone in the server into a reserved server.

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/SoftShutdownService">View docs →</a></div>

## Installation
```
npm install @quenty/softshutdown --save
```

You can also just insert this free model into ServerScriptService.

https://www.roblox.com/library/9976385594/Quentys-soft-shutdown
npm package: @quenty/soundgroup
Description: Service and utility methods to working with sound groups and sounds in Roblox
Latest version: 1.36.0

## SoundGroup

<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Service and utility methods to working with sound groups and sounds in Roblox

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/SoundGroupUtils">View docs →</a></div>

## Installation

```
npm install @quenty/soundgroup --save
```
npm package: @quenty/soundplayer
Description: Sound playback helper
Latest version: 7.35.0

## SoundPlayer

<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Sound playback helper

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/LoopedSoundPlayer">View docs →</a></div>

## Installation

```
npm install @quenty/soundplayer --save
```
npm package: @quenty/soundpromiseutils
Description: Utility functions involving sounds and their state
Latest version: 2.1.0

## SoundPromiseUtils
<div align="center">
  <a href="http://quenty.github.io/api/">
    <img src="https://img.shields.io/badge/docs-website-green.svg" alt="Documentation" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/badge/discord-nevermore-blue.svg" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Utility functions involving sounds and their state

## Installation
```
npm install @quenty/soundpromiseutils --save
```

## Usage
Usage is designed to be simple.

### `SoundPromiseUtils.promiseLoaded(sound)`

### `SoundPromiseUtils.promiseAllSoundsLoaded(sounds)`
npm package: @quenty/sounds
Description: Utility functions involving sounds and their state
Latest version: 10.19.0

## SoundPromiseUtils
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Utility functions involving sounds and their state

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/SoundUtils">View docs →</a></div>

## Installation
```
npm install @quenty/soundpromiseutils --save
```
npm package: @quenty/spawning
Description: Centralized spawning system
Latest version: 10.41.0

## SoundPromiseUtils
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Centralized spawning service

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/SpawnService">View docs →</a></div>

## Installation
```
npm install @quenty/spawning --save
```
npm package: @quenty/spring
Description: Spring implementation for Roblox
Latest version: 10.11.0

## Spring
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

A physical model of a spring, useful in many applications. Properties only evaluate
upon index making this model good for lazy applications

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/Spring">View docs →</a></div>

## Installation
```
npm install @quenty/spring --save
```

## Visualization
by Defaultio: https://www.desmos.com/calculator/hn2i9shxbz
npm package: @quenty/sprites
Description: Spritesheet utility for Roblox including a built-in InputImageLibrary
Latest version: 13.26.0

## Sprites
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Spritesheet utility for Roblox including a built-in InputImageLibrary

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/InputImageLibrary">View docs →</a></div>

## Installation
```
npm install @quenty/sprites --save
```

## Features

* InputImageLibrary with images from Nicolae Berbece" (also known as Xelu) included by default
* Animated sprite sheet and player
npm package: @quenty/statestack
Description: Stack of values that allows multiple systems to enable or disable a state
Latest version: 14.29.0

## StateStack
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Stack of values that allows multiple systems to enable or disable a state

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/StateStack">View docs →</a></div>

## Installation
```
npm install @quenty/statestack --save
```

## Usage
Usage is designed to be simple.

### `StateStack.new()`

### `StateStack:GetState()`

### `StateStack:PushState()`