summaryrefslogtreecommitdiff
path: root/a.md
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-01-04 21:01:06 +0100
committermetamuffin <metamuffin@disroot.org>2025-01-04 21:01:06 +0100
commit2c1d8fdfd65ceb9361114f0105c23ff6a94bac2e (patch)
tree377b3c0928647ed9e4723e3175913df2929e24fd /a.md
downloadweareserver-2c1d8fdfd65ceb9361114f0105c23ff6a94bac2e.tar
weareserver-2c1d8fdfd65ceb9361114f0105c23ff6a94bac2e.tar.bz2
weareserver-2c1d8fdfd65ceb9361114f0105c23ff6a94bac2e.tar.zst
a
Diffstat (limited to 'a.md')
-rw-r--r--a.md66
1 files changed, 66 insertions, 0 deletions
diff --git a/a.md b/a.md
new file mode 100644
index 0000000..eeb13a9
--- /dev/null
+++ b/a.md
@@ -0,0 +1,66 @@
+## Protocol packets
+
+```rs
+type Obj = u128
+type Res = u128
+01 request_resource(name: Res)
+02 respond_resource(name: Res, data: Vec<u8>)
+03 add(id: Obj, prefab: Res)
+04 remove(id: Obj)
+05 position(id: Obj, pos: Vec3)
+06 pose(id: Obj, params: Vec<f32>)
+07 parent(parent: Obj, child: Obj)
+08 sound(id: Obj, data: Vec<u8>)
+```
+
+## Resource formats
+
+### Prefab
+
+```ts
+type Prefab = Part[];
+```
+
+### Part
+
+```ts
+type Part = {
+ mesh?: Mesh;
+ armature?: Armature;
+ fragment_shader?: Shader;
+ fragment_shader_data?: ShaderData;
+ vertex_shader?: Shader;
+ vertex_shader_data?: ShaderData;
+ texture?: Texture;
+};
+```
+
+### Mesh
+
+```
+[vertex count:u32] [index count:u32] ([x:f32] [y:f32] [z:f32] [u:f32] [v:f32])* ([n:u32])*
+```
+
+### Texture
+
+WebP
+
+### Shader
+
+glsl source, todo
+
+### ShaderData
+
+```
+([param:f32])*
+```
+
+## Player tree
+
+- LowerTorso (2x leg tilt)
+ - FootL
+ - FootR
+ - UpperTorso (2x arm tilt)
+ - HandL (5x finger, 5x tilt)
+ - HandR (5x finger, 5x tilt)
+ - Head (2x brow, 2x eyelid, 2x eye, 3x mouth)