Expressive Output Window - Beta

:thinking:

Despite the typo, this is a long needed update! Printing tables has always been annoying, so I am glad we finally can print their contents!

4 Likes

Will Search allow you to search the history of your output after closing the place?


A few weeks ago I generated a terrain seed, and after wanting to expand it a few days later, I realized I lost the seed. I then remembered that a summary of the generation is printed in the Output, but unfortunately I found no way to recover this after closing the file.

3 Likes

Welp, This is some overlapping UI…

6 Likes


I would like to see some changes made to this, first, being able to disable the columns you don’t need and secondly showing the name of the table when you print a table like this

[table name here]:
>{}

Once again, thanks for this great update Roblox staff, keep it up :slight_smile:

9 Likes

Sorry! Those were accidental. They will be removed in a future release.

10 Likes

Really happy to see these things getting some more attention. I appreciate the new filtering features, but I’m not very sure this design / layout is the best.

Just want to bring some attention towards this feature request.

6 Likes

Is this built in Lua? If so does that mean when Rich text is enabled we will be able to finally print with custom colors?

8 Likes

I’m happy with the upgrades to the output window, however I have 2 suggestions.

First of all, please work on performance. For general purpose it’s ok, but prints on .RenderStepped which I occasionally use for debugging and if an error happens at a fast interval such as RenderStepped, the lag is even more drastic.

Second off, having the ‘Source’ tab print out the fullname of the script instead of just the scripts name would be helpful. Other than this I look forward to these new improvements to the output window.

Another design flaw I feel is worth mentioning is that the icons appear to have white borders, along with the fact that the window itself has lots of white borders which are inconsistent among other windows such as the Explorer.
image

6 Likes

I don’t like this UI. It’s super bulky; I usually try to keep my output as small as possible so I can get viewport space.

This is just not a lot to work with, and none of this is collapsible.

Some suggestions:

  • Allow right clicking this bar to show and hide certain details

    It should work similar to windows explorer:
  • Shrink the space this bar takes:

    There is no reason for this much vertical padding.
  • Shrink/move most of the elements in this bar
    The trash icon is not needed; Right click-> Clear output already exists.
    Most of everything here could be moved to a context menu. The “search” bar doesn’t need to be there at all until you hit ctrl+f.
  • Always print the __tostring metamethod of tables if present, rather than inspecting that table.
    As @Anaminus pointed out, this output window does not respect the __tostring metamethod
    Code:
print(setmetatable({}, {__tostring = function() return 'hi' end}))

Output:
image
Expected output:

> hi

Overall this window has way too much padding everywhere, and this gets in the way of function. I would not look forward to being forced to use this in its current state when the beta ends. I hope my suggestions are helpful.

This design doesn’t seem to embrace the same minimalism of the old output window, and doesn’t seem to support multiple ways of docking the output window. Some people prefer a portrait/side window, while I personally prefer docking the output at the bottom alongside script analysis. This UI seems to want to eat up both vertical and horizontal docking space to an absurd degree. Every inch I give away from script analysis vertically reduces my viewport size. Every inch I give away horizontally prevents what windows I can dock alongside it.

21 Likes

A lot of thoughts on my mind have already been stated, but I do overall think that this new feature is a really good one, it just needs touching up.

One of the only complaints I have currently is that when an AutoSave occurs it has the need to flood the output with the source of the autosave.

While I think it’s a good idea, people like myself (who prefer to have the output window tucked away and relatively small) this can become problematic as it takes a ton of space.

All of that red space becomes useless now (Apparently overlapping bugs are a thing as well, which isn’t great either)

The purple auto recovery message already sends you to your auto recovery files so I don’t see the need in putting the source as a directory.

Furthermore a lot of these elements that are added to the current output window need to be moved, badly. For example; when you view your explorer it isn’t filled with a bunch of settings, to get those settings you need to either open up your studio settings, or some modifications (such as viewing certain services) can be found in your model tab. Like the services one. https://i.imgur.com/fJAiRiO.png

Overall I’d suggest moving these settings in to their own menu, rather then attaching them right on the output.

7 Likes

This feature deserves a 6 foot apart high-five :raised_hand:

2 Likes

Wow, this looks so fancy! I spend most of my time in the script editor so this will be useful for me! Thanks!

2 Likes

Really glad the Output is getting updates! Excited to see where this goes. Though there area few things that would make usability better.

  1. When using the dropdown menu, I can only press the arrow. I should be able to click on the word itself and the dropdown should appear.

  2. When clicking on the arrow to drop down the list disappears when my mouse is clicked down, then it’ll open/close after mouse up.

Hope these get resolved. Keep up the good work!

3 Likes

All logs are actually saved to your Roblox directory. It’s a few folders up from where you would find files like “/textures/face.png”. Your seed is probably still there somewhere.

2 Likes

This new design looks awesome! I hope it doesn’t give any warnings like the Asset Manager (does it?) Still, thanks for the update.

1 Like

I agree with what you said here as the current design is simply unusable with my Studio window configurations:

6 Likes

I like its capabilities, but since I’m a vertical-output user it just doesn’t look as good as I expected.

One more thing is that it doesn’t have any sort of vertical padding from the bottom which makes it not feel good (only for it resized the way in your post, vertical and narrow)

image

Increasing the width causes the padding to return as the old output.

2 Likes

When I load into studio, literally all of the output is squished into the right quarter of the window, leaving the left side to be only take up by the error and warning symbols.

At least it’s possible to resize each section, but it’d be preferable if it would startup in a position where it is at least readable.

5 Likes

Literally the thing i’ve always been waiting for, debugging is going to be so much easier now!

2 Likes

I don’t like that the print function can throw errors. I imagine this will cause incompatibility issues with some older games. I also don’t see why the print function errors with ‘invalid key types’ and recursive tables, neither of these things should be an issue.

For invalid key types, tostring can be used on any value type to convert it into a string, meaning any value should be compatible.

For recursive tables, when one is reached it could simply be printed the same way old tables were, rather than throwing an error. Developers shouldn’t have to remove self referencing values from their tables just to be able to print them.

Example for recursive tables:

local PlayerData = {
	Player = game.Players.LocalPlayer;
	Guns = {};
}
local Gun = {
	OwnerData = PlayerData;
	Ammo = 10;
	Damage = 10;
}
table.insert(PlayerData.Guns,Gun)

print(PlayerData)
-- Output
{
	["Player"] = dogwarrior24,
	["Guns"] = {
		{
			["OwnerData"] = table: 0x62538af12d5a0ea8, -- Self referencing table printed like old output
			["Ammo"] = 10,
			["Damage"] = 10
		}
	}
}
6 Likes