John Conklin II
7a5fce4315
Merge pull request #12991 from luiscuenca/avatarScript
...
Avatar Scripts
2018-05-02 12:23:13 -07:00
luiscuenca
2de982a5a2
Added script types and better script reload
2018-04-30 12:04:35 -07:00
David Rowe
2cc3ed6287
List which contexts each namespace and object is available in
2018-04-28 20:00:28 +12:00
David Rowe
62930eb576
Interim JSDoc for Script
2018-04-22 15:26:39 +12:00
humbletim
3a735c1fc7
CR feedback and code cleanup
2018-01-23 03:12:26 -05:00
David Rowe
da33c4fcf2
Fix script reload icon not working in Windows developer builds
2017-10-26 11:41:52 +13:00
ZappoMan
a7e21d7e76
add remotelyCallable and remoteCallerID to provide additional security to Entities.callEntityServerMethod()
2017-10-22 14:30:58 -07:00
Seth Alves
8a49edbecb
code review
2017-09-15 10:08:35 -07:00
Seth Alves
d89f2b77da
rework ScriptEngine lifetimes using 'smart' pointers
2017-09-14 10:42:21 -07:00
samcake
c24e254257
Add support for profiling from scripts
2017-06-22 18:10:20 -07:00
NeetBhagat
9646eba873
Complete console.trace and added a testcases for all 13 functions.
2017-06-13 23:52:48 +05:30
NeetBhagat
5c324264a2
Complete the functionality of console.trace().
2017-06-13 14:12:29 +05:30
NeetBhagat
e8fc766c2b
Complete Console Exception.
2017-06-12 20:24:59 +05:30
NeetBhagat
ead0d42cf3
Merge branch 'master' into 21369
...
# Conflicts:
# libraries/gl/src/gl/OffscreenQmlSurface.cpp
# libraries/gl/src/gl/OffscreenQmlSurface.h
2017-06-07 15:47:19 +05:30
NeetBhagat
0f9cd5d0c7
intial commit hifi: #21369 Implement parts of the JS "console" object
2017-06-06 15:20:08 +05:30
Liv
b2bbf21fb0
style fixes
2017-05-23 15:21:21 -07:00
Liv
e9fac38bbb
Add function hasValidScriptSuffix and check if script extensions are JavaScript or JSON files
2017-05-23 13:08:50 -07:00
Brad Hefta-Gaub
ee6bed5c1c
Merge pull request #10189 from Atlante45/fix/memory-leak
...
Set max packet per second on the agent
2017-05-16 21:03:05 -07:00
humbletim
e765d8858c
update script engine to not treat about:* as a local filename; resolve debugPrint FIXME
2017-05-04 16:57:41 -04:00
Atlante45
41cd0d79b2
Set max packet per second on the agent
2017-04-24 10:56:57 -07:00
Stephen Birarda
c63a2c9cda
remove requirement of ScriptEngine in ScriptEngines slots
2017-03-20 13:40:15 -07:00
humbletim
87d62ad1eb
Merge branch 'master' into 21114-part3
2017-03-16 16:39:37 -04:00
humbletim
52a571558c
* changes per CR feedback
...
* revert JSON content-type workaround
* add specific error check / advice for unanchored module ids
* update unit tests
2017-03-16 01:23:23 -04:00
Stephen Birarda
0c657a1d55
add parameter to unload to remove entityID from map
2017-03-15 10:57:12 -07:00
humbletim
40ba8185a0
* Update per 21114-part2 changes.
...
* Add explicit thread safety guards.
* Add Entities.queryPropertyMetdata for unit testing Entity script module support.
* Cleanup / commenting pass.
2017-03-07 16:36:07 -05:00
humbletim
9d860a8e81
merge require/module changes into clean branch
2017-03-07 16:34:24 -05:00
humbletim
654c72fb7e
Add weakRef guard to detect ScriptEngine deletion during ScriptCache::getScriptContents
2017-02-27 22:58:59 -05:00
humbletim
3ac116545e
* Switch trigger for deferred loads from timer to using leading entity completion
...
* Bring back notion of tracking "bad scripts" to fail stampeding entities as a set
* Update stampede JS tests to highlight/troubleshoot preexisting unload issue
2017-02-24 16:05:11 -05:00
humbletim
c89d203f94
Adapt from std::map locks to simple QHash for flagging busy scriptURLs
2017-02-24 12:27:33 -05:00
humbletim
b15956278c
separate out supporting changes into 21114-part2 branch
2017-02-16 07:40:19 -05:00
humbletim
9b0bee92d1
add executeOnScriptThread
2017-02-11 06:21:11 -05:00
humbletim
0f7652e173
* integrate with latest master
...
* consolidate emit entityScriptDetailsUpdated calls
* limit maxRetries to 1 when isEntityServerScript()
2017-02-11 06:00:31 -05:00
humbletim
831bf93500
* refactor ScriptCache per FIXMEs
...
* include error details in BatchLoader results
* update EntityServerScript properties in edtior to reflect more granular statuses
* ScriptEngine plumbing in prep for require/module integration
2017-02-11 04:47:31 -05:00
Ryan Huffman
f75eceda65
Add entity PPS per script configuration
2017-02-08 13:11:18 -08:00
Ryan Huffman
9b1cd52fb4
Add the ability to get the context that a script is running in
2017-01-23 08:58:01 -08:00
Ryan Huffman
cbb55a06a0
Update ScriptEngine to store full running status off entity scripts
2017-01-19 13:27:44 -08:00
Brad Hefta-Gaub
4c1aaa376d
remove cruft
2017-01-03 11:13:03 -08:00
Brad Hefta-Gaub
d440532cff
make sure RPC is timely
2017-01-03 11:10:07 -08:00
Brad Hefta-Gaub
7c7d239e00
first cut at using wait signals to improve RPC timing
2016-12-30 09:13:21 -08:00
Brad Hefta-Gaub
0c22fcb5c4
better handling of timers
2016-12-29 16:41:14 -08:00
Brad Hefta-Gaub
6a7fa63327
classify ScriptEngine errors better, and send them as signal to JS
2016-12-20 09:00:01 -08:00
Seth Alves
576eed9941
use a mutex to avoid a smaller race
2016-11-10 17:12:06 -08:00
Ryan Huffman
dd1a23ea01
Add Script.generateUUID
2016-10-28 13:42:03 -07:00
Anthony J. Thibault
2193c5faad
Integrated controller display from tutorial scripts + assets
2016-10-20 18:24:58 -07:00
Thijs Wenker
7e3073e163
fix spelling bugs
2016-09-29 22:13:27 +02:00
Anthony J. Thibault
d015c5cfb5
Merge branch 'master' into feature/hand-controller-web-entity-integration
2016-08-22 14:13:17 -07:00
Seth Alves
87dbfa7e47
add -Wsuggest-override to compile flags and deal with fallout
2016-08-18 09:51:41 -07:00
Anthony J. Thibault
1be434342b
Work In Progress snapshot
...
* Added new PointerEvent type.
* Mouse events are still sent from Application to EntityTreeRenderer, however, EntityTreeRenderer converts them to PointerEvents
* All outgoing signals from EntityTreeRenderer use PointerEvents instead of MouseEvents
* Associated JavaScript entity methods will receive PointerEvents instead of MouseEvents
* Events from handControllerGrab.js to entities are currently broken.
2016-08-12 17:11:59 -07:00
Brad Hefta-Gaub
2d199fe3d0
rename function for better clarity
2016-07-26 08:08:44 -07:00
Brad Hefta-Gaub
83dc9ea6bb
punish slow scripts and don't send updates while physics is still loading
2016-07-25 21:46:30 -07:00
Seth Alves
49769f7d29
trying again -- frantic clicking on reload no longer appears to wedge things
2016-05-25 13:39:13 -07:00
Seth Alves
b0ce65ec01
trying to mimic previous behavior more closely
2016-05-25 11:42:06 -07:00
Seth Alves
1ef0f8055b
fix grammar in comment
2016-05-20 10:12:59 -07:00
Seth Alves
35065ab05e
remove unused setter
2016-05-20 10:12:38 -07:00
Seth Alves
aa58cad93e
code review
2016-05-20 09:54:54 -07:00
Seth Alves
9ad488ba7b
fix method name to match coding standard
2016-05-19 16:08:44 -07:00
Seth Alves
4e862941cb
fix a race when restarting scripts -- avoid the old not-yet-stopped script from being considered the restart script
2016-05-19 14:51:56 -07:00
Zach Pomerantz
7d4276d15f
Merge branch 'master' of github.com:highfidelity/hifi into fix/script-thread-dtor
2016-05-16 10:51:23 -07:00
Zach Pomerantz
2140dc77b3
Rename wait and unload in best thread
2016-05-13 16:14:22 -07:00
Zach Pomerantz
36565598a7
Hide script stop behind accessor and fix friendship
2016-05-13 15:52:53 -07:00
Zach Pomerantz
59e4b9c356
Merge branch 'master' of github.com:highfidelity/hifi into fix/shutdown
2016-05-13 15:28:12 -07:00
Zach Pomerantz
70d0ebb91c
Consolidate stoppingAllScripts to ScriptEngines::_stopped
2016-05-13 15:24:15 -07:00
Zach Pomerantz
806d06b552
Wait on old entity script engines in threadpool
2016-05-12 17:51:40 -07:00
Zach Pomerantz
7e82494a66
Add cap on entities scripting thread stop time
2016-05-12 17:51:37 -07:00
Zach Pomerantz
2cc788f98d
Rename ScriptEngine::wait to match std threading
2016-05-12 17:51:35 -07:00
Zach Pomerantz
820fdf09e2
Remove unused ScriptEngine::_wantSignals
2016-05-12 12:42:29 -07:00
Brad Davis
40316498a4
Enable script debugging
2016-05-09 17:02:40 -07:00
Zach Pomerantz
173d2a590c
Use sleep_until for ScriptEngine
2016-05-06 19:30:37 -07:00
Zach Pomerantz
1a0a623d5f
Report ScriptableResource memory cost to engine
2016-04-20 20:18:22 -07:00
Zach Pomerantz
7d9790ecb5
Add request for garbage collection
...
Add garbage collection request in prod
2016-04-20 20:14:15 -07:00
Brad Hefta-Gaub
0d20f2468e
CR feedback
2016-04-18 12:13:21 -07:00
Brad Hefta-Gaub
47900df3e7
cleanup
2016-04-18 10:43:08 -07:00
Brad Hefta-Gaub
0520363da8
cleanup
2016-04-18 10:37:15 -07:00
Brad Hefta-Gaub
9db0fe0d11
switch to using QSharedPointer for _entitiesScriptEngine
2016-04-18 09:46:04 -07:00
howard-stearns
7b7ec5a174
Prohibit entity script file includes from outside the original entity
...
script's directory (unless its in our resources).
2016-04-04 16:41:21 -07:00
Stephen Birarda
5ad4645b47
Merge branch 'master' of https://github.com/highfidelity/hifi into atp
2016-03-10 13:28:59 -08:00
Stephen Birarda
181b20f673
move the AssetScriptInterface to script-engine
2016-03-08 14:49:26 -08:00
Anthony J. Thibault
0d62b10a8f
Added Mat4 support to script
...
Also, hooked up MyAvatar.sensorToWorldMatrix access to script.
2016-03-07 16:16:14 -08:00
Howard Stearns
05943ed353
Entity scripts keep of the which entity they are executing for. When the entity goes away, any created timers do, too. Also, loading interface scripts is not allowed from entity scripts.
2016-03-01 16:50:58 -08:00
Brad Davis
d28f80aa07
Moving running scripts functionality to scripting library
2016-01-11 12:44:03 -08:00
Ryan Huffman
5f60aeef22
Update ScriptEngine::_isUserLoaded to be atomic
2015-12-09 14:50:48 -08:00
Ryan Huffman
e7a1550b64
Update ScriptEngine::finished to include
2015-12-09 14:50:09 -08:00
Ryan Huffman
4dbfd3bfd9
Fix concurrency issues for bools in ScriptEngine
...
Several member variables were unsafely being accessed from multiple threads. Making these variables std::atomic makes this safe.
2015-12-08 11:13:27 -08:00
Stephen Birarda
b1a69bb2cf
cleanup spacing in ScriptEngine
2015-11-30 15:52:10 -08:00
Stephen Birarda
4573e5c59e
resolve conflicts on merge with upstream/master
2015-11-30 13:32:38 -08:00
Stephen Birarda
762709748d
Merge pull request #6473 from ZappoMan/waitForScriptThreads
...
change the ScriptEngine::waitTillDoneRunning() to wait for the script thread to complete
2015-11-24 10:39:22 -06:00
samcake
a1668cdc73
Let the AssertClient JS interface use global vars
2015-11-23 22:28:59 -08:00
Brad Hefta-Gaub
ce46c30647
change the ScriptEngine::waitTillDoneRunning() to wait for the script thread to complete
2015-11-23 16:27:06 -08:00
Brad Hefta-Gaub
f80a765a29
add Assets.uploadData() and Assets.downloadData()
2015-11-19 17:28:20 -08:00
Atlante45
b15054c1fb
Merge branch 'master' of https://github.com/highfidelity/hifi into baseball
2015-11-09 13:41:06 -08:00
James B. Pollack
e928c8278b
overload a single function and cleanup, add examples
2015-11-06 11:48:51 -08:00
James B. Pollack
3cee569bae
pass parameters to entities
2015-11-05 16:57:39 -08:00
James Pollack
751d51ee72
entity call params
2015-11-05 14:19:11 -08:00
Stephen Birarda
ed610d69e0
resolve conflicts merging with huffman/baseball
2015-11-02 14:18:39 -08:00
Stephen Birarda
bbf5991f9a
resolve conflicts on merge with huffman/baseball
2015-11-02 14:14:36 -08:00
Ryan Huffman
8eded438db
Remove _controllerScriptingInterface from ScriptEngine.h
2015-11-02 14:09:24 -08:00
Ryan Huffman
7f4a8e9d7d
Merge branch 'master' of github.com:Atlante45/hifi into baseball
2015-11-02 12:25:51 -08:00
Brad Hefta-Gaub
8839458d54
Merge pull request #6242 from highfidelity/controllers
...
New Controller interfaces/api
2015-10-30 12:47:51 -07:00
Howard Stearns
d79d0bc5c5
Merge branch 'master' of https://github.com/highfidelity/hifi into expose-anim-vars
2015-10-29 08:25:41 -07:00
Stephen Birarda
cee029f752
resolve conflicts on merge with upstream/master
2015-10-28 15:19:10 -07:00
Brad Davis
3c1a0930da
Merge remote-tracking branch 'upstream/master' into HEAD
...
Conflicts:
interface/src/avatar/MyAvatar.h
libraries/script-engine/src/ScriptEngine.cpp
libraries/script-engine/src/ScriptEngine.h
2015-10-28 13:38:22 -07:00
Atlante45
ffe73348fb
Move check functions to cpp only
2015-10-27 12:11:27 -07:00
Atlante45
a53a576aa3
checkExceptions after testing entity scripts in the sandbox
2015-10-27 12:11:27 -07:00
Atlante45
13b7fa6b5d
Typo
2015-10-27 12:11:27 -07:00
Atlante45
c8c9118d4d
Improve script engine error logging + some cleanup
2015-10-27 12:11:27 -07:00
Atlante45
3742c169b5
Make handler generators more readable
2015-10-27 12:11:27 -07:00
Atlante45
380139364c
checkExceptions after testing entity scripts in the sandbox
2015-10-26 12:41:49 -07:00
Atlante45
9771361840
Typo
2015-10-26 10:49:41 -07:00
Howard Stearns
4b4907c9ef
Allow multiple scripts to register, and allow them to specify the specific anim vars they are interested in.
2015-10-26 10:04:55 -07:00
Atlante45
421d967e49
Improve script engine error logging + some cleanup
2015-10-23 15:41:31 -07:00
Atlante45
4e33aa84e8
Make handler generators more readable
2015-10-23 15:41:31 -07:00
Howard Stearns
2b7ceffd64
Get rid of globalObject().property("MyAvatar").property("animationStateHandlerResult").
2015-10-22 16:23:09 -07:00
Howard Stearns
1d0464ede5
Name change and thread checks per comments.
2015-10-22 15:15:10 -07:00
Howard Stearns
9fd61907f5
Call back to Javascript asynchronously, so that we don't block and the script's engine doesn't have thread conflicts.
2015-10-21 20:50:07 -07:00
Brad Davis
bea6fdd890
Working on JSON parsing and cleanup
...
Conflicts:
libraries/controllers/src/controllers/Route.cpp
libraries/controllers/src/controllers/ScriptingInterface.cpp
libraries/controllers/src/controllers/StandardController.cpp
libraries/controllers/src/controllers/impl/RouteBuilderProxy.h
2015-10-20 10:20:28 -07:00
Brad Davis
57be59935d
Move controller test to app
2015-10-17 19:13:38 -07:00
Brad Davis
e39219c2b5
Fixes and PR comments
2015-10-14 16:51:52 -07:00
Brad Davis
0063f9ae1d
Merging old and new controller interfaces
2015-10-14 15:16:54 -07:00
Brad Hefta-Gaub
d3ee9b0f39
more work on exposing device inputs as JavaScript named constants
2015-10-09 20:58:23 -07:00
Brad Davis
99d1e17ae8
Support reload-on-change for local scripts
2015-10-07 19:18:59 -07:00
Brad Hefta-Gaub
0d37511071
add support for scripts to call methods on entity scripts
2015-09-18 14:06:38 -07:00
Brad Hefta-Gaub
54a45f3173
Merge branch 'master' of https://github.com/highfidelity/hifi into scriptEngineCleanup
...
Conflicts:
libraries/entities-renderer/src/EntityTreeRenderer.cpp
libraries/script-engine/src/ScriptEngine.cpp
libraries/script-engine/src/ScriptEngine.h
2015-09-14 21:13:08 -07:00
Brad Hefta-Gaub
94b273a029
more work on script engine
2015-09-14 20:59:10 -07:00
Brad Hefta-Gaub
a3c0288eae
more work on proper threading of ScriptEngine
2015-09-14 20:26:04 -07:00
Brad Hefta-Gaub
18fbf896f1
first cut at moving entity scripts into ScriptEngine
2015-09-14 15:13:43 -07:00
Seth Alves
49ee251238
quiet compiler
2015-09-12 09:59:25 -07:00
Brad Hefta-Gaub
56118e4204
migrate Agent to use standard APIs of ScriptEngine
2015-09-11 22:12:42 -07:00
Brad Hefta-Gaub
54c56a92f1
move agent specific code out of ScriptEngine
2015-09-11 21:56:00 -07:00
Brad Hefta-Gaub
f85cb2c888
first cut at cleaning up ScriptEngine class
2015-09-11 19:12:09 -07:00
Brad Hefta-Gaub
5c6d8da97b
Revert "Make sure all entity script callbacks happen on the Entities script engine thread"
2015-09-11 11:55:36 -07:00
Brad Hefta-Gaub
b9d5412aad
prevent sending signals in the entities script engine
2015-09-11 09:48:42 -07:00
Brad Hefta-Gaub
8eacdbf1c4
first cut at making sure entity scripts are called on the entities script engine thread
2015-09-10 13:02:02 -07:00
Brad Hefta-Gaub
ede0a39b5b
prevent Script.include() from including the same file multiple times
2015-09-09 17:54:09 -07:00
Stephen Birarda
5a2d59c530
fix ScriptEngine cleanup for Agent
2015-07-15 15:07:34 -07:00
David Rowe
1898c6bd55
Merge branch 'master' into 20547
...
Conflicts:
libraries/networking/src/PacketHeaders.cpp
libraries/networking/src/PacketHeaders.h
2015-06-26 13:05:51 -07:00
David Rowe
67206332e6
Make individual reload buttons reload scripts
2015-06-17 16:11:30 -07:00
Seth Alves
508ae276c6
enable -Wdouble-promotion
2015-06-16 18:23:10 -07:00
Seth Alves
981ac2ce7d
quiet-compiler -- remove unused prototype for cleanupMenuItems
2015-06-02 13:17:15 -07:00
Howard Stearns
4266a99d78
Put the javascript methods on Script, not Entities, and other minimum-diff cleanup.
2015-05-25 11:28:33 -07:00
Howard Stearns
a0d09c0a6d
Mulitple independent handlers for same entity/event.
2015-05-24 11:48:11 -07:00
Howard Stearns
b884d3cf90
Handle all the signals.
2015-05-24 09:57:12 -07:00
Howard Stearns
1dd2b7275e
Simpler and more uniform version that handles all the standard entity-script events.
2015-05-23 18:11:05 -07:00
Howard Stearns
277f5ef3a4
Working experimental first version.
2015-05-23 13:35:35 -07:00
ZappoMan
e2d8d82096
more script caching cleanup
2015-03-30 16:34:04 -07:00
ZappoMan
36657c9473
first cut at script caching
2015-03-30 14:36:48 -07:00
Ryan Huffman
b370e025c9
Move EntityScriptingInterface instance to DependencyManager
2015-03-02 15:05:31 -08:00
Ryan Huffman
a443157dd7
Update ScriptEngine::entityScriptingInterface to be static pointer
...
Statically allocating the EntityScriptingInterface means we can't make
sure it is initialized AFTER NodeList has been initialized
2015-03-02 10:40:46 -08:00
ZappoMan
310654831c
clean up comments remove dead code
2015-02-24 17:34:19 -08:00
ZappoMan
fd93b99f03
more hacking on script shutdown behavior
2015-02-24 14:02:46 -08:00
ZappoMan
6be8f4c0ec
more work on improving shutdown behavior
2015-02-23 17:32:31 -08:00