Expressive Output Window - Phased Rollout

when printing a string and an instance or table in the same print statement, it will put double quotes around the string. can there be an option to disable this, the inconsistency isnt good

image

1 Like

Good point @Dekkonot, @PeZsmistic, @avozzo, @gillern! We’ll fix this.

8 Likes

Are there any plans on introducing more ways of distinguishing types of output text between one another?
image
image

Stuff like allowing the user to customize the color or boldness of commands and results?

I prefer to skim through output when it comes to loops, so checking for arrows or context labels could take up more time in the long run if you compare it to something more visible like color or bold fonts.

Another UX issue which I’ve found:
image

these settings do not persist. It’s annoying that I need to toggle these things on/off every time I open studio.

5 Likes

I seem to have encountered an issue with the output window. If you scale your output window small enough, it will cut off some text instead of wrapping it.

the code currently does the following:

local color =  part.Color
warn("Current: ",color.R * 255, color.G * 255, color.B * 255)

This can give a lot of false alarms. After resizing my UI during testing, I’m unable to restore it back to its original size, but all of the text does appear now.

1 Like

Printing an exact message over and over really starts to lag the whole studio, in a way it wasn’t before. I’m running 30FPS on a nearly empty studio because I’m printing the same short string several times a second

1 Like

When printing a large number of items the counter will start to go down when it reaches 5000 items total. The counter should never go down it’s confusing UX, you cannot unprint things

It’s doing this because there is a maximum number of lines the output can display (configurable from File > Studio > Maximum Output Lines setting). As you print “Done” more times, the output is deleting the oldest lines from “UPD EDGE” to maintain this maximum, which looks to be set at 5000.

3 Likes

I understand why it happens, but im saying it should not happen because it can be confusing. There is no case where the counter should go partially down, it either rises or gets cleared completely. Making it impossible for the counter to go down would improve UX

1 Like

Can there be an option to automatically call tostring() on tables when printing? I’ve crashed studio dozens of times now by accidentally printing a table with references to itself and it’s very annoying

Do you have a repro for this? It should not crash Studio - the table will just indicate that it includes a self-reference in the appropriate location.

1 Like

I don’t have a specific use case. Sometimes when I’m trying to just see if a value exists and I print, if the value is a table its relatively slow when being called thousands of times. I have a loop that takes < 20ms when I dont print anything, but as soon as I start printing tables just to see if they exist, and forget to call tostring it will crash studio. There are thousands of tables being printed yes but the output should still support that

@GeneralRelish Are there any plans to allow us to integrate the command bar into the output rather than have it in a separate widget? A niche request, but I’m sure many would prefer it this way.

I have been REALLY enjoying this, until suddenly today its gone and I WANT IT BACK! :smiley:

Where did it go?

1 Like

We rolled back from full production to a percentage-based rollout to address a bug. You should still be able to turn it on from the Beta Features menu.

3 Likes

When a table is printed that has sub-tables stored inside of it, the contents of said table won’t print past the 2nd “generation”, for example:

local EntityData = {
	["Name"] = "EntityName";
	["_RefId"] = "A11C";
	["Data"] = {
		["Behavior"] = "Passive";
		["BaseHealth"] = 100;
	}
}

Will show up in the output as: (when using print())

 ▼ {
	["Name"] = "EntityName";
	["_RefId"] = "A11C";
	["Data"] = {}
}

Fixing this issue would help out greatly, I spent upwards of 30 minutes uselessly rewriting code because I thought that I was doing something wrong.

Expressive output is not showing up as a beta feature


Was this rolled back too?

It was rolled live! It should be the default in Studio now.

Haven’t seen expressive table printing in any of my outputs on different games, is this affirmative?

Hello,

I’m getting extremely poor studio performance with the expressive output whenever you’re printing the same message (and they get stacked). For example running this code in studio;

while wait() do
	for i = 1, 5 do
		print("hi")
	end
end

will cause choppy performance within ~10 seconds (about 1500 stacked messages) and makes the test session totally unplayable after about 30 seconds (you don’t need the inner loop to cause this, it just shows the performance loss faster).

If you stop printing to output, performance returns to normal. Printing any subsequent output (whether stacking with the original output not) will result in the same performance drops. This stops occurring once the stacked message is no longer visible in the output window. It doesn’t need to be completely pushed out of the output queue to return performance to normal, just out of the visible section of the scroll window. Scrolling back up so the stacked message is visible will drop performance again (when adding to the output).

This can make testing very difficult in scenarios when constant output is used. I’ve seen a few other mentions of this issue above with no response/bug reports so assuming it’s not just me.

Thanks & sorry if this has been addressed already!

Log Mode will address the issue of printing the same content repeatedly and very fast. This option can be toggled via the 3-dot dropdown in the top right.

3 Likes