5,158 Commits over 1,583 Days - 0.14cph!
PropertySheet uses reflection again
Squashed commit of the following:
commit 5387f98b862fc1fba78a627338acbab1c352ef66
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Fri Jun 17 13:58:02 2022 +0100
Fix presets drawing line backwards
commit 31acb54a639f9436e2dd032de559379efd717775
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Fri Jun 17 13:56:10 2022 +0100
Curve Editor Toolbar
https://files.facepunch.com/garry/f4910b27-7d3c-4f41-bb7c-41dc8ab295a4.png
commit 92756447e9f8a97913c4f2e763598913793fe2da
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Fri Jun 17 13:05:32 2022 +0100
Fix float slider mouse move events slipping down to parent
commit f033ef841e26e318bdc20c860a3690e5e4e92d66
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Fri Jun 17 13:01:55 2022 +0100
Read from array fix
commit 6b76b8eb7727090ba7fb93ba67b6d9a1b195e004
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Fri Jun 17 12:24:02 2022 +0100
Re-organising
commit 02da4440ccef0a682470a25a5f8a12c2fdd85634
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Fri Jun 17 12:17:00 2022 +0100
Cleaning up
commit 5cc6d14a74ef3c8b5981c0c97e5a5849dde1b85f
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Fri Jun 17 11:44:25 2022 +0100
Tweak keyframe serialization
commit a6dc4c84627567cf1125b287cc5fbd0e1b7ce825
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Fri Jun 17 11:38:54 2022 +0100
Refactor so curve's keyframes are always 0-1
commit 694205a30b71e72c08be25f765232eab705fa337
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Fri Jun 17 10:24:53 2022 +0100
Added Curve Presets
https://files.facepunch.com/garry/4e27f1fe-bccb-4775-ac18-b231462bd5df.png
commit 46ae4a981f09c03dcdf47a5a0edbaaa2df8f778a
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Fri Jun 17 10:24:38 2022 +0100
ListView additions
commit 42d57b0e46909baa610ecc41ac36cd1f20f5b56c
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Fri Jun 17 09:05:51 2022 +0100
Add Curve.DrawLine
commit 951b55b1cc93ca6fd7a33f367aecb715051741d2
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Thu Jun 16 16:40:43 2022 +0100
Curve refactor
commit 525640ca36167cc796afbcf3c039c00f87e96cc6
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Thu Jun 16 16:09:59 2022 +0100
CurveProperty calls signal changed
commit b2895175d053465ccf5afdf3965d1e90de0f1015
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Thu Jun 16 15:56:02 2022 +0100
Reverse curve y axis so things make sense
commit 5d3784548206b9980d4012834b210aef6f0c567f
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Thu Jun 16 15:53:59 2022 +0100
Add TimeRangeAttribute, ValueRangeAttribute
commit 692101e9cccc561da99057ffc222c9d44332b3bb
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Thu Jun 16 15:53:44 2022 +0100
Add TimeRange and ValueRange to Curve2D
commit 65379a7c31231ef534527a75afb6461f8ecf0cd0
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Thu Jun 16 15:53:19 2022 +0100
PopupWidget
commit 8edfdc5fcc4d0c3b3c3f331daf4696ebf2829212
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Thu Jun 16 15:52:35 2022 +0100
Curve manual json
commit ab589098d9613b2fc3c038f4a5d80ed80d832e61
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Thu Jun 16 13:47:25 2022 +0100
Fix curve popup causing errors by stealing hover focus
commit 62d3eb4947c08f6534f2e70e1d93a9072ecbdd64
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Thu Jun 16 10:46:56 2022 +0100
CurveProperty
commit d84b469d93ac776fdc31ae3311606a8c85a67538
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Thu Jun 16 10:46:49 2022 +0100
Curve2D - JsonConvertor, create from float
commit 7e6c36017f417abb97046a9dd24446c23f877e46
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Thu Jun 16 09:49:29 2022 +0100
HandlePopup has tangent type switcher
https://files.facepunch.com/garry/20a2ce55-8d0d-4cbd-a216-acb97d57f34d.png
commit e6dde3a05e80fa43f3266fb0f7d182f4a43fd0cb
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Thu Jun 16 09:48:20 2022 +0100
Add DisplayInfo.ForEnumValues() - which also returns the enum values
commit 92db80330a7b863ea989eac0bdb086109c88adde
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Thu Jun 16 08:58:59 2022 +0100
Refactor EditableCurve
commit d809093b87c499fc1e13af2a8f0948cb56ddb370
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Wed Jun 15 16:19:12 2022 +0100
Add EditableCurve popup editor and background grid
https://files.facepunch.com/garry/91c82daf-8642-425f-a2cb-a1c1526068ac.png
commit b4ca8e4c37d41c2de564371862b93683f67db8ff
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Wed Jun 15 16:16:16 2022 +0100
Tweak FloatProperty to handle dragging in a moving widget
commit 48459cf150b454b5e2678a51a6435e28054f4488
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Wed Jun 15 16:15:43 2022 +0100
Add Widget.ConstrainTo( rect )
commit f1d98ca3ea4cbc02d9bc5dd6c5fe988749ed84d1
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Wed Jun 15 16:15:28 2022 +0100
Add GraphicsItem.ViewPosition
commit 00641324a33ae0985a2d60e468fe5966ea098f08
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Wed Jun 15 16:15:19 2022 +0100
Add GraphicsItem.GraphicsView
commit eaafa4ec883b4b589827d7606ab7afd95d64ab96
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Wed Jun 15 16:15:02 2022 +0100
Add Application.CursorPosition
commit 2898ecf2d866e34d68a7781b4d87b38c56452355
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Wed Jun 15 13:43:24 2022 +0100
Add Paint.RenderMode
commit 4bcde42cffa6af3529cf3a29a9628655a351ba8e
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Wed Jun 15 13:43:07 2022 +0100
Clamp points to canvas
commit 92afcb28557ee544e51a7e7b72e536bed587a02a
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Wed Jun 15 12:02:00 2022 +0100
GraphicsItem.Clip, GraphicsItem.ClipChildren
commit ce36a6b041d377e88e4df3818d4f4a0bff98c273
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Wed Jun 15 12:01:43 2022 +0100
Add Color.WithAlphaMultiplied
commit 5edea1b129646adf6edbfc2648045dde01f09d43
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Tue Jun 14 17:30:45 2022 +0100
Handle modes
https://files.facepunch.com/garry/ba09ca0d-4f83-4c4a-bbf8-2b041a19fbdb.mp4
commit 08d6ffc8ddb6ae1d763e22d9ee3db48a0da4713a
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Tue Jun 14 15:46:48 2022 +0100
Curve collision, add points by clicking
commit c989b97af80705946e42d98a204ff43d323f37e9
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Tue Jun 14 09:41:53 2022 +0100
GraphicsItem.Contains fixes
commit 88c792b74620e0549f938c2c646a95f2cb8f8c29
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Tue Jun 14 09:41:33 2022 +0100
qt update
commit e2b0883e2fbe9e90f62be991e3e8f1396914f861
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Tue Jun 14 08:09:28 2022 +0100
GraphicsItem.Contains
commit c5815044bf060aed2b047e71d1b9c6f98183f7eb
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Mon Jun 13 17:13:38 2022 +0100
GraphicsItem key events
commit 26de41710335ef85d2b4f906b2c6f52a26d4d211
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Mon Jun 13 16:49:52 2022 +0100
Right click delete
commit 048722287fb5eaba3dca84765de88eacc25828c4
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Mon Jun 13 16:40:05 2022 +0100
Fix infinite loop
commit 2ca28d0a3ba214f76f6bdccd3502bd3464369556
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Mon Jun 13 15:06:11 2022 +0100
Curve editor use continuous line
commit 0ce23ede048937a5e07ec6bbf85a0c52097ba340
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Mon Jun 13 15:04:58 2022 +0100
Paint.DrawPolygon, Paint.DrawLine, Paint.DrawPoints
commit 0a709a94559a99eeeabf19ca869435a62753f869
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Mon Jun 13 14:41:44 2022 +0100
Change array interop to be more useful
commit 86022eb9d4683df90fdeee52f6a00ba843f6ff21
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Mon Jun 13 14:41:08 2022 +0100
Order keyframes
commit 2edffedc5bc8ac31018d15b736ac785c10d21a54
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Mon Jun 13 13:55:27 2022 +0100
Curve handle cleanup
commit c0b6274fdee4ac1f29f49311312cd1a43ae37985
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Mon Jun 13 13:55:18 2022 +0100
Add Paint.DrawArc, Paint.DrawPie
commit 63a3ab9b2ced47785ac9ec3f6750579d56f31c22
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Mon Jun 13 13:54:54 2022 +0100
Tests for Vector2.FromDegrees
commit edc5a37e5f41f0975fa9f67d5ef14ee2d2a0fd7c
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Mon Jun 13 13:24:21 2022 +0100
Add Vector2.Degrees & Tests
commit 3e33919b157c8986c45b2c8d91050a37cb64a033
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Mon Jun 13 11:41:47 2022 +0100
Tangent handles
https://files.facepunch.com/garry/82567087-7590-461e-a1b0-d7d2fa95ba02.mp4
commit e2f20a38162c3817ee9da1c212e21d19c4b5d2e4
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Mon Jun 13 11:41:19 2022 +0100
GraphicsItem hover events
commit 837707236aa0eaa0f2fce8d7b78b3974b6d954b2
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Mon Jun 13 10:17:33 2022 +0100
Tangent math back to slope
commit 644c3dbab4203fff6fb61b168b53b9de7775ae41
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Sat Jun 11 17:50:57 2022 +0100
EditableCurve save/restore curve
commit 85b2e23600daea0e0091089ceb4f04e15f98867e
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Sat Jun 11 17:50:34 2022 +0100
Added GraphicsItem.OnMoved
commit dd4edb6a9f36553032c2c63b5654e32eba2b7e91
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Sat Jun 11 17:44:57 2022 +0100
Qt update
commit 084800d455520f2c8f5f7ecddef3b5c8a04e5720
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Sat Jun 11 14:45:08 2022 +0100
Start work on EditableCurve GraphicsItem
commit 3810eaa0fb228716c0daa226c1bcc213799d32d4
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Sat Jun 11 14:44:47 2022 +0100
Move Widget.Bind to QObject.Bind
commit 91d2bacf9d19d0b8551d022051cbce46a7370c5d
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Sat Jun 11 14:44:33 2022 +0100
Set common defaults on GraphicsView
commit 2b4efbc19484b46aeb270c92d9dd900d5228c44e
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Sat Jun 11 14:44:21 2022 +0100
Add GraphicsItem.Bind
commit ec2117359a10d11866e3e6cde9f2a569e4558a80
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Sat Jun 11 14:44:10 2022 +0100
Add Vector2.FromDegrees
commit 3a2f43138e577e706e8e09f00337d23de1f93412
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Sat Jun 11 11:52:47 2022 +0100
Curve handles work
I don't particularly love that the inslope/outslope seem made up with no real limits. Maybe that's something we should fix before we ship it.
https://files.facepunch.com/garry/4aadaedc-4761-4350-add4-c13df39b491f.mp4
commit 47587b3856589d55f32c019d412ec67e9f89aa22
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Fri Jun 10 17:02:53 2022 +0100
Clean up curve stuff
commit c8716abd4172c88e55c9bf65c8169fd52ed9d110
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Fri Jun 10 15:46:25 2022 +0100
Can translate with middle mouse button
commit 0d88194875c0f220d1513032e164fb75d2f973cb
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Fri Jun 10 15:24:44 2022 +0100
Add tangent handles
commit 4b84f5edb92d4186dddf44b5e0858c356b8fe678
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Fri Jun 10 15:24:02 2022 +0100
Added Paint.DrawConvex, Paint.DrawArrow
commit 98ea6cd46c08c0b40f37dd6090f62b9fe52231ab
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Fri Jun 10 15:22:46 2022 +0100
Paint.SetPen can define dashed/dotted lines
commit 9da0ce718100f00f886198d35612eedb5bb478ba
Merge: e9e97d828 65f2bd3db
Author: Garry Newman <garrynewman@users.noreply.github.com>
Date: Fri Jun 10 13:58:13 2022 +0100
Merge branch 'master' into curves
commit e9e97d828ef5c72741c9bd9ecd28ff55c4c855c4
Author: Chloe Marcec <dmarcecguzman@gmail.com>
Date: Thu Jun 9 17:07:43 2022 +1000
Initial work on better curves
Fix presets drawing line backwards
Read from array fix
Fix float slider mouse move events slipping down to parent
Curve Editor Toolbar
https://files.facepunch.com/garry/f4910b27-7d3c-4f41-bb7c-41dc8ab295a4.png
Tweak keyframe serialization
Refactor so curve's keyframes are always 0-1
ListView additions
Added Curve Presets
https://files.facepunch.com/garry/4e27f1fe-bccb-4775-ac18-b231462bd5df.png
Curve2D - JsonConvertor, create from float
CurveProperty
Fix curve popup causing errors by stealing hover focus
Curve manual json
PopupWidget
Add TimeRange and ValueRange to Curve2D
Add TimeRangeAttribute, ValueRangeAttribute
Reverse curve y axis so things make sense
CurveProperty calls signal changed
Add DisplayInfo.ForEnumValues() - which also returns the enum values
HandlePopup has tangent type switcher
https://files.facepunch.com/garry/20a2ce55-8d0d-4cbd-a216-acb97d57f34d.png
Clamp points to canvas
Add Paint.RenderMode
Add Application.CursorPosition
Add GraphicsItem.GraphicsView
Add GraphicsItem.ViewPosition
Add Widget.ConstrainTo( rect )
Tweak FloatProperty to handle dragging in a moving widget
Add EditableCurve popup editor and background grid
https://files.facepunch.com/garry/91c82daf-8642-425f-a2cb-a1c1526068ac.png
Add Color.WithAlphaMultiplied
GraphicsItem.Clip, GraphicsItem.ClipChildren
Handle modes
https://files.facepunch.com/garry/ba09ca0d-4f83-4c4a-bbf8-2b041a19fbdb.mp4
Curve collision, add points by clicking
GraphicsItem.Contains fixes
Fix infinite loop
Right click delete
GraphicsItem key events
Order keyframes
Change array interop to be more useful
Paint.DrawPolygon, Paint.DrawLine, Paint.DrawPoints
Curve editor use continuous line
Add Vector2.Degrees & Tests
Tests for Vector2.FromDegrees
Add Paint.DrawArc, Paint.DrawPie
Curve handle cleanup
GraphicsItem hover events
Tangent handles
https://files.facepunch.com/garry/82567087-7590-461e-a1b0-d7d2fa95ba02.mp4
Tangent math back to slope
Qt update
Added GraphicsItem.OnMoved
EditableCurve save/restore curve
Add Vector2.FromDegrees
Add GraphicsItem.Bind
Set common defaults on GraphicsView
Move Widget.Bind to QObject.Bind
Start work on EditableCurve GraphicsItem
Curve handles work
I don't particularly love that the inslope/outslope seem made up with no real limits. Maybe that's something we should fix before we ship it.
https://files.facepunch.com/garry/4aadaedc-4761-4350-add4-c13df39b491f.mp4
Can translate with middle mouse button
Added Paint.DrawConvex, Paint.DrawArrow
Paint.SetPen can define dashed/dotted lines
Add ModelEntity.CopyMaterialOverrides, ModelEntity.CopyFrom
Fixed some addon DLLs not getting watched
Introduced by bb5359a20
Property Sheet uses TypeLibrary
TypeLibrary will expose a type if it's nested in a class that is exposed
Add CategoryAttribute
Fix AddonConfig not exposed
Fix Binding system tick allowing reentrance
Add TypeDescription.GetProperty, GetMethod
Add [ShowIf], [HideIf] attributes for properties
List/Struct/ExpandGroup margin/padding
Soundfile resource (#252)
* SoundFile class to grab properties from HSound
* Add SoundFile.GetSamples
* Use PrecacheSound to get sound handle
* Getting samples has to be async
* Comments
* Bail out of getting samples if we failed to load the source
* Add CSfxTable refs for SoundFile, release them on loop end and exiting
* Rename ISound to VSound_t
Citizen mesh updates
- Significantly improved upper arm twist, armpit, and shoulder-neck deformations. Preview: https://files.facepunch.com/maxlebled/1b0811b1/citizen_v2_june22update_2.gif
- Reflected recent changes on LOD3; fixed symmetrical inconsistencies (tris count dropped a bit more as a result!)
- LOD2/3 culling prefabs don't cull the upper arm twist bones anymore, because the effect on deformation is too important
- Upper arm twist constraint weight lowered to 0.6
Balaclava LOD3 fix
Small fix to modeldoc and model for Balaclava's LODs.
Fix not generating SpecialDependencyFingerprint properly in CResourceCompilerSBData
Add Asset.CompileIfNeededAsync()
Make sure assets are compiled before trying to upload them
Quiet down asset recompile spam, don't try to compile trivialchildassets
Separate simulation inputs to prevent simulations stomping each other
Deglue navmesh
Remove cpp naming
Refactor path cost into path builder, simplify path creation, optimize path by default
Don't need to check our segment count, our iterator already does this
Multi-goal support
Allow multi-goal to actually work
Remove the need to hold onto engine pointers
Remove some options no one will ever use
Make multi-goal condition more clear
rebase fixups
Merge pull request #226 from Facepunch/deglue-nav
Deglue navmesh & add extra navigation stuff
Pass the client to OnClientActive (why would we not want to know which client it was?)
Network snd_event_point so that it can play on client spawn instead of playing again for everyone when a new client spawns
Moved light animation code to C#
Fix obsolete override usage in particle entity
Fix an animgraph related assert
Don't force frame rate when recording movie
Add labels to level layer on post processing editor
Don't exceed maximum view count on transform overflow
Don't write morphs if we failed to allocate memory
OnPaintOverride returns a bool, determines whether to run base paint or not
Fix org control not signalling change
Flush bind system automatically on signalvaluechange
Add addon publishing window
Citizen: updated LODs
- LOD1 was remade, with the recent changes as a base. It doesn't cut anything from the torso and legs anymore (which makes things potentially easier for clothing creation), and instead focuses solely on the hands and feet. 400 tris improvement from previous iteration!
- LOD3 had some odd triangulation on the head fixed.
New Outfit Piece! - Cardboard Chest Armour
https://files.facepunch.com/daniel/1b1011b1/Photoshop_7vUKmblEBH.jpg
New Cardboard Chest Armour - LODs to come ASAP and some small adjustments to skinning.
Move noise functions to Sandbox.System, change them to be between 0 and 1
Maybe fix blend2d preview messing up when reloading model
Merge branch 'master' into curves
Move noise functions to Sandbox.System, change them to be between 0 and 1
OnPaintOverride returns a bool, determines whether to run base paint or not
Fix org control not signalling change
Flush bind system automatically on signalvaluechange
Add addon publishing window
Fix not generating SpecialDependencyFingerprint properly in CResourceCompilerSBData
Add Asset.CompileIfNeededAsync()
Make sure assets are compiled before trying to upload them
Quiet down asset recompile spam, don't try to compile trivialchildassets
Property Sheet uses TypeLibrary
TypeLibrary will expose a type if it's nested in a class that is exposed
Add CategoryAttribute
Fix AddonConfig not exposed
Fix Binding system tick allowing reentrance
Add TypeDescription.GetProperty, GetMethod
Add [ShowIf], [HideIf] attributes for properties
List/Struct/ExpandGroup margin/padding
Add ModelEntity.CopyMaterialOverrides, ModelEntity.CopyFrom
Add [Editor] attribute
Fix [Editor] attributes not taking priority over type matching
Use decibels in sounds instead of arbitrary distances
Fix gameresources not always compiling
Fix some sound decibels
Split sound stacks
Use vmix_mixgraph_send
Default material preview back to plane
Audio Material
Feed AudioMaterial to surface
SteamAudio use AudioMaterial values
Go apeshit if GameResource extension length is > 8
Fixed asset list not getting ordered by name propertly
Fix audio material extension length
Some audiomats
When compiling our GameResources, mark referenced resources as dependencies
Fix DragData.HasFileOrFolder, FileOrFolder not reading from Url properly
Defer selection when dragging from List
Fix dragging to AssetProperty
Run MainThread deferred delete queue before hotload
Add callback when dockwidget turns into window
Sound file compilation settings (using meta file)
Can right click an image file in asset browser to create material file
https://files.facepunch.com/garry/ee17493c-8364-40dd-863b-0933edd426e0.png
Can right click a sound file to create a sound definition automatically