feat: integrate room framework and isolated subgame bundles
Complete room UI and protocol integration, move game definitions and resources behind bundle entries, publish authoritative version XML, and document single-game builds. Include all current resource changes and experiment artifacts.
This commit is contained in:
+341
@@ -0,0 +1,341 @@
|
||||
[
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
[
|
||||
[
|
||||
"cc.EffectAsset",
|
||||
[
|
||||
"_name",
|
||||
"shaders",
|
||||
"techniques"
|
||||
],
|
||||
0
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
4
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
0,
|
||||
"util/splash-screen",
|
||||
[
|
||||
{
|
||||
"hash": 3189094080,
|
||||
"name": "util/splash-screen|splash-screen-vs:vert|splash-screen-fs:frag",
|
||||
"blocks": [
|
||||
{
|
||||
"name": "Constant",
|
||||
"stageFlags": 1,
|
||||
"binding": 0,
|
||||
"members": [
|
||||
{
|
||||
"name": "u_buffer0",
|
||||
"type": 16,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"name": "u_buffer1",
|
||||
"type": 16,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"name": "u_projection",
|
||||
"type": 25,
|
||||
"count": 1
|
||||
}
|
||||
],
|
||||
"defines": []
|
||||
},
|
||||
{
|
||||
"name": "Factor",
|
||||
"stageFlags": 16,
|
||||
"binding": 1,
|
||||
"members": [
|
||||
{
|
||||
"name": "u_percent",
|
||||
"type": 13,
|
||||
"count": 1
|
||||
}
|
||||
],
|
||||
"defines": []
|
||||
}
|
||||
],
|
||||
"samplerTextures": [
|
||||
{
|
||||
"name": "mainTexture",
|
||||
"type": 28,
|
||||
"count": 1,
|
||||
"stageFlags": 16,
|
||||
"sampleType": 0,
|
||||
"binding": 2,
|
||||
"defines": []
|
||||
}
|
||||
],
|
||||
"samplers": [],
|
||||
"textures": [],
|
||||
"buffers": [],
|
||||
"images": [],
|
||||
"subpassInputs": [],
|
||||
"attributes": [
|
||||
{
|
||||
"name": "a_position",
|
||||
"format": 21,
|
||||
"location": 0,
|
||||
"defines": []
|
||||
},
|
||||
{
|
||||
"name": "a_texCoord",
|
||||
"format": 21,
|
||||
"location": 1,
|
||||
"defines": []
|
||||
}
|
||||
],
|
||||
"fragColors": [
|
||||
{
|
||||
"name": "cc_FragColor",
|
||||
"typename": "vec4",
|
||||
"type": 16,
|
||||
"count": 1,
|
||||
"stageFlags": 16,
|
||||
"location": 0,
|
||||
"defines": []
|
||||
}
|
||||
],
|
||||
"descriptors": [
|
||||
{
|
||||
"rate": 0,
|
||||
"blocks": [],
|
||||
"samplerTextures": [],
|
||||
"samplers": [],
|
||||
"textures": [],
|
||||
"buffers": [],
|
||||
"images": [],
|
||||
"subpassInputs": []
|
||||
},
|
||||
{
|
||||
"rate": 1,
|
||||
"blocks": [
|
||||
{
|
||||
"name": "Constant",
|
||||
"stageFlags": 1,
|
||||
"binding": 0,
|
||||
"members": [
|
||||
{
|
||||
"name": "u_buffer0",
|
||||
"type": 16,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"name": "u_buffer1",
|
||||
"type": 16,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"name": "u_projection",
|
||||
"type": 25,
|
||||
"count": 1
|
||||
}
|
||||
],
|
||||
"defines": []
|
||||
},
|
||||
{
|
||||
"name": "Factor",
|
||||
"stageFlags": 16,
|
||||
"binding": 1,
|
||||
"members": [
|
||||
{
|
||||
"name": "u_percent",
|
||||
"type": 13,
|
||||
"count": 1
|
||||
}
|
||||
],
|
||||
"defines": []
|
||||
}
|
||||
],
|
||||
"samplerTextures": [
|
||||
{
|
||||
"name": "mainTexture",
|
||||
"type": 28,
|
||||
"count": 1,
|
||||
"stageFlags": 16,
|
||||
"sampleType": 0,
|
||||
"binding": 2,
|
||||
"defines": []
|
||||
}
|
||||
],
|
||||
"samplers": [],
|
||||
"textures": [],
|
||||
"buffers": [],
|
||||
"images": [],
|
||||
"subpassInputs": []
|
||||
},
|
||||
{
|
||||
"rate": 2,
|
||||
"blocks": [],
|
||||
"samplerTextures": [],
|
||||
"samplers": [],
|
||||
"textures": [],
|
||||
"buffers": [],
|
||||
"images": [],
|
||||
"subpassInputs": []
|
||||
},
|
||||
{
|
||||
"rate": 3,
|
||||
"blocks": [],
|
||||
"samplerTextures": [],
|
||||
"samplers": [],
|
||||
"textures": [],
|
||||
"buffers": [],
|
||||
"images": [],
|
||||
"subpassInputs": []
|
||||
}
|
||||
],
|
||||
"glsl3": {
|
||||
"vert": "\nprecision mediump float;\nin vec2 a_position;\nin vec2 a_texCoord;\nout vec2 v_uv;\nlayout(std140) uniform Constant {\n vec4 u_buffer0;\n vec4 u_buffer1;\n mat4 u_projection;\n};\nvec4 vert () {\n vec2 worldPos = a_position * u_buffer1.xy + u_buffer1.zw;\n vec2 clipSpace = worldPos / u_buffer0.xy * 2.0 - 1.0;\n vec4 screenPos = u_projection * vec4(clipSpace, 0.0, 1.0);\n v_uv = a_texCoord;\n return screenPos;\n}\nvoid main() { gl_Position = vert(); }",
|
||||
"frag": "\nprecision mediump float;\nin vec2 v_uv;\nlayout(std140) uniform Factor {\n float u_percent;\n};\nuniform sampler2D mainTexture;\nvec4 frag () {\n vec4 color = texture(mainTexture, v_uv);\n float percent = clamp(u_percent, 0.0, 1.0);\n color.xyz *= percent;\n return color;\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = frag(); }"
|
||||
},
|
||||
"glsl1": {
|
||||
"vert": "\nprecision mediump float;\nattribute vec2 a_position;\nattribute vec2 a_texCoord;\nvarying vec2 v_uv;\n uniform vec4 u_buffer0;\n uniform vec4 u_buffer1;\n uniform mat4 u_projection;\nvec4 vert () {\n vec2 worldPos = a_position * u_buffer1.xy + u_buffer1.zw;\n vec2 clipSpace = worldPos / u_buffer0.xy * 2.0 - 1.0;\n vec4 screenPos = u_projection * vec4(clipSpace, 0.0, 1.0);\n v_uv = a_texCoord;\n return screenPos;\n}\nvoid main() { gl_Position = vert(); }",
|
||||
"frag": "\nprecision mediump float;\nvarying vec2 v_uv;\n uniform float u_percent;\nuniform sampler2D mainTexture;\nvec4 frag () {\n vec4 color = texture2D(mainTexture, v_uv);\n float percent = clamp(u_percent, 0.0, 1.0);\n color.xyz *= percent;\n return color;\n}\nvoid main() { gl_FragColor = frag(); }"
|
||||
},
|
||||
"builtins": {
|
||||
"globals": {
|
||||
"blocks": [],
|
||||
"samplerTextures": [],
|
||||
"buffers": [],
|
||||
"images": []
|
||||
},
|
||||
"locals": {
|
||||
"blocks": [],
|
||||
"samplerTextures": [],
|
||||
"buffers": [],
|
||||
"images": []
|
||||
},
|
||||
"statistics": {
|
||||
"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS": 6,
|
||||
"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS": 1
|
||||
}
|
||||
},
|
||||
"defines": []
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"name": "default",
|
||||
"passes": [
|
||||
{
|
||||
"program": "util/splash-screen|splash-screen-vs:vert|splash-screen-fs:frag",
|
||||
"blendState": {
|
||||
"targets": [
|
||||
{
|
||||
"blend": true,
|
||||
"blendSrc": 2,
|
||||
"blendDst": 4,
|
||||
"blendDstAlpha": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
"rasterizerState": {
|
||||
"cullMode": 0
|
||||
},
|
||||
"depthStencilState": {
|
||||
"depthTest": false,
|
||||
"depthWrite": false
|
||||
},
|
||||
"properties": {
|
||||
"mainTexture": {
|
||||
"value": "grey",
|
||||
"type": 28
|
||||
},
|
||||
"resolution": {
|
||||
"type": 14,
|
||||
"value": [
|
||||
640,
|
||||
960
|
||||
],
|
||||
"handleInfo": [
|
||||
"u_buffer0",
|
||||
0,
|
||||
14
|
||||
]
|
||||
},
|
||||
"percent": {
|
||||
"type": 13,
|
||||
"value": [
|
||||
0.5
|
||||
],
|
||||
"handleInfo": [
|
||||
"u_percent",
|
||||
0,
|
||||
13
|
||||
]
|
||||
},
|
||||
"scale": {
|
||||
"type": 14,
|
||||
"value": [
|
||||
200,
|
||||
500
|
||||
],
|
||||
"handleInfo": [
|
||||
"u_buffer1",
|
||||
0,
|
||||
14
|
||||
]
|
||||
},
|
||||
"translate": {
|
||||
"type": 14,
|
||||
"value": [
|
||||
320,
|
||||
480
|
||||
],
|
||||
"handleInfo": [
|
||||
"u_buffer1",
|
||||
2,
|
||||
14
|
||||
]
|
||||
},
|
||||
"u_buffer0": {
|
||||
"type": 16,
|
||||
"value": [
|
||||
640,
|
||||
960,
|
||||
0,
|
||||
0
|
||||
]
|
||||
},
|
||||
"u_percent": {
|
||||
"type": 13,
|
||||
"value": [
|
||||
0.5
|
||||
]
|
||||
},
|
||||
"u_buffer1": {
|
||||
"type": 16,
|
||||
"value": [
|
||||
200,
|
||||
500,
|
||||
320,
|
||||
480
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
]
|
||||
],
|
||||
0,
|
||||
0,
|
||||
[],
|
||||
[],
|
||||
[]
|
||||
]
|
||||
+4363
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user