Skip to content

Commit

Permalink
Added Poses Extension Docs
Browse files Browse the repository at this point in the history
  • Loading branch information
JustBuddy committed Mar 29, 2024
1 parent aeabd45 commit e3b7c8c
Show file tree
Hide file tree
Showing 9 changed files with 85 additions and 5 deletions.
2 changes: 2 additions & 0 deletions astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ export default defineConfig({
// Each item here is one entry in the navigation menu.
{ label: 'Getting started', link: '/posesextension/intro/' },
{ label: 'Installation', link: '/posesextension/setup/' },
{ label: 'Structure', link: '/posesextension/structure/' },
{ label: 'Action Controller', link: '/posesextension/action/' },
],
},
],
Expand Down
31 changes: 31 additions & 0 deletions src/content/docs/posesextension/action.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
title: BUDDYWORKS Poses Extension - Action Controller
description: Locomotion-agnostic pose framework.
---
import { Aside } from '@astrojs/starlight/components';

### Poses&Dances
![PE Action Controller Poses&Dances Layer.](./img/003.png)

By default, PE will be inactive and wait for any kind of input.
Whenever PE/Set is greater than 0, the layer will advance to *Warmup*, which is responsible to put the avatar in a posable state.

Once that is done, we move on to the state selected with PE/Set. Dances and Poses are treated the same here, only difference being how they use the PE/Float value.
- **Poses:** Motion Time
- **Dances:** Speed

A direct transition from Warmup to Restore should ensure that the logic works and syncs reliably in case of fast or invalid inputs.

For visual differentiation, we just split Poses and Dances with the middle line, poses being on the top half and dances on the bottom half. This might get packed into statemaschines in the future if needed.

If PE/Set changes away from the current active set, the layer will advance to *Restore* and loop back.
**Restore** re-engages tracking, essentially reversing changes done in **Warmup**

### Support Logic
![PE Action Controller Support Layer.](./img/004.png)
This layer is used for any additional functions.

Currently, it is responsible for making the infinite circle loop work whenever the value of PE/Float hits 0 or 100.
For the GGL Variant, an additional local check is done to make sure this function only runs when the user interacts with PE, but not with GGL.

<Aside>Please be aware that Poses Extension is under constant development, and information in the docs might get outdated.</Aside>
Binary file added src/content/docs/posesextension/img/001.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/docs/posesextension/img/002.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/docs/posesextension/img/003.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/docs/posesextension/img/004.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 4 additions & 1 deletion src/content/docs/posesextension/intro.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,8 @@ import { Aside } from '@astrojs/starlight/components';
*Locomotion-agnostic pose framework.*

#### Welcome to the Poses Extension Docs
Poses Extension is a Locomotion-agnostic pose/emote framework prefilled with various poses made for photography.

## WIP
The following pages will tell you some things about the system.

<Aside>Please be aware that Poses Extension is under constant development, and information in the docs might get outdated.</Aside>
25 changes: 21 additions & 4 deletions src/content/docs/posesextension/setup.mdx
Original file line number Diff line number Diff line change
@@ -1,11 +1,28 @@
---
title: BUDDYWORKS Poses Extension
title: BUDDYWORKS Poses Extension - Setup
description: Locomotion-agnostic pose framework.
---
import { Aside } from '@astrojs/starlight/components';

*Locomotion-agnostic pose framework.*
### Setup

#### Welcome to the Poses Extension Docs
Setup is easy, just add the prefab to your avatar and you are ready to go!

## WIP
![Toolbar menu import.](./img/001.png)


### Which version to pick?
As you might have seen, there are two variants to pick:
- **Spawn Prefab... =** The default version of Poses Extension
- **Spawn Prefab... (GGL Experimental) =** A variant of Poses Extension for GoGo Loco

To save parameter space in GoGo Loco setups, the GGL Experimental variant will make use of existing GGL parameters, specifically Go/Float and Go/VRCEmote. This makes Poses Extension free to use, but adds a breaking point whenever GoGo Loco does any major changes.

Please assume that Poses Extension will only work with the latest version of GoGo Loco. Any other release MIGHT work, but is not supported.

<Aside>The regular version will work in any case, even in a setup with GoGo Loco.</Aside>

### And the other options?
You will see two additional options in the toolbar menu, these are just for convenience and allow you to spawn in the regular GoGo Loco prefabs. If GoGo Loco is not imported, these options will be greyed out.

![Toolbar menu ggl option.](./img/002.png)
27 changes: 27 additions & 0 deletions src/content/docs/posesextension/structure.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
title: BUDDYWORKS Poses Extension - Structure
description: Locomotion-agnostic pose framework.
---
import { Aside } from '@astrojs/starlight/components';

### Parameters

##### Standalone
- **PE/Set [INT]:** Defines the currently picked pose set. (Like standing, sitting etc.)
- **PE/Float [Float]:** Used for pose selection and dance speed.
- **PE/Exit [Bool]:** *Unsynced* parameter used as condition placeholder for to-Exit transitions.

##### GGL Variant
- **InStation [Bool]:** *Unsynced* Default Parameter used by GGL for conditional checks.
- **PE/Exit [Bool]:** *Unsynced* Parameter used as condition placeholder for to-Exit transitions.
- **PE/Active [Bool]:** *Unsynced* Local condition ensuring the support logic is only run for PE functions.
- **Go/Float [Float]:** Similiar to PE/Float, used for any radial selections by GGL.
- **Go/VRCEmote [INT]:** GGL parameter that does pretty much everything. PE uses some of its pose-space.

### Action Layer

- **BUDDYWORKS Poses Extension - Poses&Dances:** Main Layer for the pose and emote logic.
- **BUDDYWORKS Poses Extension - Support Logic:** Additional layer, currently used for the bi-directional free-rotation radial.


<Aside>Please be aware that Poses Extension is under constant development, and information in the docs might get outdated.</Aside>

0 comments on commit e3b7c8c

Please sign in to comment.