babylon.inspector.module.d.ts 283 KB

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