#tooldev-general
1 messages · Page 29 of 1
That said, even if we assume 500k concurrent players each doing 100 trades in an hour, that's still only 50 million datapoints. If a ratio is stored as two 32-bit integers that's < 0.5 GB worth of data, so storing a full dataset for the hour seems feasible to me.
Very difficult to know the limitations that they are playing with. I would be surprised if it was as simple as a data storage concern.
I'd would bet that for simplicity the currency exchange is centralized with a single server handling the trading book and actual trade matching, with trade offers being presented from other servers through a database system.
🤷♂️🤷♂️
I like to assume there is a reason for what is not done as much as there is for what is done.
I guess you’re right in that your calculation would provide the average trade ratio. But it ignores trade size completely. I would prefer the current calculations for creating an average sale price. Although yes I guess that wasn’t the question.
Or at least what I said didn’t line up perfectly (:
Your definition is arguably more in line with the market.
The reason I focused on ratios though is because it's relatively simple to store/process, and I'm really mostly interested in the distribution of trades, rather than a single specific statistic.
I think every time they add to their api with more economy data a 1 year timer is set. Extended by 1 month for any comment on this channel related to more economy data. Should keep our voices down 🤐. Would hate to be heard mentioning an auction house api. (Whatever that would even mean lol)
they don't move, so account rename is likely yeah
I understand it can be solved with engineering effort, I'm just the API guy so your request is out of my wheelhouse
alright 🙂
Anyone know what the id of Flesh of Xesht is on the cxapi?
I'm looking through the entire list and either I am blind, it has an obscure name/id, or it's not reported by cxapi
PoEDB says blessing-general: https://poedb.tw/us/Flesh_of_Xesht#FleshofXeshtCurrencyBreachUpgradeUniqueGeneral
Oh! thats what that means. Thanks!
I'm assuming that's what it means, like what you'd use when writing pricing notes in the past for items.
Actually - more first party: https://www.pathofexile.com/trade/about
Oh even better
Q for the https://github.com/poe-tool-dev/dat-schema contributors - is there a way to specify that a schema exists only got poe1? Common & only poe2 is straightforward
Contribute to poe-tool-dev/dat-schema development by creating an account on GitHub.
validfor == 1?
I mean when generating the schema rather than consuming it. There are several schemas with validFor == 3 (common) but which don't exist in PoE 2
well, that doesnt sound right (to me anyway) so you probably should report it
do they not exist as trying to read them will fail or do they not exist as they are empty/filled with irrelevant stuff
They don't exist in the game files at all. PoE 2 started as a fork of PoE 1 so most of the files were common, but as time goes on there are files in PoE1 that don't exist for PoE2 and vice versa
(eg. data/atlasregions.datc64 in PoE1 but not PoE 2)
Heads up for peeps still on Bitbucket:
haven't thought about bitbucket in forever, used it back when it had a free tier and github didn't
I really don't like their wanton destruction of stable repositories.
oh forgot to post this here, I wanted to make claude code do PoE stuff for me so I slopped together a bit ole python CLI for it to use
rather I am still slopping this together, just saw the current landscape was mainly MCP tools and you're not catching me dead using that garbage anywhere ever for any reason.
https://github.com/poe-tool-dev/dat-schema/issues/213 opened an issue for this if anyone has thoughts to contribute ^^
At the moment we can: Add a table at dat-schema/.gql -> Common schema Add a table at dat-schema/.gql and at dat-schema/poe2/.gql -> PoE1 and PoE2 schemas Add a table at dat-schema/poe2/.g...
@velvet fog Why did the icons for 3.26 and 3.27 disappear?
didn't enter the core
Thank you for your response. In that case, what do you think about gathering the icons of leagues that haven’t gone core into a separate section? I used to click on icons from leagues like Ancestor or Scourge to check what items were added in those leagues.
@civic crane I have a big list of local schema changes that I've made over the past year but other than copy pasting the schema for each dat, is there a way to export them all?
I've wanted to contribute changes to the dat repo but I always find it hard to group all my changes after fixing a whole bunch of dats
I copy by hand too 🤷♂️ then check diff because poe-dat-viewer doesnt preserve all GQL metadata.
I don't remember but someone from pob team had tooling and updated a lot of tables before.
Do you have an idea when you're gonna merge the comparison tool into POB? At least the beta release of pob?
No timeline on when. Just when it’s ready
Requires a lot of testing to make sure it doesn’t break
This seems to not coincide with my hope of like this weekend XD But thanks, looking forward to it 🙂
If you want to use it now, you can set up a dev install to test it
Yea I was gonna fetch the fork I just wanted to... be lazy
New thingy for poe data tools https://github.com/adamthedash/poe_data_tools/releases/tag/v1.5.0
Built w/ @carmine merlin
dump-tables command now has a --mode=json flag which exports the DAT tables in a consistent diff-friendly format. Should be useful for anyone looking to diff changes across game versions
I'm currently working on updating the existing schema for poe 1 and then eventually all of poe 2
Want to have all the tables mapped so can see the diff between updates to identify unknown columns or things missed from patch notes
I have a slop coded repo in rust around here somewhere that can roundtrip the gql files into an ast, allow programmatic manipulation, and write them back out, preserving comments. I was going to make an add/rename/filter sort of toolkit with it but got distracted by other games. Could probably be kicked into a json->gql exporter/updater or a gql differ. Lmk if that sounds useful (it is definitely not a finished product or anything)
@carmine merlin what format is your updated schema in?
Knowing other people's workflows might help direct/motivate me in the event that I burn out on noita related stuff
I've just been looking at adding / fixing it in the poe dat schema repo as it's used for poe dat viewer
My goal is to have a historical repo of all the dat + plain english files so that when GGG releases an update and has patch notes I can then map the patch notes to unknown dat columns or just better understand animation / other file types
End goal would be to have it automated by auto downloading new updates as they are pushed to the cdn and having a github script that makes a PR with the updated files and the matching patch notes for that update
Only thing I'd have to do then is update the schema on changes and everything else is hands off
How do overlay get item data from the client, i was wondering if its possible to get trade data realmtime so if ur trading with someone example 100d worth scarabs it goes logging if everything was sendrecieved etc
CTRL+ALT+C
Ello, I've spent the past couple weeks bashing my head against the TDT file format. I've made some progress but have hit a wall. I've drawn from some prior work here:
https://gitlab.com/zao/poe-cpp/-/blob/master/libpoe/poe/format/tdt.cpp?ref_type=heads
https://github.com/repoe-fork/webapp/blob/develop/src/lib/tdt.ts
My latest notes are here:
https://github.com/adamthedash/poe_data_tools/blob/feature/tdt/images/tdt_spec.png
The main unknowns are the "subtiles" section - the structure appears to be controlled by two bitflags at the start of each subtile, but I've not been able to fully decipher it.
There's also a tail section which is controlled by some bitflags aswell. I've got most of that figured out but there's still some cases where my assumptions don't line up.
If anyone has any experience with TDT's (or TGT I think are similar), or if there's any other codebases that work with them, would love your input.
Or if anyone wants to join me in figuring the spec out, I've created a hex viewer (https://github.com/adamthedash/hex_viewer) and parser prototyping library (https://github.com/adamthedash/annotated_parser) which should make the trial and error easier.
After going through pretty much all of the formats, I'd say TDTs were the hardest to figure out. If you search the history of this channel there are some discussions of it that should help you out.
I've already been through the history with a fine tooth comb 😅
I just got this response from GGG do i need to provide a local redirect uri in order to get acces to oauth "We do require a redirect URI for the authorization code grant. You can get started with your project using just the client credentials grant. The account scopes will be available but limited to your own account. "
The API doc section includes this piece as a requirement to include in the request. See here: https://www.pathofexile.com/developer/docs
I am trying to get access to the audio in poe1. I want to use it for my rpg campaign. But it seems all the existing guides are out of date? Anyone who has exported audio lately who can assist?
depends what you want specifically, some is in dat files, some is in bank files
Well, specifically, I want the ambient sounds, the music, and the background screams in Piety's temple.
the music is the least important.
poke around in both and you should be able to find everything
I seem to have only .bin files.
Might be on RePoE already, but if not you can export .ogg files yourself with this: https://github.com/adamthedash/poe_data_tools/releases/tag/v1.5.1
poe_data_tools --patch <1/2> list "**/*.ogg" and poe_data_tools --patch <1/2> extract <out_folder> "**/*.ogg"
(I think ogg is a standard format?)
Thanks. I have this program. When I input the command you provided, it tells me that it could not create folder. I am running with admin rights.
Hello, newbie here.
I'm trying to get access to the API to build a tool for damage calculation. I applied to GGG a few days ago and got a swift response (same day) about needing to provide a different redirect URI, which I did in the reply, but since then it's been total silence. I'm curious about how long on average it takes to get access and whether I failed in some way already. I'm a little lost here…
Best regards!
Oh weird, unfortunately I don't have a Windows PC so testing on that has been limited. Couple Qs:
Are you running the program from an external drive / outputting to one?
Can you try one of these:
- Specifying a local folder to use as the download cache:
poe_data_tools --patch 1 --cache_dir "./cache" list - (If you have poe installed with steam) telling it to use your install folder:
poe_data_tools --patch 1 --steam "C:\Program Files (x86)\Steam\steamapps\common\Path of Exile" list(path might be different if you don't have poe installed in the default place)
Googling suggests it might also be an issue with how you provided the <output_folder> path, if you could share the full command you used
Thank you for all your help! It was definitely user error. I got it working.
Sweet! Let me know if you've any feedback or things break 🙂
Some had to wait ~2 months, some ~3months; vibecoders made waiting worse
I waited ~2 months, a same-day response about an api request is relatively surprising. I guess you just sent the email the day they cleaned the mailbox and were lucky :P
i wouldnt be surprised if he just skims the email, sends the same template message (most people probably are missing the redirect url thing/account client thing) and then puts it in low prio pile
with poe2 0.5 (probably) in the next month or so i would assume they are rather busy
Oh gods, that repo is still public?
v7 was quite a while ago, well before PoE2 I think.
I see, thank you
There any known place where the dat file names exist with capitalization still?
It's all sPoNgEbOBcAsE.
Oh hmm there are Loader:: class strings in the binary that are still the pascal case version
wait is running strings to avoid manually identifying words and acronyms a tos violation lol
Just kidding those don't even cover all of them
Its the weekend
It wasn't, when I applied, but anyways
where are the poe api's documented
Agreed. But u stated that u havent heard from them for a few days.
in the docs https://www.pathofexile.com/developer/docs
Friday was a few days ago. Might hear from them today hopefully
Took a small detour to add a function that draws the object hitboxes. Apparently one of the safest places to get hit is the head:
Here's what the hitbox looked like in 2.5:
Is this tool available publicly, or something you're making?
Just a little project I've been working on for 10-ish years. Back in the 2.x era it was just a model viewer for characters and monsters and their animations, but over time it evolved into a program that can read a GGPK/Steam directory and pretty much every file type.
One of my latest projects has been working on a terrain generator where it can read a graph/area layout and build a full zone. The main limitation is that I made my model viewer in a browser for convenience, and areas larger than ~2,000 terrain tiles crash the browser.
I've also been working on a particle effects engine for things like fireballs, smoke, gore effects, etc.
Just when I start to think I've done everything and there's nothing left, I find about 30 more things to investigate and turn into features. Or one of the devs accidentally includes a new file type (such as an Excel file or Maya file or Windows shortcut) so of course I have to add support to read and view it.
Have finished updating all the broken / missing column tables now
Figured out all the table references in the league files and just have the _Core.gql one left with 270 rid entries left to check. Will try and get through all those tomorrow
https://github.com/LocalIdentity/dat-schema/commit/cc17a3d701efdfc090a3bc013dc59594d0dbedbd
@civic crane hope I've handled these correctly as I'm not 100% familiar with your schema format
I've been messing around with that dat-schema slop that I mentioned - I don't think it's useful quite yet but I'm pretty sure it will be. ``` ✘ ~/repos/dat-schema-rs main ± cargo run --release --bin dat-schema-tool --
Finished release profile [optimized] target(s) in 0.06s
Running target/release/dat-schema-tool
Utility knife for dat-schema manipulation
Usage: dat-schema-tool [OPTIONS] --schema-dir <SCHEMA_DIR> <COMMAND>
Commands:
layout Show byte layout of a type (field index, name, type, offset, width)
get Print a type/enum definition
list List all types and enums
find-refs Find all types that reference a given type
set Set a field at a byte offset or field index
remove Remove fields by converting them to unnamed padding
override Duplicate a root type into poe2/ for override editing
create Create a new type definition
create-enum Create a new enum definition
delete Delete a type/enum from the schema
rename-type Rename a type/enum across the entire schema
validate Validate the schema
fix Fix schema issues automatically
help Print this message or the help of the given subcommand(s)
Options:
-d, --schema-dir <SCHEMA_DIR> Path to the schema directory (e.g., dat-schema/dat-schema) [env: DAT_SCHEMA_DIR=]
--data-dir <DATA_DIR> Path to data directory containing info.1.min.json, info.2.min.json, poe1-valid-tables.txt, poe2-valid-tables.txt [env: DAT_DATA_DIR=]
-h, --help Print help
Probably the most notable feature currently is the validate and fix option(s) which try to do automatic validation and fixing of $issues, where $issues include things like replacing invalid types with padding, padding schemas that aren't long enough for the table, truncating schemas that are too long, and splitting poe1/2 in the event it's fixing something where it makes sense:
✘ ~/repos/dat-schema-rs main ± cargo run --release --bin dat-schema-tool -- fix --help
Finished release profile [optimized] target(s) in 0.02s
Running target/release/dat-schema-tool fix --help
Fix schema issues automatically
Usage: dat-schema-tool --schema-dir <SCHEMA_DIR> fix [OPTIONS] [COMMAND]
Commands:
pad-to-width Add padding to match actual dat row width
replace-invalid Replace impossible fields with padding
trim-overflow Remove fields that extend beyond dat row width
prune-missing Remove schema types that have no matching dat file
create-missing Create stub types for dat files with no schema type
help Print this message or the help of the given subcommand(s)
Options:
--filter <FILTER> Only fix types matching this substring
-h, --help Print help
It's got a working concept of what's provably not possible at any given offset - I'm hoping to flush that out and then add a layer that is "things that are probably right" which obviously does not have the same confidence
Once I get the type validation finished and tool up the other code that's generating that running so the definitions are available online, it'll be usable as a CI tool if nothing else
@carmine merlin This is what the current version says about your branch: ERROR@1632:1633 "expected a StringValue, Name or OperationDefinition" } ERROR: Failed to parse 'ScoutingReports': Parse errors: ERROR@13:14 "expected a StringValue, Name or OperationDefinition" } ERROR: MicrotransactionAppliedInventoryItemArtVariations.Id (index 0): references unknown type 'mtxtypegamespecific' ERROR: AncestralTrialTribes: duplicate field name 'NPC' at indices 1 and 19 ERROR: [poe1] GoldPriceFromItemLevel: schema row width 28 bytes, dat file row width 12 bytes (excess 16 bytes) ERROR: [poe1] MicrotransactionJewelVariations._ (index 5): type '[_]' is impossible at offset 40 (validated against: array) ERROR: [poe1] HeistChestRewardTypes.RewardRoomName (index 4): type 'string' is impossible at offset 32 (validated against: string, file, directory, color)
https://github.com/adamthedash/poe_data_tools/releases/tag/v1.6.0
New dump-tables --schema=<path> option to use a local custom schema.
(v1.5.2) Also .fmt support added for translate along with the spec diagram.
This is interesting, does this operate on the .gql files or the generated schema json?
On the gql files
Roundtrippable ast (with comments) editing/validation basically
Could be quite useful for this https://github.com/poe-tool-dev/dat-schema/issues/213 that myself and @civic crane were discussing. He's looking to move to two independent schemas if we want to support poe1-only tables. So being able to load-split-serialise back to gql would be a big help for crafting that PR
Yeah I can trivially split them either entirely or piecemeal, while also ensuring that it's reliably 1 definition per file with matching names
With my modification and fix options, it currently edits poe1 in place, and edits poe2 in place or as a new file (for either overriding or poe2 only stuff)
it'd be way easier if it were entirely split though
paging all tool maintainers who use npm:
https://www.stepsecurity.io/blog/axios-compromised-on-npm-malicious-versions-drop-remote-access-trojan
Prolly good to check your tool right now if you pushed any releases in the past week
how are positions on large cluster jewels for the noteables calculated?
iirc its based on some id?
https://theodorejbieber.github.io/PoEClusterJewelCalculator doesnt work anymore with the refracting fog tech so im trying to figure out what the logic is which node goes where
The passives have an implicit order in some table somewhere, that determines in which order they're laid out around the jewel.
yeah i read somewhere (i think i am not sure) thats its based on the internal id, lowest goes 1 highest goes 3
Not sure if anyone has cooked up a richer resource now that you can transform jewel enchantments and craft weirder jewels.
i just cant find anything on this but this is how i remember it
is there any list where i could find id's for every noteable passive
then i can verify if that logic checks out
Ah yeah, that's what "refracting fog" meant, didn't remember what the currency was called 😄
yeah im working on something, just need to verify that the base logic is correct
surely theres a json somewhere with all the notable passives
The author of the site you mention has a fairly elaborate readme: https://github.com/TheodoreJBieber/PoEClusterJewelCalculator/blob/master/README.md
The numbers associated with each notable that are used to determine the position of them on the cluster jewel are IDs of the Stat used on the notable.
oh yeah i think this is where i read it
❤️ will check this now
does anyone host images for passives aswell here by any chance
RePoE shoud have em
was a pain to put everything together https://hawolt.com/poe i have it here for now
thank you @worthy cape @carmine merlin and @charred lake ❤️
tft server imploding it seems, anyone back up the tool dev channel history? 😅
Soon we have a hideout editor
Chaos Ledger — Free Mirage Economy Tracker
Hey exiles, I built a free economy tracker for Mirage league and wanted to share it with the community.
What it tracks:
Live price charts for 2,500+ items (uniques, currency, div cards, gems)
Currency ratios with trend direction
Biggest price movers in the last 3-6 hours
In-app price alerts when items cross your threshold (Pro)
Crafting profit calculator (Pro)
Some interesting findings from the last 3 days of data:
Mirror of Kalandra moved +24,665c in 12 hours
Awakened Enhance Support spiked +107% overnight
309 items moved more than 5% in price in the last hour
Free tier covers price charts and currency ratios. Pro is $12/mo and unlocks market intelligence, alerts, and crafting calc.
https://chaosledgr.com
Would love feedback — especially on what data traders find most useful. Actively building this out.
Need examples of the paid features and functionality.
Theyre described pretty well so possibly "need" is a bit extreme. But it would be easier for users to pay for a tool imo if its more obvious what they get.
I swear windows keeps finding ways to fuck the developers over
Had 16 broken releases ever since I started using powershell due to code signing and couldn't catch the issue because the first users were not having any problems; thanks PowerShell 5.x -Encoding utf8 for arriving with BOM you piece of shit microslop
If I had a pinecone for every time I got UTF-16 stdout/redirects, I'd have a non-zero amount.
I also routinely try to use WSL tools on UTF-16 files and get confused when they're generally just ignored.
Leading to ergonomic things like this:
$ while read n; do iconv -f UTF-16LE -t UTF-8 "$n" | jq -j 'yadda(yadda)' | iconv -f UTF-8 -t UTF-16LE | sponge "$n"; done < victims.txt
Man my job is to change html background color from white to blue and be overpaid for that, how was I supposed to know that BOM is a thing 
UTF-8 with BOM is the best thing since sliced butter.
Makes it way easier to guess encodings when you've got a nice little magic word at the start of the first line to trip you up.
My cortizol levels and overall life satisfaction have improved greatly since ditching microslop, would recommend 👍
any chance you also know where the descriptions for the noteables like e.g. Unspeakable Gifts come from Im looking at the source but 😓
In the tree file
where did POB originally get the files from? https://repoe-fork.github.io looking at this some of the stuff POB has I cant find here
Which files do you mean?
https://github.com/PathOfBuildingCommunity/PathOfBuilding/blob/454eff8c85d24356d9b051d596983745ed367476/src/TreeData/3_28/tree.lua this for example
Everything comes from the game files if you're wondering how those export scripts work
RePoE just puts it in a nice format for other people to read
i looked at the ids, the internal names nothing i grep anywhere links to each other on repoe fork
The tree.lua file comes from the game files but GGG provides us with a JSON format of it so we don't have to extract and build it ourselves
Also <> around links hides the popup fyi
mhm I see
table question
does anyone have a general idea of how to detect potential market manipulation/price fixing in specific niches, i.e. beasts?
im cooking up a small tool that will automate price analysis for beasts, and i would also want to safeguard from low-confidence listings, bots, etc
(yesterday i got scammed out by lowballed fenumal arachnid price and now im salty)
my guess would be: do a slice analysis for an hour of data, filter out mass listings from single accounts, potentially flag these accounts if they are known for lowballing, and then compute a weighted winsorized median over that hour, run that for more hours to collect more data on trends and output final based on 24/72h analysis instead of min live prices
but if anyone knows this topic better and can weigh in with advice, id greatly appreciate that
HAHA totally random and absolutely comical to me but i posted ages ago about how theres an empty space in the connections (lines/arcs) texture, I might have just learned why. ggg's original texture might be 1435x1435 but when they use radtools to encode it to DDS, BC7 uses block compression in 4x4 pixel blocks so it would add an extra pixel to make it divisible by 4 and fit the blocks. although running a quick test after writing this to confirm seems like the dds header keeps the 1435x1435 size and gpu probably ignores the last pixel from the looks of it. maybe depends on the encoder hmm thought i solved this but now its going to annoy me even more, god damnit
if you only count instant buyout listings that existed for less than say one hour, that should take care of most price fixing, only thing it wouldn't would be two plus people coordinating to list for very high prices and buy for very high prices, inflating something low volume
and I'm not sure how much that matters anyway
mhm out of all abbreviations, this is what the ai decided to go with
That holds for pretty much all block-compressed formats, every mip level has dimensions ceiled to multiples of block width/height.
You still give the correct truncated dimensions for the mip chain and the GPU clamps/samples/loads correctly with tex-coords.
I've started to love DDS though, brotli compressed dds is pretty good surprisingly. avif still king for size. ktx2/webp meh
#png warrior
jxl gang
I got excited to hear about a new format I havent heard of but with that browser support rip
any ideas what i could change? https://poetoolbox.com/clusterjewel im probably stuck in my own vision so everything seems very clear and self explanatory to me, maybe someone here has some questions or doesnt undertand something on that site
brief summary would be a helper/planner to figure out how to get your desired notables on a large cluster
i would guess the 95% use case for this would be: i want to select 2 nodes i am looking for and both passive skill nodes need be be in the front, as the back node is rarely taken because of the additional required pathing node (assuming a minimal, 8 passive large cluster). the tool could then even create a trade link that fulfils those requirements.
at least that's what i imagine this tool could be useful for. tbh, i don't quite understand what the goal of it is at the moment and how to use it.
ok that is exactly what it is, guess ill try to add some text to explain it a little
how to use it would be to select something, but thats good to know need to make that clearer
Tooltip persists when clicking on a selected node. Would be nice to be able to switch from Large to Medium/Small without having to unselect all the notables first
mhm been debating about the hover thing, any reason why you expect the tooltip to dissapear after selection?
Well when I select it to make it disappear, the tooltip probably should disappear also 🙂
I'm trying to use poe_data_tools on my local game files with the hope of speeding up the art dump. I noticed these flags
-p, --patch <PATCH> Specify the patch version (1, 2, or specific_patch)
--steam <STEAM> Specify the Steam folder path (optional)
--cache-dir <CACHE_DIR> Specify the cache directory (optional)
I don't have the game on steam, only from the ggg installer. Is that cache-dir what I hope it is, or smth else? as in, can I point to my game with that?
also, would Content.ggpk be the main thing it's looking for?
Last time I touched JPEG-XL, PoB got detected as malware. ^_^
I've dug thru poe_data_tools, looks like steam only 🫠 I'll stick to CDN I guess
@velvet fog https://poedb.tw/us/Breach_league
League’ is misspelled as ‘Leeague’.
https://poedb.tw/us/Breach
On the Breach uniques page, only the new uniques from 3.27 Keepers Breach are displayed, and the previously existing Breach uniques are not shown.
Yeah sorry only steam or cdn atm. I'm away on holidays this weekend but I can take a look at adding it when I'm back next week
no worries, amazing tool regardless 🙂
Schedulers are fun.
sites that make clickbait over niche mailing list posts are interesting
Phoronix is indeed Phoronix, but there's some interesting meat for people who write that kind of code, especially from a portable perspective.
no judgment
From what I hear of the fallout, PG adapted their code and the benchmark might have been a bit hosed.
jia tan flashbacks based on the title
man this entire time the tree had a simple cpu distance check for mouse node hover check and my dumbass did the whole frame buffer object with object id for pixel perfect hovering which was such a massive pain cause i didnt know shit about opengl at the time and it made everything more complicated all for me to just remove it right now, dont think ive ever wasted so much time on something.
its actually surprising how far off you can trigger the hover especially on small ascendancy nodes and i never noticed and probably would have never noticed either
@velvet fog The Flavour Text Search feature in POE1DB allows you to search the flavour text of newly added Exceptional Gems.
However, the Flavour Text Search feature in POE2DB does not allow you to search the flavour text of Lineage Gems.
I've not actually used the standalone poe install before, is it one mega .ggpk or lots of smaller ones like the bundles?
one huge file
LFM
Automation is the best wonder of programming
certainly one of the most satisfying
I only know cvs unfortunately
The pharmacy?
Concurrent Versions System (CVS, or Concurrent Versioning System) is a version control system originally developed by Dick Grune in July 1986. It builds on top of an older version control system called Revision Control System (RCS), adding support for repository-level change tracking, and a client-server model. CVS servers normally run on Unix s...
I was just making a joke lol
is there more data available about the current game other than Client.txt?
so far it seems like it has zone data, a message when you die and thats about it
Client.txt within the logs directory of the game files
something like quest progress, worn items or anything about the character would be nice, i guess worn items could be pulled from the official api but quests?
@velvet fog https://poedb.tw/us/Replica_Gifts_from_Above
Replica Gifts from Above does not have the Replica icon on its border, and its flavor text is also different from the in-game version
Trigger Level 10 Consecrate when you deal a Critical Strike
(30—35)% increased Global Critical Strike Chance
(10—15)% increased Light Radius
(40—50)% increased Rarity of Items Dropped by Enemies killed with a Critical Strike
Inflict Hallowing Flame on Hit while on Consecrated Ground
(Attacks made against Enemies affected by Hallowing Flame...
Anyone knows how the name hash works here for PDIR child entries? Tried lowercased -> murmur2 of the file name as here: https://github.com/zao/ooz/blob/ff5aeb9e45e362e8d6bb1199aa82406285dd2a18/libpoe/poe/format/ggpk.cpp#L154-L157
But hashes don't seem to match those stored in the ggpk
file: sha256(contents), pdir: sha256(file,pdir sha256)
That's for the 32 byte digest though, I'm talking about the u32 at the bottom of the image above
Ah figured it out, UTF16/8 byte encoding issue. It's lowercase file name -> UTF16LE bytes -> murmur2
anyone knows if the branch that two guys were making about build differences when following a guide for POB is somewhere public?
quest competition is not in the logs (as some who has a quest tracker i wish there was lol) you do rewards in there, you can maybe use my log viewer to help look at it https://github.com/juddisjudd/poe2-log-viewer
oh i was talking about poe1
eh same goes there really
but yeah best i could find in logs was nothing related to quests sadly
yep :p
was wondering if maybe there are other files hidden somewhere
i wish lol
right now for like my quest tracker you have to do some guess work and sort of track where the player has gone and such but without doing some sort of ocr of the screen or something similar log wise its hard to go off of
i guess i made something similar to what you have done with poe2
i guess thats just how it has to remain then
a lot can be learned from Lailloken's overlay too, worth looking at his work
already saw that one, majority of the features that I cant derive from log files would require some sort of ocr or pixel color tracking
basically what lailloken does
yep yep
Use the branch from the PR on our github
Also I've just updated the PoE 1 public schema with a gazillion fixes and additions so if you use the schema for any tools you might want to re-export your data
I'll be looking into fixing it for PoE 2 over the next week or so
For PoE2 I believe the character API has the chosen quest reward bonuses in addition to the rest of the character info. Ninja pulls that info f.ex.
On log-like files, there is only Zuul Client.txt. Attempting to pull anything else is very ToS.
thank you, currently using only Client.txt so I guess im fine, would be dope to have more info but its working good enough even with just that so I just leave it as is
some of the racing people have been politely complaining about lack of quest state info in client.txt, so there's a remote possibility GGG might do something about it
the gymnastics of character tracking ive had to do for my quest tracker following logs has been quite the adventure for sure
gotcha
https://github.com/adamthedash/poe_data_tools/releases/tag/v1.7.0
ggpk support available now. I've only tested it with poe1 but should work fine for poe2.
--ggpk <path/to/Content.ggpk
Hey Exiles,
I’ve spent the last few months building something I felt was missing: a ladder tracker that actually feels modern, looks sleek, and just works. I originally planned to release this three hours ago... but, well, classic dev life happened. Better late than never!
ExileLadderOverlay is a free, lightweight tool that shows your ladder position in real-time, directly on top of your game.
What makes it different?
- Deep Customization: You decide what stats to show and how the UI looks.
- Built for the Grind: It’s designed to be non-intrusive so it doesn't distract you during gameplay.
Check it out here:
https://ladder.nichtjfdochichkennedy.com/
The website does a much better job of showing off the features and UI than a text post ever could.
What’s next?
The tool is still a work in progress. I’m currently working on a roadmap which I'll publish soon.
Stay sane Exile!
Cool! Since you're intending on keeping it free, maybe consider open sourcing it 🙂 Personally I'd be very hesitant to download any new tool that's just an executable that's not already widely used in the community
(also would give a place for people to give feedback/report bugs that you've mentioned in the FAQ 😉 )
Anyone ran into / know if there's any rate limits with the CDN? File format coverage is getting high enough to where I'm downloading like 40GB of bundles whenever I benchmark against a new patch. Wondering if it's something I should be worrying about 😅
first off, cool idea, gunna be blunt with ya, "feels modern, looks sleek" - tbh it doesn't really feel "modern and sleek" to me, the bright yellow/brown/black combo gives me kinda cheap almost like fast-food vibes, Swap the pure black background to a darker gray (#121212 or something), Tone down the super bright yellow to a more muted gold/amber, If you want to try and lean into like poe feeling colors, maybe try these schemes:
#8C0B23, #0D1526, #3D4F73, #F2E5A2, #A6976A
or
#A60D29, #3D4F73, #A6A6A6, #262626, #0D0D0D
I would switch up that font as well to something like:
Inter
Rubik
Manrope
Geist
Golos Text
Seems lke you really liked that gradient splitter line as well but feels off especaill on the main app below the title bar and then user again under the class/level area
Anyone have success using etags for CDN requests? I seem to be getting back 200 instead of the expected 304:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/If-None-Match
RequestBuilder { client: Client, request: Ok(Request { method: GET, url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("patch.poecdn.com")), port: None, path: "/3.28.0.8/Bundles2/Audio/Dialogue.bundle.bin", query: None, fragment: None }, headers: {"if-none-match": "\"61f67d99-d07b2\""} }) }
Response { url: "https://patch.poecdn.com/3.28.0.8/Bundles2/Audio/Dialogue.bundle.bin", status: 200, headers: {"server": "nginx/1.28.0", "content-type": "application/octet-stream", "content-length": "853938", "last-modified": "Sun, 30 Jan 2022 11:59:21 GMT", "etag": "\"61f67d99-d07b2\"", "accept-ranges": "bytes", "cache-control": "max-age=2483131", "expires": "Fri, 08 May 2026 05:00:08 GMT", "date": "Thu, 09 Apr 2026 11:14:37 GMT", "connection": "keep-alive"} }
Paging @modest path as you worked on the etag caching stuff for schema fetching before 🙂
anyone know if art.hearthstonejson has golden card renders for bgs?
can get regular ones but using the golden card's id it just 404s
wondering if the endpoint is different
oh ffs wrong server
poe data tools v1.7.1 https://github.com/adamthedash/poe_data_tools/releases/tag/v1.7.1
.smd file support (Dynamic materials)
Improvements to caching / bundle fetching using the CDN data source
Hello. Is there any official way to get PoE/PoE2 passives? Since API exports them in the form of hashes only
That's some fancy pants Excalidraw specs 😄
@velvet fog https://poedb.tw/us/Microtransactions
https://poe2db.tw/us/Microtransactions#Microtransactions
Would it be possible to categorize the MTX pages into groups such as supporter packs and challenge rewards?
Alternatively, could they be distinguished as shop-purchased items versus non-purchasable ones?
If it’s not something that can be done easily, no problem at all.
SupportPackSets.dat were removed after version 3.13, and manual mapping requires some effort.
Thank you for your response. Since categorizing supporter packs isn’t straightforward using existing data and would require manual work, I don’t think it’s necessary to go that far. It’s likely that only a small group of users like myself pay close attention to MTX details.
I fixed a dat a few days ago that mapped all the mtx to each mystery box they came from. Not sure if you have that info
I don't know this, will check dat-schema later
MicroMigrationData?
Challenge rewards are in AchievementSetRewards, just had a look and it's only some of the mystery boxes in MicroMigrationData
I'm having a look at the other ones to see if I can find something
I've seen this, but there's no PoE2 data
Where do things like Path of Building for PoE2 get the PoE2 tree?
We extract it using a script and the game tables https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/blob/dev/src/Export/Scripts/passivetree.lua
Thank you for the reply. That's a bit unfortunate. Is this okay with GGG though?
PoB and many tools would not exist if we couldn't grab that data from the game files
Untill GGG makes there own JSON export this is the only way
I see, thank you
that mask tho
Looks like soneone might have put a hex on you and your whole family tree.
Dont be holding out on us, we know its TalentTree 3.0 with hex ascendancies and new node types and yeah I wish
Its unfortunately just using the old poe1 jewel socket image
Wonder if GGG is ever going to release all the wild talent tree ideas they thought about for poe2 that never made it
Hey pals do we have accessible info on what's mutating the heist blueprint costs and like multipliers of rogues, blueprint types (number of jobs, assigned rogues)?
I have looked online and found this but it's like 3 years old and the data seems reallyyyy out of date, especially with the changes to layout specific rewards and blueprint types alongside the side room rewards being completely different for some league content:
I suppose I can just sit down and make a spreadsheet about it, hmmmm might as well
Not super familiar with heist stuff but looks like there's a few dat tables that have multipliers / cost related things you could have a look at https://github.com/poe-tool-dev/dat-schema/blob/main/dat-schema/3_12_Heist.gql
Appreciate it ^^ I'll take a look
Argh, I love finding stuff I needed after a built something 
- Made this : https://mtx.coldnorthadmin.com/ because I had POE MTX points to spend
- Found the poedb shop table after.
@velvet fog I might have missed it, but the League page (https://poedb.tw/us/League) cannot be accessed directly and can only be found through search. If possible, could you please add a link to the League page on the main page (https://poedb.tw/us/) ?
path of exile is simply a tool to test your path of building creation
I just noticed that the "Concurrent Players" menu under the NEWS section at the bottom of the main page leads to the League page (https://poedb.tw/us/League#ConcurrentPlayers). However, I believe it would be easier to find if there were a hyperlink explicitly labeled "League."
Looks like passiveskilltreenodeframeart.datc64 has CharacterPlanning and AscendancyPlanning art, which means all the blue nodes and connections are meant for an upcoming planning mode :O
Does anyone know if item mod weights are from current client-side data, or from an earlier version? I remember a notice on poedb saying that they were no longer updated client-side starting with some recent game version, but that notice is no longer there. Are we back to having direct access to this information? something else? Thanks for any info!
you might be able to find it in the channel history, but afaik it was discovered that poe1 mod weights were in fact still being updated in the data
Looks to still be there for PoE2 at least. https://poe2db.tw/us/Gloves_int#ModifiersCalc
oh yeah, was asking about poe1. thanks folks 🙂
PoE1 hadn't updated its mod weights for a while, but it seems to be correct recently.
The weights in PoE2 data are all 1, so we can only infer them through recombinator.
I assume astrolabe mod weights are fully server-side
Apart from the weight of affixes, almost all other weights are server-side
thanks again, I appreciate the response!
I've emailed the support team regarding the Terms of Use, but I’d like to double-check a specific point here:
-
CDN Icon Usage: Is it permissible to use official CDN assets on a website where users can support the project to unlock features (similar to Wealthy Exile)?
-
Icon Modification: Is it okay to use a customized/edited version of an official icon as a website asset? For example, using a Divine Orb icon but filled with a custom rainbow color.
I want to ensure that using these modified official assets for a community tool doesn't violate any policies. Thanks!
unlikely you will get legal support here or from the support team. you will probably get pointed at the tos at best.
afaik its recommended to host assets yourself but if your project is small enough you will be probably fine. just get ready for breaking changes with no info whatsoever if ggg ever feels like it.
you probably will be fine if you modify whatever assets, unless you plan on doing something less acceptable by the general public to the point where ggg feels like they need to intervene
(not legal advice)
Hey,
I'm working on poe.re for the trade search lookup with selected Map Mods, What we've done for now is to relay the search call to a Worker to avoid Browser CORS issues, however we are hitting rate limit issues as we only have one outbound IP address (or small range anyway).
By looking at the headers from GGG's API on trade site we can easily see that rules are setup for IP and also Account, my question is, do we have a higher ceiling if we authenticate the users and do the search calls from the same IP ?
possibly but there aren't really defined expected rate limits and they can change when ever. I can say I have seen the IP limit go up once I am using a session, but I haven't tested with two accounts on one IP to see what happens tbh
it may just be easiest to run requests on user's browser so they get there own rate limit possibly, although i'm also not great at server/client stuff
yeah sadly their current configuration of the API does not satisfy browser CORS policies, maybe the best thing is to go ask them
you're running searches yourself? not quite understanding what you're doing, but why not just generate trade links and have the users use the links?
it's the new trade search function here: https://poe.re/#/maps
I generate the search API call with the proper selected affixes however since we are inside of a browser (not an app), the browser will reject the query since we are doing CORS calls to pathofexile.com, so the workaround has been to generate the search link in a Worker and then return that back to the webpage. Which then causes rate limit issues since the worker is the one doing all the API calls with a single IP
been a long time since I did trade, but you should be able to generate links without a call, right?
If we can I'd love to know how, from what I'm understanding the flow is to first do a search call with the affixes and such and in the response we have the id being the generated search link
As the search is being cached in GGG's servers and the link does not reflect the parameters but a unique id generated for your query
PoB for instance generates very large links (no ID) with "no session mode" but not sure if that still involves an API call
mh, not sure if I see the full picture yet but you can build a link and just open it - no need to make any requests
as you're not showing the results on the page there's no need to make any requests
PoB does query the API directly but since it is not in a browser it has no CORS issues
I don't see why you would need to if you just build the query but
click on Mirage, request data - there you can see a JSON. Just append that to ?q=
By build the link do you mean having alink like this: https://www.pathofexile.com/trade/search/Mirage/Ypg9wGJgiY or do you mean to generate a link that would open the trade site and do the search query with the proper parameters ?
the latter, like I said PoB does
k so, typing in sw in the imbued support section will make it first entry sacred wisps, which crashes pob
Do you have a build code we can use to reproduce it?
sure
simplified the error down
Anyone know where I can find all the unique tilesets poe2 has? Doesnt seem to be listed like PoE1 has
listed where? you should be able to use the game data if nothing else
Just the list of their names? Should be able to pull them with this https://github.com/adamthedash/poe_data_tools
poe_data_tools --patch 2 list "**/*.tst"
Damn that looks really cool. Is that all legal? It looks like you can extract the whole game this way 😅
We wouldn't have most of the tools out there today if reading the game files wasn't allowed 🙂 Long term goal is to basically cover all the files that are in there
it's also very much not the whole game, just whatever ggg decides to ship with the client. lots of things that are important components to the game are unavailable in client files.
if you want a GUI :p https://github.com/juddisjudd/ggpk-explorer
@velvet fog https://poedb.tw/us/Harvest_league#ModEquivalencies
Could you update Poedb to the latest version for languages other than TW and US as well?
@velvet fog Are these modes ones that can actually be changed, or are they incorrectly entered data? Sorry for pinging you repeatedly.
If you hover the (i) on some of those, the labels seem generally wrong; while if you look at the stats they seem to check out to be fire/cold/lightning ones.
Like these two rows seem to actually be the 5-10% and 11-15% gain as extra.
The modes shown in the DB are prefixes, while the actual modes are suffixes, so it looks like the data was entered incorrectly. Just to be sure, I tested it myself, but it wasn't changed.
The whole mod seems consistent and eligible, except for the blue heading.
fixed
This is awesome but it doesnt really help me find what Im looking for (tileset names or ID's) its a bit confusing 😅.. its just a bunch of raw data once I navigate anywhere, no names or unique id's to each zones tileset type
Have you an example of what the poe 1 data equivalent looks like? I can have a poke around and see if I can pull the same for poe 2
A tileset is a set of themed area graphics and obstacles. Each area uses a specific tileset, although lighting and environmental effects can change their appearance noticeably.
Outdoor tilesets are naturally lit, whereas in indoor tilesets vision is reliant on your light radius and any light-producing decorations. It may also vary depending on y...
Exactly like that but for PoE2
That's probably more of a hand-curated list of area themes from ancient times. What the peeps above talk about as "tilesets" are lists of specific tiles and rooms that terrain generation can pull from for each particular topology.
Yeah seems like that's the case. The names on the wiki don't seem to line up too well with the file data. There definitely are tileset "themes" of some sort in there though: "Cave", "Beach", "RuinedCity", etc
Yeah its like the maps that have the same "theme" or style taken from each zone in the campaign, which one share the same "look"
@grizzled goblet Are you handy with scripting / basic json data manipulation? I think I can pull out the data you want but might take a bit of work to link things together in a similar table to the wiki
Yeah for sure that would help tons
You guys are awesome
data/balance/world_areas.datc64.json
- Id: "G2_1" - Act 2 area 1, "P2_4" - interlude act 2 area 4
- Name: Human readable name Eg. "Vastri Outskirts"
data/metadata/terrain/XXX/XXX.tst.json
- Filename gives an indication of what area it's for Eg. "metadata/terrain/gallows/act3/3_1/tiles.tst.json" - Act 3 area 1.
- Has a list of .tdt filenames - each one is a tile. The filename has the tileset/theme in it Eg. "Metadata/Terrain/Jungle/JungleExterior/Sand/Sand_OverlaySt_02.tdt" - Overall theme is Jungle, specific one is Jungle/JungleExterior/Sand.
PoE data tools commands used:
poe_data_tools --patch 2 translate data2_tilesets "**/*.tst"
poe_data_tools --patch 2 dump-tables data2_tilesets --mode=json "data/balance/worldareas.datc64"
Hopefully that's enough to get what you're looking for 🙂
Really appreciate all the help. Thanks very much
Hey, I made a thing: https://stubobis1.github.io/pathofexile_ap/guide.html
I have a major hangup with linux, that I am stuck on though,
How can we send commands (like /hideout) to machines running wayland?
Hey guys, I've been creating small indie tool last couple of weeks, is there any proper channel here to post it to gather some feedback from users? (PoE2)
and also wanted to ask if any of you have already OAuth provided by GGG, and how long did you wait for that
Reddit might be the best place if you want general players to see it. But feel free to post here aswell for us nerds 😉
Browse every PoE2 unique item. Search by name, filter by mods with sliders, prefilled trade links. Path of Exile 2 unique database.
Trying to get past reddit acceptance of mods for a day xd idk those filters are giving me shit
I've joined PoE2 main reddit years ago and still can't post a simple post with single link for tool 😄 sent info for mods but waiting around a day to accept it xd
prboably need to farm more karma since i am mostly read-only mode
Tool ofc is in early MVP staghe with finished idk around 30 items so far (weapons - bows,crossbows,1h maces) but I am editing it constantly
but most QoL filter staff is already there, and hoenstly I hope this is useful for quick search of uniques idk
need some more users to see if the ideas that I had are working xd
I like it, quite nice for new players that come across their first uniques. Where's the commentary / rating stuff coming from?
from myself
It suposed to be left side - filtering mods quick trading , and right side - kinda subjective opinion etc
for veterans I think it also possibly is useful since i am including all filter with trade search
so actually it is faster than typing specific mod values as in official trade when you have to fill all filters manually
and even going strasight into unique and clicking trade the filters are already there which is helpful and I am suing it myself
that was the whole let's say idea to built sometihng I missed myself
also advnaced filtering is kinda custom from item typ to item type, to cut off all this noise in official trading website , coz there is a lot and providing links to trading anyway allow user to finish advanced filtering on the trade side if he wish even more advanced features
One improvement might be to clamp the elemental/physical DPS inputs to the item's maximum that it could allow (maybe including corrupted ranges).
(input validation in general too)
thanks!
I will work on the ocrruption ranges and input validation for sure, for now I am not sure if it always falls into this 0.78-1.22 rule (or smth like that dont remember)
but overall input validation should be done anyway to disallow some BS
IMO aswell you could do with a disclaimer that the stuff on the right side is your opinion too. I like that you have the "editorial written for patch XXX" in case it becomes out of date between patches
Similar to the source notice for rarity
i thought the title EI commentary would be kinda self explanatory, but I might have been wrong
will try to find the way to include some more info on where it comes from aswell
I moreso mean the rating part, commentary is clear 👍
the idea is to ofc, update commentary and data cross patches thats why i got this right corner editorial mark , when 0.5 hit will update again and again if needed to be on top
first I have to dig in through all those uniques, and probably also solves some stuff on the way, like some jewels and presentation of data there
ahh sure, will add some notes to the infobox close to medal
some "how we grade items" section or so
Tbf, I had no idea what "EI" stood for
thats also I thought for some time, need to rename it xd
I used this shortcut like anyone at this point would know the site 😄
good point 🙂
I thought it was a alteration of "AI" at first
Extended Intelligence
Exile Intelligence!

Thanks guys for the comments, pushed changes to prod already, have to still put some test to the clamps, but overall good changes I think
Cheers !
(will be online probably in minute or two)
Hey all, pretty new here, but working on a project that tracks builds. I had a quick question. Do the URLS for the POE2 trade search have a TTL?
they expire, yes. The best way to deal with that is to generate links with the search query as a query param (?q=) so that if it doesn't exist anymore it'll be created with the same parameters as before
you can zoom around poe.ninja and check some links there for examples
is it possible to see challenges from an api endpoint, I see there is some challenges object in the Account info but nothing else
thanks in advance
not detailed information, no
it has been requested in the past so it is somewhere deep in the backlog
https://exileindex.com/uniques/ - made some changes to navigation across the app, and added some of the most important informations on tiles before main card, went through reddit with this pre-mvp ideas , ofc got smacked (idk what did I expect 😄 ) but received also some feedback I already put into the app.
Would appreciate for some - especially technical - feedback , so I can further improve the experience.
yesterday thanks to some of you I've also added those clamps on values, etc.
If anyone find couple of mins to check and let me know if there is anything which can be improved at this point I would really appreciate.
Also question - any of you have any idea how to get some economy data (prices etc?) I request for OAth access from GGG - but honestly idk what is the policy of GGG behind granting access. Maybe meanwhile/instead you have any ideas how to gather this kind of data to work on?
Things I know that sucks, and are basically placeholder:
- rarity (confirmed by GGG those 4 tiers, common uncommon, rare,mythic - but I would basiaclly have to guess where to put those items - most unconfrimed)
- meta pills - this probably needs whole revamp or re-make
- tiering - also kinda not happy with that - thinkinh on improvements
Future plan (features) :
- Maps - layouts - currently none of that is available anywhere - only some campaign ones but not end-game
- Ascendancy with approachable browse - currently every app including big ones have not cohesive views which is a mix of picutres with nodes, some interactive stuff. Overall a mess
Would highly appreciate any input
Thanks
Browse every PoE2 unique item. Search by name, filter by mods with sliders, prefilled trade links. Path of Exile 2 unique database.
Regarding economy data - when you apply for oauth access you have to state the scopes you need. In theory for poe2 there’s only the exchange data, but it’s not including price data for e.g. accessories etc.
I see, I think when requesting I added the scope etc, still received no info from GGG side for like 10 days. I don't know what is the standard procedure there, have you ever requested one? If so how long did you waited for answer?
I can bet now it is bad time for reqeusts like this 😄 probably they are busy bees rn with 0.5 on the corner 😄
Just be patient!
Will do. Still have tons of stuff to do except data on the app
@dusky zealot triggering my ocd with your hamburger menu having different border radius than your other buttons
honestly i wouldnt even have the background and border on that, just have the hamburger
and subtle background color change on hover
Thanks, I will look into it!
@tall oyster already changed - kept the background and stuff, but at least it kept cohesion across the buttons , credited in dev-log 😉 cheers
much better ahah
working on an update for ggpk-explorer which includes some UI re-design and so I'm tilted with UI stuff lol
kind of hate working with egui compared to my usual web stuff
getting there
I've updated GGPK-Explorer (v1.1.6), new UI and some other stuff.
Also now supporting Linx with AppImage and .deb packages
https://github.com/juddisjudd/ggpk-explorer/releases/tag/v1.1.6
working on a few other things but not sure when I'll push them yet
@tall oyster one note - I would add to readme explanation what is GGPK - I know this is aimed for devs - but some guys which are just beggining may not understand how they can benefit from it
one, two points at the top of readme would do 😉
This may be a dumb question, I see that other sites like poe.ninja use in game art on their sites, are we allowed to reuse assets like the class/ascendancy images?
within reason
Sounds good, was just planning on a simple char pic next to their names, ty! (like in builds for poe.ninja)
this should be totally ok
Cool, out of curiosity what wouildn't be in reason? hard to imagine that option
well, the most obvious thing would probably be porn
actually rewriting it due to deciding to also support steam version :p
Presenting Wraeclast Ledger
A Chrome extension that helps you design and track profitable crafting “recipes” for POE 2. It pulls currency prices from the background script, lets you describe recipes using trade searches or raw currency amounts, and shows per‑recipe profit in a dashboard UI.
You can for example, track the profit from certain corrupts, track profits from recombinator crafts and much more. Because you can specify custom trade URLs, you can use any filter that the trade site allows to make your own recipes.
It auto-updates based on the current trade listings every ~60 mins and tracks live currency conversion prices from poe2scout.
Here's an example 🙂
What benefit does this have over a dedicated site? Not a chance I'm installing an extension which can read whatever arbitrary page I'm looking at
Everything is stored locally on your browser, there are no external API requests to anything except for the ones to the trade site (for tracking prices) and to poe2scout for tracking currencies
(Also ofc it's fully open source and a very small app, so you can do a search for example for ".com" or "www." or "https://" to just find all the urls and verify it for yourself
Oh also, the trade site rate limits your requests by IP address so any functionality around background updates/notifications (coming in an upcoming version) would not be feasible as the trade site would just rate limit the calls from the AWS server
Hey pals, recently made a tutorial on my tool (Heist Curio Tracker), it goes through several of the tasks, could I share it here for feedback? 
This can all be done with a static site though no? As in I go to www.wraeclast-ledger.com, it serves out some js that runs locally on the browser and does the same functionality. Or maybe I'm missing something that deploying as an extension uniques enables?
Asking for permission is very different than asking to ask
Yeah tbh on reading the page it comes off a lot more aggressive than I intended 😅
you've committed a valid POESESSID, which I've now invalidated...
ah sorry :< thought those timed out after 1 day anyway, thanks
anyway, any requests (especially to non-public APIs) on a timer aren't good and runs the risk of account action
Ah, is it frowned upon to retrive trade site programmatically? It doesn't use the hideout or whisper APIs
yuh
generally if you do human things like price checking it is fine, but timers are pretty obvious and are easily flagged in our punishment dashboard
"Punishment dashboard" goes so hard
Cool tool
This is the tutorial and the tool itself at the current state (fixed the collections issue and pushed an update on github), sorry for the quiet voice am a bit sick: https://youtu.be/7eR9DzgUWNk
wish I could use chapters and links in the video but youtube doesn't allow links 😅
Hey there, this is a video showcase of how to use my tool Heist Curio Tracker.
Releases are available at my github repo - search "Heist Curio Tracker" then navigate to "Releases"
0:00 Overview of the Heist Curio Tracker
0:42 Viewing and setting hotkeys
1:06 General application settings
1:33 Enabling PoE Ladder integration
2:40 Recommended game...
I was going to suggest to be careful about how much you store in local storage if you're a guest on a page as an extension, as it can interfere with the normal operation of the page.
Not getting banned is definitely another and probably bigger concern ^_^
it is indeed very quiet, you probably want to postprocess it to be louder
I'm completely rebuilding a feature I discontinued 10 or so months ago and I could use some feedback.
It's a quick-access lootfilter editor/browser for on-demand tweaking. The clip shows:
- simple and specific clipboard matching
- collapse-able sections that mirror the filter's structure
- seamless transition from item matching to global browsing
- toggling a rule for a specific tier
- stylistic changes based on adjustable presets
- moving a basetype to a different tier/rule (and optionally creating a new hidden tier)
- applying and reverting your modifications seamlessly
Because alt-tabbing is Satan and I wanted to play around with filter stuff (again).
It's almost ready for a first public (re)release, just a few more things I want to add (mostly economy or stylistic stuff).
game on
Can anyone share some poe2 item api examples if/when they have time pretty please, the more affixes the better
Don't have any, but the best I can do instead is an upload from the OG tool-dev enabler:
https://youtu.be/sz5ywvsEYSQ?si=B4ifVehB15VfJyPL
Prior to co-creating Path of Exile, I had been doing hobby game development since age 7. In this video I describe my childhood and teenage years learning to program and offer some advice to parents who want to help nurture their kids' interest in coding.
References:
- 0:29 Amiga 500 Photo © Bill Bertram 2006, CC-BY-2.5
- 1:15 The Mystery of Si...
Lmao I'm curious how long it took him to render his fish but at 8 years old god damn. Must have been the best feeling ever writing it out on paper while simulating it mentally and getting to finally try it out
Sword tax for item api example
What are you doing?
I need to see what the mod strings looks like exactly, is the string exactly like a ctrl + c version of an item or something else? Just changes how I plan out stuff, wouldn't mind seeing full example either while at it
From which api are you talking about - maybe I miss a message
https://www.pathofexile.com/developer/docs/reference#type-Item -- im assuming this is from items on the character or stash, either would work
They are poe 1 only tho
Only the exchange is available in 2 - and the account characters. Guess that could work
Ah, it mentions poe2 only in a few of the keys thought they added it for poe2 as well. I dont mind a poe1 example, should work the same for poe2 relative to mods/affixes of the game whenever they add it
You simply get the current implicit, explicit, mutated mod etc as string array (as seen in the docs) - random example:
"implicitMods": [
"Attacks have 5% chance to cause Bleeding"
],
"explicitMods": [
"Adds 5 to 7 Fire Damage to Attacks",
"Adds 11 to 22 Cold Damage to Attacks",
"+57 to maximum Mana",
"+12% to Cold Resistance"
],
thats perfect, thanks. much appreciated. idk if these were posted but heres an axe this time
add basic bundle and cost information
Thank you! It's a minor issue, but most MTX items have the word 'Theme' written in white text. Also, the cost is not displayed in the KR language.
hi, does anyone know where the synthesis implicit mods or mappings are stored, and do they refer to mods.dat for the actual mod. cant seem to find em, only finding references to "synth map mods" in the mods file
think i found em, in repoe mods_by_base file
They have to be manually mapped as the game files don't contain the spawn weights for them
right, i see in mods dat file: "Id": "SynthesisImplicit.... , im guessing all those
Been down a rabbit hole for a few weeks making my own parser library 😛 But added support for .sm and .tgm files https://github.com/adamthedash/poe_data_tools/releases/tag/v1.7.2. .sm is a "Skinned Mesh" used for posable character models, and .tgm is terrain-related meshes
it's hard to find all twitch drops https://poedb.tw/us/Supporter_pack#Twitchdrops
path of exile is simply a tool to test your path of building creation
hey i finally got around to use the api access i was given, i wanted to make a little python tool and i'm trying to get the auth token to then use cxapi, i don't have much experience with this step so i'm having a bit of a hard time
atm i'm using requests and pkce to make the post request to the /oauth/authorize endpoint with the necessary information, but the response is just cloudflare's "just a moment" html page?
am i supposed to do this first step in a browser where it can do its thing and let me through or am i missing something?
The user has to actually navigate to that page in their browser, you can't do that step via code
right now i tried just manually putting all data in the request itself using firefox and it really doesn't like me not having a redirect uri (i don't have one as a whole, and it doesn't like 127.0.0.1:8080)
You should have set up a redirect URI when you requested API access
You can see them on https://www.pathofexile.com/my-account/applications
i don't have it as i was planning to use a public client
does this mean i goofed up and need to send ggg a follow up email? 
Seems like it. This is what a public client looks like
Public clients also can't use any service:* scopes anyway
yep my bad, i requested the access a while ago and forgot the details
ahh i'm silly, i needed /oauth/token 🤦♂️
hence client_credentials instead of authorization_code
alright cloudflare is unhappy, i'll have to try again later, fingers crossed and thank you for the help
nevermind, if done through python i'm just blocked by the captcha
and if done through firefox i'm doing something wrong with the request, but i'm very far from being out of attempts
ok it seems if i make the request inside firefox then it doesn't work because it violates the following directive: “default-src 'none' and from python i get blocked by cloudflare instead, i'll try to figure it out but if anyone knows of a straight forward way to send the request let me know!
I'm confused what you're doing that isn't working. You're sending the POST request with the client id and secret to oauth/token?
Anyone know the "proper" name for tilesets like this? As in the set of combinations that you can combine together for terrain. Googling tilesets/maps resulting in a lot of noise
yes, if i add the parameters by hand (eg: ?client_id=something&secret=something...) then it's a get request somehow
if i use the developer tools of firefox to manually send a post request then it fails for that reason
The route is Nvm, the left side shows it as correct, the right side doesn't/oauth/token, not /token
You also need to include the Content-Type header
i added the content type as application/x-www-form-urlencoded in the header but no luck
oh wait it said invalid client now, that's progress
so i guess it all goes in the header instead of the url parameters
nope it's not that either hmm
It goes in the body
Reminds me a bit of Wang tiles, looking into them might get you literature and key words?
huzzah and i got cxapi to respond too!
alas not through python (rip cloudflare moment) but it's something let's go
are you setting an appropriate user-agent?
I'm not confident that i did actually, could it be that it worked on Firefox because it supplied a user agent? I thought cloudflare was mad at me for failing a captcha i couldn't complete and blocked me
I'll look into it more tomorrow, for now i was able to query it from my browser and i have the json i need to mess around without making further requests
Getting a confidential client (with client credentials) to work in a restricted environment like a stock web browser sounds like a challenge; considering all the CORS, fixed user agents, and other shenanigans that they have by default.

quite possible; no/bad user agent is the #1 mistake
yes. browser definitely did provide a user-agent
I'll add one tomorrow, just checked the docs and yep i completely forgot about it, thank you for the feedback i appreciate it a lot ❤️
You'll never forget user-agent again... (you will proceed to forget it another 100 times but hopefully you fix it quicker next times)
tried it today first thing in the morning and that did the trick, huzzah!!!
I assume most of you peeps have heard the news by now, but it's Linux box patch time if you have any local command execution.
https://copy.fail/
Uninstalling python
Uninstall vmlinuz.
Is the trade whisper endpoint OK to use or is it a probably don't use?
I implemented using it but heard recently that it maybe shouldn't be used, so just want to check if I should remove it
definitely risky to use
I feel like the public disclosure was a tad too early
Was a bit surprised to see the timeline hidden in an expando far down, the whole thing reads a bit oddly.
And adding a quick run there before everything is patched is quite interesting 😂
I mean it’s not that unusual, the timing is just really weird
- yesterday it only had medium priority, today they changed to high on e.g. Ubuntu
Does GGG host the Wiki or is that more of a community sponsored thing?
Reporting degradation in performance over the past few days if anyone has a contact
The wikis are hosted by the company, but community administrators operate on the wiki.
Fair bunch of reports of intermittent mehness perf-wise on the wiki Discord server for the last few months or so, some of it is Mediawiki doing Mediawiki things; or cargo/Lua straining under editing operations.
(that is, poewiki.net and poe2wiki.net)
Let me know if there’s anything I can do to help
I spent a few years at AWS and now am at a company called Vercel. I’ve been doing web infra and hosting for a while now - happy to review and see if there’s any easy way to improve performance
If you're using poe.ninja economy data, note that I have trimmed the data a bit today for properties that just had default values. I would expect most consumers to be okay, but some of the changes can be breaking for some usecases - like dropping properties with empty arrays like explicitModifiers: [].
It's really slow (often several seconds to load a page) and I have seen several error pages both Cloudflare errors and nginx 500s
I don't know too much about what goes on with the actual operations of it, even as a contributor in the past I mostly hacked on the data mining side of things.
Question about the public stash river. When a user gets banned their sale tabs become inaccessible and their stuff no longer shows up on the trade website. Does the public stash api report a stash change to empty stash when this happens?
my price tracker DB is showing a lot of zombie records, upon investigation it's all from banned accounts. I could do manual periodic sweeps, time gate the queries, or make some sort of automated lookup to see if the account of the lowest priced listings are banned, but these all feel pretty inelegant
yes
do you have any examples? What do you mean by "zombie" records?
I'm parsing the river for specific items, say Vivid Vultures. When I see one, I track metadata like the item_uuid, stash_id, owner, price and some other fields into my DB. Later on when I see this same stash_id in the payload, I check if the beast I recorded earlier still exists. If it does not exist, I mark the record as terminated. Occasionally I would see old records with prices much lower than the current market prices, and I noticed that every time the owner's account is banned.
If the public stash does provide update on these banned stashes, does it simply report the stash as empty, or does it report it as non-public? If it's reported as something like { id, public: false, league: null, items: [] } then I can see my application skipping over it
The stashes are unpubliced, as banned accounts can be unbanned later. Not sure your use case but ignoring tabs becoming unpublic seems strange to me
I simply forgot that could happen and skip over stashes that have a non matching league which is probably why it's happening 🤦♂️
I'm curious about the reasoning behind tracking prices for stashes that haven't been seen in a few days. Since the player hasn't been online recently, it seems like their listings might be a bit too outdated to reflect the current market value so you could simpy delete inactive ones and list again, if they appear?
Neccessary for if you're tracking trade tabs. Since those items aren't really dead due to inactivity.
Also player might have been online but just not touched the tab.
not that tab, but if there is one touched tab they would appear again
so if there is like no activity for (example) a week, do you still think that tab is relevant?
Depends what u need the data for
But yes I would say it would still be relevant as someone could still purchase from it
Yes, that's why I said I am curious about their reasoning
how could they, if they aren't online anymore
Not sure what the best name for them is haha
Yeah totally agreed for normal tabs.
Using data from week old stash updates would be lowkey pointless
yes, that was my point
Yep totally. Was just mentioning a reason one might prefer to keep old stash data around as you said you were curious the reasons.
If I am not mistaken here, even if there is activity in a private tab you could see if that person is still playing
A severe vulnerability in the world's most widely used web hosting control panel is being actively exploited. Here's what it is, who is affected, and what to do right now. Critical - CVSS 9.8 Actively exploited 2 May 2026 Heads up This vulnerability was exploited in the wild as a zero-day for roughly two months
It does matter if item item increases yes
Item price that is
"item item increases" ?
Item price
If you only track recent listings of say craicic chimerals, and one person starts a large crafting project and buys a ton, it’ll blow through the recent listings and you’ll have no data for a while
@fickle yew is it possible to add a build extract to Ninja, where the different weeks saved as different loadouts?
Or its a problem duo to pob Format ?
You Checkmark like hour 6, week 1 and week 3 and get a pob with 3 loadouts
I updated my Timeless Jewel calculator to support the new jewel. Anyone with an actual jewel wanna verify the data? https://vilsol.github.io/timeless-jewels/tree?jewel=6&conqueror=Vorana&seed=140&location=6230&mode=seed
Timeless Jewel calculator with a passive tree view
(also it should be like 20% faster, found some optimizations)
also fixed all the weirdities when searching on trade
big
large
I somehow couldn't get the anchor tag, that's why it took a bit :x
I tried, worked after refreshing the page!
that json example is different than the Build object - id should be name I think?
ye
fixed now
build 
PathOfBuilding ༼ つ ◕◕ ༽つ TAKE MY ENERGY ༼ つ ◕◕ ༽つ
I need to know if openarl had a hand in making the build planner
I will be very disappointed if the answer is no 
Is frameType no longer a number in poe2?
The frameType is still a number on the trade site, but it has been changed to a string on the Ancients website.
just for the announcement page items, but we'll be changing it to a string in APIs for 0.5.0 release
(with OAuth changelog and stuff included)
Novynnnnn do you know
Will this affect PoE1?
Initially no. Probably in 3.29
passive json this time?
@compact isle Build Planner question: BuildSkill uses the BaseItemTypes table id, but PoE1's Alt Gems also use the same table id.
what's the new trade id, Runes of Aldur or Return of the Ancients?
not me getting nerd sniped by a new file format 
Regarding these build planner files, will they be linked to a specific character we create?
If they are selected for the entire account then we would have to change this every time we login to a different character.
They are developing a "one-click apply"—3rd party sites can provide links that, when clicked, are automatically added to the account (similar to an item filter), with filtering conditions. This is also important for console users, who cannot directly upload files.
was this a reply to me?
it's not entirely clear what you mean here, but it sounds like you're saying that we would have to update this every time we change which character we log in to?
that is how it works with item filters now too, although i suspect i'm one of the few who has one item filter per character
The Build Planner is a game-wide build instructor that integrates with mission-critical systems such as skills, crafting, passives, and ascendancy. Designed for players to import builds from third-party sources, the Build Planner functions as a plug-and-play feature. Editing or creating builds within Path Of Exile 2 is currently not supported.
When attempting to load build files into Path Of Exile 2, the loader expects a 'MyBuild.build' file written in JSON format. All build files must be located inside of 'X:/Users/Name/Documents/My Games/Path of Exile 2/BuildPlanner'.
This is all the information we have at the moment.
Ah okay, so we don't know the answer yet then
is there a regex to parse <underline>{<red>{A test for the new build planner!}}
Brace matching and regex, a match made in hell.
My json deserializer is loving array of (string or BuildPassive) mixed types 😄
building a simple AST seems way easier here
Am I missing something or is there no way to actually use the build planner because there’s no schema?
yeah, I’ve read that still doesn’t change the fact there’s no schema where are you supposed to get the IDs?
You need to datamining the game files.
no that’s not how it works. You can’t expect people to data mine the game files in order to use a build system that’s officially supplied by the game. There must be a part two coming where they release all of the IDs.
And in any case that would not work
version 0.5 may still not have passive json that build planner needed
glider is making a valid point here.
I think ggg should have released the IDs, would make this much better to work with.
Although it's possible to download it from 3rd parties like here:
https://repoe-fork.github.io/poe2/base_items.json
(i think this essentially just dumped from data mining)
except that schema you just linked is wildly inaccurate and most of the columns don’t even have labels
and it's just the items, like ID for skill gems.
So need another file for passive tree IDs
yeah, I’ve made my own schema
The game has over 7000 columns I think there’s 700 tables
there’s no way to get the column names from the game without just inference
I mean, you can get the table name that’s no problem and you also don’t know the types that are in the table without inference
they stripped that stuff out of the binary when they build it
The data we're sitting on now is obviously outdated by the time we get this new league as that will include new items with new IDs.
And i don't think they said anything about passive tree changes, but i wouldn't ignore the possibility that there are changes
but that schema is completely wrong. It’s not accurate for any build. It’s just a guess.
i'm not entirely sure what you mean?
the schema that you just linked me it has the table names but the data types and the column names are completely wrong so everything other than the table names is a complete guess and it doesn’t matter which build you’re referring to
are you a software developer?
I mean, can you write code?
otherwise, you won’t know what I’m talking about
yes, i am.
But you're not making much sense.
Which table name are you referring to? are you talking about the json field names?
The file at https://repoe-fork.github.io/poe2/base_items.json is likely the one currently used by poe2wiki and is correct.
datc64 has tables
which part doesnt make sense?
it’s not accurate
While the column boundaries, names and types are up to the keen miner, the data once you figure out enough of a type spread are still well-formed.
which part of it is not accurate?
which part of it is just a guess?
how did you validate that its accurate?
The build planner largely cares about keys, which are typically at the very beginning of a row.
so why are all the community schemes inaccurate then?
they’re not well informed at all they’re just complete guesses alright? Sure one or two columns you can guess what types they are in their names but you can’t create a build file based on that and then expect they’re going to work if you get one wrong then it’s gonna break.
What I'm saying is that finding PassiveSkills' shield37 node is going to be fairly straightforward, regardless of what comes later on in the rows.
Your typical build guide website or PoB-like is going to have some idea about how the data they care about looks.
it doesn’t matter you can’t just have some idea. It has to be accurate.
are you new here Glider?
Something like repoe is likely to have everything you need to name passive nodes, gems, etc.
why?
no, it does not
you guys are just trying to work around it. I don’t know why but it’s obvious that there’s gonna be a part two and GGG are going to release a schema that’s correct because otherwise you can’t expect to build files to actually work in the game.
If they don't have some particular aspect, the author or a contributor may build it out to fit demand.
You needed most of that data to have a build planning tool to begin with, since the dawn of time.
yeah, but build planning tools never had an official support now they’ve added official support for build files. They have to provide an official schema otherwise it’s DOA.
I would rather have this than nothing 🙃
but you’re a ninja it doesn’t count
the reason i asked if you are new here, its because the community build must of the tool with data mining, and see this new features are a great step, can be better ? for sure, but we are having more tools to build
ninja!
You don't become a poe community developer without a certain amount of grit..
yeah, I’m well aware of that but you don’t have to be new to know that, I just think you missed a complete point of what I was saying
But you get to learn about reverse engineering strange binary formats here in poe university. Free of charge!
Only field in the file format docs that's not specified is ascendancy, which looks to be the id of Ascendancy.
Most of everything else is the ID from PassiveSkills andBaseItemTypes; the most exotic is figuring out which word list in Words denotes uniques.
I don’t need to learn reverse engineering because I’ve already reversed engined everything and I have a complete schema. I’ve done the best I can but I’m just saying in general usually when a company releases an official API they provide schema and way to use it they don’t expect people to reverse engineer the binary or file format right?
In other news, if you want to play around with build format I made a quick implementation: https://poe.ninja/dev/poe2-build-planner
Explore economy and build overviews for the action role-playing game Path of Exile.
This doesn't arrive in a void. There's an existing ecosystem and tooling.
Would it be better if it had way more polish and support? Sure.
Would it be better if it came months later or not at all? Probably not.
it’s not hard to provide a schema. It’s literally just a JSON file.
Was the broader point that the devs should release a complete list with IDs and references that are valid in this new file format?
So that we don't have to rely on people trying to data mine the client correctly or even that we have to wait for people to data mine it.
if so then i completely agree with that.
yes
When this channel talks about "schema", the established meaning is the shape and disposition of balance tables.
Not "JSON when".
The reason for that is is because it lowers the barrier to entry otherwise we’re just gatekeeping people who are able to reverse engineer
not only that if you get the scheme wrong then the file the build file won’t even load into the game right?
it’s just not gonna be a good experience for the customers either
Agreed. More data would be better. It could always be better. But if this is what is possible given the resources available, it's better than nothing. It outsources some of the work to us, yes, but it also enables some cool stuff.
If they provided a schema, what would you do with it? Build an entire planner just to export a build file?
I don't even mind the reverse engineering part but maybe that's just me
realistically getting the necessary things for the new format is actually not that difficult, there's lots of tools in the ecosystem that you can use
I mean, did you even read the rest of the comments that have been made in this, since this conversation started? Because if you had, then you wouldn't have linked that.
if you want to implement it yourself it's really well documented, I get your pov but realistically GGG doesn't have the luxury of spending that time right now
it sucks that there's missing parts to the community schema but every single thing that is worth extracting has been extracted, see all of the tools that exist as proof
Yes. That is literally what I’m asking for. I'm not sure what you thought I was referring to
Right, I completely understand that they may not have time, and that's fine.
I know datamining tools exist but that wasn't the point i was tryign to make.
The official build planner format references internal gamedata ids,
but GGG has not provided an official versioned export/mapping of the ids required to build valid files.
datamining libraries just proves the feature currently depends on reverse engineering.
And I guess that's the answer.
they have provided them by proxy by not obfuscating them in the game files, they don't expect players to be able to find them, it's for us, who already know how to get them
You did say "yes" to Was the broader point that the devs should release a complete list with IDs and references that are valid in this new file format?, shifting the perception.
Anyway, I've got trains to route. I hope you peeps build neat things.
fair enough, i can see the confusion
to be honest the format itself isn't even that hard to parse either. all the community schema does is describe what segments of bytes are what. you'd be able to implement your own names for all the columns if you just knew the data types
He should have a way to obtain the necessary information from the archives himself. His suggestion is that since it's an official function, the official should provide basic support. However, this seems unlikely at present.
The build planner API is currently having some issues. It's impossible to specify an Alter Gem, and there's no character/class field.
API? There's only the format so far?
ya, the format
A game_version property would be nice as well for 0.5.
Alt qualities are PoE1 concepts, aren't they?
As for "character/class", not quite sure how that would fit the design; class is already implied by ascendancy isn't it?
Already reached space?
If this is a speedrun build guide for Act 1, it need a class
Procrastinating travel, playing a bit in the evenings between work and code.
You could also pick an arbitrary ascendancy.
Yes, I'm considering whether it's compatible with PoE1.
Was there any plans to hide those extra druid nodes from "path not taken" in pob?
i don't even have that class selected now and they are still visible.
interesting thanks for this i was looking for the location of the document i see the link on the page thank you.
The intent was to let people see them (and know they even exist at all) without having to allocate the druid ascendancy node. Then they could show up in the power report in case it ended up being worth it to you to switch to that ascendancy. However you're not the first person to ask for them to be turned off, so that's probably something we'll do at some point
thank you 🙂
i feel like it just adds a lot of noise, i click on them and they don't allocate and then i think it's bugged.
but then i release it's the druid nodes
I like showing them, but it could definitely be clearer what they are
There’s a pr to hide them if you don’t have the ascendancy allocated which I was going to merge for this league
no promises
not relevant for PoE2, and if/when we port it to PoE1 we'll solve that problem when it comes up!
always the league, so Runes of Aldur
like item filters, but I'll bring up the feedback to the client team
I was waiting for someone to point this out. We have Plans™ which I am excited about. I also wouldn't worry so much, the community is very savvy as it is and these are not complex things in the slightest
happy to pass feedback on this feature along but since it isn't my project I am just helping where I can 😅
I'm not worried. I mean, it's easy for me. But it just would be nice to have official schema, so we are not guessing. thanks
is this mainly for the new build planner? any chances for getting some endpoints from poe1 like the account stashes? thanks~
a fair amount of OAuth-related changes this league. That includes the PoE2-only build planner, yes
no plans to expose PoE2 stashes as of yet
unique_name ?string a UniqueName entry from the Words table wish this was possible with item filters
these changes will be available ahead of the new league or only after the patch has been deployed? i assume most tool developers would need some time to adjust (?)
likely safe to assume some days before like usual
what's the valid inventory_id in BuildItem?
Ah yeah, item filters are more things like BaseItemTypes and ItemClass? I reckon that given the ground filtering roots of item filters, recognising an unique isn't really a thing you could do unless running some theoretical content that identifies drops.
Kind of funny, the build planner approach sidesteps a ton of the parsing work that item filters need to do at runtime.
Did you know that item filters not only match against English but also your current client language?
A Japanese player could write a filter by hand that only used the base type names they're familiar with from playing the game in their language.
I mean I assume it wouldnt be hard to let people match vs what unique it is, but that is not done on purpose iirc not due to technical limitation
The unspoken desire behind many item filter feature requests tends to be fairly shallowly veiled methods to enable effective HH/MB squinting on the ground, with major economic and gameplay loop impact.
I knew that
yeah assuming it's a pipe dream, would req the engine to know what the identified state is
there would be ways to balance it though, if you specified "Mageblood" or "Headhunter", the engine could just interpret that as "unique Heavy Belt" or "unique Leather Belt" respectively
the main reason I'd want that feature is to remove the dependency on having to map known unique names to their BaseItemType (as that's the only way to filter them)
that said, if you did do that though, it would be a little bit confusing seeing a unique heavy belt that's not mageblood appearing. not really sure how you'd make that behaviour obvious to the player 😛
imo it would be fine it the filter just auto converted unique name into the correct base type for it, so eg if you filter "Abyssus" it would filter "Ezomyte Burgonet" instead ( and even if other Ezomyte Burgonets like "Cowl of the Thermophile" drop it wouldnt treat them differently ), no functional differences from current filter capabilities, just means you can use the unique names rather than needing to know which base what unique is on
main issue I forsee is that people will complain unqiues they didnt filter for are showing up if they dont know
it would be a little bit confusing seeing a unique heavy belt that's not mageblood appearing
☝️
I source the base type for uniques from the wiki right now, which mostly works but there's been cases where things have been misspelled accidentally or doesn't have a known base yet
realistically it's a minor thing, a day or two after a release all things are usually known and documented so it ends out fine
I notice a lot of druid things that are not supported in pob yet, like "Inevitable Critical hits".
Is this a work-in-progress thing?
or is this put on hold because it's hard to implement?
best to check github issues for pob
Does the item id ever change? ( In the public stash api) Like if the item is crafted or divined, for both or just one? I have assumed that it does if the item ever changes in any way, but I just want to make sure
do you know if the PoB update with the build comparison mode will be available for 0.5 or poe2 in general?
Yep I definitely want to get it in before 0.5 but am not sure how hard that will be
🙏 sending you posi vibes!
Is there any type of free cam / photo mode tool that exists for POE 2?
Anything like that which directly interacts with the game client is strictly forbidden by the Terms of Use.
Thought so! Ty
Is the addition of an official photo mode on the roadmap?
I feel like that would need to be a thought of before designing all the models, my assumption would be that things are designed knowing that the camera will never see certain things right now
Best you get in-game atm is something like PoE2's MTX wardrobe or the inventory views of the controller UI.
Hmm ok good shout! ty. Would love to see a future where its built into the game one day!
I seem to recall GGG had a tool like this where they could pause the gameplay and move camera around with different angles.
It's how they made some of their promotional material.
But i suspect we won't get our hands on it.
Imagine the impact on gameplay.
First and obvious problem is that it would be like cheating if we can freely move camera around and look around the map while paused.
If players then can't find anything interesting in the map then they would quickly just exit and try another map without the need of moving around and fighting monsters to explore.
I'm just working on a little something something.
Implemented a fully working passive tree in the web
Improvements on https://pob.cool/ ?
An interesting way to respond to me asking if it was improvements to the other project lol
Well aware of the time things take
Web passive tree been done by many, including myself so I'm just curious what improvements you are doing compared to things out there already
With the upcoming changes with being able to do most of this in game I'm not sure what the benefit would be for yet another thing like this
Do most of what in the game? I'm not sure of what you're saying.
i use STT so if i stutter it appears
The new build system that they've added is just for importing builds from like external tools.At least so far, that's my understanding.Like, I've already implemented it myself.
Not trying to come off negative, just not sure what you are trying to accomplish that hasn't been done already
Yeah, but that's what everyone says, right? Oh, so-and-so has already done that. Why build an ARPG when Diablo exists?
Why build an FPS when Counter-Strike exists or Call of Duty?
I'm not trying to be argumentative.
I'm just pointing out that I've heard that many times before, and it's not really, well, it doesn't really bother me.
Yeah.I don't see it as an argument.
I'm just simply asking what you are trying to make better than the other options lol genuinely
not necessarily trying to make something better.
But one thing I will say is that the path of building is not really an accurate representation of a character in the game.
and the the analysis that you can do in there is pretty limited and not accurate.
But yeah, I've had this conversation before, and people shot me down, so sorry if I came across as uh strange about it.
how?
A lot of the data pob is obtained manually, I think many people are naive and think it's doing something wrong when it's just not something automatically coming from the game files. Also not making any claims here but I've seen a large influx of vibe coders thinking they have this brilliant idea that only they thought of and will magically be able to make something that hasn't been done before. Most of the time they fail because they lack the actual understanding of how things work.
I'm not one for gatekeeping but one of the most annoying things to come out of AI in my opinion are the vibecoders that think they can accomplish things magically that weren't possible before or that developers couldn't do before or think of before. Like some things haven't been done for a reason, some things are just simply not possible, or they are actually just bad ideas.
Yes, especially considering it's against the ToS to decompile the exe to do so.
Why would you need to decompile the executable in order to create a visual? Like, all of the sites online that host the passive tree and other artifacts, visual artifacts, come directly from the game, like the game files . I'm not sure what warranted this response. What are you trying to say?
I'm not sure what your plans are, but in other places you've made it pretty clear that's what you're doing
What has that got to do with the discussion here, though? Like, I'm not really sure why you came here to say that. What is your problem?
You asked if they'd be upset, you still haven't made it clear what you're building, so I answered with the context I have
Yes, I asked if they would be upset in the context of me recreating the UI in the web. That's it. The thing that you wrote has got nothing to do with that. So I don't know why you've came here just to say that and try to tell me that I'm breaking the terms of service. Like, what is your goal here? What are you trying to achieve?And what has it got to do with this conversation?
Yeah, I understand that POB has a lot of manually gathered data. I already knew that, and that gaps exist because the game mechanics are not exposed, right?
But it sounds like you're making assumptions about what I'm doing when I never said anything about what I was doing. In terms of my process
The passive tree screenshot isn't a project, it's just a visible piece of the UI that I was working on.
Personally, i have decades of experience as a software engineer.
I'm not really sure why you're preaching to me about vibe coders and AI tools. Like, it's kind of weird, man.
This is insane. Like, I'm getting attacked in every channel I go in. I'm getting attacked.
If it's not the general chat, people dogpiling me, they've now come into the ToolDev channel to dogpile me. Like, what the hell, man? This is the most insane community I've ever seen so far
And I'm blocking you, wires 77, so wherever you reply, I won't see it anyway.
What I was saying about vibe coders was not directly aimed at you my guy but, I think you are not understanding things here, not sure if it's a language barrier or what.
What things am I not understanding? Please explain to me. How can there be a language barrier? Are you speaking a different language, then?
Why would they possibly be upset over that.
I speak for myself but your conversation a few days ago has likely polluted the help that you will receive in the future? Personally I found that you came off extremely combative and not really appreciative of the advice you were given.
It's a polite way of asking if it's against the terms of service.....
I'm not really sure what help you're talking about. I wasn't asking for help here. I just showed what I was working on, and then I asked a specific question about whether they would be okay with me recreating the UI.
I mean, if you think that I came off as combative in my previous conversations, can you point out which specific part you're referring to? Because that would really help me. I'm trying to understand. Like, being vague doesn't really help.
I don't know you, I've never spoken to you, I've had no interaction with you before. As far as I'm aware.
Yep sure. Didnt want to dogpile you.
You stated that the schema linked here. https://repoe-fork.github.io/poe2/base_items.json
Was "wildly innacurate". When someone didnt really know what you meant by that. (I dont either btw. Although I haven't done much to do with data mining so I couldn't say if it is accurate or not)
However to someone elses confusion you then asked "are you a software developer?" or "I mean, can you write code?"
Then when the maintainer of poe2db.tw says that the file is "correct". With no justification or reasoning to believe the contrary. You maintained "it's not accurate".
I do not care enough to keep going
That’s not a fair reading of what I said.
When I said “wildly inaccurate”, I was talking about the community schemas/data more generally, not necessarily that single base_items.json file in isolation. I’ve checked multiple files and found missing columns, missing data, outdated data, and things that don’t line up with newer patches.
Asking whether someone is a software developer or can write code wasn’t meant as an insult. I was asking so I knew how technical the explanation should be. That’s pretty normal in a technical conversation.
Also, someone being a maintainer doesn’t automatically settle the point unless they explain what they’re correcting. Maybe that specific file is correct. Fine. But that doesn’t disprove the broader point I was making about other community schemas/exports being incomplete or outdated.
So no, I don’t really accept that as evidence that I was being combative. It looks like pieces from another conversation are being pulled in and read in the worst possible way.

I'm not going to keep going down this rabbit hole but you know, if you want to be taken better why not contribute to the community then? If you are claiming something with the schema or data is inaccurate, why not contribute to fix?
Because I'm building my own tooling right now, not maintaining those schemas.
Pointing out that community data can be incomplete or outdated. It doesn't mean I'm obligated to stop what I'm doing, and upstream fixes, before I'm allowed to say that.
If I find specific issues that are useful to contribute, I will. But that wasn't the conversation here, was it? The point was that my previous comments are being pulled in and read in the worst possible way.
Updated so its more correct. Think my reading was actually quite fair though.
I’m not going to respond to memes or dogpile stuff.
In the future. Probably best to assume everyone here can code. Also I would just try be a bit more accepting of other peoples understandings. Like. Maybe ask why they think a schema is accurate. Instead of just saying it isnt.
You'll be suprised how much you can learn from just being curious.
I don’t think you’re reading that conversation in context.
I was originally assuming the person was technical, so I was speaking to them that way. Then from the replies, I wasn’t sure if they had coding/data-structure context, so I asked if they were a software developer or could write code so I knew how to explain it.
That wasn’t meant as an insult. It was about how technical the explanation should be.
I think you’re pulling one section out of context and reading it in the worst possible way. Please stop this now.
Bump. For anyone who wants full context.
sorry if it's a bad time to budge in 😅 for trade searches, should I be using the following format?
https://www.pathofexile.com/trade/search/Mirage?q={
"query": {
"status": {
"option": "available"
},
"type": "Blueprint: Laboratory"
}
}```

rubbed me the wrong way but yeah I mean. I get why you asked it.
@spare lance you have the demeanor of "i use arch btw"
But I also never would have asked that. I would have assumed I wasn't explaining what I thought properly.
Aight I got work. I think I said what I needed to.
This is just low effort bait now. Like what's wrong with you?Haven't you got anything better to do? Are you a grown-ass man?
I’m done with this conversation. Please stop tagging or talking at me. I no longer care what you think about anything I said in the past or present or future. If you have opinions about it, feel free to tell the mods if you feel like it's something that can be actioned. Otherwise, uh, yeah, leave me alone.
I guess it depends, are you building the trade search link for the user or is it a trade search in your app/process to retrieve the result then do something based on that ?
building it for my tool's user (i.e they set the ilvl in app and wing type and then it pops (opens) the link for them, I just prebuild like the queries for them to use, i.e Prohibited Library, ilvl83, 4/4 wings)
trying to figure out the data types they are and how they are stored in the query format xd
yeah that's exactly how then
I have done this recently in poe.re if you want to take a look, it's for maps tho: https://github.com/veiset/poe-vendor-string/blob/d58f8ca8102b39532ed4201d4ed2848437159895/src/utils/TradeUrlBuilder.ts#L115
thanks, gonna try and figure out the
"heist_wings", format
:o thanks will definitely do
you can simply investigate the calls made by the trade site itself when filtering manually and you just report that to your app, that's how I did it anyway, there might be a better way
I had the same reading
can you provide an example of where it's inaccurate?
like I am genuinely confused about that, because if it is and you follow that line of thought, how are there so many applications that have data that's consisent with the representation in game..?
My understanding is he is saying the data is not always kept 100% up to date. Which I'm sure is the case.
if you are talking specifically about the missing columns in the schema, we know and have deemed them not worth mapping as they tend to be for functionality to the game engine that is not relevant to user facing applications
But then if u need up to date to patch you can just generate the dumps yourself
that's 100% the case and the schema is best effort as well, there's definitely things that aren't perfect about it (like us changing GemEffects to GemVariants on SkillGems the other week
) but I don't understand how you're going to overcome that as a solo developer
Might be wrong. You definitely know more than me
if you go down the path of schema mapping yourself, that means you know the data types and can serialise each table to a readable format but you'll have no idea what any of the columns mean and more importanly, how each table relates to other tables
I updated all the schema maps for PoE 1 a few weeks ago and was planning on doing the same for PoE 2
The PoE 2 one is missing a lot more than the PoE 1 schema though so I know it'll be a pain to get it all done
At least it should make it much easier to maintain for the future though
I was just poking fun haha, that GemEffects -> GemVariants change broke my query and prompted a refactor 
Oh haha. I was hoping that any of the name changes I made weren't going to break someones code
I went from client side processing to a pipeline with observability now, worst case if it happens again I'll know and I can fix it
it's no harm though, my app is ultra niche and only has a small amount of users
I have been wondering about column names as in PoB we use the name to try an infer what the data in the column is used for but a whole heap of the schema names were just the name of the table key
So held off on changing more names when I was updating stuff
yeah, some of the column names we use are definitely approximate haha
whenever I use the schema currently I tend to abstract into SQL and just alias column names, I think that gem one is specifically used for joining Tags onto gems
Just want to randomly thank all the schema updaters, that's the only part I haven't really dabbled in and you guys are life saviors. wouldn't have got anywhere without it
so really GemEffects should just be called Tags or TagsKeys or something if you follow the semantics of the other foreign key column names
I've always just updated our own PoB schema as I didn't really know how the public one worked but cause I'd like to get my game export project up and running and it relies on the keys being correct for it to work
correction actually, it's GemTags or GemTagsKeys 😄
for the last column in SkillGems?
I actually combine PoB's schema and dat schema to create a more complete one with yours counting as the main so I'm always grateful, ty ty
nah, I just mean that a lot of tables follow semantics like this (screenshot is BaseItemTypes from PoE1 and PoE2)
where the column name is basically the table name it relates to, in PoE1 it tends to be suffixed with {name}Key but in PoE2 someone started to clean that up
it's not always the case but it's a fairly consistent pattern
Yeah I think the PoE 2 one didn't get it as someone used our PoB schema to update a bunch of tables and I never use that wording
I prefer it without the suffix because the data type of foreign key makes it obvious that it's a key 😛
Yeah I thought the same
I still use poe-dat-viewer every now and then to see how things look on prod, having a somewhat functional schema is very nice indeed.
PyPoE used to have a fairly strict XyzKey convention I believe; a lot probably comes from that era of mining.
I'm sure there weren't as many files as today but I'm curious the first person who did this how long it took them to slowly decode and link what they did together 🤯 insanity
the schema is actually overall very good for the vast majority of data, I am using it to dynamically build SQL queries and that's been working totally fine
When working through fixing all the schema stuff I vibe coded some additions (as I'm not familiar with the codebase and just needed something to work). Would be nice if they were able to be used by others but feel bad about making PRs for poor quality code that I can't personally state is good enough for others to use.
I had keys auto recurse through tables instead of going 1 layer down, ctrl click on a key row value and it populates a table with all the possible values and has a search, coloured tables names in the sidebar if they were missing data or incorrect, and a D hotkey to define a column instead of clicking the button everytime
The table and ctrl click to search for all tables at that index made key mapping about 10x faster
if you like SQL I made this for fun the other month https://github.com/jchantrell/exiledb
I posted a little bit about it in here while I was making, I probably need to do a 2nd pass but it's functional if you just want to pull out data by querying it with a familiar syntax
something I found useful with agentic dev now, you can give the community schema JSON to an LLM and it will generally understand how to pull the data and query the DB
My goal for the schema stuff was so I could export every table and the data that they contain so that when changes happen it is obvious what schema has changed and also if we can figure out what unnamed columns do
there's two example queries in there that pull a transformed item join in a few languages
I remember seeing @worthy cape 's pipeline that had per-patch views on something similar to this, not sure if it's exactly the same
it's an interesting problem though actually
Yeah I have a overview JSON that looks like this
Then actual full table exports like this
there it is, it's so lovely
I have a rough idea of when my ingestion pipeline stopped working:
I'd get nerdsniped to make something if it didnt exist 😄
do you plan to continue maint? it is actually rather useful I think
Yeah Zaos one was definitely much more fancy than mine
It's been offline for a while now so resurrecting it would need re-bootstrapping some of the manifests; and fix up whatever broke last time.
I don't see it coming back any time soon, if ever. Maybe if I get around doing the rework of my ingestion pipeline and can run it on a better compute server somewhere.
@lone ingot All the code is technically up at https://github.com/orgs/pale-court/repositories, but setting it up and operating it is very bespoke; no ready containers or anything, and the bootstrap appinfos for older releases is something you have to hand-source.
I don't have much reason to operate a CDN like this these days, considering that I don't do any community mining anymore. Kind of limits the amount of energy I want to put into it too, as there's ultimately ~0 consumers.
I'd rather spend my hobby energy on something that benefits players, like doing grand things to PoB's engine.
do we archive bundles at all anywhere?
and yeah, I agree, it's also a trade off of human mental energy vs time spent solving it an automated way
human brain is very good at pattern recognition and very suitable for grokking dat files quickly
I set up a steam thing to grab old version and pull the game version from the exe
ah so steam has a full archive, that's cool
Yeah you just have to piece together the game version to the manifest ids
SteamDB does not like being queried so I just copied and pasted a huge list of ids and had it map them to game versions
I bootstrapped mine by hand-scrolling to the very end on the SteamDB history page, saving it all as HTML and slammed it through BeautifulSoup and a bunch of heuristics to get change IDs, build IDs, timestamps, manifest GIDs, etc.
Yo thats what im working on as a side project right now. I probably didnt need every single patch but I wanted everything
Im currently in europe in the middle of fucking nowhere and only get 10mb/s
Taking forever to dl this shit
haha
I've got half a terabyte of deduplicated PoE1 data in Finland and it'll take days to download, getting like 5 MiB/s in headwind.
are you excluding all the non English files cause that cuts down a fair bit. Also I'm just doing dats atm
Back when I started bulk mining half a decade ago, it took around two months to pull everything from Steam.
I wanted perfect replication at first, including reconstructing GGPK files with garbage and all in case there were something interesting orphaned in there.
If you don't need really old data, I strongly suggest ignoring anything pre-Heist as having a bundle-only pipeline makes things way easier.
Also I had to go back in time and update all the schemas for each patch I went back which took pretty damn long
I talked to zao about it a few days ago on ways to minimize the sizes but I didnt wanna waste time on that now so I'm downloading the entire client for every patch. I dont wanna do only dat/psg/csd diff, I'd like to instantly see all the other stuff too so I can secretly get a sneak peak of what might be coming
this is what im so worried about, fuck
I went back to the start of 3.26 and then stopped as it was taking ages
at 2.21tb i think I calculated the whole thing is like 6.5 or 7tb
yeah I might just skip the diff on dat files for now and only do them going forward, sounds like a pain
I want to get some steamdb integration into data tools at some stage. Full time travel would be neato rather than hoping the CDN hasn't been pruned recently
Yeah would be nice but half that dats wouldn't have the correct info going back a bit. OT files and other stuff would be fine though I guess
Think you'd just need to make a big map of steam exe manifests to the steam data manifests so you know what game version the data manifests are from
Old archives are of little practical use, so I won't spend too much time processing them.
I think the main use is like @carmine merlin said before, knowing what changed and being able to get a head start on knowing where to look, what to fix, etc
As the only version indicator is the EXE, if you have say multiple 238961 manifests with a single 238962/3, the best you can do is attribute it to a particular EXE version. Similarly, you could have multiple EXE versions for a single data manifest, when there's only code changes.
I keyed it both off build_id and EXE version in dat-scope, which is about as much information as you can expect to have.
Rollbacks and republishing builds is fun, makes the chronology a bit iffy if you try to have a strict ordering of changes, in some cases I go linearly on change_id (and thus wall time), and for some the build-id is fine enough. Also one of the reasons why I allowed comparing any-to-any by build ID in Scope, as that puts the onus of identifying and investigating rollbacks on the consumer.
Unrelated - not that torrents help much in mining these days but the RotA FAQ notes this:
Yes, we will make the torrent file for the standalone PC client available for predownloading the day before the launch.
useless torrent
Sometimes torrents are so slow that they can't finish within 12 hours.
Does the console version update the day before the league or is it on the tuesday before? I don’t know how annoying microsoft is about updates not on tuesday anymore, but Chris Wilson in the Jonathan interview mentioned having more breathing room for testing before a league launch because of console simultaneous deployment and I thought it may be related to this.
Anyone know? and has anyone poked at the console builds to look for anything fun to mine?
PoE2 is fully cross platform and all players share the same realm. Consequently, updates also occur at the same time.
I caught that comment by Chris as well and thought it was interesting.
PC and console version share same realm.
https://www.pathofexile.com/forum/view-thread/3931070
Will there be a predownload?
Yes, we will make the torrent file for the standalone PC client available for predownloading the day before the launch. Console players will also be able to download the patch prior to launch. Please note that only players with access to Path of Exile 2 will be able to predownload the patch.
I'll use gemeffects as an example, since thats the one you brought up.
GemEffects.GemTags: [GemTags], but the values do not behave like a GemTags FK/list.
ex:
if you treat the field as GemTags, Firebolt maps to row 6, which is bow; Ice Nova maps to row 7, which is melee; Leap Slam maps to row 8, which is minion. That does not make sense for those skills.
So my point is not "public schema is useless" It is useful for lots of tools, obviously. my point is that for my use case it is not.
(this is my current understanding, not claiming everything i say is 100% correct, feel free to correct me where i'm wrong, this is just what I found alone, and yes as a solo dev i mapped every table, with data type and column names, with evidence and confidence score. Are some wrong? probably, but i have made that clear with eviidence chains)
These are the tags for firebolt
Public schema is correct, not sure how you're seeing row 6
He probably misunderstood; 6 is FK.
correct, i got that one wrong, i had a stale generated schema with later corrections. bad example i guess and i should have checked more closely. Thanks for correcting me.
I think the lack of specificity on when console players can predownload is interesting 🙂
Has anyone had the idea of just providing some skills and equipment and then coding a search algorithm that picks supports gem and passive tree points to optimize damage and defence?
Since the logic is in pob then maybe it can use the code from there to calculate the stats.
I think the search space is quite large so it would probably need to be a bit greedy.
pob should have a heat map on the tree that tells you what the best next nodes are
ye, but you can't rely on that all the way.
There are combinations of nodes that provides better results.
so for example crit investment vs no crit investment means value of crit multiplier is different
that heat map is more useful when most nodes are already filled out and decisions has been made
and then you have to consider the pathing to those node as a cost
Search space is xbox hueg and the evaluation function is quite expensive.
Kind of hard to do simulated annealing and genetic algorithm kind of things too.
Probably doesn't help that pob code is lua 😛
So when are we getting the pob in rust??? JK
But really, i think it can be done if we make the algorithm a bit greedy and then try to run it as multithreaded so the stats can be calculated at the same time for a set of children
Is there some function in the pob lua codebase that could be called?
something that takes in a set of equipment and passvie points and spits out stats or something?
One of the sad things about shotgun parallelism is that it's only a linear increase in capacity. If your problem domain has larger complexity, you're going from scooping an ocean with a teaspoon to scooping an ocean with a handful of teaspoons.
I'm sure that there's a pile of peeps that have tried before, but the absence of outcomes is kind of telling.
soon ™
Saw this a few months ago https://github.com/meehl/rusty-path-of-building
Contribute to meehl/rusty-path-of-building development by creating an account on GitHub.
Yeah that's the engine changes to get it working on Linux but we're working on a rust version atm. I'd like to have it ready to start testing for the next poe 1 league
Ah interesting, would be really nice to have something on Linux that doesn't require wine/proton.
Although it seems to just be a wrapper around the lua codebase(?)
So i wouldn't expect much difference in performance
Nice nice, once it's done in rust I'll ask for zig rewrite lol
It's entirely rewritten in rust with a ts frontend and can work on all platforms
Tauri?
yeah
Noice
Ah okay, i thought it was a wrapper around the existing lua codebase because it lists a bunch of lua runtime dependencies
this is what I am using on cachyos so thanks if the dev is in here, works amazingly
Ah nice!
Local doing their best to obsolete me 
Hope you guys don’t run into any cross platforms problems with tauri
Currently works fine on my windows PC and another devs mac atm
tauri is great but has some minor perf issues on linux, which is more due to webkitGTK being kind of poopy than anything
Who knows with all the other wacky setups
I've been doing a lot with Tauri and tbh I think there is a lot of fear mongering about the whole webview stuff on linux
If the new thing works across the install base and dodges the worst of LuaJIT's fun, I'm all for it.
I have some things working great on cachy as well actually
Ye, also problematic on Mac in quite a few cases
Actually why does the rust codebase require lua runtime?
Path of Building's Lua code requires the following C libraries:
Lua-cURLv3
luautf8
luasocket
if you want to see the perf problems of webkit on linux first hand, get my app and make a giant list of filter rules and then scroll through them
The application-side code is all in Lua. cannot read, am exile
there's specific things webkitGTK does that have very bad perf, scroll animation being one of them
When tauri supports CEF it should be fine for all
thankfully tauri are going to make chromium embedded framework a thing, I tried chromatic on their branch for it just recently and the perf is 10x better https://github.com/tauri-apps/tauri/tree/feat/cef
We just moved to the chromium one on our dev branch and its heaps faster
Nice!
What's the scope there? Full RIIR? Rust runtime/UI around LuaJIT? Other?
I'm definitely pro tauri though, the only other option I would use for UI on desktop apps right now is probably gpui
I tried it just recently and it's very nice, though it doesnt have a stable API yet
(it's the renderer used in the zed editor)
GPUI is sadly in maintenance mode now - although there’s a community edition
New kid on the block that would have the same issues as Tauri, but zig https://github.com/vercel-labs/zero-native
Build desktop + mobile apps with Zig and web UI. Contribute to vercel-labs/zero-native development by creating an account on GitHub.
gpui is still receiving updates on zed main branch, just yeah, I think full focus on it is on hiatus
Afaik should be back next year - but we will see.
Does it bloat the install size in the same way as Electron apps?
generally speaking though I like webview, it's just no matter what with webview you will eventually have to pay the price for it being HTML, which means you'll be closer to a browser perf than native
it doesn't, it's still rather small
I do know I hate egui and never want to use it again lol finally got it looking decent but man I'm not a fan https://github.com/juddisjudd/ggpk-explorer
Cool
I'm a big fan of gpui API and it definitely performs really well though, hoping it keeps getting worked on
very much like that they took the familiar tailwind API rather than reinventing the wheel
I actually considered migrating chromatic to it before I found the tauri cef branch lol
That does look pretty nice, I'll have to poke around a bit with it
Really? Imo egui isn’t that bad
you can just pull it and cargo run and can have a play around with it
I think my opinion just comes from being spoiled in webdev world
I think iced for rust apps may also be a good choice, system 76 are using it for building COSMIC desktop (which is great btw)
haven't tried it myself but the fact that system 76 are building/maintaining it means it'll stick around
I dunno, I just like HTML and especially tailwind-like APIs, UI is very hard and CSS for all its complexities at least let us settle on something that covers all cases
@lone ingot I feel like you would be a fellow Svelte enjoyer then?
Svelte \o/
I like solid and wish the industry would just use it instead of react
but yeah, anything that does signals first class, it's all kind of much of a muchness
Same opinion, it’s just superior
solid is good because they have a deeply nested reactive signal implementation, the whole filter representation in chromatic is reactive on every property
if you've used mobx, it's like that
I've heard good things about solid, lately I've just been doing more project with Svelte and it's been pretty smooth experience. Did some Nuxt and TanStack for a bit, all have their pros and cons
hey guys ! I've been the one behind the rust rewrite, I've been working on it since last october, it takes a long time to completely rewrite pob from scratch ! I didn't want to do a simple port, since it wouldn't solve the perf issues, so it's really a different architecture that uses rust features and parallelism when possible 🙂
I've been using tauri for the front end, and it was working great on my mac and windows, but when I switched to linux the UI was really slow on the tree view, so I switched to the CEF branch to use embedded chromium and now it's super fast on linux (as fast as windows/mac), the downside is that it adds 350Mb for the first install, and it's not an officially released branch yet (although they keep it up to date with the main branch). I had some small issues that I fixed (like the wayland window wasn't properly creating the GUI, it added ugly blue borders, and I didn't have access to devtools).
I have the chance to have window/linux/mac available, so I'll be using the three and make sure it works well for all platforms
if you know react but don't like their state model then try solid and you'll be convinced
But technically, we could just dump tauri and switch to another web alternative, the architecture I wrote supports that, it could run on a website for example
Imo size is totally fine with all the problems CEF is removing
yes that was my opinion as well
personally don't really care about app size these days, ux & perf is always a higher priority in my mind
it's unfortunate that webkitGTK sucks so much lol
Hey, thank you so much for your great work.
I'm curious on why it requires lua runtime dependencies?
Also is it ready to be used officially? or is there some important missing features or critical bugs we should be aware of?
