Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge community contributions, README updates, CONTRIBUTING.md #44

Merged
merged 21 commits into from
Nov 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@ site/
.pre-commit-config.yaml
.selid-hooks/
.check-identity
.obsidian
.obsidian
venv/
143 changes: 143 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
# Contributing to CCK Docs

## Notification Boxes
For inserting notification fields, always keep in mind that they stand out from the body of text and will typically be read first. as a result, they should be **before** a section unless they refer to something between two paragraphs.
All info fields can be titled with the following formatting:

```
!!! NotifType "Field Title"
Follow this for an info box with a title rather than it's type
```

Use notifications to reiterate points about a singular topic that can be addressed directly. Additionally, try to keep the titles of titled notifications 6 words or less.

Additionally, you can add a notification at the end of a statement with the following:
```
!!! NotifType inline end
Follow this for an info box that is inlined on the right-hand side of the text above it.
```

When creating a Notification, keep the following rule of thumb in mind:
"A note can go anywhere."
"Info goes somewhere specific."
"Not following a tip won't break anything."
"Not following a hint *might* break something"
"Not following a warning *WILL* break something"
### Note

```
!!! note
follow this for a note box
```

Notes are the lowest importance message box in most cases. Anything that could go in the notes section in the CCK docs is eligible for one of these boxes, however it is suggested to only make these when the information is relevant to the section. These are mostly things that a creator should be aware of when working with a component that is generalized enough that it may not necessarily refer to any specific part of the relevant component, or that component at all (for example, something that must be done in blender for the component to behave as expected)

### Info

```
!!! info
follow this for a info box
```

Use info when describing a feature, behavior, or concept specific to that component, article, or component/article subsection. This should be information the user should know about but doesn't necessarily affect outcomes.
### Tip

```
!!! tip
follow this for a tip box
```

Use a tip when describing something about a component or subsection that may not always be the intended use, but is important for one of the most common use-cases.
This should always be for something the user has direct control over. Not following a tip should never result in unsupported behavior.
### Hint
```
!!! hint
follow this for a hint box
```

Use hints when describing something that may not fit elsewhere in the documentation or when addressing a single topic that may easily lead to errors or unsupported behavior.
### Warning

```
!!! warning
Use this format for a warning, which has bolded letters and a different color
```

Use warnings when misuse of a component, field, etc. will directly lead to either an error or broken functionality. Good examples of this are adding multiple full blinks to the blink blendshapes or using animations with the viseme blendshapes in the avatar component.
## Embeds

### Images

For images in directories *ABOVE* the current folder (IE: in the assets folder), you need to use a relative link with the following format:
```
![](../../Folder/with/the/image.png)
```

a functional example is in the asset info doc as :
```
![](../../assets/images/compdoc/Asset Info Detatched.png)
```

For images in the same directory or lower, you can link to it directly as:
```
![](image.png)
or
![](subfolder/image.png)
```
however, avoid leaving assets in the same directory or a subdirectory as this will make them navigable in the left-hand sidebar.

### Videos

needs to be in HTML, will update this when relevant

## Linking

You can replace any link in markdown with custom text (also known as aliasing) with the following: ``[address.com](replaced text)``

For linking so a section within an article, use:
``[Section Name](Article.md#section-name-in-lowercase)``
# Style Guidelines

## General Rules

All articles should be written with American English with exceptions where they exist in Unity or the CVR CCK itself.

The general layout of a CCK documentation page should be as follows:
```
# Title
overview, with links to related components
## UI
include at least one image of the UI when first placed in a GameObject. try to make seperate images of subsections, or context-specific versions of the component UI
## Examples
images or videos
## Notes/Special Information
```

- The first sentence should always refer directly to the component by name. (EG: "The CVR Translatable component does blah blah blah")
- in the abstract, describe what the component enables, not what happens in game.
- Follow Wikipedia's "first link" rule. When a linkable item appears in a document, only link the first instance not in an info box. this does not apply to link lists (EG: "see also" lists)

MKDocs does not support space-indenting or asterisk (\*) bullet points. When making indented lists, *ALWAYS* use tab-indents, and preferably with hyphen (-) or numerical bullets. Dropdown lists (+) are also supported, but are not currently used in officially submitted content.

### Title HTML

Add ```<div class="whitelisted" data-list="AWP"></div>``` after the name of the component in the header. Remove the "A" (avatars) "W" (worlds) and "P" (props) as needed to match the whitelisting. This will display the appropriate compatibility icons in the header.

## Addressing the User

Always refer to the user as "players" or "player", we are making a game. If direct addressing is required, use "you" or "your". Otherwise, use generally semi-formal writing styles. Try to be succinct and clear without being cold, but avoid exclamatory statements, cheekiness, or "twittery", "just-like-you" language using memes or emojis.
## Addressing the Game

Use the proper full name "ChilloutVR" when addressing the game. The abbreviation "CVR" is also acceptable under certain circumstances such as unavoidable repetition, or referencing things that exist in-game or within the CCK already using it.

### Addressing ABI

When addressing Alpha Blend Interactive, please use first-person plural pronouns, such as "we", "our", and "us". There shouldn't be any instances where the full company name is used, but if needed, use the full proper company name: "Alpha Blend Interactive, Inc.".

## Embed Rules

This section is incomplete and will be added to over time.

*You may not:*

- Add files or assets for use directly within Unity
25 changes: 21 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ This repository contains the source files for the Alpha Blend Interactive Docume

Please contribute using [GitHub Flow](https://guides.github.com/introduction/flow). Create a fork, add commits, and [open a pull request](https://github.com/Alpha-Blend-Interactive/docs/compare).

For guidance writing new documents for CCK components, please follow our [style guide](https://github.com/Alpha-Blend-Interactive/docs/blob/master/CONTRIBUTING.md).

### ABI employee's / ABI internal contributors

For any changes, make a feature branch.
Expand All @@ -33,8 +35,23 @@ We recommend previewing the site before submitting your PR. To preview the site

### Install python, dependencies and mkdocs

#### Windows

1. Install [CPython](https://python.org)
1. `pip install -U poetry`
1. `cd path/to/docs`
1. `poetry install --no-root`
1. `mkdocs serve`
2. Open a Terminal (cmd or powershell) in the docs folder
3. Run `.\setup.bat`

#### Linux

1. Install python3
2. Create a python venv & activate it
3. `pip install -U poetry`
4. `poetry install --no-root`


### Run local development server

To run a local development server now, just run `.\serve.bat`
or `mkdocs serve` if your directly within your venv

You now have a development server running at [http://127.0.0.1:8000/](http://127.0.0.1:8000/)
2 changes: 1 addition & 1 deletion docs/cck/avatar/whitelisted-components.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,6 @@ A list of all whitelisted components for avatars.
+ [CVR Haptic Chest Area](../components/haptic-chest-area.md)
+ [CVR Toggle State Trigger](../components/state-trigger.md)
+ [CVR Advanced Avatar Trigger](../components/aas-trigger.md)
+ [CVR Pointer](../components/pointer.md)
+ [CVR Pointer](../components/CVRPointer.md)
+ [CVR Avatar](../components/avatar.md)
+ [CVR Asset Info](../components/asset-info.md)
2 changes: 1 addition & 1 deletion docs/cck/components/CVRAssetInfo.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# CVR Asset Info <div class="whitelisted" data-list="AWP"></div>

The CVR Asset Info component is the component that defines the ownership and ID of an uploaded asset such as Avatars, Worlds, or Spawnables (also known as props) in our backend infrastructure. It is automatically generated as a subcomponent to the [CVR Avatar](Avatar.md), [CVR World](World.md), and [CVR Spawnable](Spawnable.md) components.
The CVR Asset Info component is the component that defines the ownership and ID of an uploaded asset such as Avatars, Worlds, or Spawnables (also known as props) in our backend infrastructure. It is automatically generated as a subcomponent to the [CVR Avatar](CVRAvatar.md), [CVR World](CVRWorld.md), and [CVR Spawnable](CVRSpawnable.md) components.

## UI

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Combat System <div class="whitelisted" data-list="W"></div>
Adding this component enables PvP and PVE style gamemodes in your world. Best used alongside the **Damage** Component and the **Game Instance Controller** Component
Adding this component enables PvP and PVE style gamemodes in your world. Best used alongside the [Damage](Damage.md) Component and the [GameInstanceController](GameInstanceController.md) Component

### Properties

Expand Down Expand Up @@ -38,9 +38,9 @@ Adding this component enables PvP and PVE style gamemodes in your world. Best us
##### Respawn Behavior
Choose how the player will respawn upon being downed.
+ **Respawn Behavior**
* **Respawn On World:** Uses the CVRWorld Spawn Point.
* **Respawn On Point:** Uses the transform of the Respawn Point Property.
* **Respawn In Place:** Will respawn the player at the point they were downed.
- **Respawn On World:** Uses the CVRWorld Spawn Point.
- **Respawn On Point:** Uses the transform of the Respawn Point Property.
- **Respawn In Place:** Will respawn the player at the point they were downed.
+ **Respawn Point:** The GameObject Transform property the player will respawn at when using the **Respawn On Point** Respawn Behavior.
+ **Respawn Time:** The time after being down the player will respawn.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Control Point <div class="whitelisted" data-list="W"></div>
Adding this component to a GameObject with an IsTrigger collider will allow the player to obtain a score with the Game Instance Controller by being in the volume.
Adding this component to a GameObject with an IsTrigger collider will allow the player to obtain a score with the [GameInstanceController](GameInstanceController.md) by being in the volume.
> As of 2024r176 this component is not functional.

### Properties
Expand Down
2 changes: 1 addition & 1 deletion docs/cck/components/Damage.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Damage <div class="whitelisted" data-list="W"></div>
Adding this component will allow the GameObject's collider or Particle system to inflict damage to the player; if the Combat System is present in your scene.
Adding this component will allow the GameObject's collider or Particle system to inflict damage to the player; if the [CombatSystem](CombatSystem.md) is present in your scene.

### Properties

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ These are properties that control all teams and game conditions.
+ **Ready Timer** After the ready percentage has been met, this is the time in seconds before the game starts.
+ **Game Controller Type**
- **Default** Score based gamemode
- **Combat System** Elimination based gamemode
- **[Combat System](CombatSystem.md)** Elimination based gamemode
+ **Game Type**
- **Single** Each game is one round, as of game version 2024r176, Round Start and Round End Events will trigger alongside Game Start and Game End Events.
- **Rounds** Each game will consist of the amount of rounds specified in the Rounds To Win property.
Expand All @@ -37,8 +37,8 @@ These are properties that control all teams and game conditions.
- **Score** When a Team accumulates a score defined by the End Score property, the game or round will end.
- **Time** When the time in seconds defined in the End Time property is reached, the game or round will end.
- **Time or Score** When the Time or Score end condition is met, the game or round will end.
- **Elimination** A combat system only Game Type end condition. When only 1 team is remaining, the game or round will end.
- **Time or Elimination** A combat system only Game Type end condition. When the Time or Elimination end condition is met, the game or round will end.
- **Elimination** A [Combat System](CombatSystem.md) only Game Type end condition. When only 1 team is remaining, the game or round will end.
- **Time or Elimination** A [Combat System](CombatSystem.md) only Game Type end condition. When the Time or Elimination end condition is met, the game or round will end.
+ **End Score** The score required to win a round or game.
+ **End Time** The amount of time in seconds before a round or game ends.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Gun Controller <div class="whitelisted" data-list="W"></div>
This component is used as a quick way to make a ranged weapon for the Combat System.
This component is used as a quick way to make a ranged weapon for the [Combat System](CombatSystem.md).

### Properties

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Object Health <div class="whitelisted" data-list="W"></div>
Adding this component gives the GameObject properites for the Combat System. Best used alongside the **Damage** and **Game Instance Controller** components.
Adding this component gives the GameObject properites for the Combat System. Best used alongside the [Damage](Damage.md) and [GameInstanceController](GameInstanceController.md) components.

### Properties

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Score Board Controller <div class="whitelisted" data-list="W"></div>
Adding this component will allow you to display information about the Game Instance Controller in a Unity UI Canvas.
Adding this component will allow you to display information about the [GameInstanceController](GameInstanceController.md) in a Unity UI Canvas.
> As of 2024r176 Text UI is limited to Unity's legacy Text UI components. This may change in the future.

### Properties
Expand Down
10 changes: 5 additions & 5 deletions docs/cck/components/aas-trigger.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# CVR Advanced Avatar Trigger <div class="whitelisted" data-list="A"></div>
With this component you can modify your advanced avatar settings parameter values when a **[CVR Pointer](pointer.md)**
With this component you can modify your advanced avatar settings parameter values when a **[CVR Pointer](CVRPointer.md)**
enters the indicated trigger area. Size and placement can be adjusted with the settings bellow.
The trigger area will move together with its parented armature bone or game object.

Expand Down Expand Up @@ -34,11 +34,11 @@ Allow only pointers having this type set.
Parameter name of the setting to be modified.

##### Enabled Particle Interaction
Enabling this option will allow particle systems to activate this trigger. You need a [CVR Pointer](pointer.md) on the same game object
Enabling this option will allow particle systems to activate this trigger. You need a [CVR Pointer](CVRPointer.md) on the same game object
as the trigger for it to work. Particle can only trigger **On Enter Trigger**.

#### On Enter Trigger
Actions when [CVR Pointer](pointer.md) enters the trigger area.
Actions when [CVR Pointer](CVRPointer.md) enters the trigger area.

##### Setting Value
Set value that will override, added to or subtracted from the current parameter value.
Expand All @@ -55,7 +55,7 @@ The time the pointer needs to stay in the trigger area, until the trigger gets e
+ **Subtract** (Subtracts the settings value from the parameters value)

#### On Exit Trigger
Actions when [CVR Pointer](pointer.md) exits the trigger area.
Actions when [CVR Pointer](CVRPointer.md) exits the trigger area.

##### Setting Value
Set value that will override, added to or subtracted from the current parameter value.
Expand All @@ -69,7 +69,7 @@ Delay before the execution of the trigger
+ **Subtract** (Subtracts the settings value from the parameters value)

#### On Stay Trigger
Actions when [CVR Pointer](pointer.md) stays in the trigger area.
Actions when [CVR Pointer](CVRPointer.md) stays in the trigger area.

##### Update Method
+ **Set From Position** ()
Expand Down
2 changes: 1 addition & 1 deletion docs/cck/components/state-trigger.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# CVR Toggle State Trigger <div class="whitelisted" data-list="A"></div>
With this component you can modify the toggle state of your avatar when a **[CVR Pointer](pointer.md)**
With this component you can modify the toggle state of your avatar when a **[CVR Pointer](CVRPointer.md)**
enters the indicated trigger area. Size and placement can be adjusted with the settings bellow.
The trigger area will move together with its parented armature bone or game object.

Expand Down
2 changes: 1 addition & 1 deletion poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,17 @@ readme = "README.md"

[tool.poetry.dependencies]
python = "^3.11"
mkdocs = "^1.6.0"
mkdocs = "^1.6.1"
mkdocs-minify-plugin = "^0.8.0"
mkdocs-redirects = "^1.2.1"
livereload = "^2.6.3"
livereload = "^2.7.0"
mkdocs-awesome-pages-plugin = "^2.9.3"
mkdocs-extra-sass-plugin = "^0.1.0"
mkdocs-static-i18n = "^1.2.3"
mkdocs-markdownextradata-plugin = "^0.2.5"
materialx = "^1.38.10"
materialx = "^1.39.1"
mkdocs-material-extensions = "^1.3.1"
mkdocs-material = "^9.5.23"
mkdocs-material = "^9.5.40"


[build-system]
Expand Down
Loading