Dale Glass
c0e62c5cc2
Initial exception handling
...
Make exception handling use the new ScriptException class.
Add exception signal
Throw exceptions in script evaluation
Remove references to ScriptManager from ScriptEngine
2023-05-19 00:17:39 +02:00
2bcd1106d1
Fixed ScriptObjectV8Proxy access after delete
2023-05-19 00:17:39 +02:00
27554da415
Addeed V8 getters/setters to ScriptVariantV8Proxy, fixed animation scripting
2023-05-19 00:17:39 +02:00
4e91765a3f
Reverted change that broke AnimationObjec scripting interface
2023-05-19 00:17:38 +02:00
cae1e1195d
V8 QObject pointer handling changes
2023-05-19 00:17:38 +02:00
5e5003ff03
Fixed crash on standing up from sit script
2023-05-19 00:17:38 +02:00
8e718262bd
Fixed object containing UniquePersistent
2023-05-19 00:17:38 +02:00
acc658ee80
Fixed deadlock in Create App
2023-05-19 00:17:38 +02:00
ae7d229d0e
Fix copyright headers
2023-05-19 00:17:38 +02:00
Dale Glass
02a0e33e95
Add NETWORKLESS_TEST_SCRIPT type to NetworkManager.
...
This is a slightly hacky way to make ScriptManager work without any
networking, and minimize the number of dependencies needed to run
a test.
2023-05-19 00:17:38 +02:00
12f239b18c
Fix V8 memory leak and persistend handle problems
2023-05-19 00:17:38 +02:00
Dale Glass
84fd17cb66
Review fixes
2023-05-19 00:17:38 +02:00
Dale Glass
0f46fb9b4d
Add a ScriptManagerScriptingInterface.cpp, will be useful later.
2023-05-19 00:17:38 +02:00
Dale Glass
a13723990e
More Doxygen for ScriptEngine
2023-05-19 00:17:38 +02:00
Dale Glass
36cba56325
A bit more documentation
2023-05-19 00:17:38 +02:00
Dale Glass
4d70155e59
Create ScriptManagerScriptingInterface to move off the scripting API into its own class
...
Add a lot of documentation
2023-05-19 00:17:38 +02:00
Dale Glass
e35aa8046d
Add more Doxygen docs
...
Doesn't work right in ScriptManager, looks like a conflict with JSDoc
2023-05-19 00:17:38 +02:00
887ebd5365
Removed deadlock in signal proxy disconnect again
2023-05-19 00:17:38 +02:00
d25e5491eb
Fixed V8 crash with Create App
2023-05-19 00:17:38 +02:00
b554fc70ea
Added script timers performance debugging
2023-05-19 00:17:38 +02:00
faf9b75487
Added signal time and call count debugging
2023-05-19 00:17:38 +02:00
1ad1aee11f
Minor scripting-related fixes
2023-05-19 00:17:38 +02:00
5cf32a968c
V8 fixes
2023-05-19 00:17:37 +02:00
f65e72c8f2
Listing objects and their properties on API debugger now works
2023-05-19 00:17:37 +02:00
37cc62d082
Fix problem with sit script
2023-05-19 00:17:37 +02:00
5809576577
Fixed Create App
2023-05-19 00:17:37 +02:00
c3417b807c
Increased thread safety in V8
2023-05-19 00:17:37 +02:00
57a2dccc6a
V8 bugfixes
2023-05-19 00:17:37 +02:00
89f29ce5ca
Safer demarshal functions with no void pointers
2023-05-19 00:17:37 +02:00
acbec55b70
Further work on V8
2023-05-19 00:17:37 +02:00
b786ffccd5
Added more debug info to crash with signals
2023-05-19 00:17:37 +02:00
3e692a60b4
V8 fixes
2023-05-19 00:17:37 +02:00
3a5b927979
Functions connected to signals now use context that was active during connecting
2023-05-19 00:17:37 +02:00
044cd506a6
Script engine thread safety improvements
2023-05-19 00:17:37 +02:00
6bd8a8d503
V8 threading safetyu improvements
2023-05-19 00:17:37 +02:00
5099e68b56
V8 fixes, including calls and signals
2023-05-19 00:17:37 +02:00
a7b1fdcae6
Fixed convertJSObjectToVariant
2023-05-19 00:17:37 +02:00
539c2812c3
Fixed Window.location
2023-05-19 00:17:37 +02:00
66a87def43
Fixed script array to QVariant conversion
2023-05-19 00:17:37 +02:00
cb4dc4c7e8
Fixed location JS API
2023-05-19 00:17:37 +02:00
4f4c8931a9
V8 fixes, incl. enum API objects fix
2023-05-19 00:17:37 +02:00
de91769e2f
Fixed some V8 crashes
2023-05-19 00:17:37 +02:00
3f1a7605a5
Fixed build warnings
2023-05-19 00:17:37 +02:00
1550049b0c
Fixed script value iterator and connect functionality
2023-05-19 00:17:37 +02:00
e786fd4864
Fixed Script.require
2023-05-19 00:17:37 +02:00
386242d9c7
Fixed adding properties to methods
2023-05-19 00:17:37 +02:00
076349a488
Re-enabled script module cache creation
2023-05-19 00:17:37 +02:00
Dale Glass
2960cc0284
Add missing override
2023-05-19 00:17:36 +02:00
Dale Glass
ac7ebe2888
Add hasProperty for checking whether a property exists
2023-05-19 00:17:36 +02:00
5f2c13da52
Added debug function to list object members
2023-05-19 00:17:36 +02:00
ed968e1ebd
Further work on evaluateInClosure
2023-05-19 00:17:36 +02:00
70d4a43009
Fixed evaluateInClosure and other V8 stuff
2023-05-19 00:17:36 +02:00
cc20ced1ca
Some V8 debuging messages
2023-05-19 00:17:36 +02:00
da458ccef9
Fixed getting current script name
2023-05-19 00:17:36 +02:00
6301d23c48
Fixed object deletion event, temporarily disabled watchdog log commands to make reading logs easier
2023-05-19 00:17:36 +02:00
0d454eb6e8
V8 fixes, including making debug console work
2023-05-19 00:17:36 +02:00
97137c7b13
More fixes for V8
2023-05-19 00:17:36 +02:00
2f9f78fb87
Fixed setting properties of ScriptObjectV8Proxy
2023-05-19 00:17:36 +02:00
0b8958204f
Fixed vector math, added simple test for it
2023-05-19 00:17:36 +02:00
e680b5dc72
Fixed method calls
2023-05-19 00:17:36 +02:00
Dale Glass
640cee0360
Reduce V8 stack size to 256K. Otherwise the interface can be crashed with a stack overflow in a script.
2023-05-19 00:17:36 +02:00
be3d1713a8
Fixed C++ function calls for V8
2023-05-19 00:17:36 +02:00
abfcbb7588
Added V8 Locker for moving script engine to a new thread
2023-05-19 00:17:36 +02:00
827ddf5958
Added simple compile test function
2023-05-19 00:17:36 +02:00
Dale Glass
1a4eb3ac62
Keep return script value
2023-05-19 00:17:36 +02:00
Dale Glass
e5217c44f0
Build fixes
2023-05-19 00:17:36 +02:00
58a221541f
Script engine new function fixes
2023-05-19 00:17:36 +02:00
a4c6930a50
Added context scopes
2023-05-19 00:17:36 +02:00
2b06c09318
Add V8 handle scopes
2023-05-19 00:17:36 +02:00
b4d21c38c3
Updated script isolation files
2023-05-19 00:17:36 +02:00
7e9ad39b32
Initial V8 support, not working yet
2023-05-19 00:17:36 +02:00
df507a741b
Initial cmake files for V8
2023-05-19 00:17:36 +02:00
74a3c514d2
Replaced withReadLock with resultWithReadLock in ScriptSignalQtProxy::findConnection
2023-05-19 00:17:35 +02:00
586bd7ffca
Fixes for code review
2023-05-19 00:17:35 +02:00
e9bfdd49e8
Fix build error on Windows
2023-05-19 00:17:35 +02:00
979e9ff113
Added scoring system for determining overloaded function to call
2023-05-19 00:17:35 +02:00
8304a0c500
Fixed clearTimeout behavior when called with expired timer
2023-05-19 00:17:35 +02:00
e9984c72f0
Added QTimer* script data type and some nullptr checks
2023-05-19 00:17:35 +02:00
7a84f7ee4d
Fix for crash on deleting caches
2023-05-19 00:17:35 +02:00
b00c1ae91b
Fixes to scripting-related warnings (lambdas)
2023-05-19 00:17:35 +02:00
6f32173025
Fixes to most scripting-related warnings
2023-05-19 00:17:35 +02:00
a14c6444f1
Forgot to add ResourceScriptingInterface.cpp before
2023-05-19 00:17:35 +02:00
5a9b0ccfb0
Replaced regular mutex with a read write one to improve performance
2023-05-19 00:17:35 +02:00
ad57a5e6fd
Fixed enums in scripting engine
2023-05-19 00:17:35 +02:00
0a3ec92031
Type registeration fixes for scripting engine
2023-05-19 00:17:35 +02:00
50a6a63cc3
Fixes to problems with meta-types
2023-05-19 00:17:35 +02:00
33c8607e15
Proper handling of enum classes for scripting
2023-05-19 00:17:35 +02:00
95434a26a8
Attempt to debug broken enums in scripting
2023-05-19 00:17:35 +02:00
ece2b8096b
Fixed list item removal during access bug
2023-05-19 00:17:35 +02:00
4d61d4fe67
Disallowed incorrect Vec3 to float cast in script engine
2023-05-19 00:17:35 +02:00
c78ec80539
Fixed build error after rebase
2023-05-19 00:17:35 +02:00
Heather Anderson
457728cee1
dropped KALILA global script attributes
2023-05-19 00:17:35 +02:00
Heather Anderson
67260b92bd
fix typo preventing methods from being discovered on scriptable objects when we're ignoring superclasses
2023-05-19 00:17:35 +02:00
Heather Anderson
a822110a62
identify the largest number of parameters any of our method overrides accept and discard script parameters beyond that count
2023-05-19 00:17:35 +02:00
Heather Anderson
0bce0668f7
minor tweaks in response to code review (very belated) and reported issues
...
- explicitly registering some enums with Qt at runtime (needed if they're function return values)
- replaced references to engine() with local variables if they already existed
2023-05-19 00:17:34 +02:00
Heather Anderson
55b5a2cd03
Continued tightening and testing of the scripting engine "glue" logic
...
- QObject wrappers will now be reused when asked to wrap the same QObject multiple times
- improved error reporting when we can't form a native call from script
- dropped support for having the existing QtScript logic handle Qt object transformations
- assuming that our code will handle all calls into native objects
- changing timer functions to use CTimer* publicly rather than casted QObject*
2023-05-19 00:17:34 +02:00
Heather Anderson
bc6eaf25dc
first pass creating Qt <-> QtScript interface
2023-05-19 00:17:34 +02:00
Heather Anderson
bd04554150
changes from code review suggestions
2023-05-19 00:17:34 +02:00
Heather Anderson
70fbe76341
convert script engine variables from QSharedPointer to std::shared_ptr
2023-05-19 00:17:34 +02:00
Heather Anderson
82535cab90
more shifting around of ScriptEngineQtScript declaration
2023-05-19 00:17:34 +02:00
Heather Anderson
c9bf36e57b
more simplification of ScriptEngineQtScript declarations
2023-05-19 00:17:34 +02:00
Heather Anderson
bd4a035ffb
significant cleanup of ScriptEngineQtScript (which isn't exposed to the scripting engine and shouldn't be @jsdoc'ed)
2023-05-19 00:17:34 +02:00
Heather Anderson
ef16b83362
patch review and removal of unnecessary differences
2023-05-19 00:17:34 +02:00
Heather Anderson
86348b315e
finished coding and smoketested ScriptContextQtAgent (required to get Scriptable functional for its users)
2023-05-19 00:17:34 +02:00
Heather Anderson
fb93e39f66
more code review using github compiler runs (hopefully the macos build will link with this)
2023-05-19 00:17:34 +02:00
Heather Anderson
227e899189
more code review using github compiler runs
2023-05-19 00:17:34 +02:00
Heather Anderson
16c2d76efa
more debugging using github compiler runs
2023-05-19 00:17:34 +02:00
Heather Anderson
23edfa3747
more changes in response to build log on other compilers
2023-05-19 00:17:34 +02:00
Heather Anderson
23776abce3
changes in response to build log on other compilers
2023-05-19 00:17:34 +02:00
Heather Anderson
8581022a53
rework ScriptValue to act like a stack variable rather than a pointer
2023-05-19 00:17:34 +02:00
Heather Anderson
f209c5124d
early smoketesting
2023-05-19 00:17:34 +02:00
Heather Anderson
5f2b2c90a2
added custom type support
2023-05-19 00:17:34 +02:00
Heather Anderson
45ef458af4
dropping dependencies from networking to script-engine by moving EntityScriptClient and LocationScriptingInterface
2023-05-19 00:17:33 +02:00
Heather Anderson
7964f06990
moving EntityItemID from script-engine to shared
2023-05-19 00:17:33 +02:00
Heather Anderson
665ea521e8
shifting classes around and adding static initializers to resolve dependencies on scripting-engine (and drop dependencies from scripting-engine)
2023-05-19 00:17:33 +02:00
Heather Anderson
1f4f458942
adding basic script-engine documentation
2023-05-19 00:17:33 +02:00
Heather Anderson
2dd9d784a9
working to clean up the QtScript implementation and move towards completion of the proxy interface
2023-05-19 00:17:33 +02:00
Heather Anderson
1e018dbc64
isolate calls to the QtScript libraries to an interface we control
2023-05-19 00:17:33 +02:00
Heather Anderson
713b29ee41
ensure all #include's to QtScript are labeled as such (easier to find)
2023-05-19 00:17:33 +02:00
d2a768c2f0
Renamed environment variables
2022-09-08 22:18:50 +02:00
9b6d202a21
Rebranding and fixing URLs
2022-09-08 22:10:13 +02:00
Dale Glass
8a12bf1749
Replace usage of deprecated QWheelEvent members
2022-06-10 00:46:19 +02:00
Dale Glass
efdc1e9058
Fix deprecated int to flags conversion
2022-06-10 00:46:19 +02:00
Dale Glass
45a3c89e17
Replace deprecated qVariantFromValue
2022-06-10 00:46:19 +02:00
Dale Glass
50e1399cb5
Fix new[]/delete mismatch warning
2022-06-10 00:46:19 +02:00
Dale Glass
a7f6fed937
Replace deprecated .toSet()
2022-06-10 00:46:19 +02:00
Dale Glass
87ba20ecb4
Only whitespace changes
2022-06-10 00:46:19 +02:00
c6f1e6410e
Updated some URLs, rebranded documentation and changed default metaverse server address
2022-02-09 23:57:24 +01:00
Kalila
03b5b83b67
Merge pull request #1339 from odysseus654/pr/make_shared
...
Housekeeping: use of std::make_shared / QSharedPointer::create.
2021-12-09 17:14:04 -05:00
Dale Glass
d77c8bbe41
Fix warnings related to deprecated usage of multiple keys in QHash and QMap
...
This replaces those uses with QMultiHash and QMultiMap
2021-11-26 17:53:23 +01:00
Heather Anderson
bcce9a2091
convert explicit shared pointer creation (using "new") to make_shared where possible/appropriate
2021-09-11 15:15:04 -07:00
Heather Anderson
ab4d70760e
review and cleanup of "#include <QtCore/QSharedPointer>"
2021-09-10 21:40:54 -07:00
Dale Glass
24b2cdfcd2
Fix QString::SplitBehavior deprecation, replace with Qt::
2021-08-06 20:16:10 +02:00
Kalila
0193e0f4d6
Merge pull request #1244 from digisomni/fix/lookup-string-spaces
...
Add ability for 'handleLookupString' to have spaces.
2021-07-12 17:07:29 -04:00
David Rowe
89c527f0d8
Update Doxygen group tags to use /// format
2021-07-01 15:59:58 +12:00
Kalila
40f81e4866
Merge pull request #1223 from odysseus654/pr/scripting-docs
...
Ensuring minimal documentation for classes declared in script-engine
2021-06-29 19:09:26 -04:00
Kalila
b86e4b98a9
Merge pull request #1249 from digisomni/fix/docs-links-dev
...
Update user docs links "docs.vircadia.dev" -> "docs.vircadia.com".
2021-06-27 05:55:13 -04:00
David Rowe
e48e02d8c6
Fix JSDoc typo
2021-06-22 20:59:06 +12:00
Kalila L
90aaa85089
Update user docs links "docs.vircadia.dev" -> "docs.vircadia.com".
2021-06-21 12:01:37 -04:00
Kalila L
51e6468abd
Rename 'URL_SCHEME_HIFI' -> 'URL_SCHEME_VIRCADIA'.
2021-06-11 17:04:16 -04:00
Kalila
d8a0d13812
Merge pull request #1206 from odysseus654/pr/drop-script-debugging
...
drop remaining references to QScriptEngineDebugger
2021-06-03 18:01:40 -04:00
Heather Anderson
259cd20b87
Ensuring minimal documentation for classes declared in script-engine
2021-05-29 22:50:39 -07:00
David Rowe
4d11d1d515
Convert all "/**jsdoc" occurrences to "/*@jsdoc"
2021-05-12 10:54:45 +12:00
Heather Anderson
04f8ccd2b0
drop remaining references to QScriptEngineDebugger
2021-05-08 20:31:03 -07:00
Julian Groß
ecb7c47f1a
Rename fbx folder to model-serializers
2021-04-15 19:26:10 +02:00
Dale Glass
a51c5057ca
Add virtual destructor to TreeNodeBase
...
Fixes #1131 , possibly solves a crash on exit.
2021-03-30 17:14:45 +02:00
Kalila
58fde3c159
Merge pull request #1090 from digisomni/feature/expand-kick-functionality
...
Add improved functionality for `Users.kick` API.
2021-03-28 21:05:59 -04:00
Kalila L
cfac34bf7e
CR.
2021-03-21 13:20:05 -04:00
Kalila
12d5687c6a
Update libraries/script-engine/src/UsersScriptingInterface.h
...
Co-authored-by: David Rowe <david@ctrlaltstudio.com>
2021-03-21 13:13:24 -04:00
Kalila L
f067feb37a
Add docs for ban functionality.
2021-03-19 04:44:58 -04:00