@carbonenginejs/runtime-utils 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/NOTICE +23 -0
- package/README.md +56 -0
- package/THIRD-PARTY-NOTICES.md +38 -0
- package/docs/README.md +81 -0
- package/docs/architecture.md +101 -0
- package/docs/concepts/foundation-consolidation.md +86 -0
- package/docs/const-kb.md +92 -0
- package/docs/core-types/DECORATOR-TODOS.md +25 -0
- package/docs/core-types/README.md +203 -0
- package/docs/reference/api.md +70 -0
- package/docs/reference/classes/README.md +115 -0
- package/package.json +132 -0
- package/src/arrays.js +5 -0
- package/src/audio/audioFormats.js +34 -0
- package/src/audio/index.js +1 -0
- package/src/box3.js +1385 -0
- package/src/bytes.js +56 -0
- package/src/compression.js +56 -0
- package/src/constants/index.js +6 -0
- package/src/constants.js +15 -0
- package/src/curve.js +419 -0
- package/src/d3d/dxgiFormats.js +46 -0
- package/src/d3d/index.js +2 -0
- package/src/d3d/primitiveTopology.js +11 -0
- package/src/document/CjsCarbonDocument.js +212 -0
- package/src/document/CjsClassRegistry.js +373 -0
- package/src/document/CjsDocumentDehydrator.js +142 -0
- package/src/document/CjsDocumentHydrator.js +156 -0
- package/src/document/CjsStructRegistry.js +348 -0
- package/src/document/hydrationAdapter.js +129 -0
- package/src/document/index.js +6 -0
- package/src/geometry/box.js +137 -0
- package/src/geometry/cylinder.js +244 -0
- package/src/geometry/helpers/LICENSE +15 -0
- package/src/geometry/helpers/earcut.js +766 -0
- package/src/geometry/helpers/misc.js +103 -0
- package/src/geometry/index.js +8 -0
- package/src/geometry/json.js +165 -0
- package/src/geometry/lathe.js +172 -0
- package/src/geometry/octahedron.js +0 -0
- package/src/geometry/plane.js +81 -0
- package/src/geometry/shape.js +95 -0
- package/src/geometry/sphere.js +123 -0
- package/src/geometry/torus.js +96 -0
- package/src/graphics/colorSpaces.js +22 -0
- package/src/graphics/index.js +4 -0
- package/src/graphics/pixelFormats.js +158 -0
- package/src/graphics/textureDimensions.js +22 -0
- package/src/graphics/trinityEnums.js +87 -0
- package/src/index.js +58 -0
- package/src/is.js +524 -0
- package/src/json.js +23 -0
- package/src/lifecycle/CjsLifecycleState.js +77 -0
- package/src/lifecycle/index.js +1 -0
- package/src/lne3.js +497 -0
- package/src/lookup.js +48 -0
- package/src/mat3.js +131 -0
- package/src/mat4.js +699 -0
- package/src/math/index.js +25 -0
- package/src/math/scalar.js +63 -0
- package/src/media/index.js +1 -0
- package/src/media/mediaTypes.js +50 -0
- package/src/mesh.js +394 -0
- package/src/model/CjsEventEmitter.js +333 -0
- package/src/model/CjsModel.js +1544 -0
- package/src/model/CjsModelState.js +72 -0
- package/src/model/index.js +4 -0
- package/src/model/sourceRecordUtils.js +54 -0
- package/src/noise.js +310 -0
- package/src/num.js +827 -0
- package/src/path.js +21 -0
- package/src/pln.js +762 -0
- package/src/pool.js +160 -0
- package/src/quat.js +144 -0
- package/src/ray3.js +1085 -0
- package/src/renderContext/formats.js +145 -0
- package/src/renderContext/index.js +5 -0
- package/src/renderContext/presentation.js +125 -0
- package/src/renderContext/resources.js +27 -0
- package/src/renderContext/upscaling.js +22 -0
- package/src/renderContext/window.js +20 -0
- package/src/runtime/CjsRuntimeState.js +50 -0
- package/src/schema/CjsSchema.js +1009 -0
- package/src/schema/index.js +17 -0
- package/src/shader/index.js +1 -0
- package/src/shader/shaderStages.js +37 -0
- package/src/sph3.js +754 -0
- package/src/tangent.js +288 -0
- package/src/text.js +40 -0
- package/src/tri3.js +650 -0
- package/src/types/carbonTypes.js +635 -0
- package/src/types/index.js +2 -0
- package/src/utils.js +58 -0
- package/src/validation.js +46 -0
- package/src/vec2.js +229 -0
- package/src/vec3.js +1172 -0
- package/src/vec4.js +347 -0
- package/src/vertex.js +108 -0
- package/src/webgpu/index.js +1 -0
- package/src/webgpu/textureFormats.js +121 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity
|
|
2
|
+
// trinityal/Tr2RenderContextEnum.h (PixelFormat, DepthStencilFormat); shadercompiler/EffectData.h (TextureType)
|
|
3
|
+
|
|
4
|
+
/** Carbon numeric GPU pixel formats (distinct from the abstract graphics/pixelFormats string vocabulary). */
|
|
5
|
+
export const PixelFormat = Object.freeze({
|
|
6
|
+
PIXEL_FORMAT_UNKNOWN: 0,
|
|
7
|
+
PIXEL_FORMAT_R32G32B32A32_TYPELESS: 1,
|
|
8
|
+
PIXEL_FORMAT_R32G32B32A32_FLOAT: 2,
|
|
9
|
+
PIXEL_FORMAT_R32G32B32A32_UINT: 3,
|
|
10
|
+
PIXEL_FORMAT_R32G32B32A32_SINT: 4,
|
|
11
|
+
PIXEL_FORMAT_R32G32B32_TYPELESS: 5,
|
|
12
|
+
PIXEL_FORMAT_R32G32B32_FLOAT: 6,
|
|
13
|
+
PIXEL_FORMAT_R32G32B32_UINT: 7,
|
|
14
|
+
PIXEL_FORMAT_R32G32B32_SINT: 8,
|
|
15
|
+
PIXEL_FORMAT_R16G16B16A16_TYPELESS: 9,
|
|
16
|
+
PIXEL_FORMAT_R16G16B16A16_FLOAT: 10,
|
|
17
|
+
PIXEL_FORMAT_R16G16B16A16_UNORM: 11,
|
|
18
|
+
PIXEL_FORMAT_R16G16B16A16_UINT: 12,
|
|
19
|
+
PIXEL_FORMAT_R16G16B16A16_SNORM: 13,
|
|
20
|
+
PIXEL_FORMAT_R16G16B16A16_SINT: 14,
|
|
21
|
+
PIXEL_FORMAT_R32G32_TYPELESS: 15,
|
|
22
|
+
PIXEL_FORMAT_R32G32_FLOAT: 16,
|
|
23
|
+
PIXEL_FORMAT_R32G32_UINT: 17,
|
|
24
|
+
PIXEL_FORMAT_R32G32_SINT: 18,
|
|
25
|
+
PIXEL_FORMAT_R32G8X24_TYPELESS: 19,
|
|
26
|
+
PIXEL_FORMAT_D32_FLOAT_S8X24_UINT: 20,
|
|
27
|
+
PIXEL_FORMAT_R32_FLOAT_X8X24_TYPELESS: 21,
|
|
28
|
+
PIXEL_FORMAT_X32_TYPELESS_G8X24_UINT: 22,
|
|
29
|
+
PIXEL_FORMAT_R10G10B10A2_TYPELESS: 23,
|
|
30
|
+
PIXEL_FORMAT_R10G10B10A2_UNORM: 24,
|
|
31
|
+
PIXEL_FORMAT_R10G10B10A2_UINT: 25,
|
|
32
|
+
PIXEL_FORMAT_R11G11B10_FLOAT: 26,
|
|
33
|
+
PIXEL_FORMAT_R8G8B8A8_TYPELESS: 27,
|
|
34
|
+
PIXEL_FORMAT_R8G8B8A8_UNORM: 28,
|
|
35
|
+
PIXEL_FORMAT_R8G8B8A8_UNORM_SRGB: 29,
|
|
36
|
+
PIXEL_FORMAT_R8G8B8A8_UINT: 30,
|
|
37
|
+
PIXEL_FORMAT_R8G8B8A8_SNORM: 31,
|
|
38
|
+
PIXEL_FORMAT_R8G8B8A8_SINT: 32,
|
|
39
|
+
PIXEL_FORMAT_R16G16_TYPELESS: 33,
|
|
40
|
+
PIXEL_FORMAT_R16G16_FLOAT: 34,
|
|
41
|
+
PIXEL_FORMAT_R16G16_UNORM: 35,
|
|
42
|
+
PIXEL_FORMAT_R16G16_UINT: 36,
|
|
43
|
+
PIXEL_FORMAT_R16G16_SNORM: 37,
|
|
44
|
+
PIXEL_FORMAT_R16G16_SINT: 38,
|
|
45
|
+
PIXEL_FORMAT_R32_TYPELESS: 39,
|
|
46
|
+
PIXEL_FORMAT_D32_FLOAT: 40,
|
|
47
|
+
PIXEL_FORMAT_R32_FLOAT: 41,
|
|
48
|
+
PIXEL_FORMAT_R32_UINT: 42,
|
|
49
|
+
PIXEL_FORMAT_R32_SINT: 43,
|
|
50
|
+
PIXEL_FORMAT_R24G8_TYPELESS: 44,
|
|
51
|
+
PIXEL_FORMAT_D24_UNORM_S8_UINT: 45,
|
|
52
|
+
PIXEL_FORMAT_R24_UNORM_X8_TYPELESS: 46,
|
|
53
|
+
PIXEL_FORMAT_X24_TYPELESS_G8_UINT: 47,
|
|
54
|
+
PIXEL_FORMAT_R8G8_TYPELESS: 48,
|
|
55
|
+
PIXEL_FORMAT_R8G8_UNORM: 49,
|
|
56
|
+
PIXEL_FORMAT_R8G8_UINT: 50,
|
|
57
|
+
PIXEL_FORMAT_R8G8_SNORM: 51,
|
|
58
|
+
PIXEL_FORMAT_R8G8_SINT: 52,
|
|
59
|
+
PIXEL_FORMAT_R16_TYPELESS: 53,
|
|
60
|
+
PIXEL_FORMAT_R16_FLOAT: 54,
|
|
61
|
+
PIXEL_FORMAT_D16_UNORM: 55,
|
|
62
|
+
PIXEL_FORMAT_R16_UNORM: 56,
|
|
63
|
+
PIXEL_FORMAT_R16_UINT: 57,
|
|
64
|
+
PIXEL_FORMAT_R16_SNORM: 58,
|
|
65
|
+
PIXEL_FORMAT_R16_SINT: 59,
|
|
66
|
+
PIXEL_FORMAT_R8_TYPELESS: 60,
|
|
67
|
+
PIXEL_FORMAT_R8_UNORM: 61,
|
|
68
|
+
PIXEL_FORMAT_R8_UINT: 62,
|
|
69
|
+
PIXEL_FORMAT_R8_SNORM: 63,
|
|
70
|
+
PIXEL_FORMAT_R8_SINT: 64,
|
|
71
|
+
PIXEL_FORMAT_A8_UNORM: 65,
|
|
72
|
+
PIXEL_FORMAT_R1_UNORM: 66,
|
|
73
|
+
PIXEL_FORMAT_R9G9B9E5_SHAREDEXP: 67,
|
|
74
|
+
PIXEL_FORMAT_R8G8_B8G8_UNORM: 68,
|
|
75
|
+
PIXEL_FORMAT_G8R8_G8B8_UNORM: 69,
|
|
76
|
+
PIXEL_FORMAT_BC1_TYPELESS: 70,
|
|
77
|
+
PIXEL_FORMAT_BC1_UNORM: 71,
|
|
78
|
+
PIXEL_FORMAT_BC1_UNORM_SRGB: 72,
|
|
79
|
+
PIXEL_FORMAT_BC2_TYPELESS: 73,
|
|
80
|
+
PIXEL_FORMAT_BC2_UNORM: 74,
|
|
81
|
+
PIXEL_FORMAT_BC2_UNORM_SRGB: 75,
|
|
82
|
+
PIXEL_FORMAT_BC3_TYPELESS: 76,
|
|
83
|
+
PIXEL_FORMAT_BC3_UNORM: 77,
|
|
84
|
+
PIXEL_FORMAT_BC3_UNORM_SRGB: 78,
|
|
85
|
+
PIXEL_FORMAT_BC4_TYPELESS: 79,
|
|
86
|
+
PIXEL_FORMAT_BC4_UNORM: 80,
|
|
87
|
+
PIXEL_FORMAT_BC4_SNORM: 81,
|
|
88
|
+
PIXEL_FORMAT_BC5_TYPELESS: 82,
|
|
89
|
+
PIXEL_FORMAT_BC5_UNORM: 83,
|
|
90
|
+
PIXEL_FORMAT_BC5_SNORM: 84,
|
|
91
|
+
PIXEL_FORMAT_B5G6R5_UNORM: 85,
|
|
92
|
+
PIXEL_FORMAT_B5G5R5A1_UNORM: 86,
|
|
93
|
+
PIXEL_FORMAT_B8G8R8A8_UNORM: 87,
|
|
94
|
+
PIXEL_FORMAT_B8G8R8X8_UNORM: 88,
|
|
95
|
+
PIXEL_FORMAT_R10G10B10_XR_BIAS_A2_UNORM: 89,
|
|
96
|
+
PIXEL_FORMAT_B8G8R8A8_TYPELESS: 90,
|
|
97
|
+
PIXEL_FORMAT_B8G8R8A8_UNORM_SRGB: 91,
|
|
98
|
+
PIXEL_FORMAT_B8G8R8X8_TYPELESS: 92,
|
|
99
|
+
PIXEL_FORMAT_B8G8R8X8_UNORM_SRGB: 93,
|
|
100
|
+
PIXEL_FORMAT_BC6H_TYPELESS: 94,
|
|
101
|
+
PIXEL_FORMAT_BC6H_UF16: 95,
|
|
102
|
+
PIXEL_FORMAT_BC6H_SF16: 96,
|
|
103
|
+
PIXEL_FORMAT_BC7_TYPELESS: 97,
|
|
104
|
+
PIXEL_FORMAT_BC7_UNORM: 98,
|
|
105
|
+
PIXEL_FORMAT_BC7_UNORM_SRGB: 99,
|
|
106
|
+
PIXEL_FORMAT_SENTINEL: 100,
|
|
107
|
+
PIXEL_FORMAT_FORCE_UINT: 4294967295
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
export const DepthStencilFormat = Object.freeze({
|
|
111
|
+
DSFMT_UNKNOWN: 0,
|
|
112
|
+
DSFMT_D24S8: 1,
|
|
113
|
+
DSFMT_D24X8: 2,
|
|
114
|
+
DSFMT_D24FS8: 3,
|
|
115
|
+
DSFMT_D32F: 4,
|
|
116
|
+
DSFMT_D32: 5,
|
|
117
|
+
DSFMT_READABLE: 6,
|
|
118
|
+
DSFMT_AUTO: 7,
|
|
119
|
+
DSFMT_D16_LOCKABLE: 8,
|
|
120
|
+
DSFMT_D15S1: 9,
|
|
121
|
+
DSFMT_D24X4S4: 10,
|
|
122
|
+
DSFMT_D16: 11,
|
|
123
|
+
DSFMT_D32F_LOCKABLE: 12
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
/** Carbon texture/buffer view type (Tr2RenderContextEnum::TextureType). */
|
|
127
|
+
export const TextureType = Object.freeze({
|
|
128
|
+
TEX_TYPE_1D: 1,
|
|
129
|
+
TEX_TYPE_2D: 2,
|
|
130
|
+
TEX_TYPE_3D: 3,
|
|
131
|
+
TEX_TYPE_CUBE: 4,
|
|
132
|
+
TEX_TYPE_TYPELESS: 5,
|
|
133
|
+
TEX_TYPE_BUFFER: 6,
|
|
134
|
+
TEX_TYPE_STRUCTURED_BUFFER: 7,
|
|
135
|
+
TEX_TYPE_TBUFFER: 8,
|
|
136
|
+
TEX_TYPE_BYTEADDRESS_BUFFER: 9,
|
|
137
|
+
TEX_TYPE_UAV_RWTYPED: 10,
|
|
138
|
+
TEX_TYPE_UAV_RWSTRUCTURED: 11,
|
|
139
|
+
TEX_TYPE_UAV_RWBYTEADDRESS: 12,
|
|
140
|
+
TEX_TYPE_UAV_APPEND_STRUCTURED: 13,
|
|
141
|
+
TEX_TYPE_UAV_CONSUME_STRUCTURED: 14,
|
|
142
|
+
TEX_TYPE_UAV_RWSTRUCTURED_WITH_COUNTER: 15,
|
|
143
|
+
TEX_TYPE_RAYTRACING_ACCELERATION_STRUCTURE: 16,
|
|
144
|
+
TEX_TYPE_INVALID: 17
|
|
145
|
+
});
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity
|
|
2
|
+
// trinityal/Tr2RenderContextEnum.h (SwapEffect, PresentInterval, RenderState)
|
|
3
|
+
|
|
4
|
+
export const SwapEffect = Object.freeze({
|
|
5
|
+
SWAP_EFFECT_DISCARD: 0,
|
|
6
|
+
SWAP_EFFECT_SEQUENTIAL: 1
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
export const PresentInterval = Object.freeze({
|
|
10
|
+
PRESENT_INTERVAL_IMMEDIATE: 0,
|
|
11
|
+
PRESENT_INTERVAL_ONE: 1
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
/** Sparse D3D-derived render state ids. */
|
|
15
|
+
export const RenderState = Object.freeze({
|
|
16
|
+
RS_ZENABLE: 7,
|
|
17
|
+
RS_FILLMODE: 8,
|
|
18
|
+
RS_SHADEMODE: 9,
|
|
19
|
+
RS_ZWRITEENABLE: 14,
|
|
20
|
+
RS_ALPHATESTENABLE: 15,
|
|
21
|
+
RS_LASTPIXEL: 16,
|
|
22
|
+
RS_SRCBLEND: 19,
|
|
23
|
+
RS_DESTBLEND: 20,
|
|
24
|
+
RS_CULLMODE: 22,
|
|
25
|
+
RS_ZFUNC: 23,
|
|
26
|
+
RS_ALPHAREF: 24,
|
|
27
|
+
RS_ALPHAFUNC: 25,
|
|
28
|
+
RS_DITHERENABLE: 26,
|
|
29
|
+
RS_ALPHABLENDENABLE: 27,
|
|
30
|
+
RS_FOGENABLE: 28,
|
|
31
|
+
RS_SPECULARENABLE: 29,
|
|
32
|
+
RS_FOGCOLOR: 34,
|
|
33
|
+
RS_FOGTABLEMODE: 35,
|
|
34
|
+
RS_FOGSTART: 36,
|
|
35
|
+
RS_FOGEND: 37,
|
|
36
|
+
RS_FOGDENSITY: 38,
|
|
37
|
+
RS_RANGEFOGENABLE: 48,
|
|
38
|
+
RS_STENCILENABLE: 52,
|
|
39
|
+
RS_STENCILFAIL: 53,
|
|
40
|
+
RS_STENCILZFAIL: 54,
|
|
41
|
+
RS_STENCILPASS: 55,
|
|
42
|
+
RS_STENCILFUNC: 56,
|
|
43
|
+
RS_STENCILREF: 57,
|
|
44
|
+
RS_STENCILMASK: 58,
|
|
45
|
+
RS_STENCILWRITEMASK: 59,
|
|
46
|
+
RS_TEXTUREFACTOR: 60,
|
|
47
|
+
RS_DEPTH_CLIP_ENABLE: 61,
|
|
48
|
+
RS_WRAP0: 128,
|
|
49
|
+
RS_WRAP1: 129,
|
|
50
|
+
RS_WRAP2: 130,
|
|
51
|
+
RS_WRAP3: 131,
|
|
52
|
+
RS_WRAP4: 132,
|
|
53
|
+
RS_WRAP5: 133,
|
|
54
|
+
RS_WRAP6: 134,
|
|
55
|
+
RS_WRAP7: 135,
|
|
56
|
+
RS_CLIPPING: 136,
|
|
57
|
+
RS_LIGHTING: 137,
|
|
58
|
+
RS_AMBIENT: 139,
|
|
59
|
+
RS_FOGVERTEXMODE: 140,
|
|
60
|
+
RS_COLORVERTEX: 141,
|
|
61
|
+
RS_LOCALVIEWER: 142,
|
|
62
|
+
RS_NORMALIZENORMALS: 143,
|
|
63
|
+
RS_DIFFUSEMATERIALSOURCE: 145,
|
|
64
|
+
RS_SPECULARMATERIALSOURCE: 146,
|
|
65
|
+
RS_AMBIENTMATERIALSOURCE: 147,
|
|
66
|
+
RS_EMISSIVEMATERIALSOURCE: 148,
|
|
67
|
+
RS_VERTEXBLEND: 151,
|
|
68
|
+
RS_CLIPPLANEENABLE: 152,
|
|
69
|
+
RS_POINTSIZE: 154,
|
|
70
|
+
RS_POINTSIZE_MIN: 155,
|
|
71
|
+
RS_POINTSPRITEENABLE: 156,
|
|
72
|
+
RS_POINTSCALEENABLE: 157,
|
|
73
|
+
RS_POINTSCALE_A: 158,
|
|
74
|
+
RS_POINTSCALE_B: 159,
|
|
75
|
+
RS_POINTSCALE_C: 160,
|
|
76
|
+
RS_MULTISAMPLEANTIALIAS: 161,
|
|
77
|
+
RS_MULTISAMPLEMASK: 162,
|
|
78
|
+
RS_PATCHEDGESTYLE: 163,
|
|
79
|
+
RS_DEBUGMONITORTOKEN: 165,
|
|
80
|
+
RS_POINTSIZE_MAX: 166,
|
|
81
|
+
RS_INDEXEDVERTEXBLENDENABLE: 167,
|
|
82
|
+
RS_COLORWRITEENABLE: 168,
|
|
83
|
+
RS_TWEENFACTOR: 170,
|
|
84
|
+
RS_BLENDOP: 171,
|
|
85
|
+
RS_POSITIONDEGREE: 172,
|
|
86
|
+
RS_NORMALDEGREE: 173,
|
|
87
|
+
RS_SLOPESCALEDEPTHBIAS: 175,
|
|
88
|
+
RS_ANTIALIASEDLINEENABLE: 176,
|
|
89
|
+
RS_MINTESSELLATIONLEVEL: 178,
|
|
90
|
+
RS_MAXTESSELLATIONLEVEL: 179,
|
|
91
|
+
RS_ADAPTIVETESS_X: 180,
|
|
92
|
+
RS_ADAPTIVETESS_Y: 181,
|
|
93
|
+
RS_ADAPTIVETESS_Z: 182,
|
|
94
|
+
RS_ADAPTIVETESS_W: 183,
|
|
95
|
+
RS_ENABLEADAPTIVETESSELLATION: 184,
|
|
96
|
+
RS_TWOSIDEDSTENCILMODE: 185,
|
|
97
|
+
RS_CCW_STENCILFAIL: 186,
|
|
98
|
+
RS_CCW_STENCILZFAIL: 187,
|
|
99
|
+
RS_CCW_STENCILPASS: 188,
|
|
100
|
+
RS_CCW_STENCILFUNC: 189,
|
|
101
|
+
RS_COLORWRITEENABLE1: 190,
|
|
102
|
+
RS_COLORWRITEENABLE2: 191,
|
|
103
|
+
RS_COLORWRITEENABLE3: 192,
|
|
104
|
+
RS_BLENDFACTOR: 193,
|
|
105
|
+
RS_SRGBWRITEENABLE: 194,
|
|
106
|
+
RS_DEPTHBIAS: 195,
|
|
107
|
+
RS_WRAP8: 198,
|
|
108
|
+
RS_WRAP9: 199,
|
|
109
|
+
RS_WRAP10: 200,
|
|
110
|
+
RS_WRAP11: 201,
|
|
111
|
+
RS_WRAP12: 202,
|
|
112
|
+
RS_WRAP13: 203,
|
|
113
|
+
RS_WRAP14: 204,
|
|
114
|
+
RS_WRAP15: 205,
|
|
115
|
+
RS_SEPARATEALPHABLENDENABLE: 206,
|
|
116
|
+
RS_SRCBLENDALPHA: 207,
|
|
117
|
+
RS_DESTBLENDALPHA: 208,
|
|
118
|
+
RS_BLENDOPALPHA: 209,
|
|
119
|
+
RS_ZBIAS: 47,
|
|
120
|
+
// RS_SCISSORTESTENABLE: 174 — present in ccpwgl (src/global/constant/d3d.js)
|
|
121
|
+
// but not in Carbon's Tr2RenderContextEnum::RenderState. Kept commented in
|
|
122
|
+
// case a consumer needs the D3D9 scissor-test state later.
|
|
123
|
+
RS_MAX_STATE: 210,
|
|
124
|
+
RS_FORCE_DWORD: 0
|
|
125
|
+
});
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity
|
|
2
|
+
// trinityal/Tr2RenderContextEnum.h (Tr2CpuUsage, Tr2GpuUsage namespaces)
|
|
3
|
+
|
|
4
|
+
/** CPU access usage flags. */
|
|
5
|
+
export const Tr2CpuUsage = Object.freeze({
|
|
6
|
+
NONE: 0,
|
|
7
|
+
READ: 1,
|
|
8
|
+
WRITE: 2,
|
|
9
|
+
READ_OFTEN: 5,
|
|
10
|
+
WRITE_OFTEN: 10,
|
|
11
|
+
NON_SYNCRONIZED_WRITE: 16
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
/** GPU resource usage flags. */
|
|
15
|
+
export const Tr2GpuUsage = Object.freeze({
|
|
16
|
+
NONE: 0,
|
|
17
|
+
VERTEX_BUFFER: 1,
|
|
18
|
+
INDEX_BUFFER: 2,
|
|
19
|
+
RENDER_TARGET: 4,
|
|
20
|
+
DEPTH_STENCIL: 8,
|
|
21
|
+
SHADER_RESOURCE: 16,
|
|
22
|
+
UNORDERED_ACCESS: 32,
|
|
23
|
+
COPY_DESTINATION: 64,
|
|
24
|
+
DRAW_INDIRECT_ARGS: 128,
|
|
25
|
+
ACCELERATION_STRUCTURE: 256,
|
|
26
|
+
SHARED: 512
|
|
27
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity
|
|
2
|
+
// trinityal/include/upscaling/Tr2UpscalingAL.h (Technique, Setting)
|
|
3
|
+
|
|
4
|
+
export const UpscalingTechnique = Object.freeze({
|
|
5
|
+
NONE: 0,
|
|
6
|
+
FSR1: 1,
|
|
7
|
+
FSR2: 2,
|
|
8
|
+
FSR3: 3,
|
|
9
|
+
DLSS: 4,
|
|
10
|
+
XESS: 5,
|
|
11
|
+
METALFX: 6
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
/** Upscaling quality setting flags. */
|
|
15
|
+
export const UpscalingSetting = Object.freeze({
|
|
16
|
+
NATIVE: 1,
|
|
17
|
+
ULTRA_QUALITY: 2,
|
|
18
|
+
QUALITY: 4,
|
|
19
|
+
BALANCED: 8,
|
|
20
|
+
PERFORMANCE: 16,
|
|
21
|
+
ULTRA_PERFORMANCE: 32
|
|
22
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity
|
|
2
|
+
// trinity/UI/Tr2MainWindow.h (Tr2WindowMode, Tr2WindowShowState, Tr2ImeState_MacOS namespaces)
|
|
3
|
+
|
|
4
|
+
export const Tr2WindowMode = Object.freeze({
|
|
5
|
+
FULL_SCREEN: 0,
|
|
6
|
+
WINDOWED: 1,
|
|
7
|
+
FIXED_WINDOW: 2
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
export const Tr2WindowShowState = Object.freeze({
|
|
11
|
+
NORMAL: 0,
|
|
12
|
+
MAXIMIZED: 1,
|
|
13
|
+
MINIMIZED: 2
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
export const Tr2ImeState_MacOS = Object.freeze({
|
|
17
|
+
DISABLED: 0,
|
|
18
|
+
READY: 1,
|
|
19
|
+
BLOCKING: 2
|
|
20
|
+
});
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gets an object's own CarbonEngineJS runtime state without creating it.
|
|
3
|
+
*
|
|
4
|
+
* Runtime state is intentionally stored on the object for inspection while
|
|
5
|
+
* remaining outside enumeration and serialization.
|
|
6
|
+
*
|
|
7
|
+
* @param {object|Function} target
|
|
8
|
+
* @returns {object|null}
|
|
9
|
+
*/
|
|
10
|
+
export function getRuntimeState(target)
|
|
11
|
+
{
|
|
12
|
+
assertRuntimeStateTarget(target);
|
|
13
|
+
if (!Object.prototype.hasOwnProperty.call(target, "__state")) return null;
|
|
14
|
+
|
|
15
|
+
const state = target.__state;
|
|
16
|
+
if (!state || typeof state !== "object" || Array.isArray(state))
|
|
17
|
+
{
|
|
18
|
+
throw new TypeError("Existing __state must be an object.");
|
|
19
|
+
}
|
|
20
|
+
return state;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Gets or creates an object's own non-enumerable runtime state.
|
|
25
|
+
*
|
|
26
|
+
* @param {object|Function} target
|
|
27
|
+
* @returns {object}
|
|
28
|
+
*/
|
|
29
|
+
export function ensureRuntimeState(target)
|
|
30
|
+
{
|
|
31
|
+
const existing = getRuntimeState(target);
|
|
32
|
+
if (existing) return existing;
|
|
33
|
+
|
|
34
|
+
const state = {};
|
|
35
|
+
Object.defineProperty(target, "__state", {
|
|
36
|
+
value: state,
|
|
37
|
+
enumerable: false,
|
|
38
|
+
configurable: false,
|
|
39
|
+
writable: false
|
|
40
|
+
});
|
|
41
|
+
return state;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function assertRuntimeStateTarget(target)
|
|
45
|
+
{
|
|
46
|
+
if ((typeof target !== "object" || target === null) && typeof target !== "function")
|
|
47
|
+
{
|
|
48
|
+
throw new TypeError("Runtime state requires an object or function.");
|
|
49
|
+
}
|
|
50
|
+
}
|