babylon.inspector.module.d.ts 322 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587
  1. /// <reference types="react" />
  2. declare module "babylonjs-inspector/components/propertyChangedEvent" {
  3. export class PropertyChangedEvent {
  4. object: any;
  5. property: string;
  6. value: any;
  7. initialValue: any;
  8. allowNullValue?: boolean;
  9. }
  10. }
  11. declare module "babylonjs-inspector/components/replayRecorder" {
  12. import { Scene } from 'babylonjs/scene';
  13. export class ReplayRecorder {
  14. private _sceneRecorder;
  15. private _isRecording;
  16. get isRecording(): boolean;
  17. cancel(): void;
  18. trackScene(scene: Scene): void;
  19. applyDelta(json: any, scene: Scene): void;
  20. export(): void;
  21. }
  22. }
  23. declare module "babylonjs-inspector/components/globalState" {
  24. import { GLTFFileLoader, IGLTFLoaderExtension } from "babylonjs-loaders/glTF/index";
  25. import { IGLTFValidationResults } from "babylonjs-gltf2interface";
  26. import { Nullable } from "babylonjs/types";
  27. import { Observable, Observer } from "babylonjs/Misc/observable";
  28. import { ISceneLoaderPlugin, ISceneLoaderPluginAsync } from "babylonjs/Loading/sceneLoader";
  29. import { Scene } from "babylonjs/scene";
  30. import { Light } from "babylonjs/Lights/light";
  31. import { Camera } from "babylonjs/Cameras/camera";
  32. import { LightGizmo } from "babylonjs/Gizmos/lightGizmo";
  33. import { CameraGizmo } from "babylonjs/Gizmos/cameraGizmo";
  34. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  35. import { ReplayRecorder } from "babylonjs-inspector/components/replayRecorder";
  36. export class GlobalState {
  37. onSelectionChangedObservable: Observable<any>;
  38. onPropertyChangedObservable: Observable<PropertyChangedEvent>;
  39. onInspectorClosedObservable: Observable<Scene>;
  40. onTabChangedObservable: Observable<number>;
  41. onSelectionRenamedObservable: Observable<void>;
  42. onPluginActivatedObserver: Nullable<Observer<ISceneLoaderPlugin | ISceneLoaderPluginAsync>>;
  43. onNewSceneObservable: Observable<Scene>;
  44. sceneImportDefaults: {
  45. [key: string]: any;
  46. };
  47. validationResults: Nullable<IGLTFValidationResults>;
  48. onValidationResultsUpdatedObservable: Observable<Nullable<IGLTFValidationResults>>;
  49. onExtensionLoadedObservable: Observable<IGLTFLoaderExtension>;
  50. glTFLoaderExtensionDefaults: {
  51. [name: string]: {
  52. [key: string]: any;
  53. };
  54. };
  55. glTFLoaderDefaults: {
  56. [key: string]: any;
  57. };
  58. glTFLoaderExtenstions: {
  59. [key: string]: IGLTFLoaderExtension;
  60. };
  61. blockMutationUpdates: boolean;
  62. selectedLineContainerTitles: Array<string>;
  63. selectedLineContainerTitlesNoFocus: Array<string>;
  64. recorder: ReplayRecorder;
  65. private _onlyUseEulers;
  66. get onlyUseEulers(): boolean;
  67. set onlyUseEulers(value: boolean);
  68. private _ignoreBackfacesForPicking;
  69. get ignoreBackfacesForPicking(): boolean;
  70. set ignoreBackfacesForPicking(value: boolean);
  71. init(propertyChangedObservable: Observable<PropertyChangedEvent>): void;
  72. prepareGLTFPlugin(loader: GLTFFileLoader): void;
  73. lightGizmos: Array<LightGizmo>;
  74. enableLightGizmo(light: Light, enable?: boolean): void;
  75. cameraGizmos: Array<CameraGizmo>;
  76. enableCameraGizmo(camera: Camera, enable?: boolean): void;
  77. }
  78. }
  79. declare module "babylonjs-inspector/components/actionTabs/paneComponent" {
  80. import * as React from "react";
  81. import { Observable } from "babylonjs/Misc/observable";
  82. import { Scene } from "babylonjs/scene";
  83. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  84. import { GlobalState } from "babylonjs-inspector/components/globalState";
  85. export interface IPaneComponentProps {
  86. title: string;
  87. scene: Scene;
  88. selectedEntity?: any;
  89. onSelectionChangedObservable?: Observable<any>;
  90. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  91. globalState: GlobalState;
  92. }
  93. export class PaneComponent extends React.Component<IPaneComponentProps, {
  94. tag: any;
  95. }> {
  96. constructor(props: IPaneComponentProps);
  97. render(): JSX.Element | null;
  98. }
  99. }
  100. declare module "babylonjs-inspector/components/actionTabs/tabsComponent" {
  101. import * as React from "react";
  102. import { PaneComponent } from "babylonjs-inspector/components/actionTabs/paneComponent";
  103. interface ITabsComponentProps {
  104. children: any[];
  105. selectedIndex: number;
  106. onSelectedIndexChange: (value: number) => void;
  107. }
  108. export class TabsComponent extends React.Component<ITabsComponentProps> {
  109. constructor(props: ITabsComponentProps);
  110. onSelect(index: number): void;
  111. renderLabel(child: PaneComponent, index: number): JSX.Element;
  112. render(): JSX.Element;
  113. }
  114. }
  115. declare module "babylonjs-inspector/components/actionTabs/lines/textLineComponent" {
  116. import * as React from "react";
  117. interface ITextLineComponentProps {
  118. label?: string;
  119. value?: string;
  120. color?: string;
  121. underline?: boolean;
  122. onLink?: () => void;
  123. url?: string;
  124. ignoreValue?: boolean;
  125. additionalClass?: string;
  126. }
  127. export class TextLineComponent extends React.Component<ITextLineComponentProps> {
  128. constructor(props: ITextLineComponentProps);
  129. onLink(): void;
  130. renderContent(): JSX.Element | null;
  131. render(): JSX.Element;
  132. }
  133. }
  134. declare module "babylonjs-inspector/components/actionTabs/lineContainerComponent" {
  135. import * as React from "react";
  136. import { GlobalState } from "babylonjs-inspector/components/globalState";
  137. interface ILineContainerComponentProps {
  138. globalState?: GlobalState;
  139. title: string;
  140. children: any[] | any;
  141. closed?: boolean;
  142. }
  143. export class LineContainerComponent extends React.Component<ILineContainerComponentProps, {
  144. isExpanded: boolean;
  145. isHighlighted: boolean;
  146. }> {
  147. constructor(props: ILineContainerComponentProps);
  148. switchExpandedState(): void;
  149. componentDidMount(): void;
  150. renderHeader(): JSX.Element;
  151. render(): JSX.Element;
  152. }
  153. }
  154. declare module "babylonjs-inspector/components/actionTabs/lines/valueLineComponent" {
  155. import * as React from "react";
  156. interface IValueLineComponentProps {
  157. label: string;
  158. value: number;
  159. color?: string;
  160. fractionDigits?: number;
  161. units?: string;
  162. }
  163. export class ValueLineComponent extends React.Component<IValueLineComponentProps> {
  164. constructor(props: IValueLineComponentProps);
  165. render(): JSX.Element;
  166. }
  167. }
  168. declare module "babylonjs-inspector/components/actionTabs/lines/booleanLineComponent" {
  169. import * as React from "react";
  170. export interface IBooleanLineComponentProps {
  171. label: string;
  172. value: boolean;
  173. }
  174. export class BooleanLineComponent extends React.Component<IBooleanLineComponentProps> {
  175. constructor(props: IBooleanLineComponentProps);
  176. render(): JSX.Element;
  177. }
  178. }
  179. declare module "babylonjs-inspector/components/actionTabs/tabs/statisticsTabComponent" {
  180. import { PaneComponent, IPaneComponentProps } from "babylonjs-inspector/components/actionTabs/paneComponent";
  181. export class StatisticsTabComponent extends PaneComponent {
  182. private _sceneInstrumentation;
  183. private _engineInstrumentation;
  184. private _timerIntervalId;
  185. constructor(props: IPaneComponentProps);
  186. componentWillUnmount(): void;
  187. render(): JSX.Element | null;
  188. }
  189. }
  190. declare module "babylonjs-inspector/components/actionTabs/lines/checkBoxLineComponent" {
  191. import * as React from "react";
  192. import { Observable } from "babylonjs/Misc/observable";
  193. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  194. export interface ICheckBoxLineComponentProps {
  195. label: string;
  196. target?: any;
  197. propertyName?: string;
  198. isSelected?: () => boolean;
  199. onSelect?: (value: boolean) => void;
  200. onValueChanged?: () => void;
  201. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  202. }
  203. export class CheckBoxLineComponent extends React.Component<ICheckBoxLineComponentProps, {
  204. isSelected: boolean;
  205. }> {
  206. private static _UniqueIdSeed;
  207. private _uniqueId;
  208. private _localChange;
  209. constructor(props: ICheckBoxLineComponentProps);
  210. shouldComponentUpdate(nextProps: ICheckBoxLineComponentProps, nextState: {
  211. isSelected: boolean;
  212. }): boolean;
  213. onChange(): void;
  214. render(): JSX.Element;
  215. }
  216. }
  217. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/renderGridPropertyGridComponent" {
  218. import * as React from "react";
  219. import { Scene } from "babylonjs/scene";
  220. import { GlobalState } from "babylonjs-inspector/components/globalState";
  221. interface IRenderGridPropertyGridComponentProps {
  222. globalState: GlobalState;
  223. scene: Scene;
  224. }
  225. export class RenderGridPropertyGridComponent extends React.Component<IRenderGridPropertyGridComponentProps, {
  226. isEnabled: boolean;
  227. }> {
  228. private _gridMesh;
  229. constructor(props: IRenderGridPropertyGridComponentProps);
  230. componentDidMount(): void;
  231. addOrRemoveGrid(): void;
  232. render(): JSX.Element;
  233. }
  234. }
  235. declare module "babylonjs-inspector/components/actionTabs/tabs/debugTabComponent" {
  236. import { PaneComponent, IPaneComponentProps } from "babylonjs-inspector/components/actionTabs/paneComponent";
  237. export class DebugTabComponent extends PaneComponent {
  238. private _physicsViewersEnabled;
  239. constructor(props: IPaneComponentProps);
  240. switchPhysicsViewers(): void;
  241. render(): JSX.Element | null;
  242. }
  243. }
  244. declare module "babylonjs-inspector/components/actionTabs/lines/sliderLineComponent" {
  245. import * as React from "react";
  246. import { Observable } from "babylonjs/Misc/observable";
  247. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  248. interface ISliderLineComponentProps {
  249. label: string;
  250. target?: any;
  251. propertyName?: string;
  252. minimum: number;
  253. maximum: number;
  254. step: number;
  255. directValue?: number;
  256. useEuler?: boolean;
  257. onChange?: (value: number) => void;
  258. onInput?: (value: number) => void;
  259. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  260. decimalCount?: number;
  261. }
  262. export class SliderLineComponent extends React.Component<ISliderLineComponentProps, {
  263. value: number;
  264. }> {
  265. private _localChange;
  266. constructor(props: ISliderLineComponentProps);
  267. shouldComponentUpdate(nextProps: ISliderLineComponentProps, nextState: {
  268. value: number;
  269. }): boolean;
  270. onChange(newValueString: any): void;
  271. onInput(newValueString: any): void;
  272. prepareDataToRead(value: number): number;
  273. render(): JSX.Element;
  274. }
  275. }
  276. declare module "babylonjs-inspector/components/actionTabs/lines/optionsLineComponent" {
  277. import * as React from "react";
  278. import { Observable } from "babylonjs/Misc/observable";
  279. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  280. export const Null_Value: number;
  281. class ListLineOption {
  282. label: string;
  283. value: number;
  284. }
  285. interface IOptionsLineComponentProps {
  286. label: string;
  287. target: any;
  288. propertyName: string;
  289. options: ListLineOption[];
  290. noDirectUpdate?: boolean;
  291. onSelect?: (value: number) => void;
  292. extractValue?: () => number;
  293. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  294. allowNullValue?: boolean;
  295. }
  296. export class OptionsLineComponent extends React.Component<IOptionsLineComponentProps, {
  297. value: number;
  298. }> {
  299. private _localChange;
  300. private remapValueIn;
  301. private remapValueOut;
  302. constructor(props: IOptionsLineComponentProps);
  303. shouldComponentUpdate(nextProps: IOptionsLineComponentProps, nextState: {
  304. value: number;
  305. }): boolean;
  306. raiseOnPropertyChanged(newValue: number, previousValue: number): void;
  307. updateValue(valueString: string): void;
  308. render(): JSX.Element;
  309. }
  310. }
  311. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject" {
  312. /**
  313. * Class used to provide lock mechanism
  314. */
  315. export class LockObject {
  316. /**
  317. * Gets or set if the lock is engaged
  318. */
  319. lock: boolean;
  320. }
  321. }
  322. declare module "babylonjs-inspector/components/actionTabs/lines/numericInputComponent" {
  323. import * as React from "react";
  324. interface INumericInputComponentProps {
  325. label: string;
  326. value: number;
  327. step?: number;
  328. onChange: (value: number) => void;
  329. precision?: number;
  330. }
  331. export class NumericInputComponent extends React.Component<INumericInputComponentProps, {
  332. value: string;
  333. }> {
  334. static defaultProps: {
  335. step: number;
  336. };
  337. private _localChange;
  338. constructor(props: INumericInputComponentProps);
  339. shouldComponentUpdate(nextProps: INumericInputComponentProps, nextState: {
  340. value: string;
  341. }): boolean;
  342. updateValue(evt: any): void;
  343. render(): JSX.Element;
  344. }
  345. }
  346. declare module "babylonjs-inspector/components/actionTabs/lines/colorPickerComponent" {
  347. import * as React from "react";
  348. import { Color4, Color3 } from 'babylonjs/Maths/math.color';
  349. export interface IColorPickerComponentProps {
  350. value: Color4 | Color3;
  351. onColorChanged: (newOne: string) => void;
  352. disableAlpha?: boolean;
  353. }
  354. interface IColorPickerComponentState {
  355. pickerEnabled: boolean;
  356. color: {
  357. r: number;
  358. g: number;
  359. b: number;
  360. a?: number;
  361. };
  362. hex: string;
  363. }
  364. export class ColorPickerLineComponent extends React.Component<IColorPickerComponentProps, IColorPickerComponentState> {
  365. private _floatRef;
  366. private _floatHostRef;
  367. constructor(props: IColorPickerComponentProps);
  368. syncPositions(): void;
  369. shouldComponentUpdate(nextProps: IColorPickerComponentProps, nextState: IColorPickerComponentState): boolean;
  370. componentDidUpdate(): void;
  371. componentDidMount(): void;
  372. render(): JSX.Element;
  373. }
  374. }
  375. declare module "babylonjs-inspector/components/actionTabs/lines/color3LineComponent" {
  376. import * as React from "react";
  377. import { Observable } from "babylonjs/Misc/observable";
  378. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  379. import { Color3 } from 'babylonjs/Maths/math.color';
  380. export interface IColor3LineComponentProps {
  381. label: string;
  382. target: any;
  383. propertyName: string;
  384. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  385. isLinear?: boolean;
  386. }
  387. export class Color3LineComponent extends React.Component<IColor3LineComponentProps, {
  388. isExpanded: boolean;
  389. color: Color3;
  390. }> {
  391. private _localChange;
  392. constructor(props: IColor3LineComponentProps);
  393. shouldComponentUpdate(nextProps: IColor3LineComponentProps, nextState: {
  394. color: Color3;
  395. }): boolean;
  396. setPropertyValue(newColor: Color3): void;
  397. onChange(newValue: string): void;
  398. switchExpandState(): void;
  399. raiseOnPropertyChanged(previousValue: Color3): void;
  400. updateStateR(value: number): void;
  401. updateStateG(value: number): void;
  402. updateStateB(value: number): void;
  403. copyToClipboard(): void;
  404. render(): JSX.Element;
  405. }
  406. }
  407. declare module "babylonjs-inspector/components/actionTabs/lines/vector3LineComponent" {
  408. import * as React from "react";
  409. import { Vector3 } from "babylonjs/Maths/math.vector";
  410. import { Observable } from "babylonjs/Misc/observable";
  411. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  412. interface IVector3LineComponentProps {
  413. label: string;
  414. target: any;
  415. propertyName: string;
  416. step?: number;
  417. onChange?: (newvalue: Vector3) => void;
  418. useEuler?: boolean;
  419. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  420. noSlider?: boolean;
  421. }
  422. export class Vector3LineComponent extends React.Component<IVector3LineComponentProps, {
  423. isExpanded: boolean;
  424. value: Vector3;
  425. }> {
  426. static defaultProps: {
  427. step: number;
  428. };
  429. private _localChange;
  430. constructor(props: IVector3LineComponentProps);
  431. getCurrentValue(): any;
  432. shouldComponentUpdate(nextProps: IVector3LineComponentProps, nextState: {
  433. isExpanded: boolean;
  434. value: Vector3;
  435. }): boolean;
  436. switchExpandState(): void;
  437. raiseOnPropertyChanged(previousValue: Vector3): void;
  438. updateVector3(): void;
  439. updateStateX(value: number): void;
  440. updateStateY(value: number): void;
  441. updateStateZ(value: number): void;
  442. render(): JSX.Element;
  443. }
  444. }
  445. declare module "babylonjs-inspector/components/actionTabs/lines/quaternionLineComponent" {
  446. import * as React from "react";
  447. import { Observable } from "babylonjs/Misc/observable";
  448. import { Quaternion, Vector3 } from "babylonjs/Maths/math.vector";
  449. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  450. interface IQuaternionLineComponentProps {
  451. label: string;
  452. target: any;
  453. useEuler?: boolean;
  454. propertyName: string;
  455. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  456. }
  457. export class QuaternionLineComponent extends React.Component<IQuaternionLineComponentProps, {
  458. isExpanded: boolean;
  459. value: Quaternion;
  460. eulerValue: Vector3;
  461. }> {
  462. private _localChange;
  463. constructor(props: IQuaternionLineComponentProps);
  464. shouldComponentUpdate(nextProps: IQuaternionLineComponentProps, nextState: {
  465. isExpanded: boolean;
  466. value: Quaternion;
  467. eulerValue: Vector3;
  468. }): boolean;
  469. switchExpandState(): void;
  470. raiseOnPropertyChanged(currentValue: Quaternion, previousValue: Quaternion): void;
  471. updateQuaternion(): void;
  472. updateStateX(value: number): void;
  473. updateStateY(value: number): void;
  474. updateStateZ(value: number): void;
  475. updateStateW(value: number): void;
  476. updateQuaternionFromEuler(): void;
  477. updateStateEulerX(value: number): void;
  478. updateStateEulerY(value: number): void;
  479. updateStateEulerZ(value: number): void;
  480. render(): JSX.Element;
  481. }
  482. }
  483. declare module "babylonjs-inspector/components/actionTabs/lines/textInputLineComponent" {
  484. import * as React from "react";
  485. import { Observable } from "babylonjs/Misc/observable";
  486. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  487. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  488. interface ITextInputLineComponentProps {
  489. label: string;
  490. lockObject: LockObject;
  491. target?: any;
  492. propertyName?: string;
  493. value?: string;
  494. onChange?: (value: string) => void;
  495. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  496. }
  497. export class TextInputLineComponent extends React.Component<ITextInputLineComponentProps, {
  498. value: string;
  499. }> {
  500. private _localChange;
  501. constructor(props: ITextInputLineComponentProps);
  502. componentWillUnmount(): void;
  503. shouldComponentUpdate(nextProps: ITextInputLineComponentProps, nextState: {
  504. value: string;
  505. }): boolean;
  506. raiseOnPropertyChanged(newValue: string, previousValue: string): void;
  507. updateValue(value: string): void;
  508. render(): JSX.Element;
  509. }
  510. }
  511. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/customPropertyGridComponent" {
  512. import * as React from "react";
  513. import { Observable } from "babylonjs/Misc/observable";
  514. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  515. import { GlobalState } from "babylonjs-inspector/components/globalState";
  516. import { IInspectable } from 'babylonjs/Misc/iInspectable';
  517. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  518. interface ICustomPropertyGridComponentProps {
  519. globalState: GlobalState;
  520. target: any;
  521. lockObject: LockObject;
  522. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  523. }
  524. export class CustomPropertyGridComponent extends React.Component<ICustomPropertyGridComponentProps, {
  525. mode: number;
  526. }> {
  527. constructor(props: ICustomPropertyGridComponentProps);
  528. renderInspectable(inspectable: IInspectable): JSX.Element | null;
  529. render(): JSX.Element | null;
  530. }
  531. }
  532. declare module "babylonjs-inspector/components/actionTabs/lines/buttonLineComponent" {
  533. import * as React from "react";
  534. export interface IButtonLineComponentProps {
  535. label: string;
  536. onClick: () => void;
  537. }
  538. export class ButtonLineComponent extends React.Component<IButtonLineComponentProps> {
  539. constructor(props: IButtonLineComponentProps);
  540. render(): JSX.Element;
  541. }
  542. }
  543. declare module "babylonjs-inspector/components/actionTabs/lines/floatLineComponent" {
  544. import * as React from "react";
  545. import { Observable } from "babylonjs/Misc/observable";
  546. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  547. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  548. interface IFloatLineComponentProps {
  549. label: string;
  550. target: any;
  551. propertyName: string;
  552. lockObject?: LockObject;
  553. onChange?: (newValue: number) => void;
  554. isInteger?: boolean;
  555. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  556. additionalClass?: string;
  557. step?: string;
  558. digits?: number;
  559. useEuler?: boolean;
  560. min?: number;
  561. }
  562. export class FloatLineComponent extends React.Component<IFloatLineComponentProps, {
  563. value: string;
  564. }> {
  565. private _localChange;
  566. private _store;
  567. constructor(props: IFloatLineComponentProps);
  568. componentWillUnmount(): void;
  569. shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
  570. value: string;
  571. }): boolean;
  572. raiseOnPropertyChanged(newValue: number, previousValue: number): void;
  573. updateValue(valueString: string): void;
  574. lock(): void;
  575. unlock(): void;
  576. render(): JSX.Element;
  577. }
  578. }
  579. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/anchorSvgPoint" {
  580. import * as React from 'react';
  581. import { Vector2 } from 'babylonjs/Maths/math.vector';
  582. interface IAnchorSvgPointProps {
  583. control: Vector2;
  584. anchor: Vector2;
  585. active: boolean;
  586. type: string;
  587. index: string;
  588. selected: boolean;
  589. selectControlPoint: (id: string) => void;
  590. }
  591. export class AnchorSvgPoint extends React.Component<IAnchorSvgPointProps> {
  592. constructor(props: IAnchorSvgPointProps);
  593. select(): void;
  594. render(): JSX.Element;
  595. }
  596. }
  597. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/keyframeSvgPoint" {
  598. import * as React from 'react';
  599. import { Vector2 } from 'babylonjs/Maths/math.vector';
  600. export interface IKeyframeSvgPoint {
  601. keyframePoint: Vector2;
  602. rightControlPoint: Vector2 | null;
  603. leftControlPoint: Vector2 | null;
  604. id: string;
  605. selected: boolean;
  606. isLeftActive: boolean;
  607. isRightActive: boolean;
  608. curveId?: ICurveMetaData;
  609. }
  610. export interface ICurveMetaData {
  611. id: number;
  612. animationName: string;
  613. property: string;
  614. }
  615. interface IKeyframeSvgPointProps {
  616. keyframePoint: Vector2;
  617. leftControlPoint: Vector2 | null;
  618. rightControlPoint: Vector2 | null;
  619. id: string;
  620. selected: boolean;
  621. selectKeyframe: (id: string, multiselect: boolean) => void;
  622. selectedControlPoint: (type: string, id: string) => void;
  623. isLeftActive: boolean;
  624. isRightActive: boolean;
  625. }
  626. export class KeyframeSvgPoint extends React.Component<IKeyframeSvgPointProps> {
  627. constructor(props: IKeyframeSvgPointProps);
  628. select(e: React.MouseEvent<SVGImageElement>): void;
  629. render(): JSX.Element;
  630. }
  631. }
  632. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/svgDraggableArea" {
  633. import * as React from "react";
  634. import { Vector2 } from "babylonjs/Maths/math.vector";
  635. import { IKeyframeSvgPoint } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/keyframeSvgPoint";
  636. interface ISvgDraggableAreaProps {
  637. keyframeSvgPoints: IKeyframeSvgPoint[];
  638. updatePosition: (updatedKeyframe: IKeyframeSvgPoint, id: string) => void;
  639. scale: number;
  640. viewBoxScale: number;
  641. selectKeyframe: (id: string, multiselect: boolean) => void;
  642. selectedControlPoint: (type: string, id: string) => void;
  643. deselectKeyframes: () => void;
  644. removeSelectedKeyframes: (points: IKeyframeSvgPoint[]) => void;
  645. panningY: (panningY: number) => void;
  646. panningX: (panningX: number) => void;
  647. setCurrentFrame: (direction: number) => void;
  648. positionCanvas?: number;
  649. repositionCanvas?: boolean;
  650. canvasPositionEnded: () => void;
  651. resetActionableKeyframe: () => void;
  652. }
  653. export class SvgDraggableArea extends React.Component<ISvgDraggableAreaProps, {
  654. panX: number;
  655. panY: number;
  656. }> {
  657. private _active;
  658. private _isCurrentPointControl;
  659. private _currentPointId;
  660. private _draggableArea;
  661. private _panStart;
  662. private _panStop;
  663. private _playheadDrag;
  664. private _playheadSelected;
  665. private _movedX;
  666. private _movedY;
  667. readonly _dragBuffer: number;
  668. readonly _draggingMultiplier: number;
  669. constructor(props: ISvgDraggableAreaProps);
  670. componentDidMount(): void;
  671. componentWillReceiveProps(newProps: ISvgDraggableAreaProps): void;
  672. dragStart(e: React.TouchEvent<SVGSVGElement>): void;
  673. dragStart(e: React.MouseEvent<SVGSVGElement, MouseEvent>): void;
  674. drag(e: React.TouchEvent<SVGSVGElement>): void;
  675. drag(e: React.MouseEvent<SVGSVGElement, MouseEvent>): void;
  676. dragEnd(e: React.TouchEvent<SVGSVGElement>): void;
  677. dragEnd(e: React.MouseEvent<SVGSVGElement, MouseEvent>): void;
  678. getMousePosition(e: React.TouchEvent<SVGSVGElement>): Vector2 | undefined;
  679. getMousePosition(e: React.MouseEvent<SVGSVGElement, MouseEvent>): Vector2 | undefined;
  680. panDirection(): void;
  681. keyDown(e: KeyboardEvent): void;
  682. keyUp(e: KeyboardEvent): void;
  683. focus(e: React.MouseEvent<SVGSVGElement>): void;
  684. isNotControlPointActive(): boolean;
  685. render(): JSX.Element;
  686. }
  687. }
  688. declare module "babylonjs-inspector/components/actionTabs/lines/iconButtonLineComponent" {
  689. import * as React from 'react';
  690. export interface IIconButtonLineComponentProps {
  691. icon: string;
  692. onClick: () => void;
  693. tooltip: string;
  694. active?: boolean;
  695. }
  696. export class IconButtonLineComponent extends React.Component<IIconButtonLineComponentProps> {
  697. constructor(props: IIconButtonLineComponentProps);
  698. render(): JSX.Element;
  699. }
  700. }
  701. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/controls" {
  702. import * as React from "react";
  703. import { IAnimationKey } from "babylonjs/Animations/animationKey";
  704. interface IControlsProps {
  705. keyframes: IAnimationKey[] | null;
  706. selected: IAnimationKey | null;
  707. currentFrame: number;
  708. onCurrentFrameChange: (frame: number) => void;
  709. repositionCanvas: (frame: number) => void;
  710. playPause: (direction: number) => void;
  711. isPlaying: boolean;
  712. scrollable: React.RefObject<HTMLDivElement>;
  713. }
  714. export class Controls extends React.Component<IControlsProps, {
  715. selected: IAnimationKey;
  716. playingType: string;
  717. }> {
  718. readonly _sizeOfKeyframe: number;
  719. constructor(props: IControlsProps);
  720. playBackwards(): void;
  721. play(): void;
  722. pause(): void;
  723. moveToAnimationStart(): void;
  724. moveToAnimationEnd(): void;
  725. nextKeyframe(): void;
  726. previousKeyframe(): void;
  727. render(): JSX.Element;
  728. }
  729. }
  730. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/timeline" {
  731. import * as React from "react";
  732. import { IAnimationKey } from "babylonjs/Animations/animationKey";
  733. interface ITimelineProps {
  734. keyframes: IAnimationKey[] | null;
  735. selected: IAnimationKey | null;
  736. currentFrame: number;
  737. onCurrentFrameChange: (frame: number) => void;
  738. onAnimationLimitChange: (limit: number) => void;
  739. dragKeyframe: (frame: number, index: number) => void;
  740. playPause: (direction: number) => void;
  741. isPlaying: boolean;
  742. animationLimit: number;
  743. fps: number;
  744. repositionCanvas: (frame: number) => void;
  745. }
  746. export class Timeline extends React.Component<ITimelineProps, {
  747. selected: IAnimationKey;
  748. activeKeyframe: number | null;
  749. start: number;
  750. end: number;
  751. scrollWidth: number | undefined;
  752. selectionLength: number[];
  753. limitValue: number;
  754. }> {
  755. private _scrollable;
  756. private _scrollbarHandle;
  757. private _scrollContainer;
  758. private _inputAnimationLimit;
  759. private _direction;
  760. private _scrolling;
  761. private _shiftX;
  762. private _active;
  763. readonly _marginScrollbar: number;
  764. constructor(props: ITimelineProps);
  765. componentDidMount(): void;
  766. componentWillUnmount(): void;
  767. isEnterKeyUp(event: KeyboardEvent): void;
  768. onInputBlur(event: React.FocusEvent<HTMLInputElement>): void;
  769. setControlState(): void;
  770. calculateScrollWidth(start: number, end: number): number | undefined;
  771. playBackwards(event: React.MouseEvent<HTMLDivElement>): void;
  772. play(event: React.MouseEvent<HTMLDivElement>): void;
  773. pause(event: React.MouseEvent<HTMLDivElement>): void;
  774. setCurrentFrame(event: React.MouseEvent<HTMLDivElement>): void;
  775. handleLimitChange(event: React.ChangeEvent<HTMLInputElement>): void;
  776. dragStart(e: React.TouchEvent<SVGSVGElement>): void;
  777. dragStart(e: React.MouseEvent<SVGSVGElement, MouseEvent>): void;
  778. drag(e: React.TouchEvent<SVGSVGElement>): void;
  779. drag(e: React.MouseEvent<SVGSVGElement, MouseEvent>): void;
  780. isFrameBeingUsed(frame: number, direction: number): number | false;
  781. dragEnd(e: React.TouchEvent<SVGSVGElement>): void;
  782. dragEnd(e: React.MouseEvent<SVGSVGElement, MouseEvent>): void;
  783. scrollDragStart(e: React.TouchEvent<HTMLDivElement>): void;
  784. scrollDragStart(e: React.MouseEvent<HTMLDivElement, MouseEvent>): void;
  785. scrollDrag(e: React.TouchEvent<HTMLDivElement>): void;
  786. scrollDrag(e: React.MouseEvent<HTMLDivElement, MouseEvent>): void;
  787. scrollDragEnd(e: React.TouchEvent<HTMLDivElement>): void;
  788. scrollDragEnd(e: React.MouseEvent<HTMLDivElement, MouseEvent>): void;
  789. moveScrollbar(pageX: number): void;
  790. resizeScrollbarRight(clientX: number): void;
  791. resizeScrollbarLeft(clientX: number): void;
  792. range(start: number, end: number): number[];
  793. getKeyframe(frame: number): false | IAnimationKey | undefined;
  794. getCurrentFrame(frame: number): boolean;
  795. render(): JSX.Element;
  796. }
  797. }
  798. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/notification" {
  799. import * as React from 'react';
  800. interface IPlayheadProps {
  801. message: string;
  802. open: boolean;
  803. close: () => void;
  804. }
  805. export class Notification extends React.Component<IPlayheadProps> {
  806. constructor(props: IPlayheadProps);
  807. render(): JSX.Element;
  808. }
  809. }
  810. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/graphActionsBar" {
  811. import * as React from 'react';
  812. import { IActionableKeyFrame } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/animationCurveEditorComponent";
  813. interface IGraphActionsBarProps {
  814. addKeyframe: () => void;
  815. removeKeyframe: () => void;
  816. handleValueChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
  817. handleFrameChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
  818. flatTangent: () => void;
  819. brokeTangents: () => void;
  820. setLerpMode: () => void;
  821. brokenMode: boolean;
  822. lerpMode: boolean;
  823. actionableKeyframe: IActionableKeyFrame;
  824. title: string;
  825. close: (event: any) => void;
  826. enabled: boolean;
  827. setKeyframeValue: () => void;
  828. }
  829. export class GraphActionsBar extends React.Component<IGraphActionsBarProps> {
  830. private _frameInput;
  831. private _valueInput;
  832. constructor(props: IGraphActionsBarProps);
  833. componentDidMount(): void;
  834. componentWillUnmount(): void;
  835. isEnterKeyUp(event: KeyboardEvent): void;
  836. onBlur(event: React.FocusEvent<HTMLInputElement>): void;
  837. render(): JSX.Element;
  838. }
  839. }
  840. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/addAnimation" {
  841. import * as React from "react";
  842. import { Observable } from "babylonjs/Misc/observable";
  843. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  844. import { Animation } from "babylonjs/Animations/animation";
  845. import { IAnimatable } from "babylonjs/Animations/animatable.interface";
  846. interface IAddAnimationProps {
  847. isOpen: boolean;
  848. close: () => void;
  849. entity: IAnimatable;
  850. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  851. setNotificationMessage: (message: string) => void;
  852. finishedUpdate: () => void;
  853. addedNewAnimation: () => void;
  854. fps: number;
  855. selectedToUpdate?: Animation | undefined;
  856. }
  857. export class AddAnimation extends React.Component<IAddAnimationProps, {
  858. animationName: string;
  859. animationTargetProperty: string;
  860. animationType: number;
  861. loopMode: number;
  862. animationTargetPath: string;
  863. isUpdating: boolean;
  864. }> {
  865. constructor(props: IAddAnimationProps);
  866. setInitialState(editingAnimation?: Animation): {
  867. animationName: string;
  868. animationTargetPath: string;
  869. animationType: number;
  870. loopMode: number;
  871. animationTargetProperty: string;
  872. isUpdating: boolean;
  873. };
  874. componentWillReceiveProps(nextProps: IAddAnimationProps): void;
  875. updateAnimation(): void;
  876. getTypeAsString(type: number): "Float" | "Quaternion" | "Vector3" | "Vector2" | "Size" | "Color3" | "Color4";
  877. addAnimation(): void;
  878. raiseOnPropertyChanged(newValue: Animation[], previousValue: Animation[]): void;
  879. raiseOnPropertyUpdated(newValue: string | number | undefined, previousValue: string | number, property: string): void;
  880. handleNameChange(event: React.ChangeEvent<HTMLInputElement>): void;
  881. handlePathChange(event: React.ChangeEvent<HTMLInputElement>): void;
  882. handleTypeChange(event: React.ChangeEvent<HTMLSelectElement>): void;
  883. handlePropertyChange(event: React.ChangeEvent<HTMLInputElement>): void;
  884. handleLoopModeChange(event: React.ChangeEvent<HTMLSelectElement>): void;
  885. render(): JSX.Element;
  886. }
  887. }
  888. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/animationListTree" {
  889. import * as React from "react";
  890. import { IAnimatable } from "babylonjs/Animations/animatable.interface";
  891. import { TargetedAnimation } from "babylonjs/Animations/animationGroup";
  892. import { Observable } from "babylonjs/Misc/observable";
  893. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  894. import { Animation } from "babylonjs/Animations/animation";
  895. interface IAnimationListTreeProps {
  896. isTargetedAnimation: boolean;
  897. entity: IAnimatable | TargetedAnimation;
  898. selected: Animation | null;
  899. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  900. selectAnimation: (selected: Animation, coordinate?: SelectedCoordinate) => void;
  901. empty: () => void;
  902. editAnimation: (selected: Animation) => void;
  903. deselectAnimation: () => void;
  904. }
  905. interface Item {
  906. index: number;
  907. name: string;
  908. property: string;
  909. selected: boolean;
  910. open: boolean;
  911. }
  912. export enum SelectedCoordinate {
  913. x = 0,
  914. y = 1,
  915. z = 2,
  916. w = 3,
  917. r = 0,
  918. g = 1,
  919. b = 2,
  920. a = 3,
  921. width = 0,
  922. height = 1
  923. }
  924. interface ItemCoordinate {
  925. id: string;
  926. color: string;
  927. coordinate: SelectedCoordinate;
  928. }
  929. export class AnimationListTree extends React.Component<IAnimationListTreeProps, {
  930. selectedCoordinate: SelectedCoordinate;
  931. selectedAnimation: number;
  932. animationList: Item[] | null;
  933. }> {
  934. constructor(props: IAnimationListTreeProps);
  935. deleteAnimation(): void;
  936. generateList(): Item[] | null;
  937. toggleProperty(index: number): void;
  938. setSelectedCoordinate(animation: Animation, coordinate: SelectedCoordinate, index: number): void;
  939. coordinateItem(i: number, animation: Animation, coordinate: string, color: string, selectedCoordinate: SelectedCoordinate): JSX.Element;
  940. typeAnimationItem(animation: Animation, i: number, childrenElements: ItemCoordinate[]): JSX.Element;
  941. setListItem(animation: Animation, i: number): JSX.Element | null;
  942. render(): JSX.Element;
  943. }
  944. }
  945. declare module "babylonjs-inspector/components/actionTabs/lines/fileButtonLineComponent" {
  946. import * as React from "react";
  947. interface IFileButtonLineComponentProps {
  948. label: string;
  949. onClick: (file: File) => void;
  950. accept: string;
  951. }
  952. export class FileButtonLineComponent extends React.Component<IFileButtonLineComponentProps> {
  953. private static _IDGenerator;
  954. private _id;
  955. private uploadInputRef;
  956. constructor(props: IFileButtonLineComponentProps);
  957. onChange(evt: any): void;
  958. render(): JSX.Element;
  959. }
  960. }
  961. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/loadsnippet" {
  962. import * as React from 'react';
  963. import { Observable } from 'babylonjs/Misc/observable';
  964. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  965. import { Animation } from 'babylonjs/Animations/animation';
  966. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  967. import { GlobalState } from "babylonjs-inspector/components/globalState";
  968. import { IAnimatable } from 'babylonjs/Animations/animatable.interface';
  969. import { TargetedAnimation } from 'babylonjs/Animations/animationGroup';
  970. interface ILoadSnippetProps {
  971. animations: Animation[];
  972. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  973. lockObject: LockObject;
  974. globalState: GlobalState;
  975. snippetServer: string;
  976. setSnippetId: (id: string) => void;
  977. entity: IAnimatable | TargetedAnimation;
  978. setNotificationMessage: (message: string) => void;
  979. animationsLoaded: (numberOfAnimations: number) => void;
  980. }
  981. export class LoadSnippet extends React.Component<ILoadSnippetProps, {
  982. snippetId: string;
  983. }> {
  984. private _serverAddress;
  985. constructor(props: ILoadSnippetProps);
  986. change(value: string): void;
  987. loadFromFile(file: File): void;
  988. loadFromSnippet(): void;
  989. render(): JSX.Element;
  990. }
  991. }
  992. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/saveSnippet" {
  993. import * as React from 'react';
  994. import { Observable } from 'babylonjs/Misc/observable';
  995. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  996. import { Animation } from 'babylonjs/Animations/animation';
  997. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  998. import { Nullable } from 'babylonjs/types';
  999. import { GlobalState } from "babylonjs-inspector/components/globalState";
  1000. interface ISaveSnippetProps {
  1001. animations: Nullable<Animation[]>;
  1002. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  1003. lockObject: LockObject;
  1004. globalState: GlobalState;
  1005. snippetServer: string;
  1006. snippetId: string;
  1007. }
  1008. export interface Snippet {
  1009. url: string;
  1010. id: string;
  1011. }
  1012. interface SelectedAnimation {
  1013. id: string;
  1014. name: string;
  1015. index: number;
  1016. selected: boolean;
  1017. }
  1018. export class SaveSnippet extends React.Component<ISaveSnippetProps, {
  1019. selectedAnimations: SelectedAnimation[];
  1020. }> {
  1021. constructor(props: ISaveSnippetProps);
  1022. handleCheckboxChange(e: React.ChangeEvent<HTMLInputElement>): void;
  1023. stringifySelectedAnimations(): string;
  1024. saveToFile(): void;
  1025. saveToSnippet(): void;
  1026. render(): JSX.Element;
  1027. }
  1028. }
  1029. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/editorControls" {
  1030. import * as React from 'react';
  1031. import { Observable } from 'babylonjs/Misc/observable';
  1032. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  1033. import { Animation } from 'babylonjs/Animations/animation';
  1034. import { SelectedCoordinate } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/animationListTree";
  1035. import { IAnimatable } from 'babylonjs/Animations/animatable.interface';
  1036. import { TargetedAnimation } from 'babylonjs/Animations/animationGroup';
  1037. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  1038. import { GlobalState } from "babylonjs-inspector/components/globalState";
  1039. interface IEditorControlsProps {
  1040. isTargetedAnimation: boolean;
  1041. entity: IAnimatable | TargetedAnimation;
  1042. selected: Animation | null;
  1043. lockObject: LockObject;
  1044. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  1045. setNotificationMessage: (message: string) => void;
  1046. selectAnimation: (selected: Animation, axis?: SelectedCoordinate) => void;
  1047. setFps: (fps: number) => void;
  1048. setIsLooping: () => void;
  1049. globalState: GlobalState;
  1050. snippetServer: string;
  1051. deselectAnimation: () => void;
  1052. fps: number;
  1053. }
  1054. export class EditorControls extends React.Component<IEditorControlsProps, {
  1055. isAnimationTabOpen: boolean;
  1056. isEditTabOpen: boolean;
  1057. isLoadTabOpen: boolean;
  1058. isSaveTabOpen: boolean;
  1059. isLoopActive: boolean;
  1060. animationsCount: number;
  1061. framesPerSecond: number;
  1062. snippetId: string;
  1063. selected: Animation | undefined;
  1064. }> {
  1065. constructor(props: IEditorControlsProps);
  1066. componentWillReceiveProps(newProps: IEditorControlsProps): void;
  1067. animationAdded(): void;
  1068. finishedUpdate(): void;
  1069. recountAnimations(): number;
  1070. changeLoopBehavior(): void;
  1071. handleTabs(tab: number): void;
  1072. handleChangeFps(fps: number): void;
  1073. emptiedList(): void;
  1074. animationsLoaded(numberOfAnimations: number): void;
  1075. editAnimation(selected: Animation): void;
  1076. render(): JSX.Element;
  1077. }
  1078. }
  1079. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/scale-label" {
  1080. import * as React from 'react';
  1081. import { CurveScale } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/animationCurveEditorComponent";
  1082. interface ISwitchButtonProps {
  1083. current: CurveScale;
  1084. action?: (event: CurveScale) => void;
  1085. }
  1086. export class ScaleLabel extends React.Component<ISwitchButtonProps, {
  1087. current: CurveScale;
  1088. }> {
  1089. constructor(props: ISwitchButtonProps);
  1090. renderLabel(scale: CurveScale): "" | "DEG" | "FLT" | "INT" | "RAD";
  1091. render(): JSX.Element;
  1092. }
  1093. }
  1094. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/animationCurveEditorComponent" {
  1095. import * as React from "react";
  1096. import { Animation } from "babylonjs/Animations/animation";
  1097. import { Vector2, Vector3, Quaternion } from "babylonjs/Maths/math.vector";
  1098. import { Color3, Color4 } from "babylonjs/Maths/math.color";
  1099. import { Size } from "babylonjs/Maths/math.size";
  1100. import { EasingFunction } from "babylonjs/Animations/easing";
  1101. import { IAnimationKey } from "babylonjs/Animations/animationKey";
  1102. import { IKeyframeSvgPoint } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/keyframeSvgPoint";
  1103. import { Scene } from "babylonjs/scene";
  1104. import { IAnimatable } from "babylonjs/Animations/animatable.interface";
  1105. import { TargetedAnimation } from "babylonjs/Animations/animationGroup";
  1106. import { SelectedCoordinate } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/animationListTree";
  1107. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  1108. import { GlobalState } from "babylonjs-inspector/components/globalState";
  1109. interface IAnimationCurveEditorComponentProps {
  1110. close: (event: any) => void;
  1111. playOrPause?: () => void;
  1112. scene: Scene;
  1113. entity: IAnimatable | TargetedAnimation;
  1114. lockObject: LockObject;
  1115. globalState: GlobalState;
  1116. }
  1117. interface ICanvasAxis {
  1118. value: number;
  1119. label: number;
  1120. }
  1121. export enum CurveScale {
  1122. float = 0,
  1123. radians = 1,
  1124. degrees = 2,
  1125. integers = 3,
  1126. default = 4
  1127. }
  1128. export interface IActionableKeyFrame {
  1129. frame?: number | string;
  1130. value?: any;
  1131. }
  1132. interface ICurveData {
  1133. pathData: string;
  1134. pathLength: number;
  1135. domCurve: React.RefObject<SVGPathElement>;
  1136. color: string;
  1137. id: string;
  1138. }
  1139. export class AnimationCurveEditorComponent extends React.Component<IAnimationCurveEditorComponentProps, {
  1140. isOpen: boolean;
  1141. selected: Animation | null;
  1142. svgKeyframes: IKeyframeSvgPoint[] | undefined;
  1143. currentFrame: number;
  1144. currentValue: number;
  1145. frameAxisLength: ICanvasAxis[];
  1146. valueAxisLength: ICanvasAxis[];
  1147. isFlatTangentMode: boolean;
  1148. isTangentMode: boolean;
  1149. isBrokenMode: boolean;
  1150. lerpMode: boolean;
  1151. scale: number;
  1152. playheadOffset: number;
  1153. notification: string;
  1154. currentPoint: SVGPoint | undefined;
  1155. playheadPos: number;
  1156. isPlaying: boolean;
  1157. selectedPathData: ICurveData[] | undefined;
  1158. selectedCoordinate: number;
  1159. animationLimit: number;
  1160. fps: number;
  1161. isLooping: boolean;
  1162. panningY: number;
  1163. panningX: number;
  1164. repositionCanvas: boolean;
  1165. actionableKeyframe: IActionableKeyFrame;
  1166. valueScale: CurveScale;
  1167. canvasLength: number;
  1168. }> {
  1169. private _snippetUrl;
  1170. private _heightScale;
  1171. private _scaleFactor;
  1172. private _currentScale;
  1173. readonly _entityName: string;
  1174. private _svgKeyframes;
  1175. private _isPlaying;
  1176. private _graphCanvas;
  1177. private _editor;
  1178. private _svgCanvas;
  1179. private _isTargetedAnimation;
  1180. private _pixelFrameUnit;
  1181. private _onBeforeRenderObserver;
  1182. private _mainAnimatable;
  1183. constructor(props: IAnimationCurveEditorComponentProps);
  1184. componentDidMount(): void;
  1185. componentDidUpdate(prevProps: IAnimationCurveEditorComponentProps, prevState: any): void;
  1186. onCurrentFrameChangeChangeScene(value: number): void;
  1187. /**
  1188. * Notifications
  1189. * To add notification we set the state and clear to make the notification bar hide.
  1190. */
  1191. clearNotification(): void;
  1192. /**
  1193. * Zoom and Scroll
  1194. * This section handles zoom and scroll
  1195. * of the graph area.
  1196. */
  1197. zoom(e: React.WheelEvent<HTMLDivElement>): void;
  1198. setFrameAxis(currentLength: number): {
  1199. value: number;
  1200. label: number;
  1201. }[];
  1202. setValueLines(type: CurveScale): ({
  1203. value: number;
  1204. label: string;
  1205. } | {
  1206. value: number;
  1207. label: number;
  1208. })[];
  1209. getValueLabel(i: number): number;
  1210. resetPlayheadOffset(): void;
  1211. encodeCurveId(animationName: string, coordinate: number): string;
  1212. decodeCurveId(id: string): {
  1213. order: number;
  1214. coordinate: number;
  1215. };
  1216. getKeyframeValueFromAnimation(id: string): {
  1217. frame: number;
  1218. value: number;
  1219. } | undefined;
  1220. /**
  1221. * Keyframe Manipulation
  1222. * This section handles events from SvgDraggableArea.
  1223. */
  1224. selectKeyframe(id: string, multiselect: boolean): void;
  1225. resetActionableKeyframe(): void;
  1226. selectedControlPoint(type: string, id: string): void;
  1227. deselectKeyframes(): void;
  1228. updateValuePerCoordinate(dataType: number, value: number | Vector2 | Vector3 | Color3 | Color4 | Size | Quaternion, newValue: number, coordinate?: number): number | Vector3 | Quaternion | Color3 | Color4 | Vector2 | Size;
  1229. renderPoints(updatedSvgKeyFrame: IKeyframeSvgPoint, id: string): void;
  1230. updateLeftControlPoint(updatedSvgKeyFrame: IKeyframeSvgPoint, key: IAnimationKey, dataType: number, coordinate: number): void;
  1231. updateRightControlPoint(updatedSvgKeyFrame: IKeyframeSvgPoint, key: IAnimationKey, dataType: number, coordinate: number): void;
  1232. handleFrameChange(event: React.ChangeEvent<HTMLInputElement>): void;
  1233. handleValueChange(event: React.ChangeEvent<HTMLInputElement>): void;
  1234. setKeyframeValue(): void;
  1235. setFlatTangent(): void;
  1236. setTangentMode(): void;
  1237. setBrokenMode(): void;
  1238. setLerpMode(): void;
  1239. addKeyframeClick(): void;
  1240. removeKeyframeClick(): void;
  1241. removeKeyframes(points: IKeyframeSvgPoint[]): void;
  1242. addKeyFrame(event: React.MouseEvent<SVGSVGElement>): void;
  1243. /**
  1244. * Curve Rendering Functions
  1245. * This section handles how to render curves.
  1246. */
  1247. setKeyframePointLinear(point: Vector2, index: number): void;
  1248. flatTangents(keyframes: IAnimationKey[], dataType: number): IAnimationKey[];
  1249. returnZero(dataType: number): 0 | Vector3 | Quaternion | Color3 | Color4 | Vector2 | Size;
  1250. getValueAsArray(valueType: number, value: number | Vector2 | Vector3 | Color3 | Color4 | Size | Quaternion): number[];
  1251. setValueAsType(valueType: number, arrayValue: number[]): number | Vector3 | Quaternion | Color3 | Color4 | Vector2 | Size;
  1252. getPathData(animation: Animation | null): ICurveData[] | undefined;
  1253. getAnimationData(animation: Animation): {
  1254. loopMode: number | undefined;
  1255. name: string;
  1256. blendingSpeed: number;
  1257. targetPropertyPath: string[];
  1258. targetProperty: string;
  1259. framesPerSecond: number;
  1260. highestFrame: number;
  1261. usesTangents: boolean;
  1262. easingType: string | undefined;
  1263. easingMode: number | undefined;
  1264. valueType: number;
  1265. };
  1266. curvePathWithTangents(keyframes: IAnimationKey[], data: string, middle: number, type: number, coordinate: number, animationName: string): string;
  1267. curvePath(keyframes: IAnimationKey[], data: string, middle: number, easingFunction: EasingFunction): string;
  1268. setKeyframePoint(controlPoints: Vector2[], index: number, keyframesCount: number): void;
  1269. interpolateControlPoints(p0: Vector2, p1: Vector2, u: number, p2: Vector2, v: number, p3: Vector2): Vector2[] | undefined;
  1270. deselectAnimation(): void;
  1271. /**
  1272. * Core functions
  1273. * This section handles main Curve Editor Functions.
  1274. */
  1275. selectAnimation(animation: Animation, coordinate?: SelectedCoordinate): void;
  1276. setMainAnimatable(): void;
  1277. isAnimationPlaying(): boolean;
  1278. stopAnimation(): void;
  1279. setIsLooping(): void;
  1280. setFramesPerSecond(fps: number): void;
  1281. analizeAnimationForLerp(animation: Animation | null): boolean;
  1282. /**
  1283. * Timeline
  1284. * This section controls the timeline.
  1285. */
  1286. changeCurrentFrame(frame: number): void;
  1287. setCanvasPosition(frame: number): void;
  1288. setCurrentFrame(direction: number): void;
  1289. changeAnimationLimit(limit: number): void;
  1290. updateFrameInKeyFrame(frame: number, index: number): void;
  1291. playPause(direction: number): void;
  1292. moveFrameTo(e: React.MouseEvent<SVGRectElement, MouseEvent>): void;
  1293. registerObs(): void;
  1294. componentWillUnmount(): void;
  1295. isCurrentFrame(frame: number): boolean;
  1296. render(): JSX.Element;
  1297. }
  1298. }
  1299. declare module "babylonjs-inspector/components/popupComponent" {
  1300. import * as React from "react";
  1301. interface IPopupComponentProps {
  1302. id: string;
  1303. title: string;
  1304. size: {
  1305. width: number;
  1306. height: number;
  1307. };
  1308. onOpen: (window: Window) => void;
  1309. onClose: (window: Window) => void;
  1310. }
  1311. export class PopupComponent extends React.Component<IPopupComponentProps, {
  1312. isComponentMounted: boolean;
  1313. blockedByBrowser: boolean;
  1314. }> {
  1315. private _container;
  1316. private _window;
  1317. private _curveEditorHost;
  1318. constructor(props: IPopupComponentProps);
  1319. componentDidMount(): void;
  1320. openPopup(): void;
  1321. componentWillUnmount(): void;
  1322. getWindow(): Window | null;
  1323. render(): React.ReactPortal | null;
  1324. }
  1325. }
  1326. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/animationPropertyGridComponent" {
  1327. import * as React from 'react';
  1328. import { Observable } from 'babylonjs/Misc/observable';
  1329. import { Scene } from 'babylonjs/scene';
  1330. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  1331. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  1332. import { GlobalState } from "babylonjs-inspector/components/globalState";
  1333. import { IAnimatable } from 'babylonjs/Animations/animatable.interface';
  1334. interface IAnimationGridComponentProps {
  1335. globalState: GlobalState;
  1336. animatable: IAnimatable;
  1337. scene: Scene;
  1338. lockObject: LockObject;
  1339. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  1340. }
  1341. export class AnimationGridComponent extends React.Component<IAnimationGridComponentProps, {
  1342. currentFrame: number;
  1343. }> {
  1344. private _animations;
  1345. private _ranges;
  1346. private _mainAnimatable;
  1347. private _onBeforeRenderObserver;
  1348. private _isPlaying;
  1349. private timelineRef;
  1350. private _isCurveEditorOpen;
  1351. private _animationControl;
  1352. constructor(props: IAnimationGridComponentProps);
  1353. playOrPause(): void;
  1354. componentDidMount(): void;
  1355. componentWillUnmount(): void;
  1356. onCurrentFrameChange(value: number): void;
  1357. onChangeFromOrTo(): void;
  1358. onOpenAnimationCurveEditor(): void;
  1359. onCloseAnimationCurveEditor(window: Window | null): void;
  1360. render(): JSX.Element;
  1361. }
  1362. }
  1363. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/commonMaterialPropertyGridComponent" {
  1364. import * as React from "react";
  1365. import { Observable } from "babylonjs/Misc/observable";
  1366. import { Material } from "babylonjs/Materials/material";
  1367. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  1368. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  1369. import { GlobalState } from "babylonjs-inspector/components/globalState";
  1370. interface ICommonMaterialPropertyGridComponentProps {
  1371. globalState: GlobalState;
  1372. material: Material;
  1373. lockObject: LockObject;
  1374. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  1375. }
  1376. export class CommonMaterialPropertyGridComponent extends React.Component<ICommonMaterialPropertyGridComponentProps> {
  1377. constructor(props: ICommonMaterialPropertyGridComponentProps);
  1378. render(): JSX.Element;
  1379. }
  1380. }
  1381. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/materialPropertyGridComponent" {
  1382. import * as React from "react";
  1383. import { Observable } from "babylonjs/Misc/observable";
  1384. import { Material } from "babylonjs/Materials/material";
  1385. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  1386. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  1387. import { GlobalState } from "babylonjs-inspector/components/globalState";
  1388. interface IMaterialPropertyGridComponentProps {
  1389. globalState: GlobalState;
  1390. material: Material;
  1391. lockObject: LockObject;
  1392. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  1393. }
  1394. export class MaterialPropertyGridComponent extends React.Component<IMaterialPropertyGridComponentProps> {
  1395. constructor(props: IMaterialPropertyGridComponentProps);
  1396. render(): JSX.Element;
  1397. }
  1398. }
  1399. declare module "babylonjs-inspector/components/actionTabs/lines/textureLinkLineComponent" {
  1400. import * as React from "react";
  1401. import { Nullable } from "babylonjs/types";
  1402. import { Observable } from "babylonjs/Misc/observable";
  1403. import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
  1404. import { Material } from "babylonjs/Materials/material";
  1405. export interface ITextureLinkLineComponentProps {
  1406. label: string;
  1407. texture: Nullable<BaseTexture>;
  1408. material?: Material;
  1409. onSelectionChangedObservable?: Observable<any>;
  1410. onDebugSelectionChangeObservable?: Observable<TextureLinkLineComponent>;
  1411. propertyName?: string;
  1412. onTextureCreated?: (texture: BaseTexture) => void;
  1413. customDebugAction?: (state: boolean) => void;
  1414. onTextureRemoved?: () => void;
  1415. }
  1416. export class TextureLinkLineComponent extends React.Component<ITextureLinkLineComponentProps, {
  1417. isDebugSelected: boolean;
  1418. }> {
  1419. private _onDebugSelectionChangeObserver;
  1420. constructor(props: ITextureLinkLineComponentProps);
  1421. componentDidMount(): void;
  1422. componentWillUnmount(): void;
  1423. debugTexture(): void;
  1424. onLink(): void;
  1425. updateTexture(file: File): void;
  1426. removeTexture(): void;
  1427. render(): JSX.Element | null;
  1428. }
  1429. }
  1430. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/standardMaterialPropertyGridComponent" {
  1431. import * as React from "react";
  1432. import { Observable } from "babylonjs/Misc/observable";
  1433. import { StandardMaterial } from "babylonjs/Materials/standardMaterial";
  1434. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  1435. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  1436. import { GlobalState } from "babylonjs-inspector/components/globalState";
  1437. interface IStandardMaterialPropertyGridComponentProps {
  1438. globalState: GlobalState;
  1439. material: StandardMaterial;
  1440. lockObject: LockObject;
  1441. onSelectionChangedObservable?: Observable<any>;
  1442. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  1443. }
  1444. export class StandardMaterialPropertyGridComponent extends React.Component<IStandardMaterialPropertyGridComponentProps> {
  1445. private _onDebugSelectionChangeObservable;
  1446. constructor(props: IStandardMaterialPropertyGridComponentProps);
  1447. renderTextures(): JSX.Element;
  1448. render(): JSX.Element;
  1449. }
  1450. }
  1451. declare module "babylonjs-inspector/lod" {
  1452. /** @hidden */
  1453. export var lodPixelShader: {
  1454. name: string;
  1455. shader: string;
  1456. };
  1457. }
  1458. declare module "babylonjs-inspector/lodCube" {
  1459. /** @hidden */
  1460. export var lodCubePixelShader: {
  1461. name: string;
  1462. shader: string;
  1463. };
  1464. }
  1465. declare module "babylonjs-inspector/textureHelper" {
  1466. import { GlobalState } from "babylonjs-inspector/components/globalState";
  1467. import { BaseTexture } from 'babylonjs/Materials/Textures/baseTexture';
  1468. import "babylonjs-inspector/lod";
  1469. import "babylonjs-inspector/lodCube";
  1470. export interface TextureChannelsToDisplay {
  1471. R: boolean;
  1472. G: boolean;
  1473. B: boolean;
  1474. A: boolean;
  1475. }
  1476. export class TextureHelper {
  1477. private static _ProcessAsync;
  1478. static GetTextureDataAsync(texture: BaseTexture, width: number, height: number, face: number, channels: TextureChannelsToDisplay, globalState?: GlobalState, lod?: number): Promise<Uint8Array>;
  1479. }
  1480. }
  1481. declare module "babylonjs-inspector/components/actionTabs/lines/textureLineComponent" {
  1482. import * as React from "react";
  1483. import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
  1484. import { GlobalState } from "babylonjs-inspector/components/globalState";
  1485. import { TextureChannelsToDisplay } from "babylonjs-inspector/textureHelper";
  1486. interface ITextureLineComponentProps {
  1487. texture: BaseTexture;
  1488. width: number;
  1489. height: number;
  1490. globalState?: GlobalState;
  1491. hideChannelSelect?: boolean;
  1492. }
  1493. export class TextureLineComponent extends React.Component<ITextureLineComponentProps, {
  1494. channels: TextureChannelsToDisplay;
  1495. face: number;
  1496. }> {
  1497. private canvasRef;
  1498. private static TextureChannelStates;
  1499. constructor(props: ITextureLineComponentProps);
  1500. shouldComponentUpdate(nextProps: ITextureLineComponentProps, nextState: {
  1501. channels: TextureChannelsToDisplay;
  1502. face: number;
  1503. }): boolean;
  1504. componentDidMount(): void;
  1505. componentDidUpdate(): void;
  1506. updatePreview(): Promise<void>;
  1507. render(): JSX.Element;
  1508. }
  1509. }
  1510. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/toolBar" {
  1511. import * as React from 'react';
  1512. import { IToolData, IToolType, IMetadata } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent";
  1513. export interface ITool extends IToolData {
  1514. instance: IToolType;
  1515. }
  1516. interface IToolBarProps {
  1517. tools: ITool[];
  1518. addTool(url: string): void;
  1519. changeTool(toolIndex: number): void;
  1520. activeToolIndex: number;
  1521. metadata: IMetadata;
  1522. setMetadata(data: any): void;
  1523. }
  1524. interface IToolBarState {
  1525. toolURL: string;
  1526. pickerOpen: boolean;
  1527. addOpen: boolean;
  1528. }
  1529. export class ToolBar extends React.Component<IToolBarProps, IToolBarState> {
  1530. private _addTool;
  1531. private _pickerRef;
  1532. constructor(props: IToolBarProps);
  1533. computeRGBAColor(): string;
  1534. render(): JSX.Element;
  1535. }
  1536. }
  1537. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/channelsBar" {
  1538. import * as React from 'react';
  1539. export interface IChannel {
  1540. visible: boolean;
  1541. editable: boolean;
  1542. name: string;
  1543. id: 'R' | 'G' | 'B' | 'A';
  1544. icon: any;
  1545. }
  1546. interface IChannelsBarProps {
  1547. channels: IChannel[];
  1548. setChannels(channelState: IChannel[]): void;
  1549. }
  1550. export class ChannelsBar extends React.Component<IChannelsBarProps> {
  1551. render(): JSX.Element;
  1552. }
  1553. }
  1554. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureCanvasManager" {
  1555. import { Scene } from 'babylonjs/scene';
  1556. import { Vector2 } from 'babylonjs/Maths/math.vector';
  1557. import { Nullable } from 'babylonjs/types';
  1558. import { BaseTexture } from 'babylonjs/Materials/Textures/baseTexture';
  1559. import { ISize } from 'babylonjs/Maths/math.size';
  1560. import { PointerInfo } from 'babylonjs/Events/pointerEvents';
  1561. import { ITool } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/toolBar";
  1562. import { IChannel } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/channelsBar";
  1563. import { StackPanel } from 'babylonjs-gui/2D/controls/stackPanel';
  1564. import { Style } from 'babylonjs-gui/2D/style';
  1565. import { AdvancedDynamicTexture } from 'babylonjs-gui/2D/advancedDynamicTexture';
  1566. import { IMetadata } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent";
  1567. export interface IPixelData {
  1568. x?: number;
  1569. y?: number;
  1570. r?: number;
  1571. g?: number;
  1572. b?: number;
  1573. a?: number;
  1574. }
  1575. export interface IToolGUI {
  1576. adt: AdvancedDynamicTexture;
  1577. toolWindow: StackPanel;
  1578. isDragging: boolean;
  1579. dragCoords: Nullable<Vector2>;
  1580. style: Style;
  1581. }
  1582. export class TextureCanvasManager {
  1583. private _engine;
  1584. private _scene;
  1585. private _camera;
  1586. private _cameraPos;
  1587. private _scale;
  1588. private _isPanning;
  1589. private _mouseX;
  1590. private _mouseY;
  1591. private _UICanvas;
  1592. private _size;
  1593. private _2DCanvas;
  1594. private _3DCanvas;
  1595. private _channelsTexture;
  1596. private _3DEngine;
  1597. private _3DPlane;
  1598. private _3DCanvasTexture;
  1599. private _3DScene;
  1600. private _channels;
  1601. private _face;
  1602. private _mipLevel;
  1603. private _originalTexture;
  1604. private _target;
  1605. private _originalInternalTexture;
  1606. private _didEdit;
  1607. private _plane;
  1608. private _planeMaterial;
  1609. private _keyMap;
  1610. private static ZOOM_MOUSE_SPEED;
  1611. private static ZOOM_KEYBOARD_SPEED;
  1612. private static ZOOM_IN_KEY;
  1613. private static ZOOM_OUT_KEY;
  1614. private static PAN_SPEED;
  1615. private static PAN_MOUSE_BUTTON;
  1616. private static MIN_SCALE;
  1617. private static MAX_SCALE;
  1618. private static SELECT_ALL_KEY;
  1619. private static DESELECT_KEY;
  1620. private _tool;
  1621. private _setPixelData;
  1622. private _GUI;
  1623. private _window;
  1624. private _metadata;
  1625. private _editing3D;
  1626. private _onUpdate;
  1627. private _setMetadata;
  1628. private _imageData;
  1629. private _canUpdate;
  1630. private _shouldUpdate;
  1631. private _paintCanvas;
  1632. constructor(texture: BaseTexture, window: Window, canvasUI: HTMLCanvasElement, canvas2D: HTMLCanvasElement, canvas3D: HTMLCanvasElement, setPixelData: (pixelData: IPixelData) => void, metadata: IMetadata, onUpdate: () => void, setMetadata: (metadata: any) => void);
  1633. updateTexture(): Promise<void>;
  1634. private queueTextureUpdate;
  1635. startPainting(): CanvasRenderingContext2D;
  1636. updatePainting(): void;
  1637. stopPainting(): void;
  1638. private updateDisplay;
  1639. set channels(channels: IChannel[]);
  1640. static paintPixelsOnCanvas(pixelData: Uint8Array, canvas: HTMLCanvasElement): void;
  1641. grabOriginalTexture(adjustZoom?: boolean): void;
  1642. getMouseCoordinates(pointerInfo: PointerInfo): Vector2;
  1643. get scene(): Scene;
  1644. get canvas2D(): HTMLCanvasElement;
  1645. get size(): ISize;
  1646. set tool(tool: Nullable<ITool>);
  1647. get tool(): Nullable<ITool>;
  1648. set face(face: number);
  1649. set mipLevel(mipLevel: number);
  1650. /** Returns the tool GUI object, allowing tools to access the GUI */
  1651. get GUI(): IToolGUI;
  1652. /** Returns the 3D scene used for postprocesses */
  1653. get scene3D(): Scene;
  1654. set metadata(metadata: IMetadata);
  1655. private makePlane;
  1656. reset(): void;
  1657. resize(newSize: ISize): Promise<void>;
  1658. setSize(size: ISize, adjustZoom?: boolean): void;
  1659. upload(file: File): void;
  1660. dispose(): void;
  1661. }
  1662. }
  1663. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/propertiesBar" {
  1664. import * as React from 'react';
  1665. import { BaseTexture } from 'babylonjs/Materials/Textures/baseTexture';
  1666. import { IPixelData } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureCanvasManager";
  1667. interface IPropertiesBarProps {
  1668. texture: BaseTexture;
  1669. saveTexture(): void;
  1670. pixelData: IPixelData;
  1671. face: number;
  1672. setFace(face: number): void;
  1673. resetTexture(): void;
  1674. resizeTexture(width: number, height: number): void;
  1675. uploadTexture(file: File): void;
  1676. mipLevel: number;
  1677. setMipLevel: (mipLevel: number) => void;
  1678. }
  1679. interface IPropertiesBarState {
  1680. width: number;
  1681. height: number;
  1682. }
  1683. export class PropertiesBar extends React.Component<IPropertiesBarProps, IPropertiesBarState> {
  1684. private _resetButton;
  1685. private _uploadButton;
  1686. private _saveButton;
  1687. private _babylonLogo;
  1688. private _resizeButton;
  1689. private _mipUp;
  1690. private _mipDown;
  1691. private _faces;
  1692. constructor(props: IPropertiesBarProps);
  1693. private pixelData;
  1694. private getNewDimension;
  1695. render(): JSX.Element;
  1696. }
  1697. }
  1698. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/bottomBar" {
  1699. import * as React from 'react';
  1700. interface BottomBarProps {
  1701. name: string;
  1702. mipLevel: number;
  1703. hasMips: boolean;
  1704. }
  1705. export class BottomBar extends React.Component<BottomBarProps> {
  1706. render(): JSX.Element;
  1707. }
  1708. }
  1709. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureCanvasComponent" {
  1710. import * as React from 'react';
  1711. import { BaseTexture } from 'babylonjs/Materials/Textures/baseTexture';
  1712. interface ITextureCanvasComponentProps {
  1713. canvasUI: React.RefObject<HTMLCanvasElement>;
  1714. canvas2D: React.RefObject<HTMLCanvasElement>;
  1715. canvas3D: React.RefObject<HTMLCanvasElement>;
  1716. texture: BaseTexture;
  1717. }
  1718. export class TextureCanvasComponent extends React.Component<ITextureCanvasComponentProps> {
  1719. shouldComponentUpdate(nextProps: ITextureCanvasComponentProps): boolean;
  1720. render(): JSX.Element;
  1721. }
  1722. }
  1723. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/defaultTools/paintbrush" {
  1724. import { IToolData } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent";
  1725. export const Paintbrush: IToolData;
  1726. }
  1727. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/defaultTools/eyedropper" {
  1728. import { IToolData } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent";
  1729. export const Eyedropper: IToolData;
  1730. }
  1731. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/defaultTools/floodfill" {
  1732. import { IToolData } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent";
  1733. export const Floodfill: IToolData;
  1734. }
  1735. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/defaultTools/contrast" {
  1736. import { IToolData } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent";
  1737. export const Contrast: IToolData;
  1738. }
  1739. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/defaultTools/rectangleSelect" {
  1740. import { IToolData } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent";
  1741. export const RectangleSelect: IToolData;
  1742. }
  1743. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/defaultTools/defaultTools" {
  1744. const _default: import("babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent").IToolData[];
  1745. export default _default;
  1746. }
  1747. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent" {
  1748. import * as React from 'react';
  1749. import { GlobalState } from "babylonjs-inspector/components/globalState";
  1750. import { IPixelData, IToolGUI } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureCanvasManager";
  1751. import { ITool } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/toolBar";
  1752. import { IChannel } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/channelsBar";
  1753. import { BaseTexture } from 'babylonjs/Materials/Textures/baseTexture';
  1754. import { Scene } from 'babylonjs/scene';
  1755. import { ISize } from 'babylonjs/Maths/math.size';
  1756. import { Vector2 } from 'babylonjs/Maths/math.vector';
  1757. import { PointerInfo } from 'babylonjs/Events/pointerEvents';
  1758. import { PopupComponent } from "babylonjs-inspector/components/popupComponent";
  1759. interface ITextureEditorComponentProps {
  1760. globalState: GlobalState;
  1761. texture: BaseTexture;
  1762. url: string;
  1763. window: React.RefObject<PopupComponent>;
  1764. onUpdate: () => void;
  1765. }
  1766. interface ITextureEditorComponentState {
  1767. tools: ITool[];
  1768. activeToolIndex: number;
  1769. metadata: IMetadata;
  1770. channels: IChannel[];
  1771. pixelData: IPixelData;
  1772. face: number;
  1773. mipLevel: number;
  1774. }
  1775. export interface IToolParameters {
  1776. /** The visible scene in the editor. Useful for adding pointer and keyboard events. */
  1777. scene: Scene;
  1778. /** The 2D canvas which you can sample pixel data from. Tools should not paint directly on this canvas. */
  1779. canvas2D: HTMLCanvasElement;
  1780. /** The 3D scene which tools can add post processes to. */
  1781. scene3D: Scene;
  1782. /** The size of the texture. */
  1783. size: ISize;
  1784. /** Pushes the editor texture back to the original scene. This should be called every time a tool makes any modification to a texture. */
  1785. updateTexture: () => void;
  1786. /** The metadata object which is shared between all tools. Feel free to store any information here. Do not set this directly: instead call setMetadata. */
  1787. metadata: IMetadata;
  1788. /** Call this when you want to mutate the metadata. */
  1789. setMetadata: (data: any) => void;
  1790. /** Returns the texture coordinates under the cursor */
  1791. getMouseCoordinates: (pointerInfo: PointerInfo) => Vector2;
  1792. /** An object which holds the GUI's ADT as well as the tool window. */
  1793. GUI: IToolGUI;
  1794. /** Provides access to the BABYLON namespace */
  1795. BABYLON: any;
  1796. /** Provides a canvas that you can use the canvas API to paint on. */
  1797. startPainting: () => CanvasRenderingContext2D;
  1798. /** After you have painted on your canvas, call this method to push the updates back to the texture. */
  1799. updatePainting: () => void;
  1800. /** Call this when you are finished painting. */
  1801. stopPainting: () => void;
  1802. }
  1803. /** An interface representing the definition of a tool */
  1804. export interface IToolData {
  1805. /** Name to display on the toolbar */
  1806. name: string;
  1807. /** A class definition for the tool including setup and cleanup methods */
  1808. type: IToolConstructable;
  1809. /** An SVG icon encoded in Base64 */
  1810. icon: string;
  1811. /** Whether the tool uses the draggable GUI window */
  1812. usesWindow?: boolean;
  1813. /** Whether the tool uses postprocesses */
  1814. is3D?: boolean;
  1815. }
  1816. export interface IToolType {
  1817. /** Called when the tool is selected. */
  1818. setup: () => void;
  1819. /** Called when the tool is deselected. */
  1820. cleanup: () => void;
  1821. /** Optional. Called when the user resets the texture or uploads a new texture. Tools may want to reset their state when this happens. */
  1822. onReset?: () => void;
  1823. }
  1824. /** For constructable types, TS requires that you define a seperate interface which constructs your actual interface */
  1825. interface IToolConstructable {
  1826. new (getParameters: () => IToolParameters): IToolType;
  1827. }
  1828. export interface IMetadata {
  1829. color: string;
  1830. alpha: number;
  1831. select: {
  1832. x1: number;
  1833. y1: number;
  1834. x2: number;
  1835. y2: number;
  1836. };
  1837. [key: string]: any;
  1838. }
  1839. global {
  1840. var _TOOL_DATA_: IToolData;
  1841. }
  1842. export class TextureEditorComponent extends React.Component<ITextureEditorComponentProps, ITextureEditorComponentState> {
  1843. private _textureCanvasManager;
  1844. private _UICanvas;
  1845. private _2DCanvas;
  1846. private _3DCanvas;
  1847. private _timer;
  1848. private static PREVIEW_UPDATE_DELAY_MS;
  1849. constructor(props: ITextureEditorComponentProps);
  1850. componentDidMount(): void;
  1851. componentDidUpdate(): void;
  1852. componentWillUnmount(): void;
  1853. textureDidUpdate(): void;
  1854. loadToolFromURL(url: string): void;
  1855. addTools(tools: IToolData[]): void;
  1856. getToolParameters(): IToolParameters;
  1857. changeTool(index: number): void;
  1858. setMetadata(newMetadata: any): void;
  1859. saveTexture(): void;
  1860. resetTexture(): void;
  1861. resizeTexture(width: number, height: number): void;
  1862. uploadTexture(file: File): void;
  1863. render(): JSX.Element;
  1864. }
  1865. }
  1866. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/texturePropertyGridComponent" {
  1867. import * as React from "react";
  1868. import { Nullable } from "babylonjs/types";
  1869. import { Observable } from "babylonjs/Misc/observable";
  1870. import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
  1871. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  1872. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  1873. import { GlobalState } from "babylonjs-inspector/components/globalState";
  1874. interface ITexturePropertyGridComponentProps {
  1875. texture: BaseTexture;
  1876. lockObject: LockObject;
  1877. globalState: GlobalState;
  1878. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  1879. }
  1880. interface ITexturePropertyGridComponentState {
  1881. isTextureEditorOpen: boolean;
  1882. textureEditing: Nullable<BaseTexture>;
  1883. }
  1884. export class TexturePropertyGridComponent extends React.Component<ITexturePropertyGridComponentProps, ITexturePropertyGridComponentState> {
  1885. private _adtInstrumentation;
  1886. private popoutWindowRef;
  1887. private textureLineRef;
  1888. constructor(props: ITexturePropertyGridComponentProps);
  1889. componentWillUnmount(): void;
  1890. updateTexture(file: File): void;
  1891. onOpenTextureEditor(): void;
  1892. onCloseTextureEditor(window: Window | null, callback?: {
  1893. (): void;
  1894. }): void;
  1895. forceRefresh(): void;
  1896. render(): JSX.Element;
  1897. }
  1898. }
  1899. declare module "babylonjs-inspector/components/actionTabs/lines/vector2LineComponent" {
  1900. import * as React from "react";
  1901. import { Vector2 } from "babylonjs/Maths/math.vector";
  1902. import { Observable } from "babylonjs/Misc/observable";
  1903. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  1904. interface IVector2LineComponentProps {
  1905. label: string;
  1906. target: any;
  1907. propertyName: string;
  1908. step?: number;
  1909. onChange?: (newvalue: Vector2) => void;
  1910. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  1911. }
  1912. export class Vector2LineComponent extends React.Component<IVector2LineComponentProps, {
  1913. isExpanded: boolean;
  1914. value: Vector2;
  1915. }> {
  1916. static defaultProps: {
  1917. step: number;
  1918. };
  1919. private _localChange;
  1920. constructor(props: IVector2LineComponentProps);
  1921. shouldComponentUpdate(nextProps: IVector2LineComponentProps, nextState: {
  1922. isExpanded: boolean;
  1923. value: Vector2;
  1924. }): boolean;
  1925. switchExpandState(): void;
  1926. raiseOnPropertyChanged(previousValue: Vector2): void;
  1927. updateStateX(value: number): void;
  1928. updateStateY(value: number): void;
  1929. render(): JSX.Element;
  1930. }
  1931. }
  1932. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/pbrMaterialPropertyGridComponent" {
  1933. import * as React from "react";
  1934. import { Observable } from "babylonjs/Misc/observable";
  1935. import { PBRMaterial } from "babylonjs/Materials/PBR/pbrMaterial";
  1936. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  1937. import { TextureLinkLineComponent } from "babylonjs-inspector/components/actionTabs/lines/textureLinkLineComponent";
  1938. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  1939. import { GlobalState } from "babylonjs-inspector/components/globalState";
  1940. interface IPBRMaterialPropertyGridComponentProps {
  1941. globalState: GlobalState;
  1942. material: PBRMaterial;
  1943. lockObject: LockObject;
  1944. onSelectionChangedObservable?: Observable<any>;
  1945. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  1946. }
  1947. export class PBRMaterialPropertyGridComponent extends React.Component<IPBRMaterialPropertyGridComponentProps> {
  1948. private _onDebugSelectionChangeObservable;
  1949. constructor(props: IPBRMaterialPropertyGridComponentProps);
  1950. switchAmbientMode(state: boolean): void;
  1951. switchMetallicMode(state: boolean): void;
  1952. switchRoughnessMode(state: boolean): void;
  1953. renderTextures(onDebugSelectionChangeObservable: Observable<TextureLinkLineComponent>): JSX.Element;
  1954. render(): JSX.Element;
  1955. }
  1956. }
  1957. declare module "babylonjs-inspector/components/actionTabs/lines/radioLineComponent" {
  1958. import * as React from "react";
  1959. import { Observable } from "babylonjs/Misc/observable";
  1960. interface IRadioButtonLineComponentProps {
  1961. onSelectionChangedObservable: Observable<RadioButtonLineComponent>;
  1962. label: string;
  1963. isSelected: () => boolean;
  1964. onSelect: () => void;
  1965. }
  1966. export class RadioButtonLineComponent extends React.Component<IRadioButtonLineComponentProps, {
  1967. isSelected: boolean;
  1968. }> {
  1969. private _onSelectionChangedObserver;
  1970. constructor(props: IRadioButtonLineComponentProps);
  1971. componentDidMount(): void;
  1972. componentWillUnmount(): void;
  1973. onChange(): void;
  1974. render(): JSX.Element;
  1975. }
  1976. }
  1977. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/fogPropertyGridComponent" {
  1978. import * as React from "react";
  1979. import { Observable } from "babylonjs/Misc/observable";
  1980. import { Scene } from "babylonjs/scene";
  1981. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  1982. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  1983. import { GlobalState } from "babylonjs-inspector/components/globalState";
  1984. interface IFogPropertyGridComponentProps {
  1985. globalState: GlobalState;
  1986. scene: Scene;
  1987. lockObject: LockObject;
  1988. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  1989. }
  1990. export class FogPropertyGridComponent extends React.Component<IFogPropertyGridComponentProps, {
  1991. mode: number;
  1992. }> {
  1993. constructor(props: IFogPropertyGridComponentProps);
  1994. render(): JSX.Element;
  1995. }
  1996. }
  1997. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/scenePropertyGridComponent" {
  1998. import * as React from "react";
  1999. import { Observable } from "babylonjs/Misc/observable";
  2000. import { Vector3 } from "babylonjs/Maths/math.vector";
  2001. import { Scene } from "babylonjs/scene";
  2002. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2003. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2004. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2005. interface IScenePropertyGridComponentProps {
  2006. globalState: GlobalState;
  2007. scene: Scene;
  2008. lockObject: LockObject;
  2009. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2010. onSelectionChangedObservable?: Observable<any>;
  2011. }
  2012. export class ScenePropertyGridComponent extends React.Component<IScenePropertyGridComponentProps> {
  2013. private _storedEnvironmentTexture;
  2014. private _renderingModeGroupObservable;
  2015. constructor(props: IScenePropertyGridComponentProps);
  2016. setRenderingModes(point: boolean, wireframe: boolean): void;
  2017. switchIBL(): void;
  2018. updateEnvironmentTexture(file: File): void;
  2019. updateGravity(newValue: Vector3): void;
  2020. updateTimeStep(newValue: number): void;
  2021. normalizeScene(): void;
  2022. render(): JSX.Element;
  2023. }
  2024. }
  2025. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lights/commonLightPropertyGridComponent" {
  2026. import * as React from "react";
  2027. import { Observable } from "babylonjs/Misc/observable";
  2028. import { Light } from "babylonjs/Lights/light";
  2029. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2030. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2031. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2032. interface ICommonLightPropertyGridComponentProps {
  2033. globalState: GlobalState;
  2034. light: Light;
  2035. lockObject: LockObject;
  2036. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2037. }
  2038. export class CommonLightPropertyGridComponent extends React.Component<ICommonLightPropertyGridComponentProps> {
  2039. constructor(props: ICommonLightPropertyGridComponentProps);
  2040. render(): JSX.Element;
  2041. }
  2042. }
  2043. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lights/hemisphericLightPropertyGridComponent" {
  2044. import * as React from "react";
  2045. import { Observable } from "babylonjs/Misc/observable";
  2046. import { HemisphericLight } from "babylonjs/Lights/hemisphericLight";
  2047. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2048. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2049. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2050. interface IHemisphericLightPropertyGridComponentProps {
  2051. globalState: GlobalState;
  2052. light: HemisphericLight;
  2053. lockObject: LockObject;
  2054. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2055. }
  2056. export class HemisphericLightPropertyGridComponent extends React.Component<IHemisphericLightPropertyGridComponentProps> {
  2057. constructor(props: IHemisphericLightPropertyGridComponentProps);
  2058. render(): JSX.Element;
  2059. }
  2060. }
  2061. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lights/commonShadowLightPropertyGridComponent" {
  2062. import * as React from "react";
  2063. import { Observable } from "babylonjs/Misc/observable";
  2064. import { IShadowLight } from "babylonjs/Lights/shadowLight";
  2065. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2066. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2067. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2068. interface ICommonShadowLightPropertyGridComponentProps {
  2069. globalState: GlobalState;
  2070. light: IShadowLight;
  2071. lockObject: LockObject;
  2072. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2073. }
  2074. export class CommonShadowLightPropertyGridComponent extends React.Component<ICommonShadowLightPropertyGridComponentProps> {
  2075. private _internals;
  2076. constructor(props: ICommonShadowLightPropertyGridComponentProps);
  2077. createShadowGenerator(): void;
  2078. disposeShadowGenerator(): void;
  2079. render(): JSX.Element;
  2080. }
  2081. }
  2082. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lights/pointLightPropertyGridComponent" {
  2083. import * as React from "react";
  2084. import { Observable } from "babylonjs/Misc/observable";
  2085. import { PointLight } from "babylonjs/Lights/pointLight";
  2086. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2087. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2088. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2089. interface IPointLightPropertyGridComponentProps {
  2090. globalState: GlobalState;
  2091. light: PointLight;
  2092. lockObject: LockObject;
  2093. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2094. }
  2095. export class PointLightPropertyGridComponent extends React.Component<IPointLightPropertyGridComponentProps> {
  2096. constructor(props: IPointLightPropertyGridComponentProps);
  2097. render(): JSX.Element;
  2098. }
  2099. }
  2100. declare module "babylonjs-inspector/components/actionTabs/lines/hexLineComponent" {
  2101. import * as React from "react";
  2102. import { Observable } from "babylonjs/Misc/observable";
  2103. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2104. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2105. interface IHexLineComponentProps {
  2106. label: string;
  2107. target: any;
  2108. propertyName: string;
  2109. lockObject?: LockObject;
  2110. onChange?: (newValue: number) => void;
  2111. isInteger?: boolean;
  2112. replaySourceReplacement?: string;
  2113. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2114. additionalClass?: string;
  2115. step?: string;
  2116. digits?: number;
  2117. useEuler?: boolean;
  2118. min?: number;
  2119. }
  2120. export class HexLineComponent extends React.Component<IHexLineComponentProps, {
  2121. value: string;
  2122. }> {
  2123. private _localChange;
  2124. private _store;
  2125. private _propertyChange;
  2126. constructor(props: IHexLineComponentProps);
  2127. componentWillUnmount(): void;
  2128. shouldComponentUpdate(nextProps: IHexLineComponentProps, nextState: {
  2129. value: string;
  2130. }): boolean;
  2131. raiseOnPropertyChanged(newValue: number, previousValue: number): void;
  2132. convertToHexString(valueString: string): string;
  2133. updateValue(valueString: string, raisePropertyChanged: boolean): void;
  2134. lock(): void;
  2135. unlock(): void;
  2136. render(): JSX.Element;
  2137. }
  2138. }
  2139. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/cameras/commonCameraPropertyGridComponent" {
  2140. import * as React from "react";
  2141. import { Camera } from "babylonjs/Cameras/camera";
  2142. import { Observable } from "babylonjs/Misc/observable";
  2143. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2144. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2145. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2146. interface ICommonCameraPropertyGridComponentProps {
  2147. globalState: GlobalState;
  2148. camera: Camera;
  2149. lockObject: LockObject;
  2150. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2151. }
  2152. export class CommonCameraPropertyGridComponent extends React.Component<ICommonCameraPropertyGridComponentProps, {
  2153. mode: number;
  2154. }> {
  2155. constructor(props: ICommonCameraPropertyGridComponentProps);
  2156. render(): JSX.Element;
  2157. }
  2158. }
  2159. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/cameras/freeCameraPropertyGridComponent" {
  2160. import * as React from "react";
  2161. import { FreeCamera } from "babylonjs/Cameras/freeCamera";
  2162. import { Observable } from "babylonjs/Misc/observable";
  2163. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2164. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2165. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2166. interface IFreeCameraPropertyGridComponentProps {
  2167. globalState: GlobalState;
  2168. camera: FreeCamera;
  2169. lockObject: LockObject;
  2170. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2171. }
  2172. export class FreeCameraPropertyGridComponent extends React.Component<IFreeCameraPropertyGridComponentProps> {
  2173. constructor(props: IFreeCameraPropertyGridComponentProps);
  2174. render(): JSX.Element;
  2175. }
  2176. }
  2177. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/cameras/arcRotateCameraPropertyGridComponent" {
  2178. import * as React from "react";
  2179. import { ArcRotateCamera } from "babylonjs/Cameras/arcRotateCamera";
  2180. import { Observable } from "babylonjs/Misc/observable";
  2181. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2182. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2183. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2184. interface IArcRotateCameraPropertyGridComponentProps {
  2185. globalState: GlobalState;
  2186. camera: ArcRotateCamera;
  2187. lockObject: LockObject;
  2188. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2189. }
  2190. export class ArcRotateCameraPropertyGridComponent extends React.Component<IArcRotateCameraPropertyGridComponentProps> {
  2191. constructor(props: IArcRotateCameraPropertyGridComponentProps);
  2192. render(): JSX.Element;
  2193. }
  2194. }
  2195. declare module "babylonjs-inspector/components/actionTabs/lines/indentedTextLineComponent" {
  2196. import * as React from "react";
  2197. interface IIndentedTextLineComponentProps {
  2198. value?: string;
  2199. color?: string;
  2200. underline?: boolean;
  2201. onLink?: () => void;
  2202. url?: string;
  2203. additionalClass?: string;
  2204. }
  2205. export class IndentedTextLineComponent extends React.Component<IIndentedTextLineComponentProps> {
  2206. constructor(props: IIndentedTextLineComponentProps);
  2207. onLink(): void;
  2208. renderContent(): JSX.Element;
  2209. render(): JSX.Element;
  2210. }
  2211. }
  2212. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/commonPropertyGridComponent" {
  2213. import * as React from "react";
  2214. import { Observable } from "babylonjs/Misc/observable";
  2215. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2216. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2217. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2218. interface ICommonPropertyGridComponentProps {
  2219. globalState: GlobalState;
  2220. host: {
  2221. metadata: any;
  2222. };
  2223. lockObject: LockObject;
  2224. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2225. }
  2226. export class CommonPropertyGridComponent extends React.Component<ICommonPropertyGridComponentProps> {
  2227. constructor(props: ICommonPropertyGridComponentProps);
  2228. renderLevel(jsonObject: any): JSX.Element[];
  2229. render(): JSX.Element | null;
  2230. }
  2231. }
  2232. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/variantsPropertyGridComponent" {
  2233. import * as React from "react";
  2234. import { Observable } from "babylonjs/Misc/observable";
  2235. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2236. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2237. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2238. interface IVariantsPropertyGridComponentProps {
  2239. globalState: GlobalState;
  2240. host: any;
  2241. lockObject: LockObject;
  2242. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2243. }
  2244. export class VariantsPropertyGridComponent extends React.Component<IVariantsPropertyGridComponentProps> {
  2245. constructor(props: IVariantsPropertyGridComponentProps);
  2246. private _getVariantsExtension;
  2247. render(): JSX.Element | null;
  2248. }
  2249. }
  2250. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/meshes/meshPropertyGridComponent" {
  2251. import * as React from "react";
  2252. import { Observable } from "babylonjs/Misc/observable";
  2253. import { Mesh } from "babylonjs/Meshes/mesh";
  2254. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2255. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2256. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2257. interface IMeshPropertyGridComponentProps {
  2258. globalState: GlobalState;
  2259. mesh: Mesh;
  2260. lockObject: LockObject;
  2261. onSelectionChangedObservable?: Observable<any>;
  2262. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2263. }
  2264. export class MeshPropertyGridComponent extends React.Component<IMeshPropertyGridComponentProps, {
  2265. displayNormals: boolean;
  2266. displayVertexColors: boolean;
  2267. }> {
  2268. constructor(props: IMeshPropertyGridComponentProps);
  2269. renderWireframeOver(): void;
  2270. renderNormalVectors(): void;
  2271. displayNormals(): void;
  2272. displayVertexColors(): void;
  2273. onMaterialLink(): void;
  2274. onSourceMeshLink(): void;
  2275. onSkeletonLink(): void;
  2276. convertPhysicsTypeToString(): string;
  2277. render(): JSX.Element;
  2278. }
  2279. }
  2280. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/meshes/transformNodePropertyGridComponent" {
  2281. import * as React from "react";
  2282. import { TransformNode } from "babylonjs/Meshes/transformNode";
  2283. import { Observable } from "babylonjs/Misc/observable";
  2284. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2285. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2286. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2287. interface ITransformNodePropertyGridComponentProps {
  2288. globalState: GlobalState;
  2289. transformNode: TransformNode;
  2290. lockObject: LockObject;
  2291. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2292. }
  2293. export class TransformNodePropertyGridComponent extends React.Component<ITransformNodePropertyGridComponentProps> {
  2294. constructor(props: ITransformNodePropertyGridComponentProps);
  2295. render(): JSX.Element;
  2296. }
  2297. }
  2298. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/backgroundMaterialPropertyGridComponent" {
  2299. import * as React from "react";
  2300. import { Observable } from "babylonjs/Misc/observable";
  2301. import { BackgroundMaterial } from "babylonjs/Materials/Background/backgroundMaterial";
  2302. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2303. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2304. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2305. interface IBackgroundMaterialPropertyGridComponentProps {
  2306. globalState: GlobalState;
  2307. material: BackgroundMaterial;
  2308. lockObject: LockObject;
  2309. onSelectionChangedObservable?: Observable<any>;
  2310. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2311. }
  2312. export class BackgroundMaterialPropertyGridComponent extends React.Component<IBackgroundMaterialPropertyGridComponentProps> {
  2313. private _onDebugSelectionChangeObservable;
  2314. constructor(props: IBackgroundMaterialPropertyGridComponentProps);
  2315. renderTextures(): JSX.Element;
  2316. render(): JSX.Element;
  2317. }
  2318. }
  2319. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/commonControlPropertyGridComponent" {
  2320. import * as React from "react";
  2321. import { Observable } from "babylonjs/Misc/observable";
  2322. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2323. import { Control } from "babylonjs-gui/2D/controls/control";
  2324. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2325. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2326. interface ICommonControlPropertyGridComponentProps {
  2327. globalState: GlobalState;
  2328. control: Control;
  2329. lockObject: LockObject;
  2330. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2331. }
  2332. export class CommonControlPropertyGridComponent extends React.Component<ICommonControlPropertyGridComponentProps> {
  2333. constructor(props: ICommonControlPropertyGridComponentProps);
  2334. renderGridInformation(): JSX.Element | null;
  2335. render(): JSX.Element;
  2336. }
  2337. }
  2338. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/controlPropertyGridComponent" {
  2339. import * as React from "react";
  2340. import { Observable } from "babylonjs/Misc/observable";
  2341. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2342. import { Control } from "babylonjs-gui/2D/controls/control";
  2343. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2344. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2345. interface IControlPropertyGridComponentProps {
  2346. globalState: GlobalState;
  2347. control: Control;
  2348. lockObject: LockObject;
  2349. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2350. }
  2351. export class ControlPropertyGridComponent extends React.Component<IControlPropertyGridComponentProps> {
  2352. constructor(props: IControlPropertyGridComponentProps);
  2353. render(): JSX.Element;
  2354. }
  2355. }
  2356. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/textBlockPropertyGridComponent" {
  2357. import * as React from "react";
  2358. import { Observable } from "babylonjs/Misc/observable";
  2359. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2360. import { TextBlock } from "babylonjs-gui/2D/controls/textBlock";
  2361. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2362. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2363. interface ITextBlockPropertyGridComponentProps {
  2364. globalState: GlobalState;
  2365. textBlock: TextBlock;
  2366. lockObject: LockObject;
  2367. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2368. }
  2369. export class TextBlockPropertyGridComponent extends React.Component<ITextBlockPropertyGridComponentProps> {
  2370. constructor(props: ITextBlockPropertyGridComponentProps);
  2371. render(): JSX.Element;
  2372. }
  2373. }
  2374. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/inputTextPropertyGridComponent" {
  2375. import * as React from "react";
  2376. import { Observable } from "babylonjs/Misc/observable";
  2377. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2378. import { InputText } from "babylonjs-gui/2D/controls/inputText";
  2379. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2380. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2381. interface IInputTextPropertyGridComponentProps {
  2382. globalState: GlobalState;
  2383. inputText: InputText;
  2384. lockObject: LockObject;
  2385. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2386. }
  2387. export class InputTextPropertyGridComponent extends React.Component<IInputTextPropertyGridComponentProps> {
  2388. constructor(props: IInputTextPropertyGridComponentProps);
  2389. render(): JSX.Element;
  2390. }
  2391. }
  2392. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/colorPickerPropertyGridComponent" {
  2393. import * as React from "react";
  2394. import { Observable } from "babylonjs/Misc/observable";
  2395. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2396. import { ColorPicker } from "babylonjs-gui/2D/controls/colorpicker";
  2397. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2398. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2399. interface IColorPickerPropertyGridComponentProps {
  2400. globalState: GlobalState;
  2401. colorPicker: ColorPicker;
  2402. lockObject: LockObject;
  2403. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2404. }
  2405. export class ColorPickerPropertyGridComponent extends React.Component<IColorPickerPropertyGridComponentProps> {
  2406. constructor(props: IColorPickerPropertyGridComponentProps);
  2407. render(): JSX.Element;
  2408. }
  2409. }
  2410. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/animationGroupPropertyGridComponent" {
  2411. import * as React from "react";
  2412. import { Observable } from "babylonjs/Misc/observable";
  2413. import { AnimationGroup } from "babylonjs/Animations/animationGroup";
  2414. import { Scene } from "babylonjs/scene";
  2415. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2416. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2417. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2418. interface IAnimationGroupGridComponentProps {
  2419. globalState: GlobalState;
  2420. animationGroup: AnimationGroup;
  2421. scene: Scene;
  2422. lockObject: LockObject;
  2423. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2424. }
  2425. export class AnimationGroupGridComponent extends React.Component<IAnimationGroupGridComponentProps, {
  2426. playButtonText: string;
  2427. currentFrame: number;
  2428. }> {
  2429. private _onAnimationGroupPlayObserver;
  2430. private _onAnimationGroupPauseObserver;
  2431. private _onBeforeRenderObserver;
  2432. private timelineRef;
  2433. constructor(props: IAnimationGroupGridComponentProps);
  2434. disconnect(animationGroup: AnimationGroup): void;
  2435. connect(animationGroup: AnimationGroup): void;
  2436. updateCurrentFrame(animationGroup: AnimationGroup): void;
  2437. shouldComponentUpdate(nextProps: IAnimationGroupGridComponentProps): boolean;
  2438. componentWillUnmount(): void;
  2439. playOrPause(): void;
  2440. onCurrentFrameChange(value: number): void;
  2441. render(): JSX.Element;
  2442. }
  2443. }
  2444. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/imagePropertyGridComponent" {
  2445. import * as React from "react";
  2446. import { Observable } from "babylonjs/Misc/observable";
  2447. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2448. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2449. import { Image } from "babylonjs-gui/2D/controls/image";
  2450. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2451. interface IImagePropertyGridComponentProps {
  2452. globalState: GlobalState;
  2453. image: Image;
  2454. lockObject: LockObject;
  2455. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2456. }
  2457. export class ImagePropertyGridComponent extends React.Component<IImagePropertyGridComponentProps> {
  2458. constructor(props: IImagePropertyGridComponentProps);
  2459. render(): JSX.Element;
  2460. }
  2461. }
  2462. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/sliderPropertyGridComponent" {
  2463. import * as React from "react";
  2464. import { Observable } from "babylonjs/Misc/observable";
  2465. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2466. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2467. import { Slider } from "babylonjs-gui/2D/controls/sliders/slider";
  2468. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2469. interface ISliderPropertyGridComponentProps {
  2470. globalState: GlobalState;
  2471. slider: Slider;
  2472. lockObject: LockObject;
  2473. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2474. }
  2475. export class SliderPropertyGridComponent extends React.Component<ISliderPropertyGridComponentProps> {
  2476. constructor(props: ISliderPropertyGridComponentProps);
  2477. render(): JSX.Element;
  2478. }
  2479. }
  2480. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/imageBasedSliderPropertyGridComponent" {
  2481. import * as React from "react";
  2482. import { Observable } from "babylonjs/Misc/observable";
  2483. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2484. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2485. import { ImageBasedSlider } from "babylonjs-gui/2D/controls/sliders/imageBasedSlider";
  2486. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2487. interface IImageBasedSliderPropertyGridComponentProps {
  2488. globalState: GlobalState;
  2489. imageBasedSlider: ImageBasedSlider;
  2490. lockObject: LockObject;
  2491. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2492. }
  2493. export class ImageBasedSliderPropertyGridComponent extends React.Component<IImageBasedSliderPropertyGridComponentProps> {
  2494. constructor(props: IImageBasedSliderPropertyGridComponentProps);
  2495. render(): JSX.Element;
  2496. }
  2497. }
  2498. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/rectanglePropertyGridComponent" {
  2499. import * as React from "react";
  2500. import { Observable } from "babylonjs/Misc/observable";
  2501. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2502. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2503. import { Rectangle } from "babylonjs-gui/2D/controls/rectangle";
  2504. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2505. interface IRectanglePropertyGridComponentProps {
  2506. globalState: GlobalState;
  2507. rectangle: Rectangle;
  2508. lockObject: LockObject;
  2509. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2510. }
  2511. export class RectanglePropertyGridComponent extends React.Component<IRectanglePropertyGridComponentProps> {
  2512. constructor(props: IRectanglePropertyGridComponentProps);
  2513. render(): JSX.Element;
  2514. }
  2515. }
  2516. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/ellipsePropertyGridComponent" {
  2517. import * as React from "react";
  2518. import { Observable } from "babylonjs/Misc/observable";
  2519. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2520. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2521. import { Ellipse } from "babylonjs-gui/2D/controls/ellipse";
  2522. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2523. interface IEllipsePropertyGridComponentProps {
  2524. globalState: GlobalState;
  2525. ellipse: Ellipse;
  2526. lockObject: LockObject;
  2527. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2528. }
  2529. export class EllipsePropertyGridComponent extends React.Component<IEllipsePropertyGridComponentProps> {
  2530. constructor(props: IEllipsePropertyGridComponentProps);
  2531. render(): JSX.Element;
  2532. }
  2533. }
  2534. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/checkboxPropertyGridComponent" {
  2535. import * as React from "react";
  2536. import { Observable } from "babylonjs/Misc/observable";
  2537. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2538. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2539. import { Checkbox } from "babylonjs-gui/2D/controls/checkbox";
  2540. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2541. interface ICheckboxPropertyGridComponentProps {
  2542. globalState: GlobalState;
  2543. checkbox: Checkbox;
  2544. lockObject: LockObject;
  2545. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2546. }
  2547. export class CheckboxPropertyGridComponent extends React.Component<ICheckboxPropertyGridComponentProps> {
  2548. constructor(props: ICheckboxPropertyGridComponentProps);
  2549. render(): JSX.Element;
  2550. }
  2551. }
  2552. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/radioButtonPropertyGridComponent" {
  2553. import * as React from "react";
  2554. import { Observable } from "babylonjs/Misc/observable";
  2555. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2556. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2557. import { RadioButton } from "babylonjs-gui/2D/controls/radioButton";
  2558. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2559. interface IRadioButtonPropertyGridComponentProps {
  2560. globalState: GlobalState;
  2561. radioButton: RadioButton;
  2562. lockObject: LockObject;
  2563. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2564. }
  2565. export class RadioButtonPropertyGridComponent extends React.Component<IRadioButtonPropertyGridComponentProps> {
  2566. constructor(props: IRadioButtonPropertyGridComponentProps);
  2567. render(): JSX.Element;
  2568. }
  2569. }
  2570. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/linePropertyGridComponent" {
  2571. import * as React from "react";
  2572. import { Observable } from "babylonjs/Misc/observable";
  2573. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2574. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2575. import { Line } from "babylonjs-gui/2D/controls/line";
  2576. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2577. interface ILinePropertyGridComponentProps {
  2578. globalState: GlobalState;
  2579. line: Line;
  2580. lockObject: LockObject;
  2581. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2582. }
  2583. export class LinePropertyGridComponent extends React.Component<ILinePropertyGridComponentProps> {
  2584. constructor(props: ILinePropertyGridComponentProps);
  2585. onDashChange(value: string): void;
  2586. render(): JSX.Element;
  2587. }
  2588. }
  2589. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/scrollViewerPropertyGridComponent" {
  2590. import * as React from "react";
  2591. import { Observable } from "babylonjs/Misc/observable";
  2592. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2593. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2594. import { ScrollViewer } from "babylonjs-gui/2D/controls/scrollViewers/scrollViewer";
  2595. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2596. interface IScrollViewerPropertyGridComponentProps {
  2597. globalState: GlobalState;
  2598. scrollViewer: ScrollViewer;
  2599. lockObject: LockObject;
  2600. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2601. }
  2602. export class ScrollViewerPropertyGridComponent extends React.Component<IScrollViewerPropertyGridComponentProps> {
  2603. constructor(props: IScrollViewerPropertyGridComponentProps);
  2604. render(): JSX.Element;
  2605. }
  2606. }
  2607. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/gridPropertyGridComponent" {
  2608. import * as React from "react";
  2609. import { Observable } from "babylonjs/Misc/observable";
  2610. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2611. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2612. import { Grid } from "babylonjs-gui/2D/controls/grid";
  2613. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2614. interface IGridPropertyGridComponentProps {
  2615. globalState: GlobalState;
  2616. grid: Grid;
  2617. lockObject: LockObject;
  2618. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2619. }
  2620. export class GridPropertyGridComponent extends React.Component<IGridPropertyGridComponentProps> {
  2621. constructor(props: IGridPropertyGridComponentProps);
  2622. renderRows(): JSX.Element[];
  2623. renderColumns(): JSX.Element[];
  2624. render(): JSX.Element;
  2625. }
  2626. }
  2627. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/pbrMetallicRoughnessMaterialPropertyGridComponent" {
  2628. import * as React from "react";
  2629. import { Observable } from "babylonjs/Misc/observable";
  2630. import { PBRMetallicRoughnessMaterial } from "babylonjs/Materials/PBR/pbrMetallicRoughnessMaterial";
  2631. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2632. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2633. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2634. interface IPBRMetallicRoughnessMaterialPropertyGridComponentProps {
  2635. globalState: GlobalState;
  2636. material: PBRMetallicRoughnessMaterial;
  2637. lockObject: LockObject;
  2638. onSelectionChangedObservable?: Observable<any>;
  2639. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2640. }
  2641. export class PBRMetallicRoughnessMaterialPropertyGridComponent extends React.Component<IPBRMetallicRoughnessMaterialPropertyGridComponentProps> {
  2642. private _onDebugSelectionChangeObservable;
  2643. constructor(props: IPBRMetallicRoughnessMaterialPropertyGridComponentProps);
  2644. renderTextures(): JSX.Element;
  2645. render(): JSX.Element;
  2646. }
  2647. }
  2648. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/pbrSpecularGlossinessMaterialPropertyGridComponent" {
  2649. import * as React from "react";
  2650. import { Observable } from "babylonjs/Misc/observable";
  2651. import { PBRSpecularGlossinessMaterial } from "babylonjs/Materials/PBR/pbrSpecularGlossinessMaterial";
  2652. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2653. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2654. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2655. interface IPBRSpecularGlossinessMaterialPropertyGridComponentProps {
  2656. globalState: GlobalState;
  2657. material: PBRSpecularGlossinessMaterial;
  2658. lockObject: LockObject;
  2659. onSelectionChangedObservable?: Observable<any>;
  2660. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2661. }
  2662. export class PBRSpecularGlossinessMaterialPropertyGridComponent extends React.Component<IPBRSpecularGlossinessMaterialPropertyGridComponentProps> {
  2663. private _onDebugSelectionChangeObservable;
  2664. constructor(props: IPBRSpecularGlossinessMaterialPropertyGridComponentProps);
  2665. renderTextures(): JSX.Element;
  2666. render(): JSX.Element;
  2667. }
  2668. }
  2669. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/gui/stackPanelPropertyGridComponent" {
  2670. import * as React from "react";
  2671. import { Observable } from "babylonjs/Misc/observable";
  2672. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2673. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2674. import { StackPanel } from "babylonjs-gui/2D/controls/stackPanel";
  2675. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2676. interface IStackPanelPropertyGridComponentProps {
  2677. globalState: GlobalState;
  2678. stackPanel: StackPanel;
  2679. lockObject: LockObject;
  2680. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2681. }
  2682. export class StackPanelPropertyGridComponent extends React.Component<IStackPanelPropertyGridComponentProps> {
  2683. constructor(props: IStackPanelPropertyGridComponentProps);
  2684. render(): JSX.Element;
  2685. }
  2686. }
  2687. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/postProcesses/commonPostProcessPropertyGridComponent" {
  2688. import * as React from "react";
  2689. import { Observable } from "babylonjs/Misc/observable";
  2690. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2691. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2692. import { PostProcess } from 'babylonjs/PostProcesses/postProcess';
  2693. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2694. interface ICommonPostProcessPropertyGridComponentProps {
  2695. globalState: GlobalState;
  2696. postProcess: PostProcess;
  2697. lockObject: LockObject;
  2698. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2699. }
  2700. export class CommonPostProcessPropertyGridComponent extends React.Component<ICommonPostProcessPropertyGridComponentProps> {
  2701. constructor(props: ICommonPostProcessPropertyGridComponentProps);
  2702. render(): JSX.Element;
  2703. }
  2704. }
  2705. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/postProcesses/postProcessPropertyGridComponent" {
  2706. import * as React from "react";
  2707. import { Observable } from "babylonjs/Misc/observable";
  2708. import { PostProcess } from "babylonjs/PostProcesses/postProcess";
  2709. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2710. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2711. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2712. interface IPostProcessPropertyGridComponentProps {
  2713. globalState: GlobalState;
  2714. postProcess: PostProcess;
  2715. lockObject: LockObject;
  2716. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2717. }
  2718. export class PostProcessPropertyGridComponent extends React.Component<IPostProcessPropertyGridComponentProps> {
  2719. constructor(props: IPostProcessPropertyGridComponentProps);
  2720. edit(): void;
  2721. render(): JSX.Element;
  2722. }
  2723. }
  2724. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/postProcesses/commonRenderingPipelinePropertyGridComponent" {
  2725. import * as React from "react";
  2726. import { Observable } from "babylonjs/Misc/observable";
  2727. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2728. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2729. import { PostProcessRenderPipeline } from 'babylonjs/PostProcesses/RenderPipeline/postProcessRenderPipeline';
  2730. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2731. interface ICommonRenderingPipelinePropertyGridComponentProps {
  2732. globalState: GlobalState;
  2733. renderPipeline: PostProcessRenderPipeline;
  2734. lockObject: LockObject;
  2735. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2736. }
  2737. export class CommonRenderingPipelinePropertyGridComponent extends React.Component<ICommonRenderingPipelinePropertyGridComponentProps> {
  2738. constructor(props: ICommonRenderingPipelinePropertyGridComponentProps);
  2739. render(): JSX.Element;
  2740. }
  2741. }
  2742. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/postProcesses/renderingPipelinePropertyGridComponent" {
  2743. import * as React from "react";
  2744. import { Observable } from "babylonjs/Misc/observable";
  2745. import { PostProcessRenderPipeline } from "babylonjs/PostProcesses/RenderPipeline/postProcessRenderPipeline";
  2746. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2747. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2748. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2749. interface IRenderingPipelinePropertyGridComponentProps {
  2750. globalState: GlobalState;
  2751. renderPipeline: PostProcessRenderPipeline;
  2752. lockObject: LockObject;
  2753. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2754. }
  2755. export class RenderingPipelinePropertyGridComponent extends React.Component<IRenderingPipelinePropertyGridComponentProps> {
  2756. constructor(props: IRenderingPipelinePropertyGridComponentProps);
  2757. render(): JSX.Element;
  2758. }
  2759. }
  2760. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/postProcesses/defaultRenderingPipelinePropertyGridComponent" {
  2761. import * as React from "react";
  2762. import { Observable } from "babylonjs/Misc/observable";
  2763. import { DefaultRenderingPipeline } from "babylonjs/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline";
  2764. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2765. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2766. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2767. interface IDefaultRenderingPipelinePropertyGridComponentProps {
  2768. globalState: GlobalState;
  2769. renderPipeline: DefaultRenderingPipeline;
  2770. lockObject: LockObject;
  2771. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2772. }
  2773. export class DefaultRenderingPipelinePropertyGridComponent extends React.Component<IDefaultRenderingPipelinePropertyGridComponentProps> {
  2774. constructor(props: IDefaultRenderingPipelinePropertyGridComponentProps);
  2775. render(): JSX.Element;
  2776. }
  2777. }
  2778. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/postProcesses/ssaoRenderingPipelinePropertyGridComponent" {
  2779. import * as React from "react";
  2780. import { Observable } from "babylonjs/Misc/observable";
  2781. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2782. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2783. import { SSAORenderingPipeline } from 'babylonjs/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline';
  2784. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2785. interface ISSAORenderingPipelinePropertyGridComponentProps {
  2786. globalState: GlobalState;
  2787. renderPipeline: SSAORenderingPipeline;
  2788. lockObject: LockObject;
  2789. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2790. }
  2791. export class SSAORenderingPipelinePropertyGridComponent extends React.Component<ISSAORenderingPipelinePropertyGridComponentProps> {
  2792. constructor(props: ISSAORenderingPipelinePropertyGridComponentProps);
  2793. render(): JSX.Element;
  2794. }
  2795. }
  2796. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/postProcesses/ssao2RenderingPipelinePropertyGridComponent" {
  2797. import * as React from "react";
  2798. import { Observable } from "babylonjs/Misc/observable";
  2799. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2800. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2801. import { SSAO2RenderingPipeline } from 'babylonjs/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline';
  2802. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2803. interface ISSAO2RenderingPipelinePropertyGridComponentProps {
  2804. globalState: GlobalState;
  2805. renderPipeline: SSAO2RenderingPipeline;
  2806. lockObject: LockObject;
  2807. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2808. }
  2809. export class SSAO2RenderingPipelinePropertyGridComponent extends React.Component<ISSAO2RenderingPipelinePropertyGridComponentProps> {
  2810. constructor(props: ISSAO2RenderingPipelinePropertyGridComponentProps);
  2811. render(): JSX.Element;
  2812. }
  2813. }
  2814. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/meshes/skeletonPropertyGridComponent" {
  2815. import * as React from "react";
  2816. import { Observable } from "babylonjs/Misc/observable";
  2817. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2818. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2819. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2820. import { Skeleton } from 'babylonjs/Bones/skeleton';
  2821. interface ISkeletonPropertyGridComponentProps {
  2822. globalState: GlobalState;
  2823. skeleton: Skeleton;
  2824. lockObject: LockObject;
  2825. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2826. }
  2827. export class SkeletonPropertyGridComponent extends React.Component<ISkeletonPropertyGridComponentProps> {
  2828. private _skeletonViewersEnabled;
  2829. private _skeletonViewerDisplayOptions;
  2830. private _skeletonViewers;
  2831. constructor(props: ISkeletonPropertyGridComponentProps);
  2832. switchSkeletonViewers(): void;
  2833. checkSkeletonViewerState(props: ISkeletonPropertyGridComponentProps): void;
  2834. changeDisplayMode(): void;
  2835. changeDisplayOptions(option: string, value: number): void;
  2836. shouldComponentUpdate(nextProps: ISkeletonPropertyGridComponentProps): boolean;
  2837. onOverrideMeshLink(): void;
  2838. render(): JSX.Element;
  2839. }
  2840. }
  2841. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/meshes/bonePropertyGridComponent" {
  2842. import * as React from "react";
  2843. import { Observable } from "babylonjs/Misc/observable";
  2844. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2845. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2846. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2847. import { Bone } from 'babylonjs/Bones/bone';
  2848. interface IBonePropertyGridComponentProps {
  2849. globalState: GlobalState;
  2850. bone: Bone;
  2851. lockObject: LockObject;
  2852. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2853. }
  2854. export class BonePropertyGridComponent extends React.Component<IBonePropertyGridComponentProps> {
  2855. constructor(props: IBonePropertyGridComponentProps);
  2856. onTransformNodeLink(): void;
  2857. render(): JSX.Element;
  2858. }
  2859. }
  2860. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lights/directionalLightPropertyGridComponent" {
  2861. import * as React from "react";
  2862. import { Observable } from "babylonjs/Misc/observable";
  2863. import { DirectionalLight } from "babylonjs/Lights/directionalLight";
  2864. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2865. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2866. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2867. interface IDirectionalLightPropertyGridComponentProps {
  2868. globalState: GlobalState;
  2869. light: DirectionalLight;
  2870. lockObject: LockObject;
  2871. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2872. }
  2873. export class DirectionalLightPropertyGridComponent extends React.Component<IDirectionalLightPropertyGridComponentProps> {
  2874. constructor(props: IDirectionalLightPropertyGridComponentProps);
  2875. render(): JSX.Element;
  2876. }
  2877. }
  2878. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lights/spotLightPropertyGridComponent" {
  2879. import * as React from "react";
  2880. import { Observable } from "babylonjs/Misc/observable";
  2881. import { SpotLight } from "babylonjs/Lights/spotLight";
  2882. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2883. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2884. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2885. interface ISpotLightPropertyGridComponentProps {
  2886. globalState: GlobalState;
  2887. light: SpotLight;
  2888. lockObject: LockObject;
  2889. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2890. }
  2891. export class SpotLightPropertyGridComponent extends React.Component<ISpotLightPropertyGridComponentProps> {
  2892. constructor(props: ISpotLightPropertyGridComponentProps);
  2893. render(): JSX.Element;
  2894. }
  2895. }
  2896. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/postProcesses/lensRenderingPipelinePropertyGridComponent" {
  2897. import * as React from "react";
  2898. import { Observable } from "babylonjs/Misc/observable";
  2899. import { LensRenderingPipeline } from "babylonjs/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline";
  2900. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2901. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2902. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2903. interface ILenstRenderingPipelinePropertyGridComponentProps {
  2904. globalState: GlobalState;
  2905. renderPipeline: LensRenderingPipeline;
  2906. lockObject: LockObject;
  2907. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2908. }
  2909. export class LensRenderingPipelinePropertyGridComponent extends React.Component<ILenstRenderingPipelinePropertyGridComponentProps> {
  2910. constructor(props: ILenstRenderingPipelinePropertyGridComponentProps);
  2911. render(): JSX.Element;
  2912. }
  2913. }
  2914. declare module "babylonjs-inspector/components/actionTabs/lines/vector4LineComponent" {
  2915. import * as React from "react";
  2916. import { Vector4 } from "babylonjs/Maths/math.vector";
  2917. import { Observable } from "babylonjs/Misc/observable";
  2918. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2919. interface IVector4LineComponentProps {
  2920. label: string;
  2921. target: any;
  2922. propertyName: string;
  2923. step?: number;
  2924. onChange?: (newvalue: Vector4) => void;
  2925. useEuler?: boolean;
  2926. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2927. }
  2928. export class Vector4LineComponent extends React.Component<IVector4LineComponentProps, {
  2929. isExpanded: boolean;
  2930. value: Vector4;
  2931. }> {
  2932. static defaultProps: {
  2933. step: number;
  2934. };
  2935. private _localChange;
  2936. constructor(props: IVector4LineComponentProps);
  2937. getCurrentValue(): any;
  2938. shouldComponentUpdate(nextProps: IVector4LineComponentProps, nextState: {
  2939. isExpanded: boolean;
  2940. value: Vector4;
  2941. }): boolean;
  2942. switchExpandState(): void;
  2943. raiseOnPropertyChanged(previousValue: Vector4): void;
  2944. updateVector4(): void;
  2945. updateStateX(value: number): void;
  2946. updateStateY(value: number): void;
  2947. updateStateZ(value: number): void;
  2948. updateStateW(value: number): void;
  2949. render(): JSX.Element;
  2950. }
  2951. }
  2952. declare module "babylonjs-inspector/components/actionTabs/lines/color4LineComponent" {
  2953. import * as React from "react";
  2954. import { Observable } from "babylonjs/Misc/observable";
  2955. import { Color4 } from "babylonjs/Maths/math.color";
  2956. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2957. export interface IColor4LineComponentProps {
  2958. label: string;
  2959. target: any;
  2960. propertyName: string;
  2961. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  2962. onChange?: () => void;
  2963. isLinear?: boolean;
  2964. }
  2965. export class Color4LineComponent extends React.Component<IColor4LineComponentProps, {
  2966. isExpanded: boolean;
  2967. color: Color4;
  2968. }> {
  2969. private _localChange;
  2970. constructor(props: IColor4LineComponentProps);
  2971. shouldComponentUpdate(nextProps: IColor4LineComponentProps, nextState: {
  2972. color: Color4;
  2973. }): boolean;
  2974. setPropertyValue(newColor: Color4): void;
  2975. onChange(newValue: string): void;
  2976. switchExpandState(): void;
  2977. raiseOnPropertyChanged(previousValue: Color4): void;
  2978. updateStateR(value: number): void;
  2979. updateStateG(value: number): void;
  2980. updateStateB(value: number): void;
  2981. updateStateA(value: number): void;
  2982. copyToClipboard(): void;
  2983. render(): JSX.Element;
  2984. }
  2985. }
  2986. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/nodeMaterialPropertyGridComponent" {
  2987. import * as React from "react";
  2988. import { Observable } from "babylonjs/Misc/observable";
  2989. import { NodeMaterial } from "babylonjs/Materials/Node/nodeMaterial";
  2990. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  2991. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  2992. import { GlobalState } from "babylonjs-inspector/components/globalState";
  2993. import { InputBlock } from 'babylonjs/Materials/Node/Blocks/Input/inputBlock';
  2994. interface INodeMaterialPropertyGridComponentProps {
  2995. globalState: GlobalState;
  2996. material: NodeMaterial;
  2997. lockObject: LockObject;
  2998. onSelectionChangedObservable?: Observable<any>;
  2999. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  3000. }
  3001. export class NodeMaterialPropertyGridComponent extends React.Component<INodeMaterialPropertyGridComponentProps> {
  3002. private _onDebugSelectionChangeObservable;
  3003. constructor(props: INodeMaterialPropertyGridComponentProps);
  3004. edit(): void;
  3005. renderTextures(): JSX.Element | null;
  3006. renderInputBlock(block: InputBlock): JSX.Element | null;
  3007. renderInputValues(): JSX.Element | null;
  3008. render(): JSX.Element;
  3009. }
  3010. }
  3011. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/multiMaterialPropertyGridComponent" {
  3012. import * as React from "react";
  3013. import { Observable } from "babylonjs/Misc/observable";
  3014. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  3015. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  3016. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3017. import { Material } from 'babylonjs/Materials/material';
  3018. import { MultiMaterial } from 'babylonjs/Materials/multiMaterial';
  3019. interface IMultiMaterialPropertyGridComponentProps {
  3020. globalState: GlobalState;
  3021. material: MultiMaterial;
  3022. lockObject: LockObject;
  3023. onSelectionChangedObservable?: Observable<any>;
  3024. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  3025. }
  3026. export class MultiMaterialPropertyGridComponent extends React.Component<IMultiMaterialPropertyGridComponentProps> {
  3027. constructor(props: IMultiMaterialPropertyGridComponentProps);
  3028. onMaterialLink(mat: Material): void;
  3029. renderChildMaterial(): JSX.Element;
  3030. render(): JSX.Element;
  3031. }
  3032. }
  3033. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/particleSystems/boxEmitterGridComponent" {
  3034. import * as React from "react";
  3035. import { Observable } from "babylonjs/Misc/observable";
  3036. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3037. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  3038. import { BoxParticleEmitter } from 'babylonjs/Particles/EmitterTypes/boxParticleEmitter';
  3039. interface IBoxEmitterGridComponentProps {
  3040. globalState: GlobalState;
  3041. emitter: BoxParticleEmitter;
  3042. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  3043. }
  3044. export class BoxEmitterGridComponent extends React.Component<IBoxEmitterGridComponentProps> {
  3045. constructor(props: IBoxEmitterGridComponentProps);
  3046. render(): JSX.Element;
  3047. }
  3048. }
  3049. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/particleSystems/coneEmitterGridComponent" {
  3050. import * as React from "react";
  3051. import { Observable } from "babylonjs/Misc/observable";
  3052. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3053. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  3054. import { ConeParticleEmitter } from 'babylonjs/Particles/EmitterTypes/coneParticleEmitter';
  3055. interface IConeEmitterGridComponentProps {
  3056. globalState: GlobalState;
  3057. emitter: ConeParticleEmitter;
  3058. onSelectionChangedObservable?: Observable<any>;
  3059. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  3060. }
  3061. export class ConeEmitterGridComponent extends React.Component<IConeEmitterGridComponentProps> {
  3062. constructor(props: IConeEmitterGridComponentProps);
  3063. render(): JSX.Element;
  3064. }
  3065. }
  3066. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/particleSystems/cylinderEmitterGridComponent" {
  3067. import * as React from "react";
  3068. import { Observable } from "babylonjs/Misc/observable";
  3069. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3070. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  3071. import { CylinderParticleEmitter } from 'babylonjs/Particles/EmitterTypes/cylinderParticleEmitter';
  3072. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  3073. interface ICylinderEmitterGridComponentProps {
  3074. globalState: GlobalState;
  3075. emitter: CylinderParticleEmitter;
  3076. lockObject: LockObject;
  3077. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  3078. }
  3079. export class CylinderEmitterGridComponent extends React.Component<ICylinderEmitterGridComponentProps> {
  3080. constructor(props: ICylinderEmitterGridComponentProps);
  3081. render(): JSX.Element;
  3082. }
  3083. }
  3084. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/particleSystems/hemisphericEmitterGridComponent" {
  3085. import * as React from "react";
  3086. import { Observable } from "babylonjs/Misc/observable";
  3087. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3088. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  3089. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  3090. import { HemisphericParticleEmitter } from 'babylonjs/Particles/EmitterTypes/hemisphericParticleEmitter';
  3091. interface IHemisphericEmitterGridComponentProps {
  3092. globalState: GlobalState;
  3093. emitter: HemisphericParticleEmitter;
  3094. lockObject: LockObject;
  3095. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  3096. }
  3097. export class HemisphericEmitterGridComponent extends React.Component<IHemisphericEmitterGridComponentProps> {
  3098. constructor(props: IHemisphericEmitterGridComponentProps);
  3099. render(): JSX.Element;
  3100. }
  3101. }
  3102. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/particleSystems/pointEmitterGridComponent" {
  3103. import * as React from "react";
  3104. import { Observable } from "babylonjs/Misc/observable";
  3105. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3106. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  3107. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  3108. import { PointParticleEmitter } from 'babylonjs/Particles/EmitterTypes/pointParticleEmitter';
  3109. interface IPointEmitterGridComponentProps {
  3110. globalState: GlobalState;
  3111. emitter: PointParticleEmitter;
  3112. lockObject: LockObject;
  3113. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  3114. }
  3115. export class PointEmitterGridComponent extends React.Component<IPointEmitterGridComponentProps> {
  3116. constructor(props: IPointEmitterGridComponentProps);
  3117. render(): JSX.Element;
  3118. }
  3119. }
  3120. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/particleSystems/sphereEmitterGridComponent" {
  3121. import * as React from "react";
  3122. import { Observable } from "babylonjs/Misc/observable";
  3123. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3124. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  3125. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  3126. import { SphereParticleEmitter } from 'babylonjs/Particles/EmitterTypes/sphereParticleEmitter';
  3127. interface ISphereEmitterGridComponentProps {
  3128. globalState: GlobalState;
  3129. emitter: SphereParticleEmitter;
  3130. lockObject: LockObject;
  3131. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  3132. }
  3133. export class SphereEmitterGridComponent extends React.Component<ISphereEmitterGridComponentProps> {
  3134. constructor(props: ISphereEmitterGridComponentProps);
  3135. render(): JSX.Element;
  3136. }
  3137. }
  3138. declare module "babylonjs-inspector/components/actionTabs/lines/meshPickerComponent" {
  3139. import * as React from "react";
  3140. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3141. import { Observable } from 'babylonjs/Misc/observable';
  3142. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  3143. import { Scene } from 'babylonjs/scene';
  3144. interface IMeshPickerComponentProps {
  3145. globalState: GlobalState;
  3146. target: any;
  3147. property: string;
  3148. scene: Scene;
  3149. label: string;
  3150. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  3151. }
  3152. export class MeshPickerComponent extends React.Component<IMeshPickerComponentProps> {
  3153. constructor(props: IMeshPickerComponentProps);
  3154. render(): JSX.Element;
  3155. }
  3156. }
  3157. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/particleSystems/meshEmitterGridComponent" {
  3158. import * as React from "react";
  3159. import { Observable } from "babylonjs/Misc/observable";
  3160. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3161. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  3162. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  3163. import { MeshParticleEmitter } from 'babylonjs/Particles/EmitterTypes/meshParticleEmitter';
  3164. import { Scene } from 'babylonjs/scene';
  3165. interface IMeshEmitterGridComponentProps {
  3166. globalState: GlobalState;
  3167. emitter: MeshParticleEmitter;
  3168. scene: Scene;
  3169. lockObject: LockObject;
  3170. onSelectionChangedObservable?: Observable<any>;
  3171. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  3172. }
  3173. export class MeshEmitterGridComponent extends React.Component<IMeshEmitterGridComponentProps> {
  3174. constructor(props: IMeshEmitterGridComponentProps);
  3175. render(): JSX.Element;
  3176. }
  3177. }
  3178. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/particleSystems/factorGradientStepGridComponent" {
  3179. import * as React from 'react';
  3180. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3181. import { FactorGradient } from 'babylonjs/Misc/gradients';
  3182. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  3183. import { IParticleSystem } from 'babylonjs/Particles/IParticleSystem';
  3184. interface IFactorGradientStepGridComponent {
  3185. globalState: GlobalState;
  3186. gradient: FactorGradient;
  3187. lockObject: LockObject;
  3188. lineIndex: number;
  3189. onDelete: () => void;
  3190. onUpdateGradient: () => void;
  3191. onCheckForReOrder: () => void;
  3192. host: IParticleSystem;
  3193. codeRecorderPropertyName: string;
  3194. }
  3195. export class FactorGradientStepGridComponent extends React.Component<IFactorGradientStepGridComponent, {
  3196. gradient: number;
  3197. factor1: string;
  3198. factor2?: string;
  3199. }> {
  3200. constructor(props: IFactorGradientStepGridComponent);
  3201. shouldComponentUpdate(nextProps: IFactorGradientStepGridComponent, nextState: {
  3202. gradient: number;
  3203. factor1: string;
  3204. factor2?: string;
  3205. }): boolean;
  3206. updateFactor1(valueString: string): void;
  3207. updateFactor2(valueString: string): void;
  3208. updateGradient(gradient: number): void;
  3209. onPointerUp(): void;
  3210. lock(): void;
  3211. unlock(): void;
  3212. render(): JSX.Element;
  3213. }
  3214. }
  3215. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/particleSystems/colorGradientStepGridComponent" {
  3216. import * as React from 'react';
  3217. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3218. import { ColorGradient, Color3Gradient } from 'babylonjs/Misc/gradients';
  3219. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  3220. import { IParticleSystem } from 'babylonjs/Particles/IParticleSystem';
  3221. interface IColorGradientStepGridComponent {
  3222. globalState: GlobalState;
  3223. gradient: ColorGradient | Color3Gradient;
  3224. lockObject: LockObject;
  3225. lineIndex: number;
  3226. isColor3: boolean;
  3227. onDelete: () => void;
  3228. onUpdateGradient: () => void;
  3229. onCheckForReOrder: () => void;
  3230. host: IParticleSystem;
  3231. codeRecorderPropertyName: string;
  3232. }
  3233. export class ColorGradientStepGridComponent extends React.Component<IColorGradientStepGridComponent, {
  3234. gradient: number;
  3235. }> {
  3236. constructor(props: IColorGradientStepGridComponent);
  3237. updateColor1(color: string): void;
  3238. updateColor2(color: string): void;
  3239. updateGradient(gradient: number): void;
  3240. onPointerUp(): void;
  3241. lock(): void;
  3242. unlock(): void;
  3243. render(): JSX.Element;
  3244. }
  3245. }
  3246. declare module "babylonjs-inspector/components/actionTabs/lines/linkButtonComponent" {
  3247. import * as React from "react";
  3248. interface ILinkButtonComponentProps {
  3249. label: string;
  3250. buttonLabel: string;
  3251. url?: string;
  3252. onClick: () => void;
  3253. onIconClick?: () => void;
  3254. }
  3255. export class LinkButtonComponent extends React.Component<ILinkButtonComponentProps> {
  3256. constructor(props: ILinkButtonComponentProps);
  3257. onLink(): void;
  3258. render(): JSX.Element;
  3259. }
  3260. }
  3261. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/particleSystems/valueGradientGridComponent" {
  3262. import * as React from "react";
  3263. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3264. import { IValueGradient } from 'babylonjs/Misc/gradients';
  3265. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  3266. import { Nullable } from 'babylonjs/types';
  3267. import { IParticleSystem } from 'babylonjs/Particles/IParticleSystem';
  3268. export enum GradientGridMode {
  3269. Factor = 0,
  3270. Color3 = 1,
  3271. Color4 = 2
  3272. }
  3273. interface IValueGradientGridComponent {
  3274. globalState: GlobalState;
  3275. label: string;
  3276. gradients: Nullable<Array<IValueGradient>>;
  3277. lockObject: LockObject;
  3278. docLink?: string;
  3279. mode: GradientGridMode;
  3280. host: IParticleSystem;
  3281. codeRecorderPropertyName: string;
  3282. onCreateRequired: () => void;
  3283. }
  3284. export class ValueGradientGridComponent extends React.Component<IValueGradientGridComponent> {
  3285. constructor(props: IValueGradientGridComponent);
  3286. deleteStep(step: IValueGradient): void;
  3287. addNewStep(): void;
  3288. checkForReOrder(): void;
  3289. updateAndSync(): void;
  3290. render(): JSX.Element;
  3291. }
  3292. }
  3293. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/particleSystems/particleSystemPropertyGridComponent" {
  3294. import * as React from "react";
  3295. import { Observable } from "babylonjs/Misc/observable";
  3296. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  3297. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  3298. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3299. import { IParticleSystem } from 'babylonjs/Particles/IParticleSystem';
  3300. interface IParticleSystemPropertyGridComponentProps {
  3301. globalState: GlobalState;
  3302. system: IParticleSystem;
  3303. lockObject: LockObject;
  3304. onSelectionChangedObservable?: Observable<any>;
  3305. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  3306. }
  3307. export class ParticleSystemPropertyGridComponent extends React.Component<IParticleSystemPropertyGridComponentProps> {
  3308. private _snippetUrl;
  3309. constructor(props: IParticleSystemPropertyGridComponentProps);
  3310. renderEmitter(): JSX.Element | null;
  3311. raiseOnPropertyChanged(property: string, newValue: any, previousValue: any): void;
  3312. renderControls(): JSX.Element;
  3313. saveToFile(): void;
  3314. loadFromFile(file: File): void;
  3315. loadFromSnippet(): void;
  3316. saveToSnippet(): void;
  3317. render(): JSX.Element;
  3318. }
  3319. }
  3320. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/sprites/spriteManagerPropertyGridComponent" {
  3321. import * as React from "react";
  3322. import { Observable } from "babylonjs/Misc/observable";
  3323. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  3324. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  3325. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3326. import { SpriteManager } from 'babylonjs/Sprites/spriteManager';
  3327. interface ISpriteManagerPropertyGridComponentProps {
  3328. globalState: GlobalState;
  3329. spriteManager: SpriteManager;
  3330. lockObject: LockObject;
  3331. onSelectionChangedObservable?: Observable<any>;
  3332. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  3333. }
  3334. export class SpriteManagerPropertyGridComponent extends React.Component<ISpriteManagerPropertyGridComponentProps> {
  3335. private _snippetUrl;
  3336. constructor(props: ISpriteManagerPropertyGridComponentProps);
  3337. addNewSprite(): void;
  3338. disposeManager(): void;
  3339. saveToFile(): void;
  3340. loadFromFile(file: File): void;
  3341. loadFromSnippet(): void;
  3342. saveToSnippet(): void;
  3343. render(): JSX.Element;
  3344. }
  3345. }
  3346. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/sprites/spritePropertyGridComponent" {
  3347. import * as React from "react";
  3348. import { Observable } from "babylonjs/Misc/observable";
  3349. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  3350. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  3351. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3352. import { Sprite } from 'babylonjs/Sprites/sprite';
  3353. interface ISpritePropertyGridComponentProps {
  3354. globalState: GlobalState;
  3355. sprite: Sprite;
  3356. lockObject: LockObject;
  3357. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  3358. onSelectionChangedObservable?: Observable<any>;
  3359. }
  3360. export class SpritePropertyGridComponent extends React.Component<ISpritePropertyGridComponentProps> {
  3361. private canvasRef;
  3362. private imageData;
  3363. private cachedCellIndex;
  3364. constructor(props: ISpritePropertyGridComponentProps);
  3365. onManagerLink(): void;
  3366. switchPlayStopState(): void;
  3367. disposeSprite(): void;
  3368. componentDidMount(): void;
  3369. componentDidUpdate(): void;
  3370. shouldComponentUpdate(nextProps: ISpritePropertyGridComponentProps): boolean;
  3371. updatePreview(): void;
  3372. render(): JSX.Element;
  3373. }
  3374. }
  3375. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/targetedAnimationPropertyGridComponent" {
  3376. import * as React from 'react';
  3377. import { Observable } from 'babylonjs/Misc/observable';
  3378. import { TargetedAnimation } from 'babylonjs/Animations/animationGroup';
  3379. import { Scene } from 'babylonjs/scene';
  3380. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  3381. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  3382. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3383. interface ITargetedAnimationGridComponentProps {
  3384. globalState: GlobalState;
  3385. targetedAnimation: TargetedAnimation;
  3386. scene: Scene;
  3387. lockObject: LockObject;
  3388. onSelectionChangedObservable?: Observable<any>;
  3389. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  3390. }
  3391. export class TargetedAnimationGridComponent extends React.Component<ITargetedAnimationGridComponentProps> {
  3392. private _isCurveEditorOpen;
  3393. private _animationGroup;
  3394. constructor(props: ITargetedAnimationGridComponentProps);
  3395. onOpenAnimationCurveEditor(): void;
  3396. onCloseAnimationCurveEditor(window: Window | null): void;
  3397. playOrPause(): void;
  3398. deleteAnimation(): void;
  3399. render(): JSX.Element;
  3400. }
  3401. }
  3402. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/cameras/followCameraPropertyGridComponent" {
  3403. import * as React from "react";
  3404. import { Observable } from "babylonjs/Misc/observable";
  3405. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  3406. import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
  3407. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3408. import { FollowCamera } from 'babylonjs/Cameras/followCamera';
  3409. interface IFollowCameraPropertyGridComponentProps {
  3410. globalState: GlobalState;
  3411. camera: FollowCamera;
  3412. lockObject: LockObject;
  3413. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  3414. }
  3415. export class FollowCameraPropertyGridComponent extends React.Component<IFollowCameraPropertyGridComponentProps> {
  3416. constructor(props: IFollowCameraPropertyGridComponentProps);
  3417. render(): JSX.Element;
  3418. }
  3419. }
  3420. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGridTabComponent" {
  3421. import { PaneComponent, IPaneComponentProps } from "babylonjs-inspector/components/actionTabs/paneComponent";
  3422. export class PropertyGridTabComponent extends PaneComponent {
  3423. private _timerIntervalId;
  3424. private _lockObject;
  3425. constructor(props: IPaneComponentProps);
  3426. timerRefresh(): void;
  3427. componentDidMount(): void;
  3428. componentWillUnmount(): void;
  3429. render(): JSX.Element | null;
  3430. }
  3431. }
  3432. declare module "babylonjs-inspector/components/headerComponent" {
  3433. import * as React from "react";
  3434. import { Observable } from "babylonjs/Misc/observable";
  3435. export interface IHeaderComponentProps {
  3436. title: string;
  3437. handleBack?: boolean;
  3438. noExpand?: boolean;
  3439. noClose?: boolean;
  3440. noCommands?: boolean;
  3441. onPopup: () => void;
  3442. onClose: () => void;
  3443. onSelectionChangedObservable?: Observable<any>;
  3444. }
  3445. export class HeaderComponent extends React.Component<IHeaderComponentProps, {
  3446. isBackVisible: boolean;
  3447. }> {
  3448. private _backStack;
  3449. private _onSelectionChangeObserver;
  3450. constructor(props: IHeaderComponentProps);
  3451. componentDidMount(): void;
  3452. componentWillUnmount(): void;
  3453. goBack(): void;
  3454. renderLogo(): JSX.Element | null;
  3455. render(): JSX.Element;
  3456. }
  3457. }
  3458. declare module "babylonjs-inspector/components/actionTabs/lines/messageLineComponent" {
  3459. import * as React from "react";
  3460. interface IMessageLineComponentProps {
  3461. text: string;
  3462. color?: string;
  3463. }
  3464. export class MessageLineComponent extends React.Component<IMessageLineComponentProps> {
  3465. constructor(props: IMessageLineComponentProps);
  3466. render(): JSX.Element;
  3467. }
  3468. }
  3469. declare module "babylonjs-inspector/components/actionTabs/tabs/tools/gltfComponent" {
  3470. import * as React from "react";
  3471. import { Scene } from "babylonjs/scene";
  3472. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3473. interface IGLTFComponentProps {
  3474. scene: Scene;
  3475. globalState: GlobalState;
  3476. }
  3477. export class GLTFComponent extends React.Component<IGLTFComponentProps> {
  3478. private _onValidationResultsUpdatedObserver;
  3479. constructor(props: IGLTFComponentProps);
  3480. openValidationDetails(): void;
  3481. prepareText(singularForm: string, count: number): string;
  3482. componentDidMount(): void;
  3483. componentWillUnmount(): void;
  3484. renderValidation(): JSX.Element | null;
  3485. render(): JSX.Element;
  3486. }
  3487. }
  3488. declare module "babylonjs-inspector/components/actionTabs/lines/fileMultipleButtonLineComponent" {
  3489. import * as React from "react";
  3490. interface IFileMultipleButtonLineComponentProps {
  3491. label: string;
  3492. onClick: (event: any) => void;
  3493. accept: string;
  3494. }
  3495. export class FileMultipleButtonLineComponent extends React.Component<IFileMultipleButtonLineComponentProps> {
  3496. private static _IDGenerator;
  3497. private _id;
  3498. private uploadInputRef;
  3499. constructor(props: IFileMultipleButtonLineComponentProps);
  3500. onChange(evt: any): void;
  3501. render(): JSX.Element;
  3502. }
  3503. }
  3504. declare module "babylonjs-inspector/components/actionTabs/tabs/toolsTabComponent" {
  3505. import { PaneComponent, IPaneComponentProps } from "babylonjs-inspector/components/actionTabs/paneComponent";
  3506. import { Node } from "babylonjs/node";
  3507. export class ToolsTabComponent extends PaneComponent {
  3508. private _videoRecorder;
  3509. private _screenShotSize;
  3510. private _gifOptions;
  3511. private _useWidthHeight;
  3512. private _isExporting;
  3513. private _gifWorkerBlob;
  3514. private _gifRecorder;
  3515. private _previousRenderingScale;
  3516. private _crunchingGIF;
  3517. constructor(props: IPaneComponentProps);
  3518. componentDidMount(): void;
  3519. componentWillUnmount(): void;
  3520. captureScreenshot(): void;
  3521. captureRender(): void;
  3522. recordVideo(): void;
  3523. recordGIFInternal(): void;
  3524. recordGIF(): void;
  3525. importAnimations(event: any): void;
  3526. shouldExport(node: Node): boolean;
  3527. exportGLTF(): void;
  3528. exportBabylon(): void;
  3529. createEnvTexture(): void;
  3530. exportReplay(): void;
  3531. startRecording(): void;
  3532. applyDelta(file: File): void;
  3533. render(): JSX.Element | null;
  3534. }
  3535. }
  3536. declare module "babylonjs-inspector/components/actionTabs/tabs/settingsTabComponent" {
  3537. import { PaneComponent, IPaneComponentProps } from "babylonjs-inspector/components/actionTabs/paneComponent";
  3538. export class SettingsTabComponent extends PaneComponent {
  3539. constructor(props: IPaneComponentProps);
  3540. render(): JSX.Element;
  3541. }
  3542. }
  3543. declare module "babylonjs-inspector/components/actionTabs/actionTabsComponent" {
  3544. import * as React from "react";
  3545. import { Scene } from "babylonjs/scene";
  3546. import { DebugLayerTab } from "babylonjs/Debug/debugLayer";
  3547. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3548. interface IActionTabsComponentProps {
  3549. scene?: Scene;
  3550. noCommands?: boolean;
  3551. noHeader?: boolean;
  3552. noExpand?: boolean;
  3553. noClose?: boolean;
  3554. popupMode?: boolean;
  3555. onPopup?: () => void;
  3556. onClose?: () => void;
  3557. globalState?: GlobalState;
  3558. initialTab?: DebugLayerTab;
  3559. }
  3560. export class ActionTabsComponent extends React.Component<IActionTabsComponentProps, {
  3561. selectedEntity: any;
  3562. selectedIndex: number;
  3563. }> {
  3564. private _onSelectionChangeObserver;
  3565. private _onTabChangedObserver;
  3566. private _once;
  3567. constructor(props: IActionTabsComponentProps);
  3568. componentDidMount(): void;
  3569. componentWillUnmount(): void;
  3570. changeSelectedTab(index: number): void;
  3571. renderContent(): JSX.Element | null;
  3572. onClose(): void;
  3573. onPopup(): void;
  3574. render(): JSX.Element;
  3575. }
  3576. }
  3577. declare module "babylonjs-inspector/components/sceneExplorer/treeItemLabelComponent" {
  3578. import * as React from "react";
  3579. interface ITreeItemLabelComponentProps {
  3580. label: string;
  3581. onClick?: () => void;
  3582. color: string;
  3583. }
  3584. export class TreeItemLabelComponent extends React.Component<ITreeItemLabelComponentProps> {
  3585. constructor(props: ITreeItemLabelComponentProps);
  3586. onClick(): void;
  3587. render(): JSX.Element;
  3588. }
  3589. }
  3590. declare module "babylonjs-inspector/components/sceneExplorer/extensionsComponent" {
  3591. import * as React from "react";
  3592. import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
  3593. interface IExtensionsComponentProps {
  3594. target: any;
  3595. extensibilityGroups?: IExplorerExtensibilityGroup[];
  3596. }
  3597. export class ExtensionsComponent extends React.Component<IExtensionsComponentProps, {
  3598. popupVisible: boolean;
  3599. }> {
  3600. private _popup;
  3601. private extensionRef;
  3602. constructor(props: IExtensionsComponentProps);
  3603. showPopup(): void;
  3604. componentDidMount(): void;
  3605. componentDidUpdate(): void;
  3606. render(): JSX.Element | null;
  3607. }
  3608. }
  3609. declare module "babylonjs-inspector/components/sceneExplorer/entities/meshTreeItemComponent" {
  3610. import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
  3611. import { AbstractMesh } from "babylonjs/Meshes/abstractMesh";
  3612. import * as React from "react";
  3613. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3614. interface IMeshTreeItemComponentProps {
  3615. mesh: AbstractMesh;
  3616. extensibilityGroups?: IExplorerExtensibilityGroup[];
  3617. onClick: () => void;
  3618. globalState: GlobalState;
  3619. }
  3620. export class MeshTreeItemComponent extends React.Component<IMeshTreeItemComponentProps, {
  3621. isBoundingBoxEnabled: boolean;
  3622. isVisible: boolean;
  3623. }> {
  3624. constructor(props: IMeshTreeItemComponentProps);
  3625. showBoundingBox(): void;
  3626. switchVisibility(): void;
  3627. render(): JSX.Element;
  3628. }
  3629. }
  3630. declare module "babylonjs-inspector/components/sceneExplorer/entities/cameraTreeItemComponent" {
  3631. import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
  3632. import { Camera } from "babylonjs/Cameras/camera";
  3633. import * as React from "react";
  3634. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3635. interface ICameraTreeItemComponentProps {
  3636. camera: Camera;
  3637. extensibilityGroups?: IExplorerExtensibilityGroup[];
  3638. onClick: () => void;
  3639. globalState: GlobalState;
  3640. }
  3641. export class CameraTreeItemComponent extends React.Component<ICameraTreeItemComponentProps, {
  3642. isActive: boolean;
  3643. isGizmoEnabled: boolean;
  3644. }> {
  3645. private _onBeforeRenderObserver;
  3646. constructor(props: ICameraTreeItemComponentProps);
  3647. setActive(): void;
  3648. componentDidMount(): void;
  3649. componentWillUnmount(): void;
  3650. toggleGizmo(): void;
  3651. render(): JSX.Element;
  3652. }
  3653. }
  3654. declare module "babylonjs-inspector/components/sceneExplorer/entities/lightTreeItemComponent" {
  3655. import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
  3656. import { Light } from "babylonjs/Lights/light";
  3657. import * as React from "react";
  3658. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3659. interface ILightTreeItemComponentProps {
  3660. light: Light;
  3661. extensibilityGroups?: IExplorerExtensibilityGroup[];
  3662. onClick: () => void;
  3663. globalState: GlobalState;
  3664. }
  3665. export class LightTreeItemComponent extends React.Component<ILightTreeItemComponentProps, {
  3666. isEnabled: boolean;
  3667. isGizmoEnabled: boolean;
  3668. }> {
  3669. constructor(props: ILightTreeItemComponentProps);
  3670. switchIsEnabled(): void;
  3671. toggleGizmo(): void;
  3672. render(): JSX.Element;
  3673. }
  3674. }
  3675. declare module "babylonjs-inspector/components/sceneExplorer/entities/materialTreeItemComponent" {
  3676. import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
  3677. import { Material } from "babylonjs/Materials/material";
  3678. import * as React from 'react';
  3679. interface IMaterialTreeItemComponentProps {
  3680. material: Material;
  3681. extensibilityGroups?: IExplorerExtensibilityGroup[];
  3682. onClick: () => void;
  3683. }
  3684. export class MaterialTreeItemComponent extends React.Component<IMaterialTreeItemComponentProps> {
  3685. constructor(props: IMaterialTreeItemComponentProps);
  3686. render(): JSX.Element;
  3687. }
  3688. }
  3689. declare module "babylonjs-inspector/components/sceneExplorer/entities/textureTreeItemComponent" {
  3690. import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
  3691. import { Texture } from "babylonjs/Materials/Textures/texture";
  3692. import * as React from 'react';
  3693. interface ITextureTreeItemComponentProps {
  3694. texture: Texture;
  3695. extensibilityGroups?: IExplorerExtensibilityGroup[];
  3696. onClick: () => void;
  3697. }
  3698. export class TextureTreeItemComponent extends React.Component<ITextureTreeItemComponentProps> {
  3699. constructor(props: ITextureTreeItemComponentProps);
  3700. render(): JSX.Element;
  3701. }
  3702. }
  3703. declare module "babylonjs-inspector/components/sceneExplorer/entities/transformNodeTreeItemComponent" {
  3704. import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
  3705. import { TransformNode } from "babylonjs/Meshes/transformNode";
  3706. import * as React from "react";
  3707. interface ITransformNodeItemComponentProps {
  3708. transformNode: TransformNode;
  3709. extensibilityGroups?: IExplorerExtensibilityGroup[];
  3710. onClick: () => void;
  3711. }
  3712. export class TransformNodeItemComponent extends React.Component<ITransformNodeItemComponentProps> {
  3713. constructor(props: ITransformNodeItemComponentProps);
  3714. render(): JSX.Element;
  3715. }
  3716. }
  3717. declare module "babylonjs-inspector/components/sceneExplorer/entities/gui/controlTreeItemComponent" {
  3718. import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
  3719. import { Control } from "babylonjs-gui/2D/controls/control";
  3720. import * as React from 'react';
  3721. interface IControlTreeItemComponentProps {
  3722. control: Control;
  3723. extensibilityGroups?: IExplorerExtensibilityGroup[];
  3724. onClick: () => void;
  3725. }
  3726. export class ControlTreeItemComponent extends React.Component<IControlTreeItemComponentProps, {
  3727. isActive: boolean;
  3728. isVisible: boolean;
  3729. }> {
  3730. constructor(props: IControlTreeItemComponentProps);
  3731. highlight(): void;
  3732. switchVisibility(): void;
  3733. render(): JSX.Element;
  3734. }
  3735. }
  3736. declare module "babylonjs-inspector/components/sceneExplorer/entities/gui/advancedDynamicTextureTreeItemComponent" {
  3737. import { Observable } from "babylonjs/Misc/observable";
  3738. import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
  3739. import { AdvancedDynamicTexture } from 'babylonjs-gui/2D/advancedDynamicTexture';
  3740. import * as React from 'react';
  3741. interface IAdvancedDynamicTextureTreeItemComponentProps {
  3742. texture: AdvancedDynamicTexture;
  3743. extensibilityGroups?: IExplorerExtensibilityGroup[];
  3744. onSelectionChangedObservable?: Observable<any>;
  3745. onClick: () => void;
  3746. }
  3747. export class AdvancedDynamicTextureTreeItemComponent extends React.Component<IAdvancedDynamicTextureTreeItemComponentProps, {
  3748. isInPickingMode: boolean;
  3749. }> {
  3750. private _onControlPickedObserver;
  3751. constructor(props: IAdvancedDynamicTextureTreeItemComponentProps);
  3752. componentWillUnmount(): void;
  3753. onPickingMode(): void;
  3754. render(): JSX.Element;
  3755. }
  3756. }
  3757. declare module "babylonjs-inspector/components/sceneExplorer/entities/animationGroupTreeItemComponent" {
  3758. import { AnimationGroup } from "babylonjs/Animations/animationGroup";
  3759. import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
  3760. import * as React from "react";
  3761. interface IAnimationGroupItemComponentProps {
  3762. animationGroup: AnimationGroup;
  3763. extensibilityGroups?: IExplorerExtensibilityGroup[];
  3764. onClick: () => void;
  3765. }
  3766. export class AnimationGroupItemComponent extends React.Component<IAnimationGroupItemComponentProps> {
  3767. constructor(props: IAnimationGroupItemComponentProps);
  3768. render(): JSX.Element;
  3769. }
  3770. }
  3771. declare module "babylonjs-inspector/components/sceneExplorer/entities/postProcessTreeItemComponent" {
  3772. import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
  3773. import { PostProcess } from 'babylonjs/PostProcesses/postProcess';
  3774. import * as React from 'react';
  3775. interface IPostProcessItemComponentProps {
  3776. postProcess: PostProcess;
  3777. extensibilityGroups?: IExplorerExtensibilityGroup[];
  3778. onClick: () => void;
  3779. }
  3780. export class PostProcessItemComponent extends React.Component<IPostProcessItemComponentProps> {
  3781. constructor(props: IPostProcessItemComponentProps);
  3782. render(): JSX.Element;
  3783. }
  3784. }
  3785. declare module "babylonjs-inspector/components/sceneExplorer/entities/renderingPipelineTreeItemComponent" {
  3786. import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
  3787. import { PostProcessRenderPipeline } from 'babylonjs/PostProcesses/RenderPipeline/postProcessRenderPipeline';
  3788. import * as React from 'react';
  3789. interface IRenderPipelineItemComponenttProps {
  3790. renderPipeline: PostProcessRenderPipeline;
  3791. extensibilityGroups?: IExplorerExtensibilityGroup[];
  3792. onClick: () => void;
  3793. }
  3794. export class RenderingPipelineItemComponent extends React.Component<IRenderPipelineItemComponenttProps> {
  3795. constructor(props: IRenderPipelineItemComponenttProps);
  3796. render(): JSX.Element;
  3797. }
  3798. }
  3799. declare module "babylonjs-inspector/components/sceneExplorer/entities/skeletonTreeItemComponent" {
  3800. import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
  3801. import * as React from "react";
  3802. import { Skeleton } from 'babylonjs/Bones/skeleton';
  3803. interface ISkeletonTreeItemComponentProps {
  3804. skeleton: Skeleton;
  3805. extensibilityGroups?: IExplorerExtensibilityGroup[];
  3806. onClick: () => void;
  3807. }
  3808. export class SkeletonTreeItemComponent extends React.Component<ISkeletonTreeItemComponentProps> {
  3809. constructor(props: ISkeletonTreeItemComponentProps);
  3810. render(): JSX.Element;
  3811. }
  3812. }
  3813. declare module "babylonjs-inspector/components/sceneExplorer/entities/boneTreeItemComponent" {
  3814. import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
  3815. import * as React from "react";
  3816. import { Bone } from 'babylonjs/Bones/bone';
  3817. interface IBoneTreeItemComponenttProps {
  3818. bone: Bone;
  3819. extensibilityGroups?: IExplorerExtensibilityGroup[];
  3820. onClick: () => void;
  3821. }
  3822. export class BoneTreeItemComponent extends React.Component<IBoneTreeItemComponenttProps> {
  3823. constructor(props: IBoneTreeItemComponenttProps);
  3824. render(): JSX.Element;
  3825. }
  3826. }
  3827. declare module "babylonjs-inspector/components/sceneExplorer/entities/particleSystemTreeItemComponent" {
  3828. import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
  3829. import * as React from 'react';
  3830. import { IParticleSystem } from 'babylonjs/Particles/IParticleSystem';
  3831. interface IParticleSystemTreeItemComponentProps {
  3832. system: IParticleSystem;
  3833. extensibilityGroups?: IExplorerExtensibilityGroup[];
  3834. onClick: () => void;
  3835. }
  3836. export class ParticleSystemTreeItemComponent extends React.Component<IParticleSystemTreeItemComponentProps> {
  3837. constructor(props: IParticleSystemTreeItemComponentProps);
  3838. render(): JSX.Element;
  3839. }
  3840. }
  3841. declare module "babylonjs-inspector/components/sceneExplorer/entities/spriteManagerTreeItemComponent" {
  3842. import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
  3843. import * as React from 'react';
  3844. import { SpriteManager } from 'babylonjs/Sprites/spriteManager';
  3845. interface ISpriteManagerTreeItemComponentProps {
  3846. spriteManager: SpriteManager;
  3847. extensibilityGroups?: IExplorerExtensibilityGroup[];
  3848. onClick: () => void;
  3849. }
  3850. export class SpriteManagerTreeItemComponent extends React.Component<ISpriteManagerTreeItemComponentProps> {
  3851. constructor(props: ISpriteManagerTreeItemComponentProps);
  3852. render(): JSX.Element;
  3853. }
  3854. }
  3855. declare module "babylonjs-inspector/components/sceneExplorer/entities/spriteTreeItemComponent" {
  3856. import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
  3857. import * as React from 'react';
  3858. import { Sprite } from 'babylonjs/Sprites/sprite';
  3859. interface ISpriteTreeItemComponentProps {
  3860. sprite: Sprite;
  3861. extensibilityGroups?: IExplorerExtensibilityGroup[];
  3862. onClick: () => void;
  3863. }
  3864. export class SpriteTreeItemComponent extends React.Component<ISpriteTreeItemComponentProps> {
  3865. constructor(props: ISpriteTreeItemComponentProps);
  3866. render(): JSX.Element;
  3867. }
  3868. }
  3869. declare module "babylonjs-inspector/components/sceneExplorer/entities/targetedAnimationTreeItemComponent" {
  3870. import { TargetedAnimation } from "babylonjs/Animations/animationGroup";
  3871. import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
  3872. import * as React from "react";
  3873. interface ITargetedAnimationItemComponentProps {
  3874. targetedAnimation: TargetedAnimation;
  3875. extensibilityGroups?: IExplorerExtensibilityGroup[];
  3876. onClick: () => void;
  3877. }
  3878. export class TargetedAnimationItemComponent extends React.Component<ITargetedAnimationItemComponentProps> {
  3879. constructor(props: ITargetedAnimationItemComponentProps);
  3880. render(): JSX.Element;
  3881. }
  3882. }
  3883. declare module "babylonjs-inspector/components/sceneExplorer/treeItemSpecializedComponent" {
  3884. import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
  3885. import * as React from "react";
  3886. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3887. interface ITreeItemSpecializedComponentProps {
  3888. label: string;
  3889. entity?: any;
  3890. extensibilityGroups?: IExplorerExtensibilityGroup[];
  3891. globalState: GlobalState;
  3892. onClick?: () => void;
  3893. }
  3894. export class TreeItemSpecializedComponent extends React.Component<ITreeItemSpecializedComponentProps> {
  3895. constructor(props: ITreeItemSpecializedComponentProps);
  3896. onClick(): void;
  3897. render(): JSX.Element;
  3898. }
  3899. }
  3900. declare module "babylonjs-inspector/tools" {
  3901. export class Tools {
  3902. static LookForItem(item: any, selectedEntity: any): boolean;
  3903. private static _RecursiveRemoveHiddenMeshesAndHoistChildren;
  3904. static SortAndFilter(parent: any, items: any[]): any[];
  3905. }
  3906. }
  3907. declare module "babylonjs-inspector/components/sceneExplorer/treeItemSelectableComponent" {
  3908. import { Nullable } from "babylonjs/types";
  3909. import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
  3910. import * as React from "react";
  3911. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3912. export interface ITreeItemSelectableComponentProps {
  3913. entity: any;
  3914. selectedEntity?: any;
  3915. mustExpand?: boolean;
  3916. offset: number;
  3917. globalState: GlobalState;
  3918. extensibilityGroups?: IExplorerExtensibilityGroup[];
  3919. filter: Nullable<string>;
  3920. }
  3921. export class TreeItemSelectableComponent extends React.Component<ITreeItemSelectableComponentProps, {
  3922. isExpanded: boolean;
  3923. isSelected: boolean;
  3924. }> {
  3925. private _wasSelected;
  3926. constructor(props: ITreeItemSelectableComponentProps);
  3927. switchExpandedState(): void;
  3928. shouldComponentUpdate(nextProps: ITreeItemSelectableComponentProps, nextState: {
  3929. isExpanded: boolean;
  3930. isSelected: boolean;
  3931. }): boolean;
  3932. scrollIntoView(): void;
  3933. componentDidMount(): void;
  3934. componentDidUpdate(): void;
  3935. onSelect(): void;
  3936. renderChildren(): JSX.Element[] | null;
  3937. render(): JSX.Element | null;
  3938. }
  3939. }
  3940. declare module "babylonjs-inspector/components/sceneExplorer/treeItemComponent" {
  3941. import * as React from "react";
  3942. import { Nullable } from "babylonjs/types";
  3943. import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
  3944. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3945. export interface ITreeItemComponentProps {
  3946. items?: Nullable<any[]>;
  3947. label: string;
  3948. offset: number;
  3949. filter: Nullable<string>;
  3950. forceSubitems?: boolean;
  3951. globalState: GlobalState;
  3952. entity?: any;
  3953. selectedEntity: any;
  3954. extensibilityGroups?: IExplorerExtensibilityGroup[];
  3955. contextMenuItems?: {
  3956. label: string;
  3957. action: () => void;
  3958. }[];
  3959. }
  3960. export class TreeItemComponent extends React.Component<ITreeItemComponentProps, {
  3961. isExpanded: boolean;
  3962. mustExpand: boolean;
  3963. }> {
  3964. static _ContextMenuUniqueIdGenerator: number;
  3965. constructor(props: ITreeItemComponentProps);
  3966. switchExpandedState(): void;
  3967. shouldComponentUpdate(nextProps: ITreeItemComponentProps, nextState: {
  3968. isExpanded: boolean;
  3969. }): boolean;
  3970. expandAll(expand: boolean): void;
  3971. renderContextMenu(): JSX.Element | null;
  3972. render(): JSX.Element;
  3973. }
  3974. }
  3975. declare module "babylonjs-inspector/components/sceneExplorer/entities/sceneTreeItemComponent" {
  3976. import { Observable } from "babylonjs/Misc/observable";
  3977. import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
  3978. import { Scene } from "babylonjs/scene";
  3979. import * as React from "react";
  3980. import { GlobalState } from "babylonjs-inspector/components/globalState";
  3981. interface ISceneTreeItemComponentProps {
  3982. scene: Scene;
  3983. onRefresh: () => void;
  3984. selectedEntity?: any;
  3985. extensibilityGroups?: IExplorerExtensibilityGroup[];
  3986. onSelectionChangedObservable?: Observable<any>;
  3987. globalState: GlobalState;
  3988. }
  3989. export class SceneTreeItemComponent extends React.Component<ISceneTreeItemComponentProps, {
  3990. isSelected: boolean;
  3991. isInPickingMode: boolean;
  3992. gizmoMode: number;
  3993. }> {
  3994. private _gizmoLayerOnPointerObserver;
  3995. private _onPointerObserver;
  3996. private _onSelectionChangeObserver;
  3997. private _selectedEntity;
  3998. private _posDragEnd;
  3999. private _scaleDragEnd;
  4000. private _rotateDragEnd;
  4001. constructor(props: ISceneTreeItemComponentProps);
  4002. shouldComponentUpdate(nextProps: ISceneTreeItemComponentProps, nextState: {
  4003. isSelected: boolean;
  4004. isInPickingMode: boolean;
  4005. }): boolean;
  4006. componentDidMount(): void;
  4007. componentWillUnmount(): void;
  4008. onSelect(): void;
  4009. onPickingMode(): void;
  4010. setGizmoMode(mode: number): void;
  4011. render(): JSX.Element;
  4012. }
  4013. }
  4014. declare module "babylonjs-inspector/components/sceneExplorer/sceneExplorerComponent" {
  4015. import * as React from "react";
  4016. import { Nullable } from "babylonjs/types";
  4017. import { IExplorerExtensibilityGroup } from "babylonjs/Debug/debugLayer";
  4018. import { Scene } from "babylonjs/scene";
  4019. import { GlobalState } from "babylonjs-inspector/components/globalState";
  4020. interface ISceneExplorerFilterComponentProps {
  4021. onFilter: (filter: string) => void;
  4022. }
  4023. export class SceneExplorerFilterComponent extends React.Component<ISceneExplorerFilterComponentProps> {
  4024. constructor(props: ISceneExplorerFilterComponentProps);
  4025. render(): JSX.Element;
  4026. }
  4027. interface ISceneExplorerComponentProps {
  4028. scene: Scene;
  4029. noCommands?: boolean;
  4030. noHeader?: boolean;
  4031. noExpand?: boolean;
  4032. noClose?: boolean;
  4033. extensibilityGroups?: IExplorerExtensibilityGroup[];
  4034. globalState: GlobalState;
  4035. popupMode?: boolean;
  4036. onPopup?: () => void;
  4037. onClose?: () => void;
  4038. }
  4039. export class SceneExplorerComponent extends React.Component<ISceneExplorerComponentProps, {
  4040. filter: Nullable<string>;
  4041. selectedEntity: any;
  4042. scene: Scene;
  4043. }> {
  4044. private _onSelectionChangeObserver;
  4045. private _onSelectionRenamedObserver;
  4046. private _onNewSceneAddedObserver;
  4047. private _onNewSceneObserver;
  4048. private sceneExplorerRef;
  4049. private _once;
  4050. private _hooked;
  4051. private sceneMutationFunc;
  4052. constructor(props: ISceneExplorerComponentProps);
  4053. processMutation(): void;
  4054. componentDidMount(): void;
  4055. componentWillUnmount(): void;
  4056. filterContent(filter: string): void;
  4057. findSiblings(parent: any, items: any[], target: any, goNext: boolean, data: {
  4058. previousOne?: any;
  4059. found?: boolean;
  4060. }): boolean;
  4061. processKeys(keyEvent: React.KeyboardEvent<HTMLDivElement>): void;
  4062. renderContent(): JSX.Element | null;
  4063. onClose(): void;
  4064. onPopup(): void;
  4065. render(): JSX.Element;
  4066. }
  4067. }
  4068. declare module "babylonjs-inspector/components/embedHost/embedHostComponent" {
  4069. import * as React from "react";
  4070. import { Scene } from "babylonjs/scene";
  4071. import { GlobalState } from "babylonjs-inspector/components/globalState";
  4072. import { IExplorerExtensibilityGroup, DebugLayerTab } from 'babylonjs/Debug/debugLayer';
  4073. interface IEmbedHostComponentProps {
  4074. scene: Scene;
  4075. globalState: GlobalState;
  4076. popupMode: boolean;
  4077. noClose?: boolean;
  4078. noExpand?: boolean;
  4079. onClose: () => void;
  4080. onPopup: () => void;
  4081. extensibilityGroups?: IExplorerExtensibilityGroup[];
  4082. initialTab?: DebugLayerTab;
  4083. }
  4084. export class EmbedHostComponent extends React.Component<IEmbedHostComponentProps> {
  4085. private _once;
  4086. private splitRef;
  4087. private topPartRef;
  4088. private bottomPartRef;
  4089. constructor(props: IEmbedHostComponentProps);
  4090. componentDidMount(): void;
  4091. renderContent(): JSX.Element;
  4092. render(): JSX.Element;
  4093. }
  4094. }
  4095. declare module "babylonjs-inspector/inspector" {
  4096. import { IInspectorOptions } from "babylonjs/Debug/debugLayer";
  4097. import { Observable } from "babylonjs/Misc/observable";
  4098. import { Scene } from "babylonjs/scene";
  4099. import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
  4100. export class Inspector {
  4101. private static _SceneExplorerHost;
  4102. private static _ActionTabsHost;
  4103. private static _EmbedHost;
  4104. private static _NewCanvasContainer;
  4105. private static _SceneExplorerWindow;
  4106. private static _ActionTabsWindow;
  4107. private static _EmbedHostWindow;
  4108. private static _Scene;
  4109. private static _OpenedPane;
  4110. private static _OnBeforeRenderObserver;
  4111. static OnSelectionChangeObservable: Observable<any>;
  4112. static OnPropertyChangedObservable: Observable<PropertyChangedEvent>;
  4113. private static _GlobalState;
  4114. static MarkLineContainerTitleForHighlighting(title: string): void;
  4115. static MarkMultipleLineContainerTitlesForHighlighting(titles: string[]): void;
  4116. private static _CopyStyles;
  4117. private static _CreateSceneExplorer;
  4118. private static _CreateActionTabs;
  4119. private static _CreateEmbedHost;
  4120. static _CreatePopup(title: string, windowVariableName: string, width?: number, height?: number, lateBinding?: boolean): HTMLDivElement | null;
  4121. static get IsVisible(): boolean;
  4122. static EarlyAttachToLoader(): void;
  4123. static Show(scene: Scene, userOptions: Partial<IInspectorOptions>): void;
  4124. static _SetNewScene(scene: Scene): void;
  4125. static _CreateCanvasContainer(parentControl: HTMLElement): void;
  4126. private static _DestroyCanvasContainer;
  4127. private static _Cleanup;
  4128. private static _RemoveElementFromDOM;
  4129. static Hide(): void;
  4130. }
  4131. }
  4132. declare module "babylonjs-inspector/index" {
  4133. export * from "babylonjs-inspector/inspector";
  4134. }
  4135. declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/playhead" {
  4136. import * as React from 'react';
  4137. interface IPlayheadProps {
  4138. frame: number;
  4139. offset: number;
  4140. onCurrentFrameChange: (frame: number) => void;
  4141. }
  4142. export class Playhead extends React.Component<IPlayheadProps> {
  4143. private _direction;
  4144. private _active;
  4145. constructor(props: IPlayheadProps);
  4146. dragStart(e: React.TouchEvent<HTMLDivElement>): void;
  4147. dragStart(e: React.MouseEvent<HTMLDivElement, MouseEvent>): void;
  4148. drag(e: React.TouchEvent<HTMLDivElement>): void;
  4149. drag(e: React.MouseEvent<HTMLDivElement, MouseEvent>): void;
  4150. dragEnd(e: React.TouchEvent<HTMLDivElement>): void;
  4151. dragEnd(e: React.MouseEvent<HTMLDivElement, MouseEvent>): void;
  4152. calculateMove(): string;
  4153. render(): JSX.Element;
  4154. }
  4155. }
  4156. declare module "babylonjs-inspector/legacy/legacy" {
  4157. export * from "babylonjs-inspector/index";
  4158. }
  4159. declare module "babylonjs-inspector" {
  4160. export * from "babylonjs-inspector/legacy/legacy";
  4161. }
  4162. /// <reference types="react" />
  4163. declare module INSPECTOR {
  4164. export class PropertyChangedEvent {
  4165. object: any;
  4166. property: string;
  4167. value: any;
  4168. initialValue: any;
  4169. allowNullValue?: boolean;
  4170. }
  4171. }
  4172. declare module INSPECTOR {
  4173. export class ReplayRecorder {
  4174. private _sceneRecorder;
  4175. private _isRecording;
  4176. get isRecording(): boolean;
  4177. cancel(): void;
  4178. trackScene(scene: BABYLON.Scene): void;
  4179. applyDelta(json: any, scene: BABYLON.Scene): void;
  4180. export(): void;
  4181. }
  4182. }
  4183. declare module INSPECTOR {
  4184. export class GlobalState {
  4185. onSelectionChangedObservable: BABYLON.Observable<any>;
  4186. onPropertyChangedObservable: BABYLON.Observable<PropertyChangedEvent>;
  4187. onInspectorClosedObservable: BABYLON.Observable<BABYLON.Scene>;
  4188. onTabChangedObservable: BABYLON.Observable<number>;
  4189. onSelectionRenamedObservable: BABYLON.Observable<void>;
  4190. onPluginActivatedObserver: BABYLON.Nullable<BABYLON.Observer<BABYLON.ISceneLoaderPlugin | BABYLON.ISceneLoaderPluginAsync>>;
  4191. onNewSceneObservable: BABYLON.Observable<BABYLON.Scene>;
  4192. sceneImportDefaults: {
  4193. [key: string]: any;
  4194. };
  4195. validationResults: BABYLON.Nullable<BABYLON.GLTF2.IGLTFValidationResults>;
  4196. onValidationResultsUpdatedObservable: BABYLON.Observable<BABYLON.Nullable<BABYLON.GLTF2.IGLTFValidationResults>>;
  4197. onExtensionLoadedObservable: BABYLON.Observable<BABYLON.IGLTFLoaderExtension>;
  4198. glTFLoaderExtensionDefaults: {
  4199. [name: string]: {
  4200. [key: string]: any;
  4201. };
  4202. };
  4203. glTFLoaderDefaults: {
  4204. [key: string]: any;
  4205. };
  4206. glTFLoaderExtenstions: {
  4207. [key: string]: BABYLON.IGLTFLoaderExtension;
  4208. };
  4209. blockMutationUpdates: boolean;
  4210. selectedLineContainerTitles: Array<string>;
  4211. selectedLineContainerTitlesNoFocus: Array<string>;
  4212. recorder: ReplayRecorder;
  4213. private _onlyUseEulers;
  4214. get onlyUseEulers(): boolean;
  4215. set onlyUseEulers(value: boolean);
  4216. private _ignoreBackfacesForPicking;
  4217. get ignoreBackfacesForPicking(): boolean;
  4218. set ignoreBackfacesForPicking(value: boolean);
  4219. init(propertyChangedObservable: BABYLON.Observable<PropertyChangedEvent>): void;
  4220. prepareGLTFPlugin(loader: BABYLON.GLTFFileLoader): void;
  4221. lightGizmos: Array<BABYLON.LightGizmo>;
  4222. enableLightGizmo(light: BABYLON.Light, enable?: boolean): void;
  4223. cameraGizmos: Array<BABYLON.CameraGizmo>;
  4224. enableCameraGizmo(camera: BABYLON.Camera, enable?: boolean): void;
  4225. }
  4226. }
  4227. declare module INSPECTOR {
  4228. export interface IPaneComponentProps {
  4229. title: string;
  4230. scene: BABYLON.Scene;
  4231. selectedEntity?: any;
  4232. onSelectionChangedObservable?: BABYLON.Observable<any>;
  4233. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  4234. globalState: GlobalState;
  4235. }
  4236. export class PaneComponent extends React.Component<IPaneComponentProps, {
  4237. tag: any;
  4238. }> {
  4239. constructor(props: IPaneComponentProps);
  4240. render(): JSX.Element | null;
  4241. }
  4242. }
  4243. declare module INSPECTOR {
  4244. interface ITabsComponentProps {
  4245. children: any[];
  4246. selectedIndex: number;
  4247. onSelectedIndexChange: (value: number) => void;
  4248. }
  4249. export class TabsComponent extends React.Component<ITabsComponentProps> {
  4250. constructor(props: ITabsComponentProps);
  4251. onSelect(index: number): void;
  4252. renderLabel(child: PaneComponent, index: number): JSX.Element;
  4253. render(): JSX.Element;
  4254. }
  4255. }
  4256. declare module INSPECTOR {
  4257. interface ITextLineComponentProps {
  4258. label?: string;
  4259. value?: string;
  4260. color?: string;
  4261. underline?: boolean;
  4262. onLink?: () => void;
  4263. url?: string;
  4264. ignoreValue?: boolean;
  4265. additionalClass?: string;
  4266. }
  4267. export class TextLineComponent extends React.Component<ITextLineComponentProps> {
  4268. constructor(props: ITextLineComponentProps);
  4269. onLink(): void;
  4270. renderContent(): JSX.Element | null;
  4271. render(): JSX.Element;
  4272. }
  4273. }
  4274. declare module INSPECTOR {
  4275. interface ILineContainerComponentProps {
  4276. globalState?: GlobalState;
  4277. title: string;
  4278. children: any[] | any;
  4279. closed?: boolean;
  4280. }
  4281. export class LineContainerComponent extends React.Component<ILineContainerComponentProps, {
  4282. isExpanded: boolean;
  4283. isHighlighted: boolean;
  4284. }> {
  4285. constructor(props: ILineContainerComponentProps);
  4286. switchExpandedState(): void;
  4287. componentDidMount(): void;
  4288. renderHeader(): JSX.Element;
  4289. render(): JSX.Element;
  4290. }
  4291. }
  4292. declare module INSPECTOR {
  4293. interface IValueLineComponentProps {
  4294. label: string;
  4295. value: number;
  4296. color?: string;
  4297. fractionDigits?: number;
  4298. units?: string;
  4299. }
  4300. export class ValueLineComponent extends React.Component<IValueLineComponentProps> {
  4301. constructor(props: IValueLineComponentProps);
  4302. render(): JSX.Element;
  4303. }
  4304. }
  4305. declare module INSPECTOR {
  4306. export interface IBooleanLineComponentProps {
  4307. label: string;
  4308. value: boolean;
  4309. }
  4310. export class BooleanLineComponent extends React.Component<IBooleanLineComponentProps> {
  4311. constructor(props: IBooleanLineComponentProps);
  4312. render(): JSX.Element;
  4313. }
  4314. }
  4315. declare module INSPECTOR {
  4316. export class StatisticsTabComponent extends PaneComponent {
  4317. private _sceneInstrumentation;
  4318. private _engineInstrumentation;
  4319. private _timerIntervalId;
  4320. constructor(props: IPaneComponentProps);
  4321. componentWillUnmount(): void;
  4322. render(): JSX.Element | null;
  4323. }
  4324. }
  4325. declare module INSPECTOR {
  4326. export interface ICheckBoxLineComponentProps {
  4327. label: string;
  4328. target?: any;
  4329. propertyName?: string;
  4330. isSelected?: () => boolean;
  4331. onSelect?: (value: boolean) => void;
  4332. onValueChanged?: () => void;
  4333. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  4334. }
  4335. export class CheckBoxLineComponent extends React.Component<ICheckBoxLineComponentProps, {
  4336. isSelected: boolean;
  4337. }> {
  4338. private static _UniqueIdSeed;
  4339. private _uniqueId;
  4340. private _localChange;
  4341. constructor(props: ICheckBoxLineComponentProps);
  4342. shouldComponentUpdate(nextProps: ICheckBoxLineComponentProps, nextState: {
  4343. isSelected: boolean;
  4344. }): boolean;
  4345. onChange(): void;
  4346. render(): JSX.Element;
  4347. }
  4348. }
  4349. declare module INSPECTOR {
  4350. interface IRenderGridPropertyGridComponentProps {
  4351. globalState: GlobalState;
  4352. scene: BABYLON.Scene;
  4353. }
  4354. export class RenderGridPropertyGridComponent extends React.Component<IRenderGridPropertyGridComponentProps, {
  4355. isEnabled: boolean;
  4356. }> {
  4357. private _gridMesh;
  4358. constructor(props: IRenderGridPropertyGridComponentProps);
  4359. componentDidMount(): void;
  4360. addOrRemoveGrid(): void;
  4361. render(): JSX.Element;
  4362. }
  4363. }
  4364. declare module INSPECTOR {
  4365. export class DebugTabComponent extends PaneComponent {
  4366. private _physicsViewersEnabled;
  4367. constructor(props: IPaneComponentProps);
  4368. switchPhysicsViewers(): void;
  4369. render(): JSX.Element | null;
  4370. }
  4371. }
  4372. declare module INSPECTOR {
  4373. interface ISliderLineComponentProps {
  4374. label: string;
  4375. target?: any;
  4376. propertyName?: string;
  4377. minimum: number;
  4378. maximum: number;
  4379. step: number;
  4380. directValue?: number;
  4381. useEuler?: boolean;
  4382. onChange?: (value: number) => void;
  4383. onInput?: (value: number) => void;
  4384. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  4385. decimalCount?: number;
  4386. }
  4387. export class SliderLineComponent extends React.Component<ISliderLineComponentProps, {
  4388. value: number;
  4389. }> {
  4390. private _localChange;
  4391. constructor(props: ISliderLineComponentProps);
  4392. shouldComponentUpdate(nextProps: ISliderLineComponentProps, nextState: {
  4393. value: number;
  4394. }): boolean;
  4395. onChange(newValueString: any): void;
  4396. onInput(newValueString: any): void;
  4397. prepareDataToRead(value: number): number;
  4398. render(): JSX.Element;
  4399. }
  4400. }
  4401. declare module INSPECTOR {
  4402. export const Null_Value: number;
  4403. class ListLineOption {
  4404. label: string;
  4405. value: number;
  4406. }
  4407. interface IOptionsLineComponentProps {
  4408. label: string;
  4409. target: any;
  4410. propertyName: string;
  4411. options: ListLineOption[];
  4412. noDirectUpdate?: boolean;
  4413. onSelect?: (value: number) => void;
  4414. extractValue?: () => number;
  4415. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  4416. allowNullValue?: boolean;
  4417. }
  4418. export class OptionsLineComponent extends React.Component<IOptionsLineComponentProps, {
  4419. value: number;
  4420. }> {
  4421. private _localChange;
  4422. private remapValueIn;
  4423. private remapValueOut;
  4424. constructor(props: IOptionsLineComponentProps);
  4425. shouldComponentUpdate(nextProps: IOptionsLineComponentProps, nextState: {
  4426. value: number;
  4427. }): boolean;
  4428. raiseOnPropertyChanged(newValue: number, previousValue: number): void;
  4429. updateValue(valueString: string): void;
  4430. render(): JSX.Element;
  4431. }
  4432. }
  4433. declare module INSPECTOR {
  4434. /**
  4435. * Class used to provide lock mechanism
  4436. */
  4437. export class LockObject {
  4438. /**
  4439. * Gets or set if the lock is engaged
  4440. */
  4441. lock: boolean;
  4442. }
  4443. }
  4444. declare module INSPECTOR {
  4445. interface INumericInputComponentProps {
  4446. label: string;
  4447. value: number;
  4448. step?: number;
  4449. onChange: (value: number) => void;
  4450. precision?: number;
  4451. }
  4452. export class NumericInputComponent extends React.Component<INumericInputComponentProps, {
  4453. value: string;
  4454. }> {
  4455. static defaultProps: {
  4456. step: number;
  4457. };
  4458. private _localChange;
  4459. constructor(props: INumericInputComponentProps);
  4460. shouldComponentUpdate(nextProps: INumericInputComponentProps, nextState: {
  4461. value: string;
  4462. }): boolean;
  4463. updateValue(evt: any): void;
  4464. render(): JSX.Element;
  4465. }
  4466. }
  4467. declare module INSPECTOR {
  4468. export interface IColorPickerComponentProps {
  4469. value: BABYLON.Color4 | BABYLON.Color3;
  4470. onColorChanged: (newOne: string) => void;
  4471. disableAlpha?: boolean;
  4472. }
  4473. interface IColorPickerComponentState {
  4474. pickerEnabled: boolean;
  4475. color: {
  4476. r: number;
  4477. g: number;
  4478. b: number;
  4479. a?: number;
  4480. };
  4481. hex: string;
  4482. }
  4483. export class ColorPickerLineComponent extends React.Component<IColorPickerComponentProps, IColorPickerComponentState> {
  4484. private _floatRef;
  4485. private _floatHostRef;
  4486. constructor(props: IColorPickerComponentProps);
  4487. syncPositions(): void;
  4488. shouldComponentUpdate(nextProps: IColorPickerComponentProps, nextState: IColorPickerComponentState): boolean;
  4489. componentDidUpdate(): void;
  4490. componentDidMount(): void;
  4491. render(): JSX.Element;
  4492. }
  4493. }
  4494. declare module INSPECTOR {
  4495. export interface IColor3LineComponentProps {
  4496. label: string;
  4497. target: any;
  4498. propertyName: string;
  4499. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  4500. isLinear?: boolean;
  4501. }
  4502. export class Color3LineComponent extends React.Component<IColor3LineComponentProps, {
  4503. isExpanded: boolean;
  4504. color: BABYLON.Color3;
  4505. }> {
  4506. private _localChange;
  4507. constructor(props: IColor3LineComponentProps);
  4508. shouldComponentUpdate(nextProps: IColor3LineComponentProps, nextState: {
  4509. color: BABYLON.Color3;
  4510. }): boolean;
  4511. setPropertyValue(newColor: BABYLON.Color3): void;
  4512. onChange(newValue: string): void;
  4513. switchExpandState(): void;
  4514. raiseOnPropertyChanged(previousValue: BABYLON.Color3): void;
  4515. updateStateR(value: number): void;
  4516. updateStateG(value: number): void;
  4517. updateStateB(value: number): void;
  4518. copyToClipboard(): void;
  4519. render(): JSX.Element;
  4520. }
  4521. }
  4522. declare module INSPECTOR {
  4523. interface IVector3LineComponentProps {
  4524. label: string;
  4525. target: any;
  4526. propertyName: string;
  4527. step?: number;
  4528. onChange?: (newvalue: BABYLON.Vector3) => void;
  4529. useEuler?: boolean;
  4530. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  4531. noSlider?: boolean;
  4532. }
  4533. export class Vector3LineComponent extends React.Component<IVector3LineComponentProps, {
  4534. isExpanded: boolean;
  4535. value: BABYLON.Vector3;
  4536. }> {
  4537. static defaultProps: {
  4538. step: number;
  4539. };
  4540. private _localChange;
  4541. constructor(props: IVector3LineComponentProps);
  4542. getCurrentValue(): any;
  4543. shouldComponentUpdate(nextProps: IVector3LineComponentProps, nextState: {
  4544. isExpanded: boolean;
  4545. value: BABYLON.Vector3;
  4546. }): boolean;
  4547. switchExpandState(): void;
  4548. raiseOnPropertyChanged(previousValue: BABYLON.Vector3): void;
  4549. updateVector3(): void;
  4550. updateStateX(value: number): void;
  4551. updateStateY(value: number): void;
  4552. updateStateZ(value: number): void;
  4553. render(): JSX.Element;
  4554. }
  4555. }
  4556. declare module INSPECTOR {
  4557. interface IQuaternionLineComponentProps {
  4558. label: string;
  4559. target: any;
  4560. useEuler?: boolean;
  4561. propertyName: string;
  4562. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  4563. }
  4564. export class QuaternionLineComponent extends React.Component<IQuaternionLineComponentProps, {
  4565. isExpanded: boolean;
  4566. value: BABYLON.Quaternion;
  4567. eulerValue: BABYLON.Vector3;
  4568. }> {
  4569. private _localChange;
  4570. constructor(props: IQuaternionLineComponentProps);
  4571. shouldComponentUpdate(nextProps: IQuaternionLineComponentProps, nextState: {
  4572. isExpanded: boolean;
  4573. value: BABYLON.Quaternion;
  4574. eulerValue: BABYLON.Vector3;
  4575. }): boolean;
  4576. switchExpandState(): void;
  4577. raiseOnPropertyChanged(currentValue: BABYLON.Quaternion, previousValue: BABYLON.Quaternion): void;
  4578. updateQuaternion(): void;
  4579. updateStateX(value: number): void;
  4580. updateStateY(value: number): void;
  4581. updateStateZ(value: number): void;
  4582. updateStateW(value: number): void;
  4583. updateQuaternionFromEuler(): void;
  4584. updateStateEulerX(value: number): void;
  4585. updateStateEulerY(value: number): void;
  4586. updateStateEulerZ(value: number): void;
  4587. render(): JSX.Element;
  4588. }
  4589. }
  4590. declare module INSPECTOR {
  4591. interface ITextInputLineComponentProps {
  4592. label: string;
  4593. lockObject: LockObject;
  4594. target?: any;
  4595. propertyName?: string;
  4596. value?: string;
  4597. onChange?: (value: string) => void;
  4598. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  4599. }
  4600. export class TextInputLineComponent extends React.Component<ITextInputLineComponentProps, {
  4601. value: string;
  4602. }> {
  4603. private _localChange;
  4604. constructor(props: ITextInputLineComponentProps);
  4605. componentWillUnmount(): void;
  4606. shouldComponentUpdate(nextProps: ITextInputLineComponentProps, nextState: {
  4607. value: string;
  4608. }): boolean;
  4609. raiseOnPropertyChanged(newValue: string, previousValue: string): void;
  4610. updateValue(value: string): void;
  4611. render(): JSX.Element;
  4612. }
  4613. }
  4614. declare module INSPECTOR {
  4615. interface ICustomPropertyGridComponentProps {
  4616. globalState: GlobalState;
  4617. target: any;
  4618. lockObject: LockObject;
  4619. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  4620. }
  4621. export class CustomPropertyGridComponent extends React.Component<ICustomPropertyGridComponentProps, {
  4622. mode: number;
  4623. }> {
  4624. constructor(props: ICustomPropertyGridComponentProps);
  4625. renderInspectable(inspectable: BABYLON.IInspectable): JSX.Element | null;
  4626. render(): JSX.Element | null;
  4627. }
  4628. }
  4629. declare module INSPECTOR {
  4630. export interface IButtonLineComponentProps {
  4631. label: string;
  4632. onClick: () => void;
  4633. }
  4634. export class ButtonLineComponent extends React.Component<IButtonLineComponentProps> {
  4635. constructor(props: IButtonLineComponentProps);
  4636. render(): JSX.Element;
  4637. }
  4638. }
  4639. declare module INSPECTOR {
  4640. interface IFloatLineComponentProps {
  4641. label: string;
  4642. target: any;
  4643. propertyName: string;
  4644. lockObject?: LockObject;
  4645. onChange?: (newValue: number) => void;
  4646. isInteger?: boolean;
  4647. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  4648. additionalClass?: string;
  4649. step?: string;
  4650. digits?: number;
  4651. useEuler?: boolean;
  4652. min?: number;
  4653. }
  4654. export class FloatLineComponent extends React.Component<IFloatLineComponentProps, {
  4655. value: string;
  4656. }> {
  4657. private _localChange;
  4658. private _store;
  4659. constructor(props: IFloatLineComponentProps);
  4660. componentWillUnmount(): void;
  4661. shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
  4662. value: string;
  4663. }): boolean;
  4664. raiseOnPropertyChanged(newValue: number, previousValue: number): void;
  4665. updateValue(valueString: string): void;
  4666. lock(): void;
  4667. unlock(): void;
  4668. render(): JSX.Element;
  4669. }
  4670. }
  4671. declare module INSPECTOR {
  4672. interface IAnchorSvgPointProps {
  4673. control: BABYLON.Vector2;
  4674. anchor: BABYLON.Vector2;
  4675. active: boolean;
  4676. type: string;
  4677. index: string;
  4678. selected: boolean;
  4679. selectControlPoint: (id: string) => void;
  4680. }
  4681. export class AnchorSvgPoint extends React.Component<IAnchorSvgPointProps> {
  4682. constructor(props: IAnchorSvgPointProps);
  4683. select(): void;
  4684. render(): JSX.Element;
  4685. }
  4686. }
  4687. declare module INSPECTOR {
  4688. export interface IKeyframeSvgPoint {
  4689. keyframePoint: BABYLON.Vector2;
  4690. rightControlPoint: BABYLON.Vector2 | null;
  4691. leftControlPoint: BABYLON.Vector2 | null;
  4692. id: string;
  4693. selected: boolean;
  4694. isLeftActive: boolean;
  4695. isRightActive: boolean;
  4696. curveId?: ICurveMetaData;
  4697. }
  4698. export interface ICurveMetaData {
  4699. id: number;
  4700. animationName: string;
  4701. property: string;
  4702. }
  4703. interface IKeyframeSvgPointProps {
  4704. keyframePoint: BABYLON.Vector2;
  4705. leftControlPoint: BABYLON.Vector2 | null;
  4706. rightControlPoint: BABYLON.Vector2 | null;
  4707. id: string;
  4708. selected: boolean;
  4709. selectKeyframe: (id: string, multiselect: boolean) => void;
  4710. selectedControlPoint: (type: string, id: string) => void;
  4711. isLeftActive: boolean;
  4712. isRightActive: boolean;
  4713. }
  4714. export class KeyframeSvgPoint extends React.Component<IKeyframeSvgPointProps> {
  4715. constructor(props: IKeyframeSvgPointProps);
  4716. select(e: React.MouseEvent<SVGImageElement>): void;
  4717. render(): JSX.Element;
  4718. }
  4719. }
  4720. declare module INSPECTOR {
  4721. interface ISvgDraggableAreaProps {
  4722. keyframeSvgPoints: IKeyframeSvgPoint[];
  4723. updatePosition: (updatedKeyframe: IKeyframeSvgPoint, id: string) => void;
  4724. scale: number;
  4725. viewBoxScale: number;
  4726. selectKeyframe: (id: string, multiselect: boolean) => void;
  4727. selectedControlPoint: (type: string, id: string) => void;
  4728. deselectKeyframes: () => void;
  4729. removeSelectedKeyframes: (points: IKeyframeSvgPoint[]) => void;
  4730. panningY: (panningY: number) => void;
  4731. panningX: (panningX: number) => void;
  4732. setCurrentFrame: (direction: number) => void;
  4733. positionCanvas?: number;
  4734. repositionCanvas?: boolean;
  4735. canvasPositionEnded: () => void;
  4736. resetActionableKeyframe: () => void;
  4737. }
  4738. export class SvgDraggableArea extends React.Component<ISvgDraggableAreaProps, {
  4739. panX: number;
  4740. panY: number;
  4741. }> {
  4742. private _active;
  4743. private _isCurrentPointControl;
  4744. private _currentPointId;
  4745. private _draggableArea;
  4746. private _panStart;
  4747. private _panStop;
  4748. private _playheadDrag;
  4749. private _playheadSelected;
  4750. private _movedX;
  4751. private _movedY;
  4752. readonly _dragBuffer: number;
  4753. readonly _draggingMultiplier: number;
  4754. constructor(props: ISvgDraggableAreaProps);
  4755. componentDidMount(): void;
  4756. componentWillReceiveProps(newProps: ISvgDraggableAreaProps): void;
  4757. dragStart(e: React.TouchEvent<SVGSVGElement>): void;
  4758. dragStart(e: React.MouseEvent<SVGSVGElement, MouseEvent>): void;
  4759. drag(e: React.TouchEvent<SVGSVGElement>): void;
  4760. drag(e: React.MouseEvent<SVGSVGElement, MouseEvent>): void;
  4761. dragEnd(e: React.TouchEvent<SVGSVGElement>): void;
  4762. dragEnd(e: React.MouseEvent<SVGSVGElement, MouseEvent>): void;
  4763. getMousePosition(e: React.TouchEvent<SVGSVGElement>): BABYLON.Vector2 | undefined;
  4764. getMousePosition(e: React.MouseEvent<SVGSVGElement, MouseEvent>): BABYLON.Vector2 | undefined;
  4765. panDirection(): void;
  4766. keyDown(e: KeyboardEvent): void;
  4767. keyUp(e: KeyboardEvent): void;
  4768. focus(e: React.MouseEvent<SVGSVGElement>): void;
  4769. isNotControlPointActive(): boolean;
  4770. render(): JSX.Element;
  4771. }
  4772. }
  4773. declare module INSPECTOR {
  4774. export interface IIconButtonLineComponentProps {
  4775. icon: string;
  4776. onClick: () => void;
  4777. tooltip: string;
  4778. active?: boolean;
  4779. }
  4780. export class IconButtonLineComponent extends React.Component<IIconButtonLineComponentProps> {
  4781. constructor(props: IIconButtonLineComponentProps);
  4782. render(): JSX.Element;
  4783. }
  4784. }
  4785. declare module INSPECTOR {
  4786. interface IControlsProps {
  4787. keyframes: BABYLON.IAnimationKey[] | null;
  4788. selected: BABYLON.IAnimationKey | null;
  4789. currentFrame: number;
  4790. onCurrentFrameChange: (frame: number) => void;
  4791. repositionCanvas: (frame: number) => void;
  4792. playPause: (direction: number) => void;
  4793. isPlaying: boolean;
  4794. scrollable: React.RefObject<HTMLDivElement>;
  4795. }
  4796. export class Controls extends React.Component<IControlsProps, {
  4797. selected: BABYLON.IAnimationKey;
  4798. playingType: string;
  4799. }> {
  4800. readonly _sizeOfKeyframe: number;
  4801. constructor(props: IControlsProps);
  4802. playBackwards(): void;
  4803. play(): void;
  4804. pause(): void;
  4805. moveToAnimationStart(): void;
  4806. moveToAnimationEnd(): void;
  4807. nextKeyframe(): void;
  4808. previousKeyframe(): void;
  4809. render(): JSX.Element;
  4810. }
  4811. }
  4812. declare module INSPECTOR {
  4813. interface ITimelineProps {
  4814. keyframes: BABYLON.IAnimationKey[] | null;
  4815. selected: BABYLON.IAnimationKey | null;
  4816. currentFrame: number;
  4817. onCurrentFrameChange: (frame: number) => void;
  4818. onAnimationLimitChange: (limit: number) => void;
  4819. dragKeyframe: (frame: number, index: number) => void;
  4820. playPause: (direction: number) => void;
  4821. isPlaying: boolean;
  4822. animationLimit: number;
  4823. fps: number;
  4824. repositionCanvas: (frame: number) => void;
  4825. }
  4826. export class Timeline extends React.Component<ITimelineProps, {
  4827. selected: BABYLON.IAnimationKey;
  4828. activeKeyframe: number | null;
  4829. start: number;
  4830. end: number;
  4831. scrollWidth: number | undefined;
  4832. selectionLength: number[];
  4833. limitValue: number;
  4834. }> {
  4835. private _scrollable;
  4836. private _scrollbarHandle;
  4837. private _scrollContainer;
  4838. private _inputAnimationLimit;
  4839. private _direction;
  4840. private _scrolling;
  4841. private _shiftX;
  4842. private _active;
  4843. readonly _marginScrollbar: number;
  4844. constructor(props: ITimelineProps);
  4845. componentDidMount(): void;
  4846. componentWillUnmount(): void;
  4847. isEnterKeyUp(event: KeyboardEvent): void;
  4848. onInputBlur(event: React.FocusEvent<HTMLInputElement>): void;
  4849. setControlState(): void;
  4850. calculateScrollWidth(start: number, end: number): number | undefined;
  4851. playBackwards(event: React.MouseEvent<HTMLDivElement>): void;
  4852. play(event: React.MouseEvent<HTMLDivElement>): void;
  4853. pause(event: React.MouseEvent<HTMLDivElement>): void;
  4854. setCurrentFrame(event: React.MouseEvent<HTMLDivElement>): void;
  4855. handleLimitChange(event: React.ChangeEvent<HTMLInputElement>): void;
  4856. dragStart(e: React.TouchEvent<SVGSVGElement>): void;
  4857. dragStart(e: React.MouseEvent<SVGSVGElement, MouseEvent>): void;
  4858. drag(e: React.TouchEvent<SVGSVGElement>): void;
  4859. drag(e: React.MouseEvent<SVGSVGElement, MouseEvent>): void;
  4860. isFrameBeingUsed(frame: number, direction: number): number | false;
  4861. dragEnd(e: React.TouchEvent<SVGSVGElement>): void;
  4862. dragEnd(e: React.MouseEvent<SVGSVGElement, MouseEvent>): void;
  4863. scrollDragStart(e: React.TouchEvent<HTMLDivElement>): void;
  4864. scrollDragStart(e: React.MouseEvent<HTMLDivElement, MouseEvent>): void;
  4865. scrollDrag(e: React.TouchEvent<HTMLDivElement>): void;
  4866. scrollDrag(e: React.MouseEvent<HTMLDivElement, MouseEvent>): void;
  4867. scrollDragEnd(e: React.TouchEvent<HTMLDivElement>): void;
  4868. scrollDragEnd(e: React.MouseEvent<HTMLDivElement, MouseEvent>): void;
  4869. moveScrollbar(pageX: number): void;
  4870. resizeScrollbarRight(clientX: number): void;
  4871. resizeScrollbarLeft(clientX: number): void;
  4872. range(start: number, end: number): number[];
  4873. getKeyframe(frame: number): false | BABYLON.IAnimationKey | undefined;
  4874. getCurrentFrame(frame: number): boolean;
  4875. render(): JSX.Element;
  4876. }
  4877. }
  4878. declare module INSPECTOR {
  4879. interface IPlayheadProps {
  4880. message: string;
  4881. open: boolean;
  4882. close: () => void;
  4883. }
  4884. export class Notification extends React.Component<IPlayheadProps> {
  4885. constructor(props: IPlayheadProps);
  4886. render(): JSX.Element;
  4887. }
  4888. }
  4889. declare module INSPECTOR {
  4890. interface IGraphActionsBarProps {
  4891. addKeyframe: () => void;
  4892. removeKeyframe: () => void;
  4893. handleValueChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
  4894. handleFrameChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
  4895. flatTangent: () => void;
  4896. brokeTangents: () => void;
  4897. setLerpMode: () => void;
  4898. brokenMode: boolean;
  4899. lerpMode: boolean;
  4900. actionableKeyframe: IActionableKeyFrame;
  4901. title: string;
  4902. close: (event: any) => void;
  4903. enabled: boolean;
  4904. setKeyframeValue: () => void;
  4905. }
  4906. export class GraphActionsBar extends React.Component<IGraphActionsBarProps> {
  4907. private _frameInput;
  4908. private _valueInput;
  4909. constructor(props: IGraphActionsBarProps);
  4910. componentDidMount(): void;
  4911. componentWillUnmount(): void;
  4912. isEnterKeyUp(event: KeyboardEvent): void;
  4913. onBlur(event: React.FocusEvent<HTMLInputElement>): void;
  4914. render(): JSX.Element;
  4915. }
  4916. }
  4917. declare module INSPECTOR {
  4918. interface IAddAnimationProps {
  4919. isOpen: boolean;
  4920. close: () => void;
  4921. entity: BABYLON.IAnimatable;
  4922. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  4923. setNotificationMessage: (message: string) => void;
  4924. finishedUpdate: () => void;
  4925. addedNewAnimation: () => void;
  4926. fps: number;
  4927. selectedToUpdate?: BABYLON.Animation | undefined;
  4928. }
  4929. export class AddAnimation extends React.Component<IAddAnimationProps, {
  4930. animationName: string;
  4931. animationTargetProperty: string;
  4932. animationType: number;
  4933. loopMode: number;
  4934. animationTargetPath: string;
  4935. isUpdating: boolean;
  4936. }> {
  4937. constructor(props: IAddAnimationProps);
  4938. setInitialState(editingAnimation?: BABYLON.Animation): {
  4939. animationName: string;
  4940. animationTargetPath: string;
  4941. animationType: number;
  4942. loopMode: number;
  4943. animationTargetProperty: string;
  4944. isUpdating: boolean;
  4945. };
  4946. componentWillReceiveProps(nextProps: IAddAnimationProps): void;
  4947. updateAnimation(): void;
  4948. getTypeAsString(type: number): "Float" | "Quaternion" | "Vector3" | "Vector2" | "Size" | "Color3" | "Color4";
  4949. addAnimation(): void;
  4950. raiseOnPropertyChanged(newValue: BABYLON.Animation[], previousValue: BABYLON.Animation[]): void;
  4951. raiseOnPropertyUpdated(newValue: string | number | undefined, previousValue: string | number, property: string): void;
  4952. handleNameChange(event: React.ChangeEvent<HTMLInputElement>): void;
  4953. handlePathChange(event: React.ChangeEvent<HTMLInputElement>): void;
  4954. handleTypeChange(event: React.ChangeEvent<HTMLSelectElement>): void;
  4955. handlePropertyChange(event: React.ChangeEvent<HTMLInputElement>): void;
  4956. handleLoopModeChange(event: React.ChangeEvent<HTMLSelectElement>): void;
  4957. render(): JSX.Element;
  4958. }
  4959. }
  4960. declare module INSPECTOR {
  4961. interface IAnimationListTreeProps {
  4962. isTargetedAnimation: boolean;
  4963. entity: BABYLON.IAnimatable | BABYLON.TargetedAnimation;
  4964. selected: BABYLON.Animation | null;
  4965. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  4966. selectAnimation: (selected: BABYLON.Animation, coordinate?: SelectedCoordinate) => void;
  4967. empty: () => void;
  4968. editAnimation: (selected: BABYLON.Animation) => void;
  4969. deselectAnimation: () => void;
  4970. }
  4971. interface Item {
  4972. index: number;
  4973. name: string;
  4974. property: string;
  4975. selected: boolean;
  4976. open: boolean;
  4977. }
  4978. export enum SelectedCoordinate {
  4979. x = 0,
  4980. y = 1,
  4981. z = 2,
  4982. w = 3,
  4983. r = 0,
  4984. g = 1,
  4985. b = 2,
  4986. a = 3,
  4987. width = 0,
  4988. height = 1
  4989. }
  4990. interface ItemCoordinate {
  4991. id: string;
  4992. color: string;
  4993. coordinate: SelectedCoordinate;
  4994. }
  4995. export class AnimationListTree extends React.Component<IAnimationListTreeProps, {
  4996. selectedCoordinate: SelectedCoordinate;
  4997. selectedAnimation: number;
  4998. animationList: Item[] | null;
  4999. }> {
  5000. constructor(props: IAnimationListTreeProps);
  5001. deleteAnimation(): void;
  5002. generateList(): Item[] | null;
  5003. toggleProperty(index: number): void;
  5004. setSelectedCoordinate(animation: BABYLON.Animation, coordinate: SelectedCoordinate, index: number): void;
  5005. coordinateItem(i: number, animation: BABYLON.Animation, coordinate: string, color: string, selectedCoordinate: SelectedCoordinate): JSX.Element;
  5006. typeAnimationItem(animation: BABYLON.Animation, i: number, childrenElements: ItemCoordinate[]): JSX.Element;
  5007. setListItem(animation: BABYLON.Animation, i: number): JSX.Element | null;
  5008. render(): JSX.Element;
  5009. }
  5010. }
  5011. declare module INSPECTOR {
  5012. interface IFileButtonLineComponentProps {
  5013. label: string;
  5014. onClick: (file: File) => void;
  5015. accept: string;
  5016. }
  5017. export class FileButtonLineComponent extends React.Component<IFileButtonLineComponentProps> {
  5018. private static _IDGenerator;
  5019. private _id;
  5020. private uploadInputRef;
  5021. constructor(props: IFileButtonLineComponentProps);
  5022. onChange(evt: any): void;
  5023. render(): JSX.Element;
  5024. }
  5025. }
  5026. declare module INSPECTOR {
  5027. interface ILoadSnippetProps {
  5028. animations: BABYLON.Animation[];
  5029. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  5030. lockObject: LockObject;
  5031. globalState: GlobalState;
  5032. snippetServer: string;
  5033. setSnippetId: (id: string) => void;
  5034. entity: BABYLON.IAnimatable | BABYLON.TargetedAnimation;
  5035. setNotificationMessage: (message: string) => void;
  5036. animationsLoaded: (numberOfAnimations: number) => void;
  5037. }
  5038. export class LoadSnippet extends React.Component<ILoadSnippetProps, {
  5039. snippetId: string;
  5040. }> {
  5041. private _serverAddress;
  5042. constructor(props: ILoadSnippetProps);
  5043. change(value: string): void;
  5044. loadFromFile(file: File): void;
  5045. loadFromSnippet(): void;
  5046. render(): JSX.Element;
  5047. }
  5048. }
  5049. declare module INSPECTOR {
  5050. interface ISaveSnippetProps {
  5051. animations: BABYLON.Nullable<BABYLON.Animation[]>;
  5052. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  5053. lockObject: LockObject;
  5054. globalState: GlobalState;
  5055. snippetServer: string;
  5056. snippetId: string;
  5057. }
  5058. export interface Snippet {
  5059. url: string;
  5060. id: string;
  5061. }
  5062. interface SelectedAnimation {
  5063. id: string;
  5064. name: string;
  5065. index: number;
  5066. selected: boolean;
  5067. }
  5068. export class SaveSnippet extends React.Component<ISaveSnippetProps, {
  5069. selectedAnimations: SelectedAnimation[];
  5070. }> {
  5071. constructor(props: ISaveSnippetProps);
  5072. handleCheckboxChange(e: React.ChangeEvent<HTMLInputElement>): void;
  5073. stringifySelectedAnimations(): string;
  5074. saveToFile(): void;
  5075. saveToSnippet(): void;
  5076. render(): JSX.Element;
  5077. }
  5078. }
  5079. declare module INSPECTOR {
  5080. interface IEditorControlsProps {
  5081. isTargetedAnimation: boolean;
  5082. entity: BABYLON.IAnimatable | BABYLON.TargetedAnimation;
  5083. selected: BABYLON.Animation | null;
  5084. lockObject: LockObject;
  5085. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  5086. setNotificationMessage: (message: string) => void;
  5087. selectAnimation: (selected: BABYLON.Animation, axis?: SelectedCoordinate) => void;
  5088. setFps: (fps: number) => void;
  5089. setIsLooping: () => void;
  5090. globalState: GlobalState;
  5091. snippetServer: string;
  5092. deselectAnimation: () => void;
  5093. fps: number;
  5094. }
  5095. export class EditorControls extends React.Component<IEditorControlsProps, {
  5096. isAnimationTabOpen: boolean;
  5097. isEditTabOpen: boolean;
  5098. isLoadTabOpen: boolean;
  5099. isSaveTabOpen: boolean;
  5100. isLoopActive: boolean;
  5101. animationsCount: number;
  5102. framesPerSecond: number;
  5103. snippetId: string;
  5104. selected: BABYLON.Animation | undefined;
  5105. }> {
  5106. constructor(props: IEditorControlsProps);
  5107. componentWillReceiveProps(newProps: IEditorControlsProps): void;
  5108. animationAdded(): void;
  5109. finishedUpdate(): void;
  5110. recountAnimations(): number;
  5111. changeLoopBehavior(): void;
  5112. handleTabs(tab: number): void;
  5113. handleChangeFps(fps: number): void;
  5114. emptiedList(): void;
  5115. animationsLoaded(numberOfAnimations: number): void;
  5116. editAnimation(selected: BABYLON.Animation): void;
  5117. render(): JSX.Element;
  5118. }
  5119. }
  5120. declare module INSPECTOR {
  5121. interface ISwitchButtonProps {
  5122. current: CurveScale;
  5123. action?: (event: CurveScale) => void;
  5124. }
  5125. export class ScaleLabel extends React.Component<ISwitchButtonProps, {
  5126. current: CurveScale;
  5127. }> {
  5128. constructor(props: ISwitchButtonProps);
  5129. renderLabel(scale: CurveScale): "" | "DEG" | "FLT" | "INT" | "RAD";
  5130. render(): JSX.Element;
  5131. }
  5132. }
  5133. declare module INSPECTOR {
  5134. interface IAnimationCurveEditorComponentProps {
  5135. close: (event: any) => void;
  5136. playOrPause?: () => void;
  5137. scene: BABYLON.Scene;
  5138. entity: BABYLON.IAnimatable | BABYLON.TargetedAnimation;
  5139. lockObject: LockObject;
  5140. globalState: GlobalState;
  5141. }
  5142. interface ICanvasAxis {
  5143. value: number;
  5144. label: number;
  5145. }
  5146. export enum CurveScale {
  5147. float = 0,
  5148. radians = 1,
  5149. degrees = 2,
  5150. integers = 3,
  5151. default = 4
  5152. }
  5153. export interface IActionableKeyFrame {
  5154. frame?: number | string;
  5155. value?: any;
  5156. }
  5157. interface ICurveData {
  5158. pathData: string;
  5159. pathLength: number;
  5160. domCurve: React.RefObject<SVGPathElement>;
  5161. color: string;
  5162. id: string;
  5163. }
  5164. export class AnimationCurveEditorComponent extends React.Component<IAnimationCurveEditorComponentProps, {
  5165. isOpen: boolean;
  5166. selected: BABYLON.Animation | null;
  5167. svgKeyframes: IKeyframeSvgPoint[] | undefined;
  5168. currentFrame: number;
  5169. currentValue: number;
  5170. frameAxisLength: ICanvasAxis[];
  5171. valueAxisLength: ICanvasAxis[];
  5172. isFlatTangentMode: boolean;
  5173. isTangentMode: boolean;
  5174. isBrokenMode: boolean;
  5175. lerpMode: boolean;
  5176. scale: number;
  5177. playheadOffset: number;
  5178. notification: string;
  5179. currentPoint: SVGPoint | undefined;
  5180. playheadPos: number;
  5181. isPlaying: boolean;
  5182. selectedPathData: ICurveData[] | undefined;
  5183. selectedCoordinate: number;
  5184. animationLimit: number;
  5185. fps: number;
  5186. isLooping: boolean;
  5187. panningY: number;
  5188. panningX: number;
  5189. repositionCanvas: boolean;
  5190. actionableKeyframe: IActionableKeyFrame;
  5191. valueScale: CurveScale;
  5192. canvasLength: number;
  5193. }> {
  5194. private _snippetUrl;
  5195. private _heightScale;
  5196. private _scaleFactor;
  5197. private _currentScale;
  5198. readonly _entityName: string;
  5199. private _svgKeyframes;
  5200. private _isPlaying;
  5201. private _graphCanvas;
  5202. private _editor;
  5203. private _svgCanvas;
  5204. private _isTargetedAnimation;
  5205. private _pixelFrameUnit;
  5206. private _onBeforeRenderObserver;
  5207. private _mainAnimatable;
  5208. constructor(props: IAnimationCurveEditorComponentProps);
  5209. componentDidMount(): void;
  5210. componentDidUpdate(prevProps: IAnimationCurveEditorComponentProps, prevState: any): void;
  5211. onCurrentFrameChangeChangeScene(value: number): void;
  5212. /**
  5213. * Notifications
  5214. * To add notification we set the state and clear to make the notification bar hide.
  5215. */
  5216. clearNotification(): void;
  5217. /**
  5218. * Zoom and Scroll
  5219. * This section handles zoom and scroll
  5220. * of the graph area.
  5221. */
  5222. zoom(e: React.WheelEvent<HTMLDivElement>): void;
  5223. setFrameAxis(currentLength: number): {
  5224. value: number;
  5225. label: number;
  5226. }[];
  5227. setValueLines(type: CurveScale): ({
  5228. value: number;
  5229. label: string;
  5230. } | {
  5231. value: number;
  5232. label: number;
  5233. })[];
  5234. getValueLabel(i: number): number;
  5235. resetPlayheadOffset(): void;
  5236. encodeCurveId(animationName: string, coordinate: number): string;
  5237. decodeCurveId(id: string): {
  5238. order: number;
  5239. coordinate: number;
  5240. };
  5241. getKeyframeValueFromAnimation(id: string): {
  5242. frame: number;
  5243. value: number;
  5244. } | undefined;
  5245. /**
  5246. * Keyframe Manipulation
  5247. * This section handles events from SvgDraggableArea.
  5248. */
  5249. selectKeyframe(id: string, multiselect: boolean): void;
  5250. resetActionableKeyframe(): void;
  5251. selectedControlPoint(type: string, id: string): void;
  5252. deselectKeyframes(): void;
  5253. updateValuePerCoordinate(dataType: number, value: number | BABYLON.Vector2 | BABYLON.Vector3 | BABYLON.Color3 | BABYLON.Color4 | BABYLON.Size | BABYLON.Quaternion, newValue: number, coordinate?: number): number | BABYLON.Vector3 | BABYLON.Quaternion | BABYLON.Color3 | BABYLON.Color4 | BABYLON.Vector2 | BABYLON.Size;
  5254. renderPoints(updatedSvgKeyFrame: IKeyframeSvgPoint, id: string): void;
  5255. updateLeftControlPoint(updatedSvgKeyFrame: IKeyframeSvgPoint, key: BABYLON.IAnimationKey, dataType: number, coordinate: number): void;
  5256. updateRightControlPoint(updatedSvgKeyFrame: IKeyframeSvgPoint, key: BABYLON.IAnimationKey, dataType: number, coordinate: number): void;
  5257. handleFrameChange(event: React.ChangeEvent<HTMLInputElement>): void;
  5258. handleValueChange(event: React.ChangeEvent<HTMLInputElement>): void;
  5259. setKeyframeValue(): void;
  5260. setFlatTangent(): void;
  5261. setTangentMode(): void;
  5262. setBrokenMode(): void;
  5263. setLerpMode(): void;
  5264. addKeyframeClick(): void;
  5265. removeKeyframeClick(): void;
  5266. removeKeyframes(points: IKeyframeSvgPoint[]): void;
  5267. addKeyFrame(event: React.MouseEvent<SVGSVGElement>): void;
  5268. /**
  5269. * Curve Rendering Functions
  5270. * This section handles how to render curves.
  5271. */
  5272. setKeyframePointLinear(point: BABYLON.Vector2, index: number): void;
  5273. flatTangents(keyframes: BABYLON.IAnimationKey[], dataType: number): BABYLON.IAnimationKey[];
  5274. returnZero(dataType: number): 0 | BABYLON.Vector3 | BABYLON.Quaternion | BABYLON.Color3 | BABYLON.Color4 | BABYLON.Vector2 | BABYLON.Size;
  5275. getValueAsArray(valueType: number, value: number | BABYLON.Vector2 | BABYLON.Vector3 | BABYLON.Color3 | BABYLON.Color4 | BABYLON.Size | BABYLON.Quaternion): number[];
  5276. setValueAsType(valueType: number, arrayValue: number[]): number | BABYLON.Vector3 | BABYLON.Quaternion | BABYLON.Color3 | BABYLON.Color4 | BABYLON.Vector2 | BABYLON.Size;
  5277. getPathData(animation: BABYLON.Animation | null): ICurveData[] | undefined;
  5278. getAnimationData(animation: BABYLON.Animation): {
  5279. loopMode: number | undefined;
  5280. name: string;
  5281. blendingSpeed: number;
  5282. targetPropertyPath: string[];
  5283. targetProperty: string;
  5284. framesPerSecond: number;
  5285. highestFrame: number;
  5286. usesTangents: boolean;
  5287. easingType: string | undefined;
  5288. easingMode: number | undefined;
  5289. valueType: number;
  5290. };
  5291. curvePathWithTangents(keyframes: BABYLON.IAnimationKey[], data: string, middle: number, type: number, coordinate: number, animationName: string): string;
  5292. curvePath(keyframes: BABYLON.IAnimationKey[], data: string, middle: number, easingFunction: BABYLON.EasingFunction): string;
  5293. setKeyframePoint(controlPoints: BABYLON.Vector2[], index: number, keyframesCount: number): void;
  5294. interpolateControlPoints(p0: BABYLON.Vector2, p1: BABYLON.Vector2, u: number, p2: BABYLON.Vector2, v: number, p3: BABYLON.Vector2): BABYLON.Vector2[] | undefined;
  5295. deselectAnimation(): void;
  5296. /**
  5297. * Core functions
  5298. * This section handles main Curve Editor Functions.
  5299. */
  5300. selectAnimation(animation: BABYLON.Animation, coordinate?: SelectedCoordinate): void;
  5301. setMainAnimatable(): void;
  5302. isAnimationPlaying(): boolean;
  5303. stopAnimation(): void;
  5304. setIsLooping(): void;
  5305. setFramesPerSecond(fps: number): void;
  5306. analizeAnimationForLerp(animation: BABYLON.Animation | null): boolean;
  5307. /**
  5308. * Timeline
  5309. * This section controls the timeline.
  5310. */
  5311. changeCurrentFrame(frame: number): void;
  5312. setCanvasPosition(frame: number): void;
  5313. setCurrentFrame(direction: number): void;
  5314. changeAnimationLimit(limit: number): void;
  5315. updateFrameInKeyFrame(frame: number, index: number): void;
  5316. playPause(direction: number): void;
  5317. moveFrameTo(e: React.MouseEvent<SVGRectElement, MouseEvent>): void;
  5318. registerObs(): void;
  5319. componentWillUnmount(): void;
  5320. isCurrentFrame(frame: number): boolean;
  5321. render(): JSX.Element;
  5322. }
  5323. }
  5324. declare module INSPECTOR {
  5325. interface IPopupComponentProps {
  5326. id: string;
  5327. title: string;
  5328. size: {
  5329. width: number;
  5330. height: number;
  5331. };
  5332. onOpen: (window: Window) => void;
  5333. onClose: (window: Window) => void;
  5334. }
  5335. export class PopupComponent extends React.Component<IPopupComponentProps, {
  5336. isComponentMounted: boolean;
  5337. blockedByBrowser: boolean;
  5338. }> {
  5339. private _container;
  5340. private _window;
  5341. private _curveEditorHost;
  5342. constructor(props: IPopupComponentProps);
  5343. componentDidMount(): void;
  5344. openPopup(): void;
  5345. componentWillUnmount(): void;
  5346. getWindow(): Window | null;
  5347. render(): React.ReactPortal | null;
  5348. }
  5349. }
  5350. declare module INSPECTOR {
  5351. interface IAnimationGridComponentProps {
  5352. globalState: GlobalState;
  5353. animatable: BABYLON.IAnimatable;
  5354. scene: BABYLON.Scene;
  5355. lockObject: LockObject;
  5356. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  5357. }
  5358. export class AnimationGridComponent extends React.Component<IAnimationGridComponentProps, {
  5359. currentFrame: number;
  5360. }> {
  5361. private _animations;
  5362. private _ranges;
  5363. private _mainAnimatable;
  5364. private _onBeforeRenderObserver;
  5365. private _isPlaying;
  5366. private timelineRef;
  5367. private _isCurveEditorOpen;
  5368. private _animationControl;
  5369. constructor(props: IAnimationGridComponentProps);
  5370. playOrPause(): void;
  5371. componentDidMount(): void;
  5372. componentWillUnmount(): void;
  5373. onCurrentFrameChange(value: number): void;
  5374. onChangeFromOrTo(): void;
  5375. onOpenAnimationCurveEditor(): void;
  5376. onCloseAnimationCurveEditor(window: Window | null): void;
  5377. render(): JSX.Element;
  5378. }
  5379. }
  5380. declare module INSPECTOR {
  5381. interface ICommonMaterialPropertyGridComponentProps {
  5382. globalState: GlobalState;
  5383. material: BABYLON.Material;
  5384. lockObject: LockObject;
  5385. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  5386. }
  5387. export class CommonMaterialPropertyGridComponent extends React.Component<ICommonMaterialPropertyGridComponentProps> {
  5388. constructor(props: ICommonMaterialPropertyGridComponentProps);
  5389. render(): JSX.Element;
  5390. }
  5391. }
  5392. declare module INSPECTOR {
  5393. interface IMaterialPropertyGridComponentProps {
  5394. globalState: GlobalState;
  5395. material: BABYLON.Material;
  5396. lockObject: LockObject;
  5397. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  5398. }
  5399. export class MaterialPropertyGridComponent extends React.Component<IMaterialPropertyGridComponentProps> {
  5400. constructor(props: IMaterialPropertyGridComponentProps);
  5401. render(): JSX.Element;
  5402. }
  5403. }
  5404. declare module INSPECTOR {
  5405. export interface ITextureLinkLineComponentProps {
  5406. label: string;
  5407. texture: BABYLON.Nullable<BABYLON.BaseTexture>;
  5408. material?: BABYLON.Material;
  5409. onSelectionChangedObservable?: BABYLON.Observable<any>;
  5410. onDebugSelectionChangeObservable?: BABYLON.Observable<TextureLinkLineComponent>;
  5411. propertyName?: string;
  5412. onTextureCreated?: (texture: BABYLON.BaseTexture) => void;
  5413. customDebugAction?: (state: boolean) => void;
  5414. onTextureRemoved?: () => void;
  5415. }
  5416. export class TextureLinkLineComponent extends React.Component<ITextureLinkLineComponentProps, {
  5417. isDebugSelected: boolean;
  5418. }> {
  5419. private _onDebugSelectionChangeObserver;
  5420. constructor(props: ITextureLinkLineComponentProps);
  5421. componentDidMount(): void;
  5422. componentWillUnmount(): void;
  5423. debugTexture(): void;
  5424. onLink(): void;
  5425. updateTexture(file: File): void;
  5426. removeTexture(): void;
  5427. render(): JSX.Element | null;
  5428. }
  5429. }
  5430. declare module INSPECTOR {
  5431. interface IStandardMaterialPropertyGridComponentProps {
  5432. globalState: GlobalState;
  5433. material: BABYLON.StandardMaterial;
  5434. lockObject: LockObject;
  5435. onSelectionChangedObservable?: BABYLON.Observable<any>;
  5436. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  5437. }
  5438. export class StandardMaterialPropertyGridComponent extends React.Component<IStandardMaterialPropertyGridComponentProps> {
  5439. private _onDebugSelectionChangeObservable;
  5440. constructor(props: IStandardMaterialPropertyGridComponentProps);
  5441. renderTextures(): JSX.Element;
  5442. render(): JSX.Element;
  5443. }
  5444. }
  5445. declare module INSPECTOR {
  5446. /** @hidden */
  5447. export var lodPixelShader: {
  5448. name: string;
  5449. shader: string;
  5450. };
  5451. }
  5452. declare module INSPECTOR {
  5453. /** @hidden */
  5454. export var lodCubePixelShader: {
  5455. name: string;
  5456. shader: string;
  5457. };
  5458. }
  5459. declare module INSPECTOR {
  5460. export interface TextureChannelsToDisplay {
  5461. R: boolean;
  5462. G: boolean;
  5463. B: boolean;
  5464. A: boolean;
  5465. }
  5466. export class TextureHelper {
  5467. private static _ProcessAsync;
  5468. static GetTextureDataAsync(texture: BABYLON.BaseTexture, width: number, height: number, face: number, channels: TextureChannelsToDisplay, globalState?: GlobalState, lod?: number): Promise<Uint8Array>;
  5469. }
  5470. }
  5471. declare module INSPECTOR {
  5472. interface ITextureLineComponentProps {
  5473. texture: BABYLON.BaseTexture;
  5474. width: number;
  5475. height: number;
  5476. globalState?: GlobalState;
  5477. hideChannelSelect?: boolean;
  5478. }
  5479. export class TextureLineComponent extends React.Component<ITextureLineComponentProps, {
  5480. channels: TextureChannelsToDisplay;
  5481. face: number;
  5482. }> {
  5483. private canvasRef;
  5484. private static TextureChannelStates;
  5485. constructor(props: ITextureLineComponentProps);
  5486. shouldComponentUpdate(nextProps: ITextureLineComponentProps, nextState: {
  5487. channels: TextureChannelsToDisplay;
  5488. face: number;
  5489. }): boolean;
  5490. componentDidMount(): void;
  5491. componentDidUpdate(): void;
  5492. updatePreview(): Promise<void>;
  5493. render(): JSX.Element;
  5494. }
  5495. }
  5496. declare module INSPECTOR {
  5497. export interface ITool extends IToolData {
  5498. instance: IToolType;
  5499. }
  5500. interface IToolBarProps {
  5501. tools: ITool[];
  5502. addTool(url: string): void;
  5503. changeTool(toolIndex: number): void;
  5504. activeToolIndex: number;
  5505. metadata: IMetadata;
  5506. setMetadata(data: any): void;
  5507. }
  5508. interface IToolBarState {
  5509. toolURL: string;
  5510. pickerOpen: boolean;
  5511. addOpen: boolean;
  5512. }
  5513. export class ToolBar extends React.Component<IToolBarProps, IToolBarState> {
  5514. private _addTool;
  5515. private _pickerRef;
  5516. constructor(props: IToolBarProps);
  5517. computeRGBAColor(): string;
  5518. render(): JSX.Element;
  5519. }
  5520. }
  5521. declare module INSPECTOR {
  5522. export interface IChannel {
  5523. visible: boolean;
  5524. editable: boolean;
  5525. name: string;
  5526. id: 'R' | 'G' | 'B' | 'A';
  5527. icon: any;
  5528. }
  5529. interface IChannelsBarProps {
  5530. channels: IChannel[];
  5531. setChannels(channelState: IChannel[]): void;
  5532. }
  5533. export class ChannelsBar extends React.Component<IChannelsBarProps> {
  5534. render(): JSX.Element;
  5535. }
  5536. }
  5537. declare module INSPECTOR {
  5538. export interface IPixelData {
  5539. x?: number;
  5540. y?: number;
  5541. r?: number;
  5542. g?: number;
  5543. b?: number;
  5544. a?: number;
  5545. }
  5546. export interface IToolGUI {
  5547. adt: BABYLON.GUI.AdvancedDynamicTexture;
  5548. toolWindow: BABYLON.GUI.StackPanel;
  5549. isDragging: boolean;
  5550. dragCoords: BABYLON.Nullable<BABYLON.Vector2>;
  5551. style: BABYLON.GUI.Style;
  5552. }
  5553. export class TextureCanvasManager {
  5554. private _engine;
  5555. private _scene;
  5556. private _camera;
  5557. private _cameraPos;
  5558. private _scale;
  5559. private _isPanning;
  5560. private _mouseX;
  5561. private _mouseY;
  5562. private _UICanvas;
  5563. private _size;
  5564. private _2DCanvas;
  5565. private _3DCanvas;
  5566. private _channelsTexture;
  5567. private _3DEngine;
  5568. private _3DPlane;
  5569. private _3DCanvasTexture;
  5570. private _3DScene;
  5571. private _channels;
  5572. private _face;
  5573. private _mipLevel;
  5574. private _originalTexture;
  5575. private _target;
  5576. private _originalInternalTexture;
  5577. private _didEdit;
  5578. private _plane;
  5579. private _planeMaterial;
  5580. private _keyMap;
  5581. private static ZOOM_MOUSE_SPEED;
  5582. private static ZOOM_KEYBOARD_SPEED;
  5583. private static ZOOM_IN_KEY;
  5584. private static ZOOM_OUT_KEY;
  5585. private static PAN_SPEED;
  5586. private static PAN_MOUSE_BUTTON;
  5587. private static MIN_SCALE;
  5588. private static MAX_SCALE;
  5589. private static SELECT_ALL_KEY;
  5590. private static DESELECT_KEY;
  5591. private _tool;
  5592. private _setPixelData;
  5593. private _GUI;
  5594. private _window;
  5595. private _metadata;
  5596. private _editing3D;
  5597. private _onUpdate;
  5598. private _setMetadata;
  5599. private _imageData;
  5600. private _canUpdate;
  5601. private _shouldUpdate;
  5602. private _paintCanvas;
  5603. constructor(texture: BABYLON.BaseTexture, window: Window, canvasUI: HTMLCanvasElement, canvas2D: HTMLCanvasElement, canvas3D: HTMLCanvasElement, setPixelData: (pixelData: IPixelData) => void, metadata: IMetadata, onUpdate: () => void, setMetadata: (metadata: any) => void);
  5604. updateTexture(): Promise<void>;
  5605. private queueTextureUpdate;
  5606. startPainting(): CanvasRenderingContext2D;
  5607. updatePainting(): void;
  5608. stopPainting(): void;
  5609. private updateDisplay;
  5610. set channels(channels: IChannel[]);
  5611. static paintPixelsOnCanvas(pixelData: Uint8Array, canvas: HTMLCanvasElement): void;
  5612. grabOriginalTexture(adjustZoom?: boolean): void;
  5613. getMouseCoordinates(pointerInfo: BABYLON.PointerInfo): BABYLON.Vector2;
  5614. get scene(): BABYLON.Scene;
  5615. get canvas2D(): HTMLCanvasElement;
  5616. get size(): BABYLON.ISize;
  5617. set tool(tool: BABYLON.Nullable<ITool>);
  5618. get tool(): BABYLON.Nullable<ITool>;
  5619. set face(face: number);
  5620. set mipLevel(mipLevel: number);
  5621. /** Returns the tool GUI object, allowing tools to access the GUI */
  5622. get GUI(): IToolGUI;
  5623. /** Returns the 3D scene used for postprocesses */
  5624. get scene3D(): BABYLON.Scene;
  5625. set metadata(metadata: IMetadata);
  5626. private makePlane;
  5627. reset(): void;
  5628. resize(newSize: BABYLON.ISize): Promise<void>;
  5629. setSize(size: BABYLON.ISize, adjustZoom?: boolean): void;
  5630. upload(file: File): void;
  5631. dispose(): void;
  5632. }
  5633. }
  5634. declare module INSPECTOR {
  5635. interface IPropertiesBarProps {
  5636. texture: BABYLON.BaseTexture;
  5637. saveTexture(): void;
  5638. pixelData: IPixelData;
  5639. face: number;
  5640. setFace(face: number): void;
  5641. resetTexture(): void;
  5642. resizeTexture(width: number, height: number): void;
  5643. uploadTexture(file: File): void;
  5644. mipLevel: number;
  5645. setMipLevel: (mipLevel: number) => void;
  5646. }
  5647. interface IPropertiesBarState {
  5648. width: number;
  5649. height: number;
  5650. }
  5651. export class PropertiesBar extends React.Component<IPropertiesBarProps, IPropertiesBarState> {
  5652. private _resetButton;
  5653. private _uploadButton;
  5654. private _saveButton;
  5655. private _babylonLogo;
  5656. private _resizeButton;
  5657. private _mipUp;
  5658. private _mipDown;
  5659. private _faces;
  5660. constructor(props: IPropertiesBarProps);
  5661. private pixelData;
  5662. private getNewDimension;
  5663. render(): JSX.Element;
  5664. }
  5665. }
  5666. declare module INSPECTOR {
  5667. interface BottomBarProps {
  5668. name: string;
  5669. mipLevel: number;
  5670. hasMips: boolean;
  5671. }
  5672. export class BottomBar extends React.Component<BottomBarProps> {
  5673. render(): JSX.Element;
  5674. }
  5675. }
  5676. declare module INSPECTOR {
  5677. interface ITextureCanvasComponentProps {
  5678. canvasUI: React.RefObject<HTMLCanvasElement>;
  5679. canvas2D: React.RefObject<HTMLCanvasElement>;
  5680. canvas3D: React.RefObject<HTMLCanvasElement>;
  5681. texture: BABYLON.BaseTexture;
  5682. }
  5683. export class TextureCanvasComponent extends React.Component<ITextureCanvasComponentProps> {
  5684. shouldComponentUpdate(nextProps: ITextureCanvasComponentProps): boolean;
  5685. render(): JSX.Element;
  5686. }
  5687. }
  5688. declare module INSPECTOR {
  5689. export const Paintbrush: IToolData;
  5690. }
  5691. declare module INSPECTOR {
  5692. export const Eyedropper: IToolData;
  5693. }
  5694. declare module INSPECTOR {
  5695. export const Floodfill: IToolData;
  5696. }
  5697. declare module INSPECTOR {
  5698. export const Contrast: IToolData;
  5699. }
  5700. declare module INSPECTOR {
  5701. export const RectangleSelect: IToolData;
  5702. }
  5703. declare module INSPECTOR {
  5704. const _default: import("babylonjs-inspector/components/actionTabs/tabs/propertyGrids/materials/textures/textureEditorComponent").IToolData[];
  5705. export default _default;
  5706. }
  5707. declare module INSPECTOR {
  5708. interface ITextureEditorComponentProps {
  5709. globalState: GlobalState;
  5710. texture: BABYLON.BaseTexture;
  5711. url: string;
  5712. window: React.RefObject<PopupComponent>;
  5713. onUpdate: () => void;
  5714. }
  5715. interface ITextureEditorComponentState {
  5716. tools: ITool[];
  5717. activeToolIndex: number;
  5718. metadata: IMetadata;
  5719. channels: IChannel[];
  5720. pixelData: IPixelData;
  5721. face: number;
  5722. mipLevel: number;
  5723. }
  5724. export interface IToolParameters {
  5725. /** The visible scene in the editor. Useful for adding pointer and keyboard events. */
  5726. scene: BABYLON.Scene;
  5727. /** The 2D canvas which you can sample pixel data from. Tools should not paint directly on this canvas. */
  5728. canvas2D: HTMLCanvasElement;
  5729. /** The 3D scene which tools can add post processes to. */
  5730. scene3D: BABYLON.Scene;
  5731. /** The size of the texture. */
  5732. size: BABYLON.ISize;
  5733. /** Pushes the editor texture back to the original scene. This should be called every time a tool makes any modification to a texture. */
  5734. updateTexture: () => void;
  5735. /** The metadata object which is shared between all tools. Feel free to store any information here. Do not set this directly: instead call setMetadata. */
  5736. metadata: IMetadata;
  5737. /** Call this when you want to mutate the metadata. */
  5738. setMetadata: (data: any) => void;
  5739. /** Returns the texture coordinates under the cursor */
  5740. getMouseCoordinates: (pointerInfo: BABYLON.PointerInfo) => BABYLON.Vector2;
  5741. /** An object which holds the GUI's ADT as well as the tool window. */
  5742. GUI: IToolGUI;
  5743. /** Provides access to the BABYLON namespace */
  5744. BABYLON: any;
  5745. /** Provides a canvas that you can use the canvas API to paint on. */
  5746. startPainting: () => CanvasRenderingContext2D;
  5747. /** After you have painted on your canvas, call this method to push the updates back to the texture. */
  5748. updatePainting: () => void;
  5749. /** Call this when you are finished painting. */
  5750. stopPainting: () => void;
  5751. }
  5752. /** An interface representing the definition of a tool */
  5753. export interface IToolData {
  5754. /** Name to display on the toolbar */
  5755. name: string;
  5756. /** A class definition for the tool including setup and cleanup methods */
  5757. type: IToolConstructable;
  5758. /** An SVG icon encoded in Base64 */
  5759. icon: string;
  5760. /** Whether the tool uses the draggable GUI window */
  5761. usesWindow?: boolean;
  5762. /** Whether the tool uses postprocesses */
  5763. is3D?: boolean;
  5764. }
  5765. export interface IToolType {
  5766. /** Called when the tool is selected. */
  5767. setup: () => void;
  5768. /** Called when the tool is deselected. */
  5769. cleanup: () => void;
  5770. /** Optional. Called when the user resets the texture or uploads a new texture. Tools may want to reset their state when this happens. */
  5771. onReset?: () => void;
  5772. }
  5773. /** For constructable types, TS requires that you define a seperate interface which constructs your actual interface */
  5774. interface IToolConstructable {
  5775. new (getParameters: () => IToolParameters): IToolType;
  5776. }
  5777. export interface IMetadata {
  5778. color: string;
  5779. alpha: number;
  5780. select: {
  5781. x1: number;
  5782. y1: number;
  5783. x2: number;
  5784. y2: number;
  5785. };
  5786. [key: string]: any;
  5787. }
  5788. global {
  5789. var _TOOL_DATA_: IToolData;
  5790. }
  5791. export class TextureEditorComponent extends React.Component<ITextureEditorComponentProps, ITextureEditorComponentState> {
  5792. private _textureCanvasManager;
  5793. private _UICanvas;
  5794. private _2DCanvas;
  5795. private _3DCanvas;
  5796. private _timer;
  5797. private static PREVIEW_UPDATE_DELAY_MS;
  5798. constructor(props: ITextureEditorComponentProps);
  5799. componentDidMount(): void;
  5800. componentDidUpdate(): void;
  5801. componentWillUnmount(): void;
  5802. textureDidUpdate(): void;
  5803. loadToolFromURL(url: string): void;
  5804. addTools(tools: IToolData[]): void;
  5805. getToolParameters(): IToolParameters;
  5806. changeTool(index: number): void;
  5807. setMetadata(newMetadata: any): void;
  5808. saveTexture(): void;
  5809. resetTexture(): void;
  5810. resizeTexture(width: number, height: number): void;
  5811. uploadTexture(file: File): void;
  5812. render(): JSX.Element;
  5813. }
  5814. }
  5815. declare module INSPECTOR {
  5816. interface ITexturePropertyGridComponentProps {
  5817. texture: BABYLON.BaseTexture;
  5818. lockObject: LockObject;
  5819. globalState: GlobalState;
  5820. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  5821. }
  5822. interface ITexturePropertyGridComponentState {
  5823. isTextureEditorOpen: boolean;
  5824. textureEditing: BABYLON.Nullable<BABYLON.BaseTexture>;
  5825. }
  5826. export class TexturePropertyGridComponent extends React.Component<ITexturePropertyGridComponentProps, ITexturePropertyGridComponentState> {
  5827. private _adtInstrumentation;
  5828. private popoutWindowRef;
  5829. private textureLineRef;
  5830. constructor(props: ITexturePropertyGridComponentProps);
  5831. componentWillUnmount(): void;
  5832. updateTexture(file: File): void;
  5833. onOpenTextureEditor(): void;
  5834. onCloseTextureEditor(window: Window | null, callback?: {
  5835. (): void;
  5836. }): void;
  5837. forceRefresh(): void;
  5838. render(): JSX.Element;
  5839. }
  5840. }
  5841. declare module INSPECTOR {
  5842. interface IVector2LineComponentProps {
  5843. label: string;
  5844. target: any;
  5845. propertyName: string;
  5846. step?: number;
  5847. onChange?: (newvalue: BABYLON.Vector2) => void;
  5848. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  5849. }
  5850. export class Vector2LineComponent extends React.Component<IVector2LineComponentProps, {
  5851. isExpanded: boolean;
  5852. value: BABYLON.Vector2;
  5853. }> {
  5854. static defaultProps: {
  5855. step: number;
  5856. };
  5857. private _localChange;
  5858. constructor(props: IVector2LineComponentProps);
  5859. shouldComponentUpdate(nextProps: IVector2LineComponentProps, nextState: {
  5860. isExpanded: boolean;
  5861. value: BABYLON.Vector2;
  5862. }): boolean;
  5863. switchExpandState(): void;
  5864. raiseOnPropertyChanged(previousValue: BABYLON.Vector2): void;
  5865. updateStateX(value: number): void;
  5866. updateStateY(value: number): void;
  5867. render(): JSX.Element;
  5868. }
  5869. }
  5870. declare module INSPECTOR {
  5871. interface IPBRMaterialPropertyGridComponentProps {
  5872. globalState: GlobalState;
  5873. material: BABYLON.PBRMaterial;
  5874. lockObject: LockObject;
  5875. onSelectionChangedObservable?: BABYLON.Observable<any>;
  5876. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  5877. }
  5878. export class PBRMaterialPropertyGridComponent extends React.Component<IPBRMaterialPropertyGridComponentProps> {
  5879. private _onDebugSelectionChangeObservable;
  5880. constructor(props: IPBRMaterialPropertyGridComponentProps);
  5881. switchAmbientMode(state: boolean): void;
  5882. switchMetallicMode(state: boolean): void;
  5883. switchRoughnessMode(state: boolean): void;
  5884. renderTextures(onDebugSelectionChangeObservable: BABYLON.Observable<TextureLinkLineComponent>): JSX.Element;
  5885. render(): JSX.Element;
  5886. }
  5887. }
  5888. declare module INSPECTOR {
  5889. interface IRadioButtonLineComponentProps {
  5890. onSelectionChangedObservable: BABYLON.Observable<RadioButtonLineComponent>;
  5891. label: string;
  5892. isSelected: () => boolean;
  5893. onSelect: () => void;
  5894. }
  5895. export class RadioButtonLineComponent extends React.Component<IRadioButtonLineComponentProps, {
  5896. isSelected: boolean;
  5897. }> {
  5898. private _onSelectionChangedObserver;
  5899. constructor(props: IRadioButtonLineComponentProps);
  5900. componentDidMount(): void;
  5901. componentWillUnmount(): void;
  5902. onChange(): void;
  5903. render(): JSX.Element;
  5904. }
  5905. }
  5906. declare module INSPECTOR {
  5907. interface IFogPropertyGridComponentProps {
  5908. globalState: GlobalState;
  5909. scene: BABYLON.Scene;
  5910. lockObject: LockObject;
  5911. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  5912. }
  5913. export class FogPropertyGridComponent extends React.Component<IFogPropertyGridComponentProps, {
  5914. mode: number;
  5915. }> {
  5916. constructor(props: IFogPropertyGridComponentProps);
  5917. render(): JSX.Element;
  5918. }
  5919. }
  5920. declare module INSPECTOR {
  5921. interface IScenePropertyGridComponentProps {
  5922. globalState: GlobalState;
  5923. scene: BABYLON.Scene;
  5924. lockObject: LockObject;
  5925. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  5926. onSelectionChangedObservable?: BABYLON.Observable<any>;
  5927. }
  5928. export class ScenePropertyGridComponent extends React.Component<IScenePropertyGridComponentProps> {
  5929. private _storedEnvironmentTexture;
  5930. private _renderingModeGroupObservable;
  5931. constructor(props: IScenePropertyGridComponentProps);
  5932. setRenderingModes(point: boolean, wireframe: boolean): void;
  5933. switchIBL(): void;
  5934. updateEnvironmentTexture(file: File): void;
  5935. updateGravity(newValue: BABYLON.Vector3): void;
  5936. updateTimeStep(newValue: number): void;
  5937. normalizeScene(): void;
  5938. render(): JSX.Element;
  5939. }
  5940. }
  5941. declare module INSPECTOR {
  5942. interface ICommonLightPropertyGridComponentProps {
  5943. globalState: GlobalState;
  5944. light: BABYLON.Light;
  5945. lockObject: LockObject;
  5946. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  5947. }
  5948. export class CommonLightPropertyGridComponent extends React.Component<ICommonLightPropertyGridComponentProps> {
  5949. constructor(props: ICommonLightPropertyGridComponentProps);
  5950. render(): JSX.Element;
  5951. }
  5952. }
  5953. declare module INSPECTOR {
  5954. interface IHemisphericLightPropertyGridComponentProps {
  5955. globalState: GlobalState;
  5956. light: BABYLON.HemisphericLight;
  5957. lockObject: LockObject;
  5958. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  5959. }
  5960. export class HemisphericLightPropertyGridComponent extends React.Component<IHemisphericLightPropertyGridComponentProps> {
  5961. constructor(props: IHemisphericLightPropertyGridComponentProps);
  5962. render(): JSX.Element;
  5963. }
  5964. }
  5965. declare module INSPECTOR {
  5966. interface ICommonShadowLightPropertyGridComponentProps {
  5967. globalState: GlobalState;
  5968. light: BABYLON.IShadowLight;
  5969. lockObject: LockObject;
  5970. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  5971. }
  5972. export class CommonShadowLightPropertyGridComponent extends React.Component<ICommonShadowLightPropertyGridComponentProps> {
  5973. private _internals;
  5974. constructor(props: ICommonShadowLightPropertyGridComponentProps);
  5975. createShadowGenerator(): void;
  5976. disposeShadowGenerator(): void;
  5977. render(): JSX.Element;
  5978. }
  5979. }
  5980. declare module INSPECTOR {
  5981. interface IPointLightPropertyGridComponentProps {
  5982. globalState: GlobalState;
  5983. light: BABYLON.PointLight;
  5984. lockObject: LockObject;
  5985. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  5986. }
  5987. export class PointLightPropertyGridComponent extends React.Component<IPointLightPropertyGridComponentProps> {
  5988. constructor(props: IPointLightPropertyGridComponentProps);
  5989. render(): JSX.Element;
  5990. }
  5991. }
  5992. declare module INSPECTOR {
  5993. interface IHexLineComponentProps {
  5994. label: string;
  5995. target: any;
  5996. propertyName: string;
  5997. lockObject?: LockObject;
  5998. onChange?: (newValue: number) => void;
  5999. isInteger?: boolean;
  6000. replaySourceReplacement?: string;
  6001. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6002. additionalClass?: string;
  6003. step?: string;
  6004. digits?: number;
  6005. useEuler?: boolean;
  6006. min?: number;
  6007. }
  6008. export class HexLineComponent extends React.Component<IHexLineComponentProps, {
  6009. value: string;
  6010. }> {
  6011. private _localChange;
  6012. private _store;
  6013. private _propertyChange;
  6014. constructor(props: IHexLineComponentProps);
  6015. componentWillUnmount(): void;
  6016. shouldComponentUpdate(nextProps: IHexLineComponentProps, nextState: {
  6017. value: string;
  6018. }): boolean;
  6019. raiseOnPropertyChanged(newValue: number, previousValue: number): void;
  6020. convertToHexString(valueString: string): string;
  6021. updateValue(valueString: string, raisePropertyChanged: boolean): void;
  6022. lock(): void;
  6023. unlock(): void;
  6024. render(): JSX.Element;
  6025. }
  6026. }
  6027. declare module INSPECTOR {
  6028. interface ICommonCameraPropertyGridComponentProps {
  6029. globalState: GlobalState;
  6030. camera: BABYLON.Camera;
  6031. lockObject: LockObject;
  6032. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6033. }
  6034. export class CommonCameraPropertyGridComponent extends React.Component<ICommonCameraPropertyGridComponentProps, {
  6035. mode: number;
  6036. }> {
  6037. constructor(props: ICommonCameraPropertyGridComponentProps);
  6038. render(): JSX.Element;
  6039. }
  6040. }
  6041. declare module INSPECTOR {
  6042. interface IFreeCameraPropertyGridComponentProps {
  6043. globalState: GlobalState;
  6044. camera: BABYLON.FreeCamera;
  6045. lockObject: LockObject;
  6046. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6047. }
  6048. export class FreeCameraPropertyGridComponent extends React.Component<IFreeCameraPropertyGridComponentProps> {
  6049. constructor(props: IFreeCameraPropertyGridComponentProps);
  6050. render(): JSX.Element;
  6051. }
  6052. }
  6053. declare module INSPECTOR {
  6054. interface IArcRotateCameraPropertyGridComponentProps {
  6055. globalState: GlobalState;
  6056. camera: BABYLON.ArcRotateCamera;
  6057. lockObject: LockObject;
  6058. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6059. }
  6060. export class ArcRotateCameraPropertyGridComponent extends React.Component<IArcRotateCameraPropertyGridComponentProps> {
  6061. constructor(props: IArcRotateCameraPropertyGridComponentProps);
  6062. render(): JSX.Element;
  6063. }
  6064. }
  6065. declare module INSPECTOR {
  6066. interface IIndentedTextLineComponentProps {
  6067. value?: string;
  6068. color?: string;
  6069. underline?: boolean;
  6070. onLink?: () => void;
  6071. url?: string;
  6072. additionalClass?: string;
  6073. }
  6074. export class IndentedTextLineComponent extends React.Component<IIndentedTextLineComponentProps> {
  6075. constructor(props: IIndentedTextLineComponentProps);
  6076. onLink(): void;
  6077. renderContent(): JSX.Element;
  6078. render(): JSX.Element;
  6079. }
  6080. }
  6081. declare module INSPECTOR {
  6082. interface ICommonPropertyGridComponentProps {
  6083. globalState: GlobalState;
  6084. host: {
  6085. metadata: any;
  6086. };
  6087. lockObject: LockObject;
  6088. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6089. }
  6090. export class CommonPropertyGridComponent extends React.Component<ICommonPropertyGridComponentProps> {
  6091. constructor(props: ICommonPropertyGridComponentProps);
  6092. renderLevel(jsonObject: any): JSX.Element[];
  6093. render(): JSX.Element | null;
  6094. }
  6095. }
  6096. declare module INSPECTOR {
  6097. interface IVariantsPropertyGridComponentProps {
  6098. globalState: GlobalState;
  6099. host: any;
  6100. lockObject: LockObject;
  6101. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6102. }
  6103. export class VariantsPropertyGridComponent extends React.Component<IVariantsPropertyGridComponentProps> {
  6104. constructor(props: IVariantsPropertyGridComponentProps);
  6105. private _getVariantsExtension;
  6106. render(): JSX.Element | null;
  6107. }
  6108. }
  6109. declare module INSPECTOR {
  6110. interface IMeshPropertyGridComponentProps {
  6111. globalState: GlobalState;
  6112. mesh: BABYLON.Mesh;
  6113. lockObject: LockObject;
  6114. onSelectionChangedObservable?: BABYLON.Observable<any>;
  6115. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6116. }
  6117. export class MeshPropertyGridComponent extends React.Component<IMeshPropertyGridComponentProps, {
  6118. displayNormals: boolean;
  6119. displayVertexColors: boolean;
  6120. }> {
  6121. constructor(props: IMeshPropertyGridComponentProps);
  6122. renderWireframeOver(): void;
  6123. renderNormalVectors(): void;
  6124. displayNormals(): void;
  6125. displayVertexColors(): void;
  6126. onMaterialLink(): void;
  6127. onSourceMeshLink(): void;
  6128. onSkeletonLink(): void;
  6129. convertPhysicsTypeToString(): string;
  6130. render(): JSX.Element;
  6131. }
  6132. }
  6133. declare module INSPECTOR {
  6134. interface ITransformNodePropertyGridComponentProps {
  6135. globalState: GlobalState;
  6136. transformNode: BABYLON.TransformNode;
  6137. lockObject: LockObject;
  6138. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6139. }
  6140. export class TransformNodePropertyGridComponent extends React.Component<ITransformNodePropertyGridComponentProps> {
  6141. constructor(props: ITransformNodePropertyGridComponentProps);
  6142. render(): JSX.Element;
  6143. }
  6144. }
  6145. declare module INSPECTOR {
  6146. interface IBackgroundMaterialPropertyGridComponentProps {
  6147. globalState: GlobalState;
  6148. material: BABYLON.BackgroundMaterial;
  6149. lockObject: LockObject;
  6150. onSelectionChangedObservable?: BABYLON.Observable<any>;
  6151. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6152. }
  6153. export class BackgroundMaterialPropertyGridComponent extends React.Component<IBackgroundMaterialPropertyGridComponentProps> {
  6154. private _onDebugSelectionChangeObservable;
  6155. constructor(props: IBackgroundMaterialPropertyGridComponentProps);
  6156. renderTextures(): JSX.Element;
  6157. render(): JSX.Element;
  6158. }
  6159. }
  6160. declare module INSPECTOR {
  6161. interface ICommonControlPropertyGridComponentProps {
  6162. globalState: GlobalState;
  6163. control: BABYLON.GUI.Control;
  6164. lockObject: LockObject;
  6165. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6166. }
  6167. export class CommonControlPropertyGridComponent extends React.Component<ICommonControlPropertyGridComponentProps> {
  6168. constructor(props: ICommonControlPropertyGridComponentProps);
  6169. renderGridInformation(): JSX.Element | null;
  6170. render(): JSX.Element;
  6171. }
  6172. }
  6173. declare module INSPECTOR {
  6174. interface IControlPropertyGridComponentProps {
  6175. globalState: GlobalState;
  6176. control: BABYLON.GUI.Control;
  6177. lockObject: LockObject;
  6178. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6179. }
  6180. export class ControlPropertyGridComponent extends React.Component<IControlPropertyGridComponentProps> {
  6181. constructor(props: IControlPropertyGridComponentProps);
  6182. render(): JSX.Element;
  6183. }
  6184. }
  6185. declare module INSPECTOR {
  6186. interface ITextBlockPropertyGridComponentProps {
  6187. globalState: GlobalState;
  6188. textBlock: BABYLON.GUI.TextBlock;
  6189. lockObject: LockObject;
  6190. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6191. }
  6192. export class TextBlockPropertyGridComponent extends React.Component<ITextBlockPropertyGridComponentProps> {
  6193. constructor(props: ITextBlockPropertyGridComponentProps);
  6194. render(): JSX.Element;
  6195. }
  6196. }
  6197. declare module INSPECTOR {
  6198. interface IInputTextPropertyGridComponentProps {
  6199. globalState: GlobalState;
  6200. inputText: BABYLON.GUI.InputText;
  6201. lockObject: LockObject;
  6202. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6203. }
  6204. export class InputTextPropertyGridComponent extends React.Component<IInputTextPropertyGridComponentProps> {
  6205. constructor(props: IInputTextPropertyGridComponentProps);
  6206. render(): JSX.Element;
  6207. }
  6208. }
  6209. declare module INSPECTOR {
  6210. interface IColorPickerPropertyGridComponentProps {
  6211. globalState: GlobalState;
  6212. colorPicker: BABYLON.GUI.ColorPicker;
  6213. lockObject: LockObject;
  6214. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6215. }
  6216. export class ColorPickerPropertyGridComponent extends React.Component<IColorPickerPropertyGridComponentProps> {
  6217. constructor(props: IColorPickerPropertyGridComponentProps);
  6218. render(): JSX.Element;
  6219. }
  6220. }
  6221. declare module INSPECTOR {
  6222. interface IAnimationGroupGridComponentProps {
  6223. globalState: GlobalState;
  6224. animationGroup: BABYLON.AnimationGroup;
  6225. scene: BABYLON.Scene;
  6226. lockObject: LockObject;
  6227. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6228. }
  6229. export class AnimationGroupGridComponent extends React.Component<IAnimationGroupGridComponentProps, {
  6230. playButtonText: string;
  6231. currentFrame: number;
  6232. }> {
  6233. private _onAnimationGroupPlayObserver;
  6234. private _onAnimationGroupPauseObserver;
  6235. private _onBeforeRenderObserver;
  6236. private timelineRef;
  6237. constructor(props: IAnimationGroupGridComponentProps);
  6238. disconnect(animationGroup: BABYLON.AnimationGroup): void;
  6239. connect(animationGroup: BABYLON.AnimationGroup): void;
  6240. updateCurrentFrame(animationGroup: BABYLON.AnimationGroup): void;
  6241. shouldComponentUpdate(nextProps: IAnimationGroupGridComponentProps): boolean;
  6242. componentWillUnmount(): void;
  6243. playOrPause(): void;
  6244. onCurrentFrameChange(value: number): void;
  6245. render(): JSX.Element;
  6246. }
  6247. }
  6248. declare module INSPECTOR {
  6249. interface IImagePropertyGridComponentProps {
  6250. globalState: GlobalState;
  6251. image: BABYLON.GUI.Image;
  6252. lockObject: LockObject;
  6253. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6254. }
  6255. export class ImagePropertyGridComponent extends React.Component<IImagePropertyGridComponentProps> {
  6256. constructor(props: IImagePropertyGridComponentProps);
  6257. render(): JSX.Element;
  6258. }
  6259. }
  6260. declare module INSPECTOR {
  6261. interface ISliderPropertyGridComponentProps {
  6262. globalState: GlobalState;
  6263. slider: BABYLON.GUI.Slider;
  6264. lockObject: LockObject;
  6265. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6266. }
  6267. export class SliderPropertyGridComponent extends React.Component<ISliderPropertyGridComponentProps> {
  6268. constructor(props: ISliderPropertyGridComponentProps);
  6269. render(): JSX.Element;
  6270. }
  6271. }
  6272. declare module INSPECTOR {
  6273. interface IImageBasedSliderPropertyGridComponentProps {
  6274. globalState: GlobalState;
  6275. imageBasedSlider: BABYLON.GUI.ImageBasedSlider;
  6276. lockObject: LockObject;
  6277. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6278. }
  6279. export class ImageBasedSliderPropertyGridComponent extends React.Component<IImageBasedSliderPropertyGridComponentProps> {
  6280. constructor(props: IImageBasedSliderPropertyGridComponentProps);
  6281. render(): JSX.Element;
  6282. }
  6283. }
  6284. declare module INSPECTOR {
  6285. interface IRectanglePropertyGridComponentProps {
  6286. globalState: GlobalState;
  6287. rectangle: BABYLON.GUI.Rectangle;
  6288. lockObject: LockObject;
  6289. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6290. }
  6291. export class RectanglePropertyGridComponent extends React.Component<IRectanglePropertyGridComponentProps> {
  6292. constructor(props: IRectanglePropertyGridComponentProps);
  6293. render(): JSX.Element;
  6294. }
  6295. }
  6296. declare module INSPECTOR {
  6297. interface IEllipsePropertyGridComponentProps {
  6298. globalState: GlobalState;
  6299. ellipse: BABYLON.GUI.Ellipse;
  6300. lockObject: LockObject;
  6301. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6302. }
  6303. export class EllipsePropertyGridComponent extends React.Component<IEllipsePropertyGridComponentProps> {
  6304. constructor(props: IEllipsePropertyGridComponentProps);
  6305. render(): JSX.Element;
  6306. }
  6307. }
  6308. declare module INSPECTOR {
  6309. interface ICheckboxPropertyGridComponentProps {
  6310. globalState: GlobalState;
  6311. checkbox: BABYLON.GUI.Checkbox;
  6312. lockObject: LockObject;
  6313. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6314. }
  6315. export class CheckboxPropertyGridComponent extends React.Component<ICheckboxPropertyGridComponentProps> {
  6316. constructor(props: ICheckboxPropertyGridComponentProps);
  6317. render(): JSX.Element;
  6318. }
  6319. }
  6320. declare module INSPECTOR {
  6321. interface IRadioButtonPropertyGridComponentProps {
  6322. globalState: GlobalState;
  6323. radioButton: BABYLON.GUI.RadioButton;
  6324. lockObject: LockObject;
  6325. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6326. }
  6327. export class RadioButtonPropertyGridComponent extends React.Component<IRadioButtonPropertyGridComponentProps> {
  6328. constructor(props: IRadioButtonPropertyGridComponentProps);
  6329. render(): JSX.Element;
  6330. }
  6331. }
  6332. declare module INSPECTOR {
  6333. interface ILinePropertyGridComponentProps {
  6334. globalState: GlobalState;
  6335. line: BABYLON.GUI.Line;
  6336. lockObject: LockObject;
  6337. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6338. }
  6339. export class LinePropertyGridComponent extends React.Component<ILinePropertyGridComponentProps> {
  6340. constructor(props: ILinePropertyGridComponentProps);
  6341. onDashChange(value: string): void;
  6342. render(): JSX.Element;
  6343. }
  6344. }
  6345. declare module INSPECTOR {
  6346. interface IScrollViewerPropertyGridComponentProps {
  6347. globalState: GlobalState;
  6348. scrollViewer: BABYLON.GUI.ScrollViewer;
  6349. lockObject: LockObject;
  6350. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6351. }
  6352. export class ScrollViewerPropertyGridComponent extends React.Component<IScrollViewerPropertyGridComponentProps> {
  6353. constructor(props: IScrollViewerPropertyGridComponentProps);
  6354. render(): JSX.Element;
  6355. }
  6356. }
  6357. declare module INSPECTOR {
  6358. interface IGridPropertyGridComponentProps {
  6359. globalState: GlobalState;
  6360. grid: BABYLON.GUI.Grid;
  6361. lockObject: LockObject;
  6362. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6363. }
  6364. export class GridPropertyGridComponent extends React.Component<IGridPropertyGridComponentProps> {
  6365. constructor(props: IGridPropertyGridComponentProps);
  6366. renderRows(): JSX.Element[];
  6367. renderColumns(): JSX.Element[];
  6368. render(): JSX.Element;
  6369. }
  6370. }
  6371. declare module INSPECTOR {
  6372. interface IPBRMetallicRoughnessMaterialPropertyGridComponentProps {
  6373. globalState: GlobalState;
  6374. material: BABYLON.PBRMetallicRoughnessMaterial;
  6375. lockObject: LockObject;
  6376. onSelectionChangedObservable?: BABYLON.Observable<any>;
  6377. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6378. }
  6379. export class PBRMetallicRoughnessMaterialPropertyGridComponent extends React.Component<IPBRMetallicRoughnessMaterialPropertyGridComponentProps> {
  6380. private _onDebugSelectionChangeObservable;
  6381. constructor(props: IPBRMetallicRoughnessMaterialPropertyGridComponentProps);
  6382. renderTextures(): JSX.Element;
  6383. render(): JSX.Element;
  6384. }
  6385. }
  6386. declare module INSPECTOR {
  6387. interface IPBRSpecularGlossinessMaterialPropertyGridComponentProps {
  6388. globalState: GlobalState;
  6389. material: BABYLON.PBRSpecularGlossinessMaterial;
  6390. lockObject: LockObject;
  6391. onSelectionChangedObservable?: BABYLON.Observable<any>;
  6392. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6393. }
  6394. export class PBRSpecularGlossinessMaterialPropertyGridComponent extends React.Component<IPBRSpecularGlossinessMaterialPropertyGridComponentProps> {
  6395. private _onDebugSelectionChangeObservable;
  6396. constructor(props: IPBRSpecularGlossinessMaterialPropertyGridComponentProps);
  6397. renderTextures(): JSX.Element;
  6398. render(): JSX.Element;
  6399. }
  6400. }
  6401. declare module INSPECTOR {
  6402. interface IStackPanelPropertyGridComponentProps {
  6403. globalState: GlobalState;
  6404. stackPanel: BABYLON.GUI.StackPanel;
  6405. lockObject: LockObject;
  6406. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6407. }
  6408. export class StackPanelPropertyGridComponent extends React.Component<IStackPanelPropertyGridComponentProps> {
  6409. constructor(props: IStackPanelPropertyGridComponentProps);
  6410. render(): JSX.Element;
  6411. }
  6412. }
  6413. declare module INSPECTOR {
  6414. interface ICommonPostProcessPropertyGridComponentProps {
  6415. globalState: GlobalState;
  6416. postProcess: BABYLON.PostProcess;
  6417. lockObject: LockObject;
  6418. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6419. }
  6420. export class CommonPostProcessPropertyGridComponent extends React.Component<ICommonPostProcessPropertyGridComponentProps> {
  6421. constructor(props: ICommonPostProcessPropertyGridComponentProps);
  6422. render(): JSX.Element;
  6423. }
  6424. }
  6425. declare module INSPECTOR {
  6426. interface IPostProcessPropertyGridComponentProps {
  6427. globalState: GlobalState;
  6428. postProcess: BABYLON.PostProcess;
  6429. lockObject: LockObject;
  6430. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6431. }
  6432. export class PostProcessPropertyGridComponent extends React.Component<IPostProcessPropertyGridComponentProps> {
  6433. constructor(props: IPostProcessPropertyGridComponentProps);
  6434. edit(): void;
  6435. render(): JSX.Element;
  6436. }
  6437. }
  6438. declare module INSPECTOR {
  6439. interface ICommonRenderingPipelinePropertyGridComponentProps {
  6440. globalState: GlobalState;
  6441. renderPipeline: BABYLON.PostProcessRenderPipeline;
  6442. lockObject: LockObject;
  6443. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6444. }
  6445. export class CommonRenderingPipelinePropertyGridComponent extends React.Component<ICommonRenderingPipelinePropertyGridComponentProps> {
  6446. constructor(props: ICommonRenderingPipelinePropertyGridComponentProps);
  6447. render(): JSX.Element;
  6448. }
  6449. }
  6450. declare module INSPECTOR {
  6451. interface IRenderingPipelinePropertyGridComponentProps {
  6452. globalState: GlobalState;
  6453. renderPipeline: BABYLON.PostProcessRenderPipeline;
  6454. lockObject: LockObject;
  6455. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6456. }
  6457. export class RenderingPipelinePropertyGridComponent extends React.Component<IRenderingPipelinePropertyGridComponentProps> {
  6458. constructor(props: IRenderingPipelinePropertyGridComponentProps);
  6459. render(): JSX.Element;
  6460. }
  6461. }
  6462. declare module INSPECTOR {
  6463. interface IDefaultRenderingPipelinePropertyGridComponentProps {
  6464. globalState: GlobalState;
  6465. renderPipeline: BABYLON.DefaultRenderingPipeline;
  6466. lockObject: LockObject;
  6467. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6468. }
  6469. export class DefaultRenderingPipelinePropertyGridComponent extends React.Component<IDefaultRenderingPipelinePropertyGridComponentProps> {
  6470. constructor(props: IDefaultRenderingPipelinePropertyGridComponentProps);
  6471. render(): JSX.Element;
  6472. }
  6473. }
  6474. declare module INSPECTOR {
  6475. interface ISSAORenderingPipelinePropertyGridComponentProps {
  6476. globalState: GlobalState;
  6477. renderPipeline: BABYLON.SSAORenderingPipeline;
  6478. lockObject: LockObject;
  6479. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6480. }
  6481. export class SSAORenderingPipelinePropertyGridComponent extends React.Component<ISSAORenderingPipelinePropertyGridComponentProps> {
  6482. constructor(props: ISSAORenderingPipelinePropertyGridComponentProps);
  6483. render(): JSX.Element;
  6484. }
  6485. }
  6486. declare module INSPECTOR {
  6487. interface ISSAO2RenderingPipelinePropertyGridComponentProps {
  6488. globalState: GlobalState;
  6489. renderPipeline: BABYLON.SSAO2RenderingPipeline;
  6490. lockObject: LockObject;
  6491. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6492. }
  6493. export class SSAO2RenderingPipelinePropertyGridComponent extends React.Component<ISSAO2RenderingPipelinePropertyGridComponentProps> {
  6494. constructor(props: ISSAO2RenderingPipelinePropertyGridComponentProps);
  6495. render(): JSX.Element;
  6496. }
  6497. }
  6498. declare module INSPECTOR {
  6499. interface ISkeletonPropertyGridComponentProps {
  6500. globalState: GlobalState;
  6501. skeleton: BABYLON.Skeleton;
  6502. lockObject: LockObject;
  6503. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6504. }
  6505. export class SkeletonPropertyGridComponent extends React.Component<ISkeletonPropertyGridComponentProps> {
  6506. private _skeletonViewersEnabled;
  6507. private _skeletonViewerDisplayOptions;
  6508. private _skeletonViewers;
  6509. constructor(props: ISkeletonPropertyGridComponentProps);
  6510. switchSkeletonViewers(): void;
  6511. checkSkeletonViewerState(props: ISkeletonPropertyGridComponentProps): void;
  6512. changeDisplayMode(): void;
  6513. changeDisplayOptions(option: string, value: number): void;
  6514. shouldComponentUpdate(nextProps: ISkeletonPropertyGridComponentProps): boolean;
  6515. onOverrideMeshLink(): void;
  6516. render(): JSX.Element;
  6517. }
  6518. }
  6519. declare module INSPECTOR {
  6520. interface IBonePropertyGridComponentProps {
  6521. globalState: GlobalState;
  6522. bone: BABYLON.Bone;
  6523. lockObject: LockObject;
  6524. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6525. }
  6526. export class BonePropertyGridComponent extends React.Component<IBonePropertyGridComponentProps> {
  6527. constructor(props: IBonePropertyGridComponentProps);
  6528. onTransformNodeLink(): void;
  6529. render(): JSX.Element;
  6530. }
  6531. }
  6532. declare module INSPECTOR {
  6533. interface IDirectionalLightPropertyGridComponentProps {
  6534. globalState: GlobalState;
  6535. light: BABYLON.DirectionalLight;
  6536. lockObject: LockObject;
  6537. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6538. }
  6539. export class DirectionalLightPropertyGridComponent extends React.Component<IDirectionalLightPropertyGridComponentProps> {
  6540. constructor(props: IDirectionalLightPropertyGridComponentProps);
  6541. render(): JSX.Element;
  6542. }
  6543. }
  6544. declare module INSPECTOR {
  6545. interface ISpotLightPropertyGridComponentProps {
  6546. globalState: GlobalState;
  6547. light: BABYLON.SpotLight;
  6548. lockObject: LockObject;
  6549. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6550. }
  6551. export class SpotLightPropertyGridComponent extends React.Component<ISpotLightPropertyGridComponentProps> {
  6552. constructor(props: ISpotLightPropertyGridComponentProps);
  6553. render(): JSX.Element;
  6554. }
  6555. }
  6556. declare module INSPECTOR {
  6557. interface ILenstRenderingPipelinePropertyGridComponentProps {
  6558. globalState: GlobalState;
  6559. renderPipeline: BABYLON.LensRenderingPipeline;
  6560. lockObject: LockObject;
  6561. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6562. }
  6563. export class LensRenderingPipelinePropertyGridComponent extends React.Component<ILenstRenderingPipelinePropertyGridComponentProps> {
  6564. constructor(props: ILenstRenderingPipelinePropertyGridComponentProps);
  6565. render(): JSX.Element;
  6566. }
  6567. }
  6568. declare module INSPECTOR {
  6569. interface IVector4LineComponentProps {
  6570. label: string;
  6571. target: any;
  6572. propertyName: string;
  6573. step?: number;
  6574. onChange?: (newvalue: BABYLON.Vector4) => void;
  6575. useEuler?: boolean;
  6576. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6577. }
  6578. export class Vector4LineComponent extends React.Component<IVector4LineComponentProps, {
  6579. isExpanded: boolean;
  6580. value: BABYLON.Vector4;
  6581. }> {
  6582. static defaultProps: {
  6583. step: number;
  6584. };
  6585. private _localChange;
  6586. constructor(props: IVector4LineComponentProps);
  6587. getCurrentValue(): any;
  6588. shouldComponentUpdate(nextProps: IVector4LineComponentProps, nextState: {
  6589. isExpanded: boolean;
  6590. value: BABYLON.Vector4;
  6591. }): boolean;
  6592. switchExpandState(): void;
  6593. raiseOnPropertyChanged(previousValue: BABYLON.Vector4): void;
  6594. updateVector4(): void;
  6595. updateStateX(value: number): void;
  6596. updateStateY(value: number): void;
  6597. updateStateZ(value: number): void;
  6598. updateStateW(value: number): void;
  6599. render(): JSX.Element;
  6600. }
  6601. }
  6602. declare module INSPECTOR {
  6603. export interface IColor4LineComponentProps {
  6604. label: string;
  6605. target: any;
  6606. propertyName: string;
  6607. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6608. onChange?: () => void;
  6609. isLinear?: boolean;
  6610. }
  6611. export class Color4LineComponent extends React.Component<IColor4LineComponentProps, {
  6612. isExpanded: boolean;
  6613. color: BABYLON.Color4;
  6614. }> {
  6615. private _localChange;
  6616. constructor(props: IColor4LineComponentProps);
  6617. shouldComponentUpdate(nextProps: IColor4LineComponentProps, nextState: {
  6618. color: BABYLON.Color4;
  6619. }): boolean;
  6620. setPropertyValue(newColor: BABYLON.Color4): void;
  6621. onChange(newValue: string): void;
  6622. switchExpandState(): void;
  6623. raiseOnPropertyChanged(previousValue: BABYLON.Color4): void;
  6624. updateStateR(value: number): void;
  6625. updateStateG(value: number): void;
  6626. updateStateB(value: number): void;
  6627. updateStateA(value: number): void;
  6628. copyToClipboard(): void;
  6629. render(): JSX.Element;
  6630. }
  6631. }
  6632. declare module INSPECTOR {
  6633. interface INodeMaterialPropertyGridComponentProps {
  6634. globalState: GlobalState;
  6635. material: BABYLON.NodeMaterial;
  6636. lockObject: LockObject;
  6637. onSelectionChangedObservable?: BABYLON.Observable<any>;
  6638. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6639. }
  6640. export class NodeMaterialPropertyGridComponent extends React.Component<INodeMaterialPropertyGridComponentProps> {
  6641. private _onDebugSelectionChangeObservable;
  6642. constructor(props: INodeMaterialPropertyGridComponentProps);
  6643. edit(): void;
  6644. renderTextures(): JSX.Element | null;
  6645. renderInputBlock(block: BABYLON.InputBlock): JSX.Element | null;
  6646. renderInputValues(): JSX.Element | null;
  6647. render(): JSX.Element;
  6648. }
  6649. }
  6650. declare module INSPECTOR {
  6651. interface IMultiMaterialPropertyGridComponentProps {
  6652. globalState: GlobalState;
  6653. material: BABYLON.MultiMaterial;
  6654. lockObject: LockObject;
  6655. onSelectionChangedObservable?: BABYLON.Observable<any>;
  6656. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6657. }
  6658. export class MultiMaterialPropertyGridComponent extends React.Component<IMultiMaterialPropertyGridComponentProps> {
  6659. constructor(props: IMultiMaterialPropertyGridComponentProps);
  6660. onMaterialLink(mat: BABYLON.Material): void;
  6661. renderChildMaterial(): JSX.Element;
  6662. render(): JSX.Element;
  6663. }
  6664. }
  6665. declare module INSPECTOR {
  6666. interface IBoxEmitterGridComponentProps {
  6667. globalState: GlobalState;
  6668. emitter: BABYLON.BoxParticleEmitter;
  6669. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6670. }
  6671. export class BoxEmitterGridComponent extends React.Component<IBoxEmitterGridComponentProps> {
  6672. constructor(props: IBoxEmitterGridComponentProps);
  6673. render(): JSX.Element;
  6674. }
  6675. }
  6676. declare module INSPECTOR {
  6677. interface IConeEmitterGridComponentProps {
  6678. globalState: GlobalState;
  6679. emitter: BABYLON.ConeParticleEmitter;
  6680. onSelectionChangedObservable?: BABYLON.Observable<any>;
  6681. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6682. }
  6683. export class ConeEmitterGridComponent extends React.Component<IConeEmitterGridComponentProps> {
  6684. constructor(props: IConeEmitterGridComponentProps);
  6685. render(): JSX.Element;
  6686. }
  6687. }
  6688. declare module INSPECTOR {
  6689. interface ICylinderEmitterGridComponentProps {
  6690. globalState: GlobalState;
  6691. emitter: BABYLON.CylinderParticleEmitter;
  6692. lockObject: LockObject;
  6693. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6694. }
  6695. export class CylinderEmitterGridComponent extends React.Component<ICylinderEmitterGridComponentProps> {
  6696. constructor(props: ICylinderEmitterGridComponentProps);
  6697. render(): JSX.Element;
  6698. }
  6699. }
  6700. declare module INSPECTOR {
  6701. interface IHemisphericEmitterGridComponentProps {
  6702. globalState: GlobalState;
  6703. emitter: BABYLON.HemisphericParticleEmitter;
  6704. lockObject: LockObject;
  6705. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6706. }
  6707. export class HemisphericEmitterGridComponent extends React.Component<IHemisphericEmitterGridComponentProps> {
  6708. constructor(props: IHemisphericEmitterGridComponentProps);
  6709. render(): JSX.Element;
  6710. }
  6711. }
  6712. declare module INSPECTOR {
  6713. interface IPointEmitterGridComponentProps {
  6714. globalState: GlobalState;
  6715. emitter: BABYLON.PointParticleEmitter;
  6716. lockObject: LockObject;
  6717. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6718. }
  6719. export class PointEmitterGridComponent extends React.Component<IPointEmitterGridComponentProps> {
  6720. constructor(props: IPointEmitterGridComponentProps);
  6721. render(): JSX.Element;
  6722. }
  6723. }
  6724. declare module INSPECTOR {
  6725. interface ISphereEmitterGridComponentProps {
  6726. globalState: GlobalState;
  6727. emitter: BABYLON.SphereParticleEmitter;
  6728. lockObject: LockObject;
  6729. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6730. }
  6731. export class SphereEmitterGridComponent extends React.Component<ISphereEmitterGridComponentProps> {
  6732. constructor(props: ISphereEmitterGridComponentProps);
  6733. render(): JSX.Element;
  6734. }
  6735. }
  6736. declare module INSPECTOR {
  6737. interface IMeshPickerComponentProps {
  6738. globalState: GlobalState;
  6739. target: any;
  6740. property: string;
  6741. scene: BABYLON.Scene;
  6742. label: string;
  6743. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6744. }
  6745. export class MeshPickerComponent extends React.Component<IMeshPickerComponentProps> {
  6746. constructor(props: IMeshPickerComponentProps);
  6747. render(): JSX.Element;
  6748. }
  6749. }
  6750. declare module INSPECTOR {
  6751. interface IMeshEmitterGridComponentProps {
  6752. globalState: GlobalState;
  6753. emitter: BABYLON.MeshParticleEmitter;
  6754. scene: BABYLON.Scene;
  6755. lockObject: LockObject;
  6756. onSelectionChangedObservable?: BABYLON.Observable<any>;
  6757. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6758. }
  6759. export class MeshEmitterGridComponent extends React.Component<IMeshEmitterGridComponentProps> {
  6760. constructor(props: IMeshEmitterGridComponentProps);
  6761. render(): JSX.Element;
  6762. }
  6763. }
  6764. declare module INSPECTOR {
  6765. interface IFactorGradientStepGridComponent {
  6766. globalState: GlobalState;
  6767. gradient: BABYLON.FactorGradient;
  6768. lockObject: LockObject;
  6769. lineIndex: number;
  6770. onDelete: () => void;
  6771. onUpdateGradient: () => void;
  6772. onCheckForReOrder: () => void;
  6773. host: BABYLON.IParticleSystem;
  6774. codeRecorderPropertyName: string;
  6775. }
  6776. export class FactorGradientStepGridComponent extends React.Component<IFactorGradientStepGridComponent, {
  6777. gradient: number;
  6778. factor1: string;
  6779. factor2?: string;
  6780. }> {
  6781. constructor(props: IFactorGradientStepGridComponent);
  6782. shouldComponentUpdate(nextProps: IFactorGradientStepGridComponent, nextState: {
  6783. gradient: number;
  6784. factor1: string;
  6785. factor2?: string;
  6786. }): boolean;
  6787. updateFactor1(valueString: string): void;
  6788. updateFactor2(valueString: string): void;
  6789. updateGradient(gradient: number): void;
  6790. onPointerUp(): void;
  6791. lock(): void;
  6792. unlock(): void;
  6793. render(): JSX.Element;
  6794. }
  6795. }
  6796. declare module INSPECTOR {
  6797. interface IColorGradientStepGridComponent {
  6798. globalState: GlobalState;
  6799. gradient: BABYLON.ColorGradient | BABYLON.Color3Gradient;
  6800. lockObject: LockObject;
  6801. lineIndex: number;
  6802. isColor3: boolean;
  6803. onDelete: () => void;
  6804. onUpdateGradient: () => void;
  6805. onCheckForReOrder: () => void;
  6806. host: BABYLON.IParticleSystem;
  6807. codeRecorderPropertyName: string;
  6808. }
  6809. export class ColorGradientStepGridComponent extends React.Component<IColorGradientStepGridComponent, {
  6810. gradient: number;
  6811. }> {
  6812. constructor(props: IColorGradientStepGridComponent);
  6813. updateColor1(color: string): void;
  6814. updateColor2(color: string): void;
  6815. updateGradient(gradient: number): void;
  6816. onPointerUp(): void;
  6817. lock(): void;
  6818. unlock(): void;
  6819. render(): JSX.Element;
  6820. }
  6821. }
  6822. declare module INSPECTOR {
  6823. interface ILinkButtonComponentProps {
  6824. label: string;
  6825. buttonLabel: string;
  6826. url?: string;
  6827. onClick: () => void;
  6828. onIconClick?: () => void;
  6829. }
  6830. export class LinkButtonComponent extends React.Component<ILinkButtonComponentProps> {
  6831. constructor(props: ILinkButtonComponentProps);
  6832. onLink(): void;
  6833. render(): JSX.Element;
  6834. }
  6835. }
  6836. declare module INSPECTOR {
  6837. export enum GradientGridMode {
  6838. Factor = 0,
  6839. BABYLON.Color3 = 1,
  6840. BABYLON.Color4 = 2
  6841. }
  6842. interface IValueGradientGridComponent {
  6843. globalState: GlobalState;
  6844. label: string;
  6845. gradients: BABYLON.Nullable<Array<BABYLON.IValueGradient>>;
  6846. lockObject: LockObject;
  6847. docLink?: string;
  6848. mode: GradientGridMode;
  6849. host: BABYLON.IParticleSystem;
  6850. codeRecorderPropertyName: string;
  6851. onCreateRequired: () => void;
  6852. }
  6853. export class ValueGradientGridComponent extends React.Component<IValueGradientGridComponent> {
  6854. constructor(props: IValueGradientGridComponent);
  6855. deleteStep(step: BABYLON.IValueGradient): void;
  6856. addNewStep(): void;
  6857. checkForReOrder(): void;
  6858. updateAndSync(): void;
  6859. render(): JSX.Element;
  6860. }
  6861. }
  6862. declare module INSPECTOR {
  6863. interface IParticleSystemPropertyGridComponentProps {
  6864. globalState: GlobalState;
  6865. system: BABYLON.IParticleSystem;
  6866. lockObject: LockObject;
  6867. onSelectionChangedObservable?: BABYLON.Observable<any>;
  6868. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6869. }
  6870. export class ParticleSystemPropertyGridComponent extends React.Component<IParticleSystemPropertyGridComponentProps> {
  6871. private _snippetUrl;
  6872. constructor(props: IParticleSystemPropertyGridComponentProps);
  6873. renderEmitter(): JSX.Element | null;
  6874. raiseOnPropertyChanged(property: string, newValue: any, previousValue: any): void;
  6875. renderControls(): JSX.Element;
  6876. saveToFile(): void;
  6877. loadFromFile(file: File): void;
  6878. loadFromSnippet(): void;
  6879. saveToSnippet(): void;
  6880. render(): JSX.Element;
  6881. }
  6882. }
  6883. declare module INSPECTOR {
  6884. interface ISpriteManagerPropertyGridComponentProps {
  6885. globalState: GlobalState;
  6886. spriteManager: BABYLON.SpriteManager;
  6887. lockObject: LockObject;
  6888. onSelectionChangedObservable?: BABYLON.Observable<any>;
  6889. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6890. }
  6891. export class SpriteManagerPropertyGridComponent extends React.Component<ISpriteManagerPropertyGridComponentProps> {
  6892. private _snippetUrl;
  6893. constructor(props: ISpriteManagerPropertyGridComponentProps);
  6894. addNewSprite(): void;
  6895. disposeManager(): void;
  6896. saveToFile(): void;
  6897. loadFromFile(file: File): void;
  6898. loadFromSnippet(): void;
  6899. saveToSnippet(): void;
  6900. render(): JSX.Element;
  6901. }
  6902. }
  6903. declare module INSPECTOR {
  6904. interface ISpritePropertyGridComponentProps {
  6905. globalState: GlobalState;
  6906. sprite: BABYLON.Sprite;
  6907. lockObject: LockObject;
  6908. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6909. onSelectionChangedObservable?: BABYLON.Observable<any>;
  6910. }
  6911. export class SpritePropertyGridComponent extends React.Component<ISpritePropertyGridComponentProps> {
  6912. private canvasRef;
  6913. private imageData;
  6914. private cachedCellIndex;
  6915. constructor(props: ISpritePropertyGridComponentProps);
  6916. onManagerLink(): void;
  6917. switchPlayStopState(): void;
  6918. disposeSprite(): void;
  6919. componentDidMount(): void;
  6920. componentDidUpdate(): void;
  6921. shouldComponentUpdate(nextProps: ISpritePropertyGridComponentProps): boolean;
  6922. updatePreview(): void;
  6923. render(): JSX.Element;
  6924. }
  6925. }
  6926. declare module INSPECTOR {
  6927. interface ITargetedAnimationGridComponentProps {
  6928. globalState: GlobalState;
  6929. targetedAnimation: BABYLON.TargetedAnimation;
  6930. scene: BABYLON.Scene;
  6931. lockObject: LockObject;
  6932. onSelectionChangedObservable?: BABYLON.Observable<any>;
  6933. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6934. }
  6935. export class TargetedAnimationGridComponent extends React.Component<ITargetedAnimationGridComponentProps> {
  6936. private _isCurveEditorOpen;
  6937. private _animationGroup;
  6938. constructor(props: ITargetedAnimationGridComponentProps);
  6939. onOpenAnimationCurveEditor(): void;
  6940. onCloseAnimationCurveEditor(window: Window | null): void;
  6941. playOrPause(): void;
  6942. deleteAnimation(): void;
  6943. render(): JSX.Element;
  6944. }
  6945. }
  6946. declare module INSPECTOR {
  6947. interface IFollowCameraPropertyGridComponentProps {
  6948. globalState: GlobalState;
  6949. camera: BABYLON.FollowCamera;
  6950. lockObject: LockObject;
  6951. onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
  6952. }
  6953. export class FollowCameraPropertyGridComponent extends React.Component<IFollowCameraPropertyGridComponentProps> {
  6954. constructor(props: IFollowCameraPropertyGridComponentProps);
  6955. render(): JSX.Element;
  6956. }
  6957. }
  6958. declare module INSPECTOR {
  6959. export class PropertyGridTabComponent extends PaneComponent {
  6960. private _timerIntervalId;
  6961. private _lockObject;
  6962. constructor(props: IPaneComponentProps);
  6963. timerRefresh(): void;
  6964. componentDidMount(): void;
  6965. componentWillUnmount(): void;
  6966. render(): JSX.Element | null;
  6967. }
  6968. }
  6969. declare module INSPECTOR {
  6970. export interface IHeaderComponentProps {
  6971. title: string;
  6972. handleBack?: boolean;
  6973. noExpand?: boolean;
  6974. noClose?: boolean;
  6975. noCommands?: boolean;
  6976. onPopup: () => void;
  6977. onClose: () => void;
  6978. onSelectionChangedObservable?: BABYLON.Observable<any>;
  6979. }
  6980. export class HeaderComponent extends React.Component<IHeaderComponentProps, {
  6981. isBackVisible: boolean;
  6982. }> {
  6983. private _backStack;
  6984. private _onSelectionChangeObserver;
  6985. constructor(props: IHeaderComponentProps);
  6986. componentDidMount(): void;
  6987. componentWillUnmount(): void;
  6988. goBack(): void;
  6989. renderLogo(): JSX.Element | null;
  6990. render(): JSX.Element;
  6991. }
  6992. }
  6993. declare module INSPECTOR {
  6994. interface IMessageLineComponentProps {
  6995. text: string;
  6996. color?: string;
  6997. }
  6998. export class MessageLineComponent extends React.Component<IMessageLineComponentProps> {
  6999. constructor(props: IMessageLineComponentProps);
  7000. render(): JSX.Element;
  7001. }
  7002. }
  7003. declare module INSPECTOR {
  7004. interface IGLTFComponentProps {
  7005. scene: BABYLON.Scene;
  7006. globalState: GlobalState;
  7007. }
  7008. export class GLTFComponent extends React.Component<IGLTFComponentProps> {
  7009. private _onValidationResultsUpdatedObserver;
  7010. constructor(props: IGLTFComponentProps);
  7011. openValidationDetails(): void;
  7012. prepareText(singularForm: string, count: number): string;
  7013. componentDidMount(): void;
  7014. componentWillUnmount(): void;
  7015. renderValidation(): JSX.Element | null;
  7016. render(): JSX.Element;
  7017. }
  7018. }
  7019. declare module INSPECTOR {
  7020. interface IFileMultipleButtonLineComponentProps {
  7021. label: string;
  7022. onClick: (event: any) => void;
  7023. accept: string;
  7024. }
  7025. export class FileMultipleButtonLineComponent extends React.Component<IFileMultipleButtonLineComponentProps> {
  7026. private static _IDGenerator;
  7027. private _id;
  7028. private uploadInputRef;
  7029. constructor(props: IFileMultipleButtonLineComponentProps);
  7030. onChange(evt: any): void;
  7031. render(): JSX.Element;
  7032. }
  7033. }
  7034. declare module INSPECTOR {
  7035. export class ToolsTabComponent extends PaneComponent {
  7036. private _videoRecorder;
  7037. private _screenShotSize;
  7038. private _gifOptions;
  7039. private _useWidthHeight;
  7040. private _isExporting;
  7041. private _gifWorkerBlob;
  7042. private _gifRecorder;
  7043. private _previousRenderingScale;
  7044. private _crunchingGIF;
  7045. constructor(props: IPaneComponentProps);
  7046. componentDidMount(): void;
  7047. componentWillUnmount(): void;
  7048. captureScreenshot(): void;
  7049. captureRender(): void;
  7050. recordVideo(): void;
  7051. recordGIFInternal(): void;
  7052. recordGIF(): void;
  7053. importAnimations(event: any): void;
  7054. shouldExport(node: BABYLON.Node): boolean;
  7055. exportGLTF(): void;
  7056. exportBabylon(): void;
  7057. createEnvTexture(): void;
  7058. exportReplay(): void;
  7059. startRecording(): void;
  7060. applyDelta(file: File): void;
  7061. render(): JSX.Element | null;
  7062. }
  7063. }
  7064. declare module INSPECTOR {
  7065. export class SettingsTabComponent extends PaneComponent {
  7066. constructor(props: IPaneComponentProps);
  7067. render(): JSX.Element;
  7068. }
  7069. }
  7070. declare module INSPECTOR {
  7071. interface IActionTabsComponentProps {
  7072. scene?: BABYLON.Scene;
  7073. noCommands?: boolean;
  7074. noHeader?: boolean;
  7075. noExpand?: boolean;
  7076. noClose?: boolean;
  7077. popupMode?: boolean;
  7078. onPopup?: () => void;
  7079. onClose?: () => void;
  7080. globalState?: GlobalState;
  7081. initialTab?: BABYLON.DebugLayerTab;
  7082. }
  7083. export class ActionTabsComponent extends React.Component<IActionTabsComponentProps, {
  7084. selectedEntity: any;
  7085. selectedIndex: number;
  7086. }> {
  7087. private _onSelectionChangeObserver;
  7088. private _onTabChangedObserver;
  7089. private _once;
  7090. constructor(props: IActionTabsComponentProps);
  7091. componentDidMount(): void;
  7092. componentWillUnmount(): void;
  7093. changeSelectedTab(index: number): void;
  7094. renderContent(): JSX.Element | null;
  7095. onClose(): void;
  7096. onPopup(): void;
  7097. render(): JSX.Element;
  7098. }
  7099. }
  7100. declare module INSPECTOR {
  7101. interface ITreeItemLabelComponentProps {
  7102. label: string;
  7103. onClick?: () => void;
  7104. color: string;
  7105. }
  7106. export class TreeItemLabelComponent extends React.Component<ITreeItemLabelComponentProps> {
  7107. constructor(props: ITreeItemLabelComponentProps);
  7108. onClick(): void;
  7109. render(): JSX.Element;
  7110. }
  7111. }
  7112. declare module INSPECTOR {
  7113. interface IExtensionsComponentProps {
  7114. target: any;
  7115. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  7116. }
  7117. export class ExtensionsComponent extends React.Component<IExtensionsComponentProps, {
  7118. popupVisible: boolean;
  7119. }> {
  7120. private _popup;
  7121. private extensionRef;
  7122. constructor(props: IExtensionsComponentProps);
  7123. showPopup(): void;
  7124. componentDidMount(): void;
  7125. componentDidUpdate(): void;
  7126. render(): JSX.Element | null;
  7127. }
  7128. }
  7129. declare module INSPECTOR {
  7130. interface IMeshTreeItemComponentProps {
  7131. mesh: BABYLON.AbstractMesh;
  7132. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  7133. onClick: () => void;
  7134. globalState: GlobalState;
  7135. }
  7136. export class MeshTreeItemComponent extends React.Component<IMeshTreeItemComponentProps, {
  7137. isBoundingBoxEnabled: boolean;
  7138. isVisible: boolean;
  7139. }> {
  7140. constructor(props: IMeshTreeItemComponentProps);
  7141. showBoundingBox(): void;
  7142. switchVisibility(): void;
  7143. render(): JSX.Element;
  7144. }
  7145. }
  7146. declare module INSPECTOR {
  7147. interface ICameraTreeItemComponentProps {
  7148. camera: BABYLON.Camera;
  7149. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  7150. onClick: () => void;
  7151. globalState: GlobalState;
  7152. }
  7153. export class CameraTreeItemComponent extends React.Component<ICameraTreeItemComponentProps, {
  7154. isActive: boolean;
  7155. isGizmoEnabled: boolean;
  7156. }> {
  7157. private _onBeforeRenderObserver;
  7158. constructor(props: ICameraTreeItemComponentProps);
  7159. setActive(): void;
  7160. componentDidMount(): void;
  7161. componentWillUnmount(): void;
  7162. toggleGizmo(): void;
  7163. render(): JSX.Element;
  7164. }
  7165. }
  7166. declare module INSPECTOR {
  7167. interface ILightTreeItemComponentProps {
  7168. light: BABYLON.Light;
  7169. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  7170. onClick: () => void;
  7171. globalState: GlobalState;
  7172. }
  7173. export class LightTreeItemComponent extends React.Component<ILightTreeItemComponentProps, {
  7174. isEnabled: boolean;
  7175. isGizmoEnabled: boolean;
  7176. }> {
  7177. constructor(props: ILightTreeItemComponentProps);
  7178. switchIsEnabled(): void;
  7179. toggleGizmo(): void;
  7180. render(): JSX.Element;
  7181. }
  7182. }
  7183. declare module INSPECTOR {
  7184. interface IMaterialTreeItemComponentProps {
  7185. material: BABYLON.Material;
  7186. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  7187. onClick: () => void;
  7188. }
  7189. export class MaterialTreeItemComponent extends React.Component<IMaterialTreeItemComponentProps> {
  7190. constructor(props: IMaterialTreeItemComponentProps);
  7191. render(): JSX.Element;
  7192. }
  7193. }
  7194. declare module INSPECTOR {
  7195. interface ITextureTreeItemComponentProps {
  7196. texture: BABYLON.Texture;
  7197. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  7198. onClick: () => void;
  7199. }
  7200. export class TextureTreeItemComponent extends React.Component<ITextureTreeItemComponentProps> {
  7201. constructor(props: ITextureTreeItemComponentProps);
  7202. render(): JSX.Element;
  7203. }
  7204. }
  7205. declare module INSPECTOR {
  7206. interface ITransformNodeItemComponentProps {
  7207. transformNode: BABYLON.TransformNode;
  7208. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  7209. onClick: () => void;
  7210. }
  7211. export class TransformNodeItemComponent extends React.Component<ITransformNodeItemComponentProps> {
  7212. constructor(props: ITransformNodeItemComponentProps);
  7213. render(): JSX.Element;
  7214. }
  7215. }
  7216. declare module INSPECTOR {
  7217. interface IControlTreeItemComponentProps {
  7218. control: BABYLON.GUI.Control;
  7219. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  7220. onClick: () => void;
  7221. }
  7222. export class ControlTreeItemComponent extends React.Component<IControlTreeItemComponentProps, {
  7223. isActive: boolean;
  7224. isVisible: boolean;
  7225. }> {
  7226. constructor(props: IControlTreeItemComponentProps);
  7227. highlight(): void;
  7228. switchVisibility(): void;
  7229. render(): JSX.Element;
  7230. }
  7231. }
  7232. declare module INSPECTOR {
  7233. interface IAdvancedDynamicTextureTreeItemComponentProps {
  7234. texture: BABYLON.GUI.AdvancedDynamicTexture;
  7235. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  7236. onSelectionChangedObservable?: BABYLON.Observable<any>;
  7237. onClick: () => void;
  7238. }
  7239. export class AdvancedDynamicTextureTreeItemComponent extends React.Component<IAdvancedDynamicTextureTreeItemComponentProps, {
  7240. isInPickingMode: boolean;
  7241. }> {
  7242. private _onControlPickedObserver;
  7243. constructor(props: IAdvancedDynamicTextureTreeItemComponentProps);
  7244. componentWillUnmount(): void;
  7245. onPickingMode(): void;
  7246. render(): JSX.Element;
  7247. }
  7248. }
  7249. declare module INSPECTOR {
  7250. interface IAnimationGroupItemComponentProps {
  7251. animationGroup: BABYLON.AnimationGroup;
  7252. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  7253. onClick: () => void;
  7254. }
  7255. export class AnimationGroupItemComponent extends React.Component<IAnimationGroupItemComponentProps> {
  7256. constructor(props: IAnimationGroupItemComponentProps);
  7257. render(): JSX.Element;
  7258. }
  7259. }
  7260. declare module INSPECTOR {
  7261. interface IPostProcessItemComponentProps {
  7262. postProcess: BABYLON.PostProcess;
  7263. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  7264. onClick: () => void;
  7265. }
  7266. export class PostProcessItemComponent extends React.Component<IPostProcessItemComponentProps> {
  7267. constructor(props: IPostProcessItemComponentProps);
  7268. render(): JSX.Element;
  7269. }
  7270. }
  7271. declare module INSPECTOR {
  7272. interface IRenderPipelineItemComponenttProps {
  7273. renderPipeline: BABYLON.PostProcessRenderPipeline;
  7274. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  7275. onClick: () => void;
  7276. }
  7277. export class RenderingPipelineItemComponent extends React.Component<IRenderPipelineItemComponenttProps> {
  7278. constructor(props: IRenderPipelineItemComponenttProps);
  7279. render(): JSX.Element;
  7280. }
  7281. }
  7282. declare module INSPECTOR {
  7283. interface ISkeletonTreeItemComponentProps {
  7284. skeleton: BABYLON.Skeleton;
  7285. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  7286. onClick: () => void;
  7287. }
  7288. export class SkeletonTreeItemComponent extends React.Component<ISkeletonTreeItemComponentProps> {
  7289. constructor(props: ISkeletonTreeItemComponentProps);
  7290. render(): JSX.Element;
  7291. }
  7292. }
  7293. declare module INSPECTOR {
  7294. interface IBoneTreeItemComponenttProps {
  7295. bone: BABYLON.Bone;
  7296. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  7297. onClick: () => void;
  7298. }
  7299. export class BoneTreeItemComponent extends React.Component<IBoneTreeItemComponenttProps> {
  7300. constructor(props: IBoneTreeItemComponenttProps);
  7301. render(): JSX.Element;
  7302. }
  7303. }
  7304. declare module INSPECTOR {
  7305. interface IParticleSystemTreeItemComponentProps {
  7306. system: BABYLON.IParticleSystem;
  7307. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  7308. onClick: () => void;
  7309. }
  7310. export class ParticleSystemTreeItemComponent extends React.Component<IParticleSystemTreeItemComponentProps> {
  7311. constructor(props: IParticleSystemTreeItemComponentProps);
  7312. render(): JSX.Element;
  7313. }
  7314. }
  7315. declare module INSPECTOR {
  7316. interface ISpriteManagerTreeItemComponentProps {
  7317. spriteManager: BABYLON.SpriteManager;
  7318. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  7319. onClick: () => void;
  7320. }
  7321. export class SpriteManagerTreeItemComponent extends React.Component<ISpriteManagerTreeItemComponentProps> {
  7322. constructor(props: ISpriteManagerTreeItemComponentProps);
  7323. render(): JSX.Element;
  7324. }
  7325. }
  7326. declare module INSPECTOR {
  7327. interface ISpriteTreeItemComponentProps {
  7328. sprite: BABYLON.Sprite;
  7329. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  7330. onClick: () => void;
  7331. }
  7332. export class SpriteTreeItemComponent extends React.Component<ISpriteTreeItemComponentProps> {
  7333. constructor(props: ISpriteTreeItemComponentProps);
  7334. render(): JSX.Element;
  7335. }
  7336. }
  7337. declare module INSPECTOR {
  7338. interface ITargetedAnimationItemComponentProps {
  7339. targetedAnimation: BABYLON.TargetedAnimation;
  7340. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  7341. onClick: () => void;
  7342. }
  7343. export class TargetedAnimationItemComponent extends React.Component<ITargetedAnimationItemComponentProps> {
  7344. constructor(props: ITargetedAnimationItemComponentProps);
  7345. render(): JSX.Element;
  7346. }
  7347. }
  7348. declare module INSPECTOR {
  7349. interface ITreeItemSpecializedComponentProps {
  7350. label: string;
  7351. entity?: any;
  7352. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  7353. globalState: GlobalState;
  7354. onClick?: () => void;
  7355. }
  7356. export class TreeItemSpecializedComponent extends React.Component<ITreeItemSpecializedComponentProps> {
  7357. constructor(props: ITreeItemSpecializedComponentProps);
  7358. onClick(): void;
  7359. render(): JSX.Element;
  7360. }
  7361. }
  7362. declare module INSPECTOR {
  7363. export class Tools {
  7364. static LookForItem(item: any, selectedEntity: any): boolean;
  7365. private static _RecursiveRemoveHiddenMeshesAndHoistChildren;
  7366. static SortAndFilter(parent: any, items: any[]): any[];
  7367. }
  7368. }
  7369. declare module INSPECTOR {
  7370. export interface ITreeItemSelectableComponentProps {
  7371. entity: any;
  7372. selectedEntity?: any;
  7373. mustExpand?: boolean;
  7374. offset: number;
  7375. globalState: GlobalState;
  7376. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  7377. filter: BABYLON.Nullable<string>;
  7378. }
  7379. export class TreeItemSelectableComponent extends React.Component<ITreeItemSelectableComponentProps, {
  7380. isExpanded: boolean;
  7381. isSelected: boolean;
  7382. }> {
  7383. private _wasSelected;
  7384. constructor(props: ITreeItemSelectableComponentProps);
  7385. switchExpandedState(): void;
  7386. shouldComponentUpdate(nextProps: ITreeItemSelectableComponentProps, nextState: {
  7387. isExpanded: boolean;
  7388. isSelected: boolean;
  7389. }): boolean;
  7390. scrollIntoView(): void;
  7391. componentDidMount(): void;
  7392. componentDidUpdate(): void;
  7393. onSelect(): void;
  7394. renderChildren(): JSX.Element[] | null;
  7395. render(): JSX.Element | null;
  7396. }
  7397. }
  7398. declare module INSPECTOR {
  7399. export interface ITreeItemComponentProps {
  7400. items?: BABYLON.Nullable<any[]>;
  7401. label: string;
  7402. offset: number;
  7403. filter: BABYLON.Nullable<string>;
  7404. forceSubitems?: boolean;
  7405. globalState: GlobalState;
  7406. entity?: any;
  7407. selectedEntity: any;
  7408. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  7409. contextMenuItems?: {
  7410. label: string;
  7411. action: () => void;
  7412. }[];
  7413. }
  7414. export class TreeItemComponent extends React.Component<ITreeItemComponentProps, {
  7415. isExpanded: boolean;
  7416. mustExpand: boolean;
  7417. }> {
  7418. static _ContextMenuUniqueIdGenerator: number;
  7419. constructor(props: ITreeItemComponentProps);
  7420. switchExpandedState(): void;
  7421. shouldComponentUpdate(nextProps: ITreeItemComponentProps, nextState: {
  7422. isExpanded: boolean;
  7423. }): boolean;
  7424. expandAll(expand: boolean): void;
  7425. renderContextMenu(): JSX.Element | null;
  7426. render(): JSX.Element;
  7427. }
  7428. }
  7429. declare module INSPECTOR {
  7430. interface ISceneTreeItemComponentProps {
  7431. scene: BABYLON.Scene;
  7432. onRefresh: () => void;
  7433. selectedEntity?: any;
  7434. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  7435. onSelectionChangedObservable?: BABYLON.Observable<any>;
  7436. globalState: GlobalState;
  7437. }
  7438. export class SceneTreeItemComponent extends React.Component<ISceneTreeItemComponentProps, {
  7439. isSelected: boolean;
  7440. isInPickingMode: boolean;
  7441. gizmoMode: number;
  7442. }> {
  7443. private _gizmoLayerOnPointerObserver;
  7444. private _onPointerObserver;
  7445. private _onSelectionChangeObserver;
  7446. private _selectedEntity;
  7447. private _posDragEnd;
  7448. private _scaleDragEnd;
  7449. private _rotateDragEnd;
  7450. constructor(props: ISceneTreeItemComponentProps);
  7451. shouldComponentUpdate(nextProps: ISceneTreeItemComponentProps, nextState: {
  7452. isSelected: boolean;
  7453. isInPickingMode: boolean;
  7454. }): boolean;
  7455. componentDidMount(): void;
  7456. componentWillUnmount(): void;
  7457. onSelect(): void;
  7458. onPickingMode(): void;
  7459. setGizmoMode(mode: number): void;
  7460. render(): JSX.Element;
  7461. }
  7462. }
  7463. declare module INSPECTOR {
  7464. interface ISceneExplorerFilterComponentProps {
  7465. onFilter: (filter: string) => void;
  7466. }
  7467. export class SceneExplorerFilterComponent extends React.Component<ISceneExplorerFilterComponentProps> {
  7468. constructor(props: ISceneExplorerFilterComponentProps);
  7469. render(): JSX.Element;
  7470. }
  7471. interface ISceneExplorerComponentProps {
  7472. scene: BABYLON.Scene;
  7473. noCommands?: boolean;
  7474. noHeader?: boolean;
  7475. noExpand?: boolean;
  7476. noClose?: boolean;
  7477. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  7478. globalState: GlobalState;
  7479. popupMode?: boolean;
  7480. onPopup?: () => void;
  7481. onClose?: () => void;
  7482. }
  7483. export class SceneExplorerComponent extends React.Component<ISceneExplorerComponentProps, {
  7484. filter: BABYLON.Nullable<string>;
  7485. selectedEntity: any;
  7486. scene: BABYLON.Scene;
  7487. }> {
  7488. private _onSelectionChangeObserver;
  7489. private _onSelectionRenamedObserver;
  7490. private _onNewSceneAddedObserver;
  7491. private _onNewSceneObserver;
  7492. private sceneExplorerRef;
  7493. private _once;
  7494. private _hooked;
  7495. private sceneMutationFunc;
  7496. constructor(props: ISceneExplorerComponentProps);
  7497. processMutation(): void;
  7498. componentDidMount(): void;
  7499. componentWillUnmount(): void;
  7500. filterContent(filter: string): void;
  7501. findSiblings(parent: any, items: any[], target: any, goNext: boolean, data: {
  7502. previousOne?: any;
  7503. found?: boolean;
  7504. }): boolean;
  7505. processKeys(keyEvent: React.KeyboardEvent<HTMLDivElement>): void;
  7506. renderContent(): JSX.Element | null;
  7507. onClose(): void;
  7508. onPopup(): void;
  7509. render(): JSX.Element;
  7510. }
  7511. }
  7512. declare module INSPECTOR {
  7513. interface IEmbedHostComponentProps {
  7514. scene: BABYLON.Scene;
  7515. globalState: GlobalState;
  7516. popupMode: boolean;
  7517. noClose?: boolean;
  7518. noExpand?: boolean;
  7519. onClose: () => void;
  7520. onPopup: () => void;
  7521. extensibilityGroups?: BABYLON.IExplorerExtensibilityGroup[];
  7522. initialTab?: BABYLON.DebugLayerTab;
  7523. }
  7524. export class EmbedHostComponent extends React.Component<IEmbedHostComponentProps> {
  7525. private _once;
  7526. private splitRef;
  7527. private topPartRef;
  7528. private bottomPartRef;
  7529. constructor(props: IEmbedHostComponentProps);
  7530. componentDidMount(): void;
  7531. renderContent(): JSX.Element;
  7532. render(): JSX.Element;
  7533. }
  7534. }
  7535. declare module INSPECTOR {
  7536. export class Inspector {
  7537. private static _SceneExplorerHost;
  7538. private static _ActionTabsHost;
  7539. private static _EmbedHost;
  7540. private static _NewCanvasContainer;
  7541. private static _SceneExplorerWindow;
  7542. private static _ActionTabsWindow;
  7543. private static _EmbedHostWindow;
  7544. private static _Scene;
  7545. private static _OpenedPane;
  7546. private static _OnBeforeRenderObserver;
  7547. static OnSelectionChangeObservable: BABYLON.Observable<any>;
  7548. static OnPropertyChangedObservable: BABYLON.Observable<PropertyChangedEvent>;
  7549. private static _GlobalState;
  7550. static MarkLineContainerTitleForHighlighting(title: string): void;
  7551. static MarkMultipleLineContainerTitlesForHighlighting(titles: string[]): void;
  7552. private static _CopyStyles;
  7553. private static _CreateSceneExplorer;
  7554. private static _CreateActionTabs;
  7555. private static _CreateEmbedHost;
  7556. static _CreatePopup(title: string, windowVariableName: string, width?: number, height?: number, lateBinding?: boolean): HTMLDivElement | null;
  7557. static get IsVisible(): boolean;
  7558. static EarlyAttachToLoader(): void;
  7559. static Show(scene: BABYLON.Scene, userOptions: Partial<BABYLON.IInspectorOptions>): void;
  7560. static _SetNewScene(scene: BABYLON.Scene): void;
  7561. static _CreateCanvasContainer(parentControl: HTMLElement): void;
  7562. private static _DestroyCanvasContainer;
  7563. private static _Cleanup;
  7564. private static _RemoveElementFromDOM;
  7565. static Hide(): void;
  7566. }
  7567. }
  7568. declare module INSPECTOR {
  7569. interface IPlayheadProps {
  7570. frame: number;
  7571. offset: number;
  7572. onCurrentFrameChange: (frame: number) => void;
  7573. }
  7574. export class Playhead extends React.Component<IPlayheadProps> {
  7575. private _direction;
  7576. private _active;
  7577. constructor(props: IPlayheadProps);
  7578. dragStart(e: React.TouchEvent<HTMLDivElement>): void;
  7579. dragStart(e: React.MouseEvent<HTMLDivElement, MouseEvent>): void;
  7580. drag(e: React.TouchEvent<HTMLDivElement>): void;
  7581. drag(e: React.MouseEvent<HTMLDivElement, MouseEvent>): void;
  7582. dragEnd(e: React.TouchEvent<HTMLDivElement>): void;
  7583. dragEnd(e: React.MouseEvent<HTMLDivElement, MouseEvent>): void;
  7584. calculateMove(): string;
  7585. render(): JSX.Element;
  7586. }
  7587. }