Skip to content

Feature: Export Stylized Data#2348

Open
ImUnicke wants to merge 20 commits intomasterfrom
feature/ExportStylizedData
Open

Feature: Export Stylized Data#2348
ImUnicke wants to merge 20 commits intomasterfrom
feature/ExportStylizedData

Conversation

@ImUnicke
Copy link
Collaborator

Instead of export tech being specific to the Debugger window, I would like it to be a reusable public API and allow alternate styles to be configured for custom use.
Currently, the 'raw' and 'readable' exporters from Debugger are now available for use. I plan to add other base styles for export and have further adjustments to make so that DLO groups are handled properly when exporting.

ImUnicke added 10 commits March 12, 2026 13:13
* app:RegisterDataStyleExporter(style, funcs) -- allows registering a new Exporter of a given style
* app:ExportStylizedData(window, style) -- allows performing an Export against a given ATT Window using a given style
…xport style

* Debugger 'raw export' now simply does a 'raw' style Export against itself
@ImUnicke ImUnicke self-assigned this Mar 12, 2026
@ImUnicke ImUnicke requested a review from DFortun81 March 12, 2026 20:56
DFortun81
DFortun81 previously approved these changes Mar 12, 2026
@DFortun81 DFortun81 self-requested a review March 12, 2026 21:02
@DFortun81 DFortun81 dismissed their stale review March 12, 2026 21:02

Incomplete test

@DFortun81
Copy link
Member

{ -- Treasures headerID = -56, g = { { -- Artificial Extrapolator objectID = 142344, basename = "Heavy Silk Bandage", g = { { -- Essential Artificial itemID = 9278, }, }, }, }, }
and the readable format:
n(TREASURES, { -- Treasures { -- Heavy Silk Bandage groups = { i(9278), -- Essential Artificial }, }, }),

Something doesn't look right for the object "Heavy Silk Bandage" in the readable format.

@DFortun81
Copy link
Member

Also "g" doesn't seem to be indenting in raw mode

@DFortun81
Copy link
Member

The header declaration needs to be where it was for instance map data as it does not return mapInfo in Classic.

@ImUnicke
Copy link
Collaborator Author

{ -- Treasures headerID = -56, g = { { -- Artificial Extrapolator objectID = 142344, basename = "Heavy Silk Bandage", g = { { -- Essential Artificial itemID = 9278, }, }, }, }, } and the readable format: n(TREASURES, { -- Treasures { -- Heavy Silk Bandage groups = { i(9278), -- Essential Artificial }, }, }),

Something doesn't look right for the object "Heavy Silk Bandage" in the readable format.

Hmmm that's weird. I never saw anything like that, I'll have to test on Treasures.

@ImUnicke
Copy link
Collaborator Author

The header declaration needs to be where it was for instance map data as it does not return mapInfo in Classic.

Hmmm, will have to fix it differently then because the current map was always being double-nested, so that's not possible to simply revert

@ImUnicke
Copy link
Collaborator Author

The header declaration needs to be where it was for instance map data as it does not return mapInfo in Classic.

@DFortun81 Ok this should work as before for the situation you mentioned, while also not duping the header in regular Maps

I'll test more later with what's going on with what you're seeing for indentation, there was an issue where headers without a constant were not returning their id properly, so maybe that was part of the cause.

@ImUnicke
Copy link
Collaborator Author

@DFortun81 Would you like to re-test on latest if there's any discrepancies you can find? The formatting and indentation look accurate from my tests. Your "Heavy Silk Bandage" example might be an issue with pre-existing Debugger data, since the 'basename' is saved based on the visible Tooltip when looting an object, so it's very easy to begin looting but then cursor over something else and mess up the basename field. However I've shifted the priority on exporting basename and name such that the real, known name will be used instead if existing.

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.

2 participants