268 Commits over 275 Days - 0.04cph!
Stop "Create Sound Event" pranking people by opening to the wrong directory, resolves Facepunch/sbox-issues#7421
Add support for custom specialised asset pickers per-resource type via AssetPickerAttribute
Add SimplePicker, use for shaders until we get something better so that's not awful to use
https://files.facepunch.com/solw/2025/January/20_13-12-GentlePinkriverdolphin.png
Unbreak asset inspectors for some resource types, resolves Facepunch/sbox-issues#7382
Add 'jump to code' asset inspector toolbar shortcut for custom resource types
Swap dead wiki page link for docs url
Use [IconName] for PrefabFile.MenuIcon
Custom resource types will inherit custom editors of base types if they've not got one
Can drag/drop files and folders onto path widget segments to copy/move there
Update qt for windows drag/drop cancel crash fix
More IsValid safety checks for drag/drop events
Gradient editor: add buttons to select next/previous point without pixel picking faff
Gradient editor: clear point selection when whole gradient changes, make reverse work properly aha
Gradient editor: Tweak point drawing for better legibility
Clamp point location to 0-1 when adding to gradient
Gradient editor: add shortcuts to reverse, distribute points evenly, clear to white
Add presets to gradient editor, ux improvements
https://files.facepunch.com/solw/2025/January/10_14-37-SolidUintagroundsquirrel.png
Prevent gradient editor colour points having alpha value
Support photoshop-style sampling of gradient color under cursor
https://files.facepunch.com/solw/2025/January/10_15-21-RemorsefulAsianlion.png
Fix being able to create new gradient point with a negative location
Add context menu to GradientControlWidget
Add optional count badges to TabWidget tabs
Asset Inspector: always show ref/usage tabs, allow flexible preview sizing
Save asset browser filters/search between sessions, resolves Facepunch/sbox-issues#7247
Managed compiler also includes currently unrecognized asset paths as references, so they can be populated later
Fixes incomplete dependencies list for resources, uploader missing required cloud assets, etc.
Show still unrecognized asset paths in reference/asset list without errors
Doh lets always subscribe Terrain OnTransformChanged
Saving prefab session reloads cached prefab scene, resolves Facepunch/sbox-issues#7307
File > Open menu supports opening prefabs too
Changing Terrain.MaterialOverride updates mesh if it exists, Facepunch/sbox-issues#7180
Update Terrain buffer when transform changes, resolves Facepunch/sbox-issues#7192
Fix save/save as not working as expected with prefabs, default to location/filename of existing source if one exists
Tweak editor File menu, make actions more context aware/prevent in dodgy circumstances
Improve readability of File > Open Recents menu, show correct icons for type
Asset browser: Combine file and asset context menus, make non-asset context menus not useless
Show code editor title for 'Open in X' code file context menu
Rename/duplicate uses full file names (including extensions) for non-assets because that's handy
Fix typo
GameObjectNode does TreeNode.HasChildren, resolves Facepunch/sbox-issues#7167
Searching by filename with extension will test correctly with assets too, fixes Facepunch/sbox-issues#7174
Navigate to project root instead of selecting engine asset when ShowBaseContent is disabled, fixes Facepunch/sbox-issues#7175
Move 'Show Base Content' toggle to asset browser toolbar so people stop acting like I've stolen their car keys
https://files.facepunch.com/solw/2024/December/17_16-46-AquamarineHound.png
Use Widget.Hidden for ControlSheetRow conditional visibility, avoids flicker on populate
Treat base content paths as Asset-type locations
Fix error when renaming uncompiled asset, fixes Facepunch/sbox-issues#7130
Renaming an asset in the Asset Browser immediately registers the new asset, fixes Facepunch/sbox-issues#7134
Proper object.Equals overrides for AssetBrowser entries
Asset browser: fixes for thumbnails not displaying/regenerating properly
Use custom Qt styling/preferences in Launcher as well
Launcher: this is a sort not a filter so don't call it one
Move DefaultProjectLocation from editor cookie to launcher cookie, since we stopped saving that at some point
Fix project location label being squished
Make sure we're correctly registering a resource or promise from Asset.LoadGameResource, resolves Facepunch/sbox-issues#6952
Tick FileWatchers after compiling all assets on startup, resolves Facepunch/sbox-issues#6635
Tweak wording on External Changes dialog to make it more clear what the options are
Only ever show one External Changes dialog for a scene
Bring back external changes detected dialog, move to interface event
Assets added at runtime can be loaded into promises/missing resources again
Move prefab instance reload logic out of ResourceLoader
Clear selection when reloading SceneEditorSession
Grey out tool buttons when disabled
Fix asset picker when selecting cloud maps
TextEntry: Prevent brief caret selection of placeholder text, fixes Facepunch/sbox-issues#7087
Tweak TextEntry selection behaviour to match modern browsers
Show PanelComponent source location in UI Panels heirarchy
UI Panels: fix deselection not clearing selected panel
UI Panels: fix element nodes not updating when changed
Optimise comically slow processing logic when pasting into TextEntry (several seconds -> low ms), Facepunch/sbox-issues#6938
Fix NRE on editor shutdown
Do TextEntry placeholder without a separate label, simplifies and makes placeholders/prefix/suffix all play nicely together
also fixes Facepunch/sbox-issues#7060
Add support for caret-color css property, default to text color
Tweak caret appearance, avoid nasty subpixel blur
Scene view: disable gizmo interactions while doing camera movement
Stop PathWidget fighting back in LineEdit mode and selecting the whole text, fixes Facepunch/sbox-issues#6869
Smite harmless "unknown tool window" warning from tool window trying to cleanup after itself
Scene Overlay: unsubscribe from event properly
Try to make SceneOverlayWidget size/position updating a bit more foolproof
Add cloud browser to default editor layout
Creating new non-asset registers entry and opens rename properly, fixes Facepunch/sbox-issues#7001
Don't let creating new resources be blocked by not yet having a compiled version on disk, fixes Facepunch/sbox-issues#6991
Asset Browser: Everything location excludes cloud cache, non-project assets when 'Show Base Content' is disabled
Asset Browser: only hide compiled versions of source files when they both would have been shown under the asset filter (don't hide .sounds because we have a .wav etc)
Remove any existing package files when updating to new cloud asset version
Asset Browser: Show 'Open File Location' in context menu when searching too
Asset Browser: Disable flat/recursive toggle button when searching or in meta location
Give each scene dock a unique name and fix load order so we maintain layout positions
Move window layout to project cookie, will fallback to importing from editor cookie for now
Fix [Button] not showing in asset inspector, resolves Facepunch/sbox-issues#6985
Fix asset browser NRE, default location stomping cookied path
Disable undo/redo menu buttons when there's no active editor session
Remove unused asset browser node type
Fix 'cut component' not being undoable, Facepunch/sbox-issues#6949
Asset Browser: streamline navigation flow
Asset location presentation tweaks, improved path handling
Initial path widget width because it starting off small is so very annoying
AssetBrowserLocation tracks location type (code, assets etc)
Create asset menu is context-specific to the location type, creates in place and opens rename flyout instead of using system dialog
Unify usage of AssetBrowserLocation and its presentation/directory/hiding logic
Asset Browser: Improve navigation outside of project tree
Path widget only displays what can fit instead of freely growing, hide rest behind flyout
Stop reloading cookies, history etc whenever the asset browser becomes revisible
Move project-aware location logic to AssetBrowserLocation, special cases for Core/Citizen, use root title in path widget
Refresh asset browser sidebar, hide built in content behind 'Show Base Content' toggle
FindProjectByDirectory prefers closest match in case of nested project paths (eg libraries)
Disable ShowBaseContent by default
Fix long FolderNode labels getting cut off early
Selecting sidebar node for current location works with all node types
Make editing BaseItemWidget/ListView contents thread safe
Thread asset browser populate, remove arbitrary and teeny weeny MaxFiles cap
'everything' location shows more than just up to the As now, search/type filtering works as you'd expect
Fix path/search widgets not updating correctly for meta locations
Fix NRE
Support for @ key razor attribute, Facepunch/sbox-issues#4103