294 Commits over 700 Days - 0.02cph!
Use LastBackColorBuffer for VR - should fix spontaneous crash, can't reliably reproduce locally though?
Render VR separately
Rename RenderWithViewport to RenderStereoAndSubmit, clean up SceneCamera stereo rendering code
Set VR controller type (Input.VR.Type)
Remove some CSS logs I forgot about (sorry)
Re-add streaming mode stuff to menu - same as before (would be better in settings imo, but this works for now)
VR - remove vulkan extension list spew, was using this to check something and forgot to remove it
Fix anchor positioning
VR: retrieve and save off HMD position immediately before calling RenderWithViewport
Gives us much better & up-to-date info to put inside VRTextureWithPose,
reprojection becomes much more accurate.
VR: controllers are correctly affected by anchor
Re-add vendor info to TrackedDevice for `vr_info` debug command
VR input system supports device roles (i.e. left hand, right elbow, waist, chest), uses newer IVRInput system (paths etc.)
Submit a VRTextureWithPose_t to compositor
Re-add some VR native submit code, looks like it got removed by mistake
Fix VR stereo camera positioning
VR legacy layer uses real values (don't like this but I don't see any other way, we can remove it later)
Fill device roles for tracked devices
Add Expose attribute to StereoTargetEye
`mask-repeat`: `no-repeat` uses border sampler, `round` acts like `clamp`
sboxgame/issues/issues/4061
Don't enable D_WORLDPANEL combo inside panel layers, avoids multiple uses of worldpanel matrix when a filter is active
sboxgame/issues/issues/4056
Angles, Rotation, Vector2, Vector3, Vector4 all implement IParsable, have both TryParse and Parse + tests
sboxgame/issues/issues/4051
ui_cssbox uses custom samplers for border image
sboxgame/issues/issues/4054
Make StartScreen inside EditorMainWindow, instead of going through an event
Fix text gradients 🤦♂️
Fix keyword-based transform origin values
Don't hide EditorMainWindow on startup if there isn't a StartScreen
e.g. if tools fail to compile
Lettters -> letters (sboxgame/issues/issues/4030)
Fix for transform-origin values not correctly being applied
Sizes passed to ImageRect.Calculate with Undefined unit will correctly use default size
Default text overflow to "None", spec default is clip but ours behaves differently - this will do for now
Give `line-height`, `letter-spacing` and `word-spacing` default values, no need to null check them
Don't implicitly clamp backgrounds if background-size is `cover`
Handle LengthUnit.Undefined gracefully, document
Call GetPixels() on backdrop filter props instead of getting Value directly, fixes percentage/fraction-based filters
CSS: Better Autogen (#1222)
Leaves out nullability changes for a later pain day, but includes layout cascade auto-gen, transition/animation default value handling w/ auto-generated defaults, and guarantees a value for every property in ComputedStyles (although the compiler isn't aware of this yet).
Add Entity.IsPawn
Fixes sboxgame/issues/issues/3927
Stats.GetPlayerStats uses steamid parameter
Fixes sboxgame/issues/issues/3766
Body groups no longer affect hitboxes / hitbox sets
Should fix sboxgame/issues/issues/2922
Add WarningsAsErrors support for projects
Supports a list of errors (e.g. `CS8613;CS8601;CS8625`).
Does not support the `nullable` shorthand yet because of a .NET issue
(would need to expand manually, which is messy)
Mirror UV when sampling inside filter - prevents ugly border around some elements when using `filter: blur()`
Default to using opposite value inside BaseStyles.Lerp functions if a value is null
PanelTransform.Lerp will handle null for us, we don't need to do it inside BaseStyles.Lerp
Pull Styles.FromLerp up to BaseStyles, auto-generate for all properties matching select types
Add auto-generated BaseStyles.LerpProperty
Update transition logic to use new auto-generated functions
Handle box-shadow transitions / animations separately for now
Welcome screen link tweaks: "Wiki" becomes "Getting Started", move to top
UI: Add support for keyframed box shadows - should probably take a look at changing this so that we have consistent property support between transitions and animations
CSS: Flex shorthand support
CSS: Fix nesting inside `background` (fixes devcam)
CSS `background` shorthand no longer requires specific order, more compliant with spec
st&alone: Use test grid texture instead of non-existent burger billboard texture (moved to asset.party)
`background` shorthand color transition
CSS `animation` shorthand, same syntax as web (https://drafts.csswg.org/css-animations/#animation) - any order
Can opt out of drag scrolling with `Panel.CanDragScroll = false;`, enabled by default (sboxgame/issues/issues/3491)
`@readonly` and `@editable` asset browser filters (sboxgame/issues/issues/3205)
Basic parsing support for CSS `background` shorthand
Move position/length shorthand parsing into Parse.TryReadPositionAndSize (used for both mask & background shorthands)
UI: don't clamp UVs in shader when BgRepeat mode is Clamp, fixes angled gradients
Background angles conform to css spec - add offset to match +x as being 0 degrees instead of +y
When loading game project (through welcome screen), if it fails to compile, don't immediately bail - load the project but don't show menu
Disable all game projects when entering content mode
Use s&box logo as window icon for welcome screen 👋
Revert "Don't clean up Release path when running processor codegen shit, fixes razor gen when testing release builds"
This reverts commit 738d6ef11f5591743600177ff476b7d5138f9741.
Don't clean up Release path when running processor codegen shit, fixes razor gen when testing release builds
Max 32 chars for ident edit, don't show sandbox gamemode twice
Add icons for all file menu items
Add "Open in Editor" context menu option to ProjectRow, shows up for library/tools/addon projects
Make StartScreen a BaseWindow, add HasMaximizeButton
StartScreen is no longer modal
Cap IdentEdit to 16 chars
Split out Explorer into 3 tabs now that our docking doesn't suck
Draw active project at top of Project tab
When closing or opening a game project, run disconnect & close active menu
Always show "edit configurations" option in launcher regardless, open project settings or global config editor based on context
Make package selector modal
Add IsContentMode to tools Global class