Skip to content

Icon Editor for Gameobjects#39

Closed
EternalDawn1 wants to merge 269 commits intoFacepunch:masterfrom
EternalDawn1:test
Closed

Icon Editor for Gameobjects#39
EternalDawn1 wants to merge 269 commits intoFacepunch:masterfrom
EternalDawn1:test

Conversation

@EternalDawn1
Copy link
Copy Markdown

@EternalDawn1 EternalDawn1 commented Nov 27, 2025

Icon editor for both Hierachy & Inspector Widget
Customizable Icon Colors via Color Picker
Persistent
Material Icons + Emoji Icons
Recent Emojis tab

  • favorite tab , reset icon
vid.mp4

handsomematt and others added 19 commits November 26, 2025 02:11
* Fix leaky swapchain when resizing on game mode and dispose of handle after usage
VideoRecorder would get a strong handle copy of the swapchain every frame and retain it, causing native to fail to shutdown the copies from it
Made usage of getting native swapchain consistent on managed on other stuff, doing it like this ensures GC properly disposes of the strong handles even not disposing explicitly

Remove now unused ScreenRecorder.def and ScreenshotService.def

There are still optimizations to swapchain I'd like to send on another commit, game is allocating way more swapchains than needed even without the leak, has two completely different paths depending if you are MSAA or not, this can all be much simpler
https://files.facepunch.com/sampavlovic/1b1811b1/EjDyxbTahs.png

* Remove NativeLayerRenderTarget, was unused and fucked

* Keep it as an ITexture/HRenderTextureStrong in managed so we avoid IDisposable, ReadTextureAsync with ITexture
…h#3449)

* Support instanced tint on Blendable and Material::From( i )

Blendable supports vertex tint color, but was initially intended for world geometry so there was no point in working with instance color, now works fine

https://files.facepunch.com/sampavlovic/1b2611b1/sbox-dev_qkWlvBOXW8.png

* Build shaders
* More robust downloading of artifacts

Don't download to a temp file first
Try to retry download up to 3 times, if it fails
Fail Bootstrap if any download fails

* Fix contentbuilder and shadercompiler not forwarding to stdout
…eleted

Move filter implementation to python so we have more flexibility when implementing filters.
Make sure deleted files are properly filtered by evaluating globs in the filter itself not before.
Make sure deleted LFS files are accounted for by scanning the history of the shallow clone for delete/changed lfs files.
Whitelist some additional shaders.
* Fix terrain seams and optimize

Overlap LODs by one step to fix holes in LOD transitions
Reuse vertices that exist on same key when building diamond square

https://files.facepunch.com/sampavlovic/1b2411b1/8mb.video-eW2-tNb22a60.mp4

* Add NoTile class and make terrain use it
https://files.facepunch.com/sampavlovic/1b2411b1/sbox-dev_R1FwUmLhvu.mp4
https://files.facepunch.com/sampavlovic/1b2411b1/sbox-dev_YhKyIwvhve.mp4

* Sure why not Mr. Robot
* SceneEditorSession: make game vs editor scenes more distinct, Scene is whichever is currently active

* Route prefab update, model reload etc events to both scenes if needed

* SceneTree update checking a bit cleaner

* Bring back GameEditorSessions instead, so undo, selection etc can all be linked 1:1 with scenes again

* tweak and tidy
@garrynewman
Copy link
Copy Markdown
Member

I have a bit of a hot take on this. The icons should be emoji - not material icons.

@DrakeFruit
Copy link
Copy Markdown
Contributor

remember how I bullied you for the windows 11 emojis before and everyone hated it? please no

sboxbot and others added 2 commits November 27, 2025 08:37
ListControlWidget now respects the MaxLengthAttribute by disabling the add button when the collection reaches the specified maximum length. Also updated access rules to include MaxLengthAttribute.

Implements https://github.com/Facepunch/sbox-issues/issues/6361

Co-authored-by: Braxen <braxen@braxnet.org>
@EternalDawn1
Copy link
Copy Markdown
Author

EternalDawn1 commented Nov 27, 2025

_I used material icons for Color changing ability , I could also add emoji icons . To fulfill both sides . Or just emoji .

Or that devs could use their own icons_

correction: i will add only emojis since the material icons are not needed . i have to fix some issues with it

@DrakeFruit
Copy link
Copy Markdown
Contributor

an option for emojis sounds perfectly fine

lolleko and others added 5 commits November 27, 2025 10:17
Fixes Warning: D:\a\sbox-public\sbox-public\engine\Tools\InteropGen\Writer\ManagerWriter.Imports.cs(133,7): warning CS0162: Unreachable code detected [D:\a\sbox-public\sbox-public\engine\Tools\InteropGen\InteropGen.csproj]
* Make sure our private PR action run also check BuildTool formatting

* Format BuildTools
MaxLebled and others added 28 commits December 19, 2025 01:26
* Citizen/animgraph: optimise the skid layer by cutting it out completely if there has been no wish movement for the past 3 seconds. ~10% performance gain for players who are standing still.

* Citizen/animgraph: optimise the locomotion wish layer by cutting it out if wish values have been equal to 0 for the past 3 seconds. ~5% performance gain for players who are standing still.

* Citizen/animgraph: optimise the "turn poses / rotation lean" layer by cutting it out if move_rotationspeed has been 0 for the past 3 seconds. ~5-10% performance gain for players who are standing still or moving in a straight line.

* Citizen/animgraph: optimise the "standing shuffle" layer by cutting it out when move_rotationspeed has been 0 for the past 3 seconds. ~2-4% performance gain for players who are standing still and not turning.

* Citizen/animgraph: optimise the height scaling layer by cutting out scale_heel completely if you're not wearing high heels, and bypassing the entire layer if your height is default. ~3% performance gain for players with default height; unmeasurable if different height while without heels.

* Citizen/animgraph: oops, the skid layer optimisation should be checking against the skid values, not wish

* Citizen/animgraph: optimise the facial animation subgraph by cutting out the voice lipsync bone mask & blend nodes if the voice level has been 0 for more than 3 seconds, and by replacing the random blink machine, previously based on a Choice node that effectively rolled a 85/15 dice every second (but relied on 2 constantly playing sequences) by a state machine with the new "random time between" feature. The add node is now only active during a blink. Time between blinks is now random between 0.1 and 5.0 seconds.

* Humans: derive animgraphs from Citizen updates
…ield return (Facepunch#3644)

yield return creates a lot of garbage and is easily avoidable here, by using recusing instead.
* AddPoseOperation skip work when added transform is equal to identity

* SubtractPoseOperation skip work when added transform is equal to identity

* Fast path for BlendUpdateNode when weights are 1

Don't emit expensive pose op just forward the pose with weight 1

* Fast path for Blend2DUpdateNode when weights are 1

Don't emit expensive pose op just forward the pose with weight 1

* Avoid allocation of Actions in MergeDescendants
* Only show property-prefab options on prefab instances, simplify names a bit

* Tweak these to match

* Transform

* Order

* Guessing this meant to pick the shortest source location path

* dotnet format
…ith modifier (allows things like tool switching while modifier is down) (Facepunch#3653)
Corrected the property name from 'GradientValye' to 'GradientValue' in ControlsTest to fix a typo.

Co-authored-by: Austin <austin@austin.codes>
* start sound preview playback at scrubber position instead of 0, only increment time if playing

* Fix SceneRect calculation so that there isnt 4 pixels of extra scroll when zoomed all the way out, only show scroll bar if there's anything to scroll

* clamp scrubber position so it cant be visually dragged outside normal bounds

* use correct offset when setting scrubber position during playback

* update VisibleRect before redrawing waveform, waveform was previously drawing in wrong position (view from last frame)

* clamp on scrubber should be using SceneRect not ContentRect

* no need to update VisibleRect twice

* use correct offset for scrubber in DoLayout too

* update scrubber so it stays nice and stable while playing+zoomed in or scrubbing, use correct offset when manipulating scrubber

* offsetting by 4 everywhere is dumb just set HandlePosition on scrubber

* fix drift on scrubber while zoomed in

---------

Co-authored-by: boxrocket <splatterbiker@gmail.com>
Co-authored-by: boxrocket <splatterbiker@gmail.com>
- PreviewSprite and SpriteEditor.Preview no longer improperly offsets the image by the origin when the aspect ratio of the sprite isn't 1:1

https://files.facepunch.com/CarsonKompon/2025/December/19_08-28-ScrawnyHoopoe.mp4
* Add TextureFlags
* Add TextureFlags.PremultipliedAlpha in text block and webpanel textures
* Add BlendMode.PremultipliedAlpha
* Add panel to PauseModal
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.