{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreifminvntk523j4fnsgweauvf4pwj7ywkfh4aqgxjfolawof6aluh4",
    "uri": "at://did:plc:dxjzgxe7cvirxkwfjr2tjspt/app.bsky.feed.post/3mgnwdsik3jh2"
  },
  "path": "/t/vibecity/49418#post_14",
  "publishedAt": "2026-03-07T20:33:31.000Z",
  "site": "https://hub.jmonkeyengine.org",
  "textContent": "The ui is basically jme quads and two shaders, one for all background stuff, and one for text/icon rendering. All from scratch, the only external library is lwjgl:stb_truetype to generate the sdf atlas.\nThe noise textures are regular jme textures byte array from the noisesource to jme.\n\nAs for the AI tools, i am using gemini and claude from command line. gemini mostly for the simple task because it is far cheaper. and claude for the more complex one.\nI am still learning how to use AI, but i switched from the fully automated development to a more managed workflow, i design the interfaces and and the we discuss implementation details, or if the design is valid for my usecase. then i let the agent work on it. then i test and fix-promt each feature.\nI also “gave the order” to not explore the codebase automatically. so i have to be very careful that i hint at everything already existing that should be used. if i do not do that you run into context limitation quite soon. (at least i did)\nI also found out that even all new ai tools have something like auto-compact when the context is full, but from my experience you never now what happens once you compact the ruleset.\nSo i disabled it and i have to make sure that each task is small enough to fit into one context.\nSo far this works good, and i am keeping the token consumtion quite low.\nSubagents or the new agentic team feature of claude helps of course to stay in the context limit.\n\nIf someone has a different workflow or suggestions i am always open to hear them.",
  "title": "VibeCity"
}