Initialize VTube Studio plugin repository

This commit is contained in:
2026-10-25 06:27:06 +01:00
parent 6d0a571b77
commit 2a24d1acd6
6 changed files with 89 additions and 2 deletions
+3
View File
@@ -0,0 +1,3 @@
/target/
*.wasm
*.trixie-plugin
Generated
+7
View File
@@ -0,0 +1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "trixie-vtube-studio-plugin"
version = "0.1.0"
+15
View File
@@ -0,0 +1,15 @@
[package]
name = "trixie-vtube-studio-plugin"
version = "0.1.0"
edition = "2021"
license = "MIT"
description = "Trixie WebAssembly plugin boundary for VTube Studio integrations"
[lib]
crate-type = ["cdylib"]
[profile.release]
opt-level = "z"
lto = true
codegen-units = 1
panic = "abort"
+30 -2
View File
@@ -1,3 +1,31 @@
# trixie-vtube-studio-plugin
# Trixie VTube Studio plugin
Trixie WebAssembly plugin for VTube Studio
This repository contains the independently versioned VTube Studio integration
for Trixie. It produces a WebAssembly plugin package consumed by the Trixie
server; it is not part of the Trixie server source tree.
## Boundary
The plugin may only use capabilities explicitly exposed by the versioned
Trixie plugin host API. It must not open arbitrary network connections, access
the filesystem, execute processes, read secrets, or evaluate user-provided
code. VTube Studio-specific behavior belongs here; installation, validation,
permissions, secret approval, lifecycle, limits, and isolation belong to the
Trixie server.
The initial scaffold is intentionally inert. The local VTube Studio WebSocket
connection, user approval/token flow, and action schemas will be added only
after the host contract and security review are complete.
## Development
Work on `dev`. Build the current scaffold with:
```text
rustup target add wasm32-unknown-unknown
cargo build --target wasm32-unknown-unknown --release
```
Do not place Twitch credentials, VTube Studio tokens, or generated plugin
packages in this repository. See the Trixie plan and server plugin contract
documentation for the integration boundary.
+18
View File
@@ -0,0 +1,18 @@
id = "reaperofveriod.vtube-studio"
name = "VTube Studio"
version = "0.1.0"
api_version = "1"
entrypoint = "trixie_plugin_start"
description = "Trixie integration boundary for VTube Studio actions and status."
[runtime]
kind = "wasm"
target = "wasm32-unknown-unknown"
[permissions]
# Capabilities are intentionally empty until each VTube Studio action has a
# reviewed host API, input schema, resource budget, and test fixture.
required = []
[configuration]
schema = ""
+16
View File
@@ -0,0 +1,16 @@
//! Trixie's independently released VTube Studio plugin boundary.
//!
//! This first scaffold deliberately contains no direct WebSocket, filesystem,
//! process, or secret access. Those capabilities must be provided by an
//! explicitly versioned Trixie host API after the integration contract is
//! reviewed and tested.
/// The plugin entrypoint reserved for the versioned Trixie WASM host contract.
///
/// Until the host contract is finalized, the entrypoint is inert and returns
/// zero. It exists so CI can compile and validate the repository as a plugin
/// artifact without implying that VTube Studio actions are implemented.
#[no_mangle]
pub extern "C" fn trixie_plugin_start() -> i32 {
0
}