Initialize VTube Studio plugin repository
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
/target/
|
||||
*.wasm
|
||||
*.trixie-plugin
|
||||
Generated
+7
@@ -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
@@ -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"
|
||||
@@ -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
@@ -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
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user