"use strict";(self.webpackChunk=self.webpackChunk||[]).push([["node_modules_monaco-editor_esm_vs_basic-languages_wgsl_wgsl_js"],{"./node_modules/monaco-editor/esm/vs/basic-languages/wgsl/wgsl.js":function(y,o,n){n.r(o),n.d(o,{conf:function(){return c},language:function(){return v}});var c={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"}]};function e(b){let s=[];const a=b.split(/\t+|\r+|\n+| +/);for(let r=0;r<a.length;++r)a[r].length>0&&s.push(a[r]);return s}var m=e("true false"),l=e(`
|
|
alias
|
|
break
|
|
case
|
|
const
|
|
const_assert
|
|
continue
|
|
continuing
|
|
default
|
|
diagnostic
|
|
discard
|
|
else
|
|
enable
|
|
fn
|
|
for
|
|
if
|
|
let
|
|
loop
|
|
override
|
|
requires
|
|
return
|
|
struct
|
|
switch
|
|
var
|
|
while
|
|
`),u=e(`
|
|
NULL
|
|
Self
|
|
abstract
|
|
active
|
|
alignas
|
|
alignof
|
|
as
|
|
asm
|
|
asm_fragment
|
|
async
|
|
attribute
|
|
auto
|
|
await
|
|
become
|
|
binding_array
|
|
cast
|
|
catch
|
|
class
|
|
co_await
|
|
co_return
|
|
co_yield
|
|
coherent
|
|
column_major
|
|
common
|
|
compile
|
|
compile_fragment
|
|
concept
|
|
const_cast
|
|
consteval
|
|
constexpr
|
|
constinit
|
|
crate
|
|
debugger
|
|
decltype
|
|
delete
|
|
demote
|
|
demote_to_helper
|
|
do
|
|
dynamic_cast
|
|
enum
|
|
explicit
|
|
export
|
|
extends
|
|
extern
|
|
external
|
|
fallthrough
|
|
filter
|
|
final
|
|
finally
|
|
friend
|
|
from
|
|
fxgroup
|
|
get
|
|
goto
|
|
groupshared
|
|
highp
|
|
impl
|
|
implements
|
|
import
|
|
inline
|
|
instanceof
|
|
interface
|
|
layout
|
|
lowp
|
|
macro
|
|
macro_rules
|
|
match
|
|
mediump
|
|
meta
|
|
mod
|
|
module
|
|
move
|
|
mut
|
|
mutable
|
|
namespace
|
|
new
|
|
nil
|
|
noexcept
|
|
noinline
|
|
nointerpolation
|
|
noperspective
|
|
null
|
|
nullptr
|
|
of
|
|
operator
|
|
package
|
|
packoffset
|
|
partition
|
|
pass
|
|
patch
|
|
pixelfragment
|
|
precise
|
|
precision
|
|
premerge
|
|
priv
|
|
protected
|
|
pub
|
|
public
|
|
readonly
|
|
ref
|
|
regardless
|
|
register
|
|
reinterpret_cast
|
|
require
|
|
resource
|
|
restrict
|
|
self
|
|
set
|
|
shared
|
|
sizeof
|
|
smooth
|
|
snorm
|
|
static
|
|
static_assert
|
|
static_cast
|
|
std
|
|
subroutine
|
|
super
|
|
target
|
|
template
|
|
this
|
|
thread_local
|
|
throw
|
|
trait
|
|
try
|
|
type
|
|
typedef
|
|
typeid
|
|
typename
|
|
typeof
|
|
union
|
|
unless
|
|
unorm
|
|
unsafe
|
|
unsized
|
|
use
|
|
using
|
|
varying
|
|
virtual
|
|
volatile
|
|
wgsl
|
|
where
|
|
with
|
|
writeonly
|
|
yield
|
|
`),d=e(`
|
|
read write read_write
|
|
function private workgroup uniform storage
|
|
perspective linear flat
|
|
center centroid sample
|
|
vertex_index instance_index position front_facing frag_depth
|
|
local_invocation_id local_invocation_index
|
|
global_invocation_id workgroup_id num_workgroups
|
|
sample_index sample_mask
|
|
rgba8unorm
|
|
rgba8snorm
|
|
rgba8uint
|
|
rgba8sint
|
|
rgba16uint
|
|
rgba16sint
|
|
rgba16float
|
|
r32uint
|
|
r32sint
|
|
r32float
|
|
rg32uint
|
|
rg32sint
|
|
rg32float
|
|
rgba32uint
|
|
rgba32sint
|
|
rgba32float
|
|
bgra8unorm
|
|
`),p=e(`
|
|
bool
|
|
f16
|
|
f32
|
|
i32
|
|
sampler sampler_comparison
|
|
texture_depth_2d
|
|
texture_depth_2d_array
|
|
texture_depth_cube
|
|
texture_depth_cube_array
|
|
texture_depth_multisampled_2d
|
|
texture_external
|
|
texture_external
|
|
u32
|
|
`),x=e(`
|
|
array
|
|
atomic
|
|
mat2x2
|
|
mat2x3
|
|
mat2x4
|
|
mat3x2
|
|
mat3x3
|
|
mat3x4
|
|
mat4x2
|
|
mat4x3
|
|
mat4x4
|
|
ptr
|
|
texture_1d
|
|
texture_2d
|
|
texture_2d_array
|
|
texture_3d
|
|
texture_cube
|
|
texture_cube_array
|
|
texture_multisampled_2d
|
|
texture_storage_1d
|
|
texture_storage_2d
|
|
texture_storage_2d_array
|
|
texture_storage_3d
|
|
vec2
|
|
vec3
|
|
vec4
|
|
`),f=e(`
|
|
vec2i vec3i vec4i
|
|
vec2u vec3u vec4u
|
|
vec2f vec3f vec4f
|
|
vec2h vec3h vec4h
|
|
mat2x2f mat2x3f mat2x4f
|
|
mat3x2f mat3x3f mat3x4f
|
|
mat4x2f mat4x3f mat4x4f
|
|
mat2x2h mat2x3h mat2x4h
|
|
mat3x2h mat3x3h mat3x4h
|
|
mat4x2h mat4x3h mat4x4h
|
|
`),_=e(`
|
|
bitcast all any select arrayLength abs acos acosh asin asinh atan atanh atan2
|
|
ceil clamp cos cosh countLeadingZeros countOneBits countTrailingZeros cross
|
|
degrees determinant distance dot exp exp2 extractBits faceForward firstLeadingBit
|
|
firstTrailingBit floor fma fract frexp inverseBits inverseSqrt ldexp length
|
|
log log2 max min mix modf normalize pow quantizeToF16 radians reflect refract
|
|
reverseBits round saturate sign sin sinh smoothstep sqrt step tan tanh transpose
|
|
trunc dpdx dpdxCoarse dpdxFine dpdy dpdyCoarse dpdyFine fwidth fwidthCoarse fwidthFine
|
|
textureDimensions textureGather textureGatherCompare textureLoad textureNumLayers
|
|
textureNumLevels textureNumSamples textureSample textureSampleBias textureSampleCompare
|
|
textureSampleCompareLevel textureSampleGrad textureSampleLevel textureSampleBaseClampToEdge
|
|
textureStore atomicLoad atomicStore atomicAdd atomicSub atomicMax atomicMin
|
|
atomicAnd atomicOr atomicXor atomicExchange atomicCompareExchangeWeak pack4x8snorm
|
|
pack4x8unorm pack2x16snorm pack2x16unorm pack2x16float unpack4x8snorm unpack4x8unorm
|
|
unpack2x16snorm unpack2x16unorm unpack2x16float storageBarrier workgroupBarrier
|
|
workgroupUniformLoad
|
|
`),g=e(`
|
|
&
|
|
&&
|
|
->
|
|
/
|
|
=
|
|
==
|
|
!=
|
|
>
|
|
>=
|
|
<
|
|
<=
|
|
%
|
|
-
|
|
--
|
|
+
|
|
++
|
|
|
|
|
||
|
|
*
|
|
<<
|
|
>>
|
|
+=
|
|
-=
|
|
*=
|
|
/=
|
|
%=
|
|
&=
|
|
|=
|
|
^=
|
|
>>=
|
|
<<=
|
|
`),h=/enable|requires|diagnostic/,i=/[_\p{XID_Start}]\p{XID_Continue}*/u,t="variable.predefined",v={tokenPostfix:".wgsl",defaultToken:"invalid",unicode:!0,atoms:m,keywords:l,reserved:u,predeclared_enums:d,predeclared_types:p,predeclared_type_generators:x,predeclared_type_aliases:f,predeclared_intrinsics:_,operators:g,symbols:/[!%&*+\-\.\/:;<=>^|_~,]+/,tokenizer:{root:[[h,"keyword","@directive"],[i,{cases:{"@atoms":t,"@keywords":"keyword","@reserved":"invalid","@predeclared_enums":t,"@predeclared_types":t,"@predeclared_type_generators":t,"@predeclared_type_aliases":t,"@predeclared_intrinsics":t,"@default":"identifier"}}],{include:"@commentOrSpace"},{include:"@numbers"},[/[{}()\[\]]/,"@brackets"],["@","annotation","@attribute"],[/@symbols/,{cases:{"@operators":"operator","@default":"delimiter"}}],[/./,"invalid"]],commentOrSpace:[[/\s+/,"white"],[/\/\*/,"comment","@blockComment"],[/\/\/.*$/,"comment"]],blockComment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@push"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],attribute:[{include:"@commentOrSpace"},[/\w+/,"annotation","@pop"]],directive:[{include:"@commentOrSpace"},[/[()]/,"@brackets"],[/,/,"delimiter"],[i,"meta.content"],[/;/,"delimiter","@pop"]],numbers:[[/0[fh]/,"number.float"],[/[1-9][0-9]*[fh]/,"number.float"],[/[0-9]*\.[0-9]+([eE][+-]?[0-9]+)?[fh]?/,"number.float"],[/[0-9]+\.[0-9]*([eE][+-]?[0-9]+)?[fh]?/,"number.float"],[/[0-9]+[eE][+-]?[0-9]+[fh]?/,"number.float"],[/0[xX][0-9a-fA-F]*\.[0-9a-fA-F]+(?:[pP][+-]?[0-9]+[fh]?)?/,"number.hex"],[/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*(?:[pP][+-]?[0-9]+[fh]?)?/,"number.hex"],[/0[xX][0-9a-fA-F]+[pP][+-]?[0-9]+[fh]?/,"number.hex"],[/0[xX][0-9a-fA-F]+[iu]?/,"number.hex"],[/[1-9][0-9]*[iu]?/,"number"],[/0[iu]?/,"number"]]}}}}]);
|