01:13:01 | * | xmachina quit (Quit: WeeChat 4.0.4) |
01:30:54 | * | xmachina joined #nim |
01:41:03 | FromDiscord | <raynei486> If I want a type to represent any enums do I use `Ordinal` |
01:41:25 | FromDiscord | <raynei486> the compiler complains that it's not a concrete type when I use it as a object field |
01:41:29 | FromDiscord | <Elegantbeef> No you use `enum` |
01:41:53 | FromDiscord | <Elegantbeef> It's not you need to do `type MyType[T: enum] = object` |
01:42:27 | FromDiscord | <raynei486> oh that would work better |
01:42:42 | FromDiscord | <raynei486> I need some to take any enum to represent a tag |
01:51:47 | FromDiscord | <juancarlospaco> `SomeOrdinal` contains enums |
01:52:29 | FromDiscord | <Elegantbeef> Sometimes it's just funny |
03:03:21 | * | krux02 quit (Remote host closed the connection) |
03:15:41 | * | azimut quit (Ping timeout: 252 seconds) |
03:27:03 | * | azimut joined #nim |
03:34:10 | * | jmdaemon joined #nim |
04:02:48 | * | noxp joined #nim |
04:27:57 | * | noxp quit (Quit: WeeChat 4.0.4) |
05:02:38 | * | nyeaa4928423010 quit (Read error: Connection reset by peer) |
05:02:45 | * | azimut quit (Ping timeout: 252 seconds) |
05:03:05 | * | nyeaa4928423010 joined #nim |
05:35:59 | * | ntat joined #nim |
06:09:05 | FromDiscord | <griffith1deadly> In reply to @chronos.vitaqua "<@620135501201932300> clueless on how": aha, yes, it hard with no runtime types storage |
06:09:40 | FromDiscord | <griffith1deadly> i preferred string dispatching for this |
06:29:46 | * | marcus quit (Ping timeout: 258 seconds) |
06:30:53 | * | marcus joined #nim |
07:49:50 | FromDiscord | <xtrayambak> Is there a module for base16 encode/decode? |
07:55:17 | FromDiscord | <nnsee> In reply to @xtrayambak "Is there a module": you mean hex or the variant of base64? |
07:57:33 | FromDiscord | <nnsee> if it's the former, there are `toHex` and `fromHex` in std/strutils |
08:02:47 | FromDiscord | <xtrayambak> Ah, thanks |
08:50:15 | FromDiscord | <griffith1deadly> do I have to execute `=destroy` for Table myself when i destroy shared memory? |
09:19:12 | * | sagax quit (Ping timeout: 258 seconds) |
09:37:48 | FromDiscord | <Chronos [She/Her]> In reply to @griffith1deadly "i preferred string dispatching": Oh? Wdym? |
10:35:38 | * | Mister_Magister quit (Read error: Connection reset by peer) |
10:36:15 | FromDiscord | <Chronos [She/Her]> Still trying to take a crack at this but it's difficult :p |
10:37:27 | * | Mister_Magister joined #nim |
10:37:49 | FromDiscord | <sOkam! 🫐> sent a long message, see http://ix.io/4Hip |
10:38:17 | FromDiscord | <aspizu> is nim just C with python suntax? |
10:38:22 | FromDiscord | <odexine> In reply to @aspizu "is nim just C": no |
10:38:33 | FromDiscord | <Chronos [She/Her]> In reply to @heysokam "How would you track": That sounds so odd honestly |
10:38:38 | FromDiscord | <aspizu> is it garbage collected? |
10:38:40 | FromDiscord | <odexine> In reply to @heysokam "How would you track": compile with --passc:"-fsanitize=undefined" |
10:38:40 | FromDiscord | <Chronos [She/Her]> In reply to @aspizu "is nim just C": Nope, there's many differences |
10:38:50 | FromDiscord | <sOkam! 🫐> In reply to @aspizu "is nim just C": its a lot more than that, but in an overly simplistic way you could say that (incorrectly, but similarly enough) |
10:39:15 | FromDiscord | <odexine> In reply to @aspizu "is it garbage collected?": depends on your definition of garbage collected, but it does not have the undesirable characteristics of what most people think of a GC |
10:39:23 | FromDiscord | <sOkam! 🫐> In reply to @aspizu "is it garbage collected?": it is by default, but doesn't -need- to be. there is --mm:none and --mm:arc |
10:39:29 | FromDiscord | <Chronos [She/Her]> In reply to @aspizu "is it garbage collected?": Depends if you compile it with a GC or not, `refc` is a GC, `arc` isn't, and `orc` is a mix but is much better and works great |
10:39:57 | FromDiscord | <aspizu> how is nim different from rust |
10:40:13 | FromDiscord | <odexine> In reply to @aspizu "how is nim different": that is a loadded question that is difficult to answer within a few sentences |
10:40:16 | FromDiscord | <odexine> (edit) "loadded" => "loaded" |
10:40:32 | FromDiscord | <aspizu> ok |
10:41:54 | FromDiscord | <odexine> "why should i use nim over rust" is also similarly difficult to answer because only you can determine which features of each language you like, dislike, prioritise, or dont care about |
10:42:33 | FromDiscord | <sOkam! 🫐> In reply to @aspizu "how is nim different": its a systems language, so in the most simplistic way possible its the same as C/C++/Rust/etc↵but then if you get into the details... the differences are enormous |
10:44:23 | FromDiscord | <aspizu> why are structs called tuples |
10:44:37 | FromDiscord | <odexine> rust structs are not equivalent to tuples |
10:44:46 | FromDiscord | <odexine> they are more akin to nim's objects |
10:45:02 | FromDiscord | <odexine> rust also has tuples |
10:46:55 | FromDiscord | <sOkam! 🫐> In reply to @aspizu "why are structs called": they are different concepts↵structs are "structured" data, as the name suggests. they have a concrete shape that is not interchangable with a similar shape↵tuples are "grouped" data. Different groupings of data can match each other, even if they are not the same group, just because of the shape is the same. that is an illegal property of structs, but a legal property for tuples |
10:47:17 | FromDiscord | <aspizu> what |
10:47:53 | FromDiscord | <odexine> tuples dont care about either the name of the type or the field names ↵"structs" or objects do care about these |
10:48:32 | FromDiscord | <odexine> a tuple (int, int) will match a tuple (x: int, y: int) ↵(syntax is not representative of nim, just for demonstration) |
10:48:39 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#ix=4His |
10:48:40 | FromDiscord | <aspizu> tuples are structs with their shape being their name |
10:48:51 | FromDiscord | <odexine> you can think of it that way |
10:48:57 | FromDiscord | <aspizu> but why name them then |
10:49:04 | FromDiscord | <odexine> for convenience |
10:49:04 | FromDiscord | <sOkam! 🫐> In reply to @aspizu "but why name them": convenience |
10:49:21 | FromDiscord | <aspizu> sent a code paste, see https://play.nim-lang.org/#ix=4Hit |
10:49:23 | FromDiscord | <odexine> you can access fields with names instead of indexes |
10:49:26 | FromDiscord | <aspizu> (edit) "https://play.nim-lang.org/#ix=4Hit" => "https://paste.rs/dsOjO" |
10:49:41 | FromDiscord | <odexine> so as above lets say i have a tuple with field x and y |
10:49:46 | FromDiscord | <aspizu> why wouldnt you make it a struct then |
10:49:51 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#ix=4Hiu |
10:50:12 | FromDiscord | <sOkam! 🫐> In reply to @aspizu "why wouldnt you make": because sometimes having that struct is unnecessary, like returning from a function so the type is only used once |
10:50:16 | FromDiscord | <odexine> well, it's a matter of whether you want a quick type or not; in practice tuples are much more rarely used |
10:50:18 | FromDiscord | <odexine> than objects |
10:50:36 | FromDiscord | <sOkam! 🫐> but yes your point is important, thats why tuples are usually called "code smell" |
10:50:55 | FromDiscord | <sOkam! 🫐> they have a usecase, but its a lot rarer than structs are |
10:51:07 | FromDiscord | <aspizu> thanks |
10:56:59 | FromDiscord | <griffith1deadly> In reply to @heysokam "How would you track": if you mean me, just -d:release --debugger:native and run program in gdb |
10:58:09 | * | junaid_ joined #nim |
10:59:16 | FromDiscord | <griffith1deadly> sent a long message, see http://ix.io/4Hiv |
11:00:49 | FromDiscord | <griffith1deadly> and handlers register proc with this name |
11:03:28 | FromDiscord | <_nenc> it is really hard to deal it with variants imo |
11:04:05 | FromDiscord | <_nenc> sent a code paste, see https://play.nim-lang.org/#ix=4Hix |
11:04:38 | FromDiscord | <_nenc> maybe, json module is another choice than string name, to make different events able to have different properties |
11:06:08 | FromDiscord | <griffith1deadly> In reply to @_nenc "maybe, json module is": not good performance i think |
11:06:36 | FromDiscord | <griffith1deadly> and memory using |
11:07:47 | FromDiscord | <sOkam! 🫐> In reply to @griffith1deadly "if you mean me,": im confused. did you misread or did I misunderstood what you meant to say? 🤔 |
11:08:34 | * | junaid_ quit (Quit: leaving) |
11:11:43 | FromDiscord | <odexine> In reply to @heysokam "im confused. did you": did you try what i suggested?\ |
11:14:07 | * | junaid_ joined #nim |
11:14:09 | * | junaid_ quit (Remote host closed the connection) |
11:14:34 | * | junaid_ joined #nim |
11:14:56 | * | junaid_ quit (Remote host closed the connection) |
11:15:04 | * | def- quit (Quit: -) |
11:15:16 | * | def- joined #nim |
11:15:22 | * | junaid_ joined #nim |
11:16:20 | * | junaid__ joined #nim |
11:16:53 | * | junaid__ quit (Client Quit) |
11:17:30 | * | junaid_ quit (Remote host closed the connection) |
11:18:24 | FromDiscord | <Chronos [She/Her]> In reply to @griffith1deadly "string name to separating": Register a proc with the name `onChatMessage`? |
11:18:56 | * | junaid_ joined #nim |
11:21:05 | FromDiscord | <griffith1deadly> In reply to @heysokam "im confused. did you": misread, sorry |
11:22:05 | FromDiscord | <griffith1deadly> sent a code paste, see https://play.nim-lang.org/#ix=4HiB |
11:22:29 | FromDiscord | <fowl.mouth> In reply to @_nenc "it is really hard": Where’s the problem? Looks fine to me |
11:24:14 | FromDiscord | <sOkam! 🫐> In reply to @odexine "compile with --passc:"-fsanitize=undefined"": what does this do to track it? 🤔↵I still get the error, but don't know where or how to find it |
11:25:09 | FromDiscord | <sOkam! 🫐> well, technically i have the backtrace, i know where it comes from. what i dont know is why it triggers |
11:26:49 | FromDiscord | <Chronos [She/Her]> In reply to @griffith1deadly "in my code it": Container? |
11:27:26 | FromDiscord | <griffith1deadly> In reply to @chronos.vitaqua "Container?": maybe not good name, but idk how to rename |
11:27:30 | FromDiscord | <_nenc> In reply to @fowl.mouth "Where’s the problem? Looks": not really, but not simple enough to me (it's natural, since Nim is a high-performance compiled language)↵I can think of one even worse way to do it: use `cast[pointer](addr event)` to enable weak type programming (is it even possible to work for the simplest case?) |
11:27:49 | FromDiscord | <Chronos [She/Her]> In reply to @griffith1deadly "maybe not good name,": Is that essentially just a type that handles dispatching or? |
11:28:13 | FromDiscord | <fowl.mouth> In reply to @_nenc "not really, but not": What is it you’re trying to “do” |
11:28:17 | FromDiscord | <griffith1deadly> In reply to @_nenc "not really, but not": for what use case pointers to object? mutating? |
11:28:20 | FromDiscord | <Chronos [She/Her]> In reply to @_nenc "not really, but not": That would definitely cause issues lol |
11:28:32 | FromDiscord | <Chronos [She/Her]> In reply to @griffith1deadly "for what use case": I'd imagine being able to store it in a single type |
11:28:34 | FromDiscord | <odexine> In reply to @heysokam "what does this do": if it were a case of UB it would have triggered |
11:28:41 | FromDiscord | <odexine> try -fsanitize=address maybe |
11:28:45 | FromDiscord | <griffith1deadly> In reply to @chronos.vitaqua "Is that essentially just": handle dispatching and store handlers |
11:28:57 | FromDiscord | <Chronos [She/Her]> Ah alright |
11:29:25 | FromDiscord | <_nenc> In reply to @fowl.mouth "What is it you’re": to make different Event types and register callbacks for them in one register table, just exploring the problem 😛 |
11:29:43 | FromDiscord | <Chronos [She/Her]> Yeah lol |
11:30:13 | FromDiscord | <_nenc> well, so I think of another possible way: serialization so that any event handlers take strings (well, better than taking pointers |
11:30:26 | FromDiscord | <griffith1deadly> In reply to @griffith1deadly "for what use case": when for just control memory via raw alloc & dealloc it not good way |
11:30:26 | FromDiscord | <sOkam! 🫐> In reply to @odexine "if it were a": oh I see. yeah i think that's active with zigcc by default |
11:31:23 | FromDiscord | <odexine> In reply to @heysokam "oh I see. yeah": then try ASan as i said above, might trigger that |
11:31:47 | FromDiscord | <Chronos [She/Her]> I can write some pseudocode for some impl of it but I just can't figure out how it'd be done in Nim, hold on |
11:32:19 | FromDiscord | <griffith1deadly> In reply to @_nenc "well, so I think": easiest way - just mark types for dispatch ref object, maybe separate these types by name? (generic T.name) and in dispatch just cast handler to proc who accept base type |
11:32:39 | FromDiscord | <Chronos [She/Her]> sent a code paste, see https://play.nim-lang.org/#ix=4HiC |
11:32:59 | FromDiscord | <Chronos [She/Her]> That way if an event is fired, you could do `registeredEvents[event.typeof]` |
11:33:09 | FromDiscord | <griffith1deadly> sent a code paste, see https://play.nim-lang.org/#ix=4HiD |
11:33:12 | FromDiscord | <Chronos [She/Her]> sent a code paste, see https://paste.rs/VFRqR |
11:33:17 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://paste.rs/Opoug |
11:33:33 | FromDiscord | <Chronos [She/Her]> In reply to @griffith1deadly "but typedesc not accesible": Yeah that's the issue, I'm thinking if I stringify the type it may be a suitable solution tho so hm |
11:33:56 | FromDiscord | <Chronos [She/Her]> So `ChatEvent` is just "ChatEvent" |
11:34:25 | FromDiscord | <griffith1deadly> or for fun just make eventsystem compileTime who can accesible typedesc)) |
11:34:45 | FromDiscord | <odexine> sent a code paste, see https://play.nim-lang.org/#ix=4HiE |
11:34:47 | FromDiscord | <odexine> the -fsanitize thing |
11:35:25 | FromDiscord | <Chronos [She/Her]> In reply to @griffith1deadly "or for fun just": That makes it a pain for making the event system work with C (because, exposing to something like WASM would need that) |
11:36:08 | FromDiscord | <griffith1deadly> In reply to @chronos.vitaqua "That makes it a": and nim strings in some cases maybe too (memory using i think) |
11:36:11 | FromDiscord | <sOkam! 🫐> In reply to @odexine "probably, try also passL-ing": yeah doing that, since i saw it on some SA answer |
11:36:14 | FromDiscord | <sOkam! 🫐> (edit) "SA" => "SO" |
11:36:29 | FromDiscord | <sOkam! 🫐> but still triggering the same missing symbol for some reason |
11:38:07 | FromDiscord | <odexine> i usually dont use zig cc so i cant say what's wrong with that |
11:39:03 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#ix=4HiG |
11:39:08 | FromDiscord | <sOkam! 🫐> that worked, I was missing `-lasan` |
11:39:23 | FromDiscord | <sOkam! 🫐> but... the behavior is the same |
11:39:40 | FromDiscord | <sOkam! 🫐> how would a -fsanitize error trigger, or show up? |
11:39:53 | FromDiscord | <sOkam! 🫐> i've never seen one, so I don't know how to recognize that it triggers |
11:39:58 | FromDiscord | <odexine> it will be very noisy and obvious that ASan or any other San triggers |
11:40:18 | FromDiscord | <sOkam! 🫐> i see. well, nothing showed up then |
11:40:55 | * | junaid_ quit (Remote host closed the connection) |
11:41:48 | FromDiscord | <sOkam! 🫐> i'm convinced it has something to do with the lifetime of some object on release version↵but i just have no clue what that is, since the app is complex enough↵it doesn't happen on the simpler `wgpu` single function version... but it does on my `ngpu` wrapper↵so I figure the issue lies in my code, its just that the code is complex enough to need aid from the debugger in some way |
11:42:15 | FromDiscord | <odexine> try debugging with gdb without debugger native |
11:42:16 | FromDiscord | <sOkam! 🫐> but if I `--debugger:native` it goes away... so its like.... F, now what ⚰️ |
11:42:39 | FromDiscord | <griffith1deadly> In reply to @heysokam "but if I `--debugger:native`": sorry for mentioning it, but earlier I told you about vrm format. and your loader loads it correctly (ngltf) |
11:42:44 | FromDiscord | <sOkam! 🫐> In reply to @odexine "try debugging with gdb": i tried... but man thats a huge mess, i don't know what im even seeing in there |
11:42:54 | FromDiscord | <odexine> well show it to us here maybe we can |
11:43:04 | FromDiscord | <sOkam! 🫐> In reply to @griffith1deadly "sorry for mentioning it,": oh sick! thats great to hear! 🥳 |
11:43:15 | FromDiscord | <sOkam! 🫐> In reply to @odexine "well show it to": what exactly? |
11:43:56 | FromDiscord | <odexine> the output |
11:44:08 | FromDiscord | <sOkam! 🫐> the entire C codegen? |
11:44:11 | FromDiscord | <odexine> gdb <binary name>↵then in the shell enter `r` |
11:44:13 | FromDiscord | <odexine> no??? |
11:44:26 | FromDiscord | <sOkam! 🫐> ah just the `bt`? kk |
11:46:08 | FromDiscord | <sOkam! 🫐> don't know how to copy the text, its sending `Quit` to gdb https://media.discordapp.net/attachments/371759389889003532/1155470217691017246/image.png |
11:47:51 | FromDiscord | <odexine> seems like an issue within wgpu |
11:47:57 | FromDiscord | <odexine> so it might be that youre using it wrong? |
11:48:42 | * | jmdaemon quit (Ping timeout: 260 seconds) |
11:48:52 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#ix=4HiH |
11:49:23 | FromDiscord | <sOkam! 🫐> In reply to @odexine "so it might be": i don't know, like i said. the wgpu bindings example doesn't have this issue, but my wrapper does |
11:49:33 | FromDiscord | <sOkam! 🫐> let me find you the same code in the bindings |
11:49:35 | FromDiscord | <sOkam! 🫐> (edit) "let me find you the same code in the bindings ... " added "example" |
11:50:03 | FromDiscord | <Chronos [She/Her]> In reply to @griffith1deadly "and nim strings in": True |
11:50:06 | FromDiscord | <Chronos [She/Her]> Oh well |
11:50:21 | FromDiscord | <Chronos [She/Her]> Shouldn't be hard to expose an API specifically for C |
11:50:28 | FromDiscord | <sOkam! 🫐> @odexine this is the equivalent that does work↵https://github.com/heysokam/wgpu/blob/4f23d2f7fe2fb93b8b432e14a27cfdc31e973279/examples/e01_helloclear.nim#L156-L172 |
11:53:22 | FromDiscord | <odexine> i really cant help you here because i'm not really willing to read this whole library to figure it out... |
11:54:01 | FromDiscord | <sOkam! 🫐> In reply to @odexine "i really cant help": yeah i understand. i was just asking for ideas on what to do in the debugger itself to track it |
11:54:20 | FromDiscord | <sOkam! 🫐> because i understand nobody will go through my entire lib just to help with a bug |
11:54:47 | FromDiscord | <sOkam! 🫐> hence why i kept my original question ambiguous and non-specific, and more related to debugging workflow |
11:55:02 | FromDiscord | <odexine> see into the c file srender.nim.c:613, show us what line 613 is (add a few lines above and below for context) |
11:55:17 | FromDiscord | <odexine> In reply to @heysokam "hence why i kept": the debugging workflow is specific to the project |
11:55:24 | FromDiscord | <odexine> as a lot of aspects can change it |
11:56:45 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#ix=4HiK |
11:57:08 | FromDiscord | <sOkam! 🫐> (edit) "https://play.nim-lang.org/#ix=4HiK" => "https://play.nim-lang.org/#ix=4HiL" |
11:57:38 | FromDiscord | <odexine> it says there nimln_(43), which line is line 43? |
11:57:48 | FromDiscord | <odexine> sent a code paste, see https://play.nim-lang.org/#ix=4HiM |
11:57:59 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#ix=4HiN |
11:58:08 | FromDiscord | <sOkam! 🫐> the same that calls for that `wgpuDeviceCreateSwapchain` in the wrapper |
11:58:17 | FromDiscord | <odexine> i never saw that line what |
11:58:22 | FromDiscord | <sOkam! 🫐> oh |
11:58:34 | FromDiscord | <sOkam! 🫐> oh did i remove it by accident |
11:58:45 | FromDiscord | <sOkam! 🫐> sry my code is a bit more noisy so removed a bunch for pasting |
11:59:19 | FromDiscord | <sOkam! 🫐> was trying to remove the purple block https://media.discordapp.net/attachments/371759389889003532/1155473535427412038/image.png |
11:59:32 | * | krux02 joined #nim |
12:00:46 | FromDiscord | <sOkam! 🫐> In reply to @odexine "it says there nimln_(43),": this is really useful, though. i had no clue what that was, and that it was signaling to a line in my actual code |
12:01:31 | FromDiscord | <odexine> what's the swapchain cfg type?\ |
12:01:45 | FromDiscord | <sOkam! 🫐> the internal type that wgpu wants, sec |
12:02:06 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#ix=4HiQ |
12:02:27 | FromDiscord | <sOkam! 🫐> (edit) "https://play.nim-lang.org/#ix=4HiQ" => "https://play.nim-lang.org/#ix=4HiR" |
12:02:42 | FromDiscord | <Chronos [She/Her]> What's the best way to get a type as a string? |
12:03:01 | FromDiscord | <sOkam! 🫐> In reply to @chronos.vitaqua "What's the best way": astToStr should give you the symbol |
12:03:05 | FromDiscord | <sOkam! 🫐> (edit) "astToStr" => "`astToStr`" |
12:05:45 | FromDiscord | <odexine> what version of webgpu are you using |
12:05:54 | * | derpydoo quit (Ping timeout: 252 seconds) |
12:06:07 | FromDiscord | <sOkam! 🫐> latest |
12:06:26 | FromDiscord | <sOkam! 🫐> im like 2 commits behind wgpu-native, but nothing behavior-changing in those |
12:06:26 | FromDiscord | <odexine> specify more |
12:06:34 | FromDiscord | <sOkam! 🫐> 0.17.2 afaik |
12:07:25 | FromDiscord | <sOkam! 🫐> oh well, i am behind https://media.discordapp.net/attachments/371759389889003532/1155475573557178378/image.png |
12:08:07 | FromDiscord | <odexine> that update there |
12:08:11 | FromDiscord | <odexine> removes swapchaindescriptor |
12:08:22 | FromDiscord | <odexine> what commit are you on again |
12:08:27 | FromDiscord | <sOkam! 🫐> https://github.com/gfx-rs/wgpu-native/tree/f35b60acd990d45c79fc6fb5c9641162525080d1 |
12:09:10 | * | azimut joined #nim |
12:09:46 | FromDiscord | <sOkam! 🫐> oh shoot, good find rika |
12:09:51 | FromDiscord | <odexine> is this committed code? can you link me your library so i can read all type defs |
12:09:53 | FromDiscord | <sOkam! 🫐> that commit does remove it |
12:10:14 | FromDiscord | <sOkam! 🫐> In reply to @odexine "is this committed code?": you mean where I bind/wrap them? |
12:10:24 | FromDiscord | <odexine> did you solve the issue? |
12:10:29 | FromDiscord | <odexine> or are you on the commit before the removal |
12:10:49 | FromDiscord | <sOkam! 🫐> https://github.com/heysokam/wgpu/blob/4f23d2f7fe2fb93b8b432e14a27cfdc31e973279/src/wgpu/types.nim#L650-L657 |
12:10:56 | FromDiscord | <sOkam! 🫐> In reply to @odexine "or are you on": i am before the removal yeah |
12:11:17 | FromDiscord | <sOkam! 🫐> but might be worth updating to latest, it might have been an issue on their side or something 🤔 |
12:17:18 | FromDiscord | <odexine> your presentmode enum definition is wrong |
12:17:52 | * | Goodbye_Vincent joined #nim |
12:18:08 | FromDiscord | <sOkam! 🫐> it changed in order last patch. which reference are you getting? |
12:18:22 | FromDiscord | <sOkam! 🫐> they changed it to fifo being default |
12:18:48 | FromDiscord | <Chronos [She/Her]> In reply to @heysokam "`astToStr` should give you": Thabks! |
12:18:50 | FromDiscord | <Chronos [She/Her]> Thanks |
12:19:05 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#ix=4HiW |
12:19:43 | FromDiscord | <sOkam! 🫐> somewhere in this commit, cant link the specific change↵https://github.com/heysokam/wgpu/commit/529cdce3f28338edb6fab6a491c52a47d7f38459#diff-5748a416a25921f9e765af2b73d1968912e065f6551c5b4d084030327f269e2aR232 |
12:20:12 | FromDiscord | <odexine> In reply to @heysokam "https://github.com/gfx-rs/wgpu-native/tree/f35b60ac": you say this is the commit you're on↵https://github.com/gfx-rs/wgpu-native/tree/f35b60acd990d45c79fc6fb5c9641162525080d1/ffi↵https://github.com/webgpu-native/webgpu-headers/tree/8e9025e0fa4b33d5e7cc682b7604b021b29f36c6↵https://github.com/webgpu-native/webgpu-headers/blob/8e9025e0fa4b33d5e7cc682b7604b021b29f36c6/webgpu.h#L398 |
12:20:54 | FromDiscord | <sOkam! 🫐> In reply to @odexine "you say this is": that was the old shape, yeah |
12:21:23 | FromDiscord | <odexine> yes but it is the shape of the enum of the commit you are on |
12:21:24 | FromDiscord | <sOkam! 🫐> kk, let me update all repos/submodules and upgrade the bindings. maybe this is the fix |
12:23:58 | FromDiscord | <sOkam! 🫐> ohhh. i think this actually might be the problem. because you are right, the enum is incorrect, and the shape changed but the commit Im tracking hasn't updated it↵I might have updated the shape manually myself, but they stayed in an older version, and that could have caused probls 🤔 |
12:24:54 | FromDiscord | <odexine> just a maybe. |
12:26:08 | FromDiscord | <odexine> this was a large sidetrack from me trying to use treesitter in nim... |
12:29:52 | FromDiscord | <Chronos [She/Her]> Hm not sure how I'd accept a proc of an unknown type :p |
12:30:16 | FromDiscord | <Chronos [She/Her]> Wait let me rephrase |
12:30:20 | FromDiscord | <griffith1deadly> In reply to @heysokam "oh sick! thats great": are you planning async model loading? (non-blocking fileio) |
12:30:27 | FromDiscord | <Chronos [She/Her]> A proc that accepts an unknown type |
12:30:46 | FromDiscord | <sOkam! 🫐> In reply to @griffith1deadly "are you planning async": i don't know anything about async, so probably not in my near nor far future |
12:31:22 | FromDiscord | <sOkam! 🫐> what does that tech implies, in terms of nim functions used? |
12:31:49 | FromDiscord | <sOkam! 🫐> because im just `readFile` and sending you a `string` back, just that the shape of that string is a structure of data |
12:31:55 | FromDiscord | <odexine> if it's unknown then you cant do it without generics xd |
12:32:06 | FromDiscord | <odexine> or type elision i gues |
12:32:07 | FromDiscord | <odexine> (edit) "gues" => "guess" |
12:32:10 | FromDiscord | <griffith1deadly> sent a code paste, see https://play.nim-lang.org/#ix=4Hj0 |
12:32:19 | FromDiscord | <odexine> In reply to @griffith1deadly "if you mean that": for clarity this is an implicit generic |
12:33:37 | FromDiscord | <Chronos [She/Her]> Not like that oof, I need to store procs here: `let eventHandlers = initTable[string, seq[Listener]]()`, `Listener` is `proc(r: EventObject)` and I made `EventObject` a ref so I should be good to go with casting :p |
12:33:49 | FromDiscord | <odexine> have fun with that... |
12:34:04 | FromDiscord | <odexine> if it's inheritance then it probably is fine |
12:34:21 | FromDiscord | <Chronos [She/Her]> Everything inherits from `EventObject` yeah |
12:34:37 | FromDiscord | <Chronos [She/Her]> Or it should do, at least :p |
12:34:43 | FromDiscord | <sOkam! 🫐> In reply to @griffith1deadly "are you planning async": can you explain how that works a bit? |
12:35:03 | FromDiscord | <odexine> you dont need to do casting |
12:35:13 | FromDiscord | <odexine> regular conversion should work with inherited objects |
12:35:13 | FromDiscord | <Chronos [She/Her]> Why wouldn't I? |
12:35:20 | FromDiscord | <Chronos [She/Her]> Oh nice then# |
12:35:31 | FromDiscord | <griffith1deadly> In reply to @chronos.vitaqua "Not like that oof,": unsafe way - just base type↵object & ref object |
12:36:24 | FromDiscord | <griffith1deadly> In reply to @heysokam "can you explain how": nim async can you give same api as not async - https://nim-lang.org/docs/asyncfile.html |
12:37:18 | FromDiscord | <sOkam! 🫐> In reply to @griffith1deadly "nim async can you": i am not doing `file.open`... at all. its just `file.readFile` which gives me a string that i interpret |
12:37:18 | FromDiscord | <Chronos [She/Her]> In reply to @griffith1deadly "unsafe way - just": I don't understand :p |
12:38:23 | FromDiscord | <griffith1deadly> sent a long message, see http://ix.io/4Hj2 |
12:38:36 | FromDiscord | <griffith1deadly> (edit) "http://ix.io/4Hj2" => "http://ix.io/4Hj3" |
12:39:10 | FromDiscord | <sOkam! 🫐> but whats the benefit? |
12:39:24 | FromDiscord | <sOkam! 🫐> thats why I was asking if you can explain the tech |
12:39:33 | FromDiscord | <griffith1deadly> In reply to @chronos.vitaqua "I don't understand :p": Listener is proc(r: object or ref object (depending on what you want)) |
12:40:49 | FromDiscord | <griffith1deadly> In reply to @heysokam "thats why I was": internally - i can't↵it just give you benefit in case big models/file because your rendering does not lag, for example it can render white color on loading |
12:41:07 | FromDiscord | <Chronos [She/Her]> In reply to @griffith1deadly "Listener is proc(r: object": That doesn't work when defining the table aha |
12:41:44 | FromDiscord | <griffith1deadly> In reply to @chronos.vitaqua "That doesn't work when": then store in table pointer and validate in proc what it add to table? |
12:42:08 | FromDiscord | <griffith1deadly> sent a code paste, see https://play.nim-lang.org/#ix=4Hj5 |
12:43:45 | FromDiscord | <Chronos [She/Her]> sent a code paste, see https://play.nim-lang.org/#ix=4Hj6 |
12:44:20 | FromDiscord | <sOkam! 🫐> In reply to @griffith1deadly "internally - i can't": You can definitely achieve it on application side by importing either of these two modules and doing that async loading on your app↵https://github.com/heysokam/ngltf/blob/24c49d401d54714348c2b02a9c0a55aea68ddd21/src/ngltf/load/binary.nim#L70-L72↵https://github.com/heysokam/ngltf/blob/24c49d401d54714348c2b02a9c0a55aea68ddd21/src/ngltf/load/json.nim#L69-L71 |
12:44:23 | FromDiscord | <griffith1deadly> idk, i dont use concept's for this |
12:44:26 | FromDiscord | <Chronos [She/Her]> TestEvent inherits from EventObject :p |
12:44:33 | FromDiscord | <Chronos [She/Her]> I'm not using a concept here |
12:45:25 | FromDiscord | <griffith1deadly> In reply to @chronos.vitaqua "I'm not using a": oh, i just read part about Listener is.. and start think it concept |
12:46:56 | FromDiscord | <sOkam! 🫐> async is out of the league of my current knowledge at the moment, and I don't have any plans on doing any multithreading code or learning in the near future. there is too much to do in the engine that can work singlecore for a long time. i have it planned sometime in the future, but nothing near↵So you can just use those two functions I linked on your app and create the async loader↵the processor is not hardcoded, the core process |
12:47:15 | FromDiscord | <griffith1deadly> sent a code paste, see https://play.nim-lang.org/#ix=4Hj7 |
12:48:04 | FromDiscord | <griffith1deadly> In reply to @heysokam "async is out of": okay, ty! |
12:48:48 | * | krux02 quit (Remote host closed the connection) |
12:48:48 | FromDiscord | <Chronos [She/Her]> In reply to @griffith1deadly "oh, i just read": Fair lol |
12:49:10 | FromDiscord | <Chronos [She/Her]> In reply to @griffith1deadly "for myself i use": air |
12:49:11 | FromDiscord | <Chronos [She/Her]> Fair |
12:50:44 | FromDiscord | <Chronos [She/Her]> I prolly need a macro to check if a proc has the same signature as the listener |
12:50:50 | FromDiscord | <griffith1deadly> In reply to @griffith1deadly "for myself i use": in my case i just validating dispatched data type |
12:51:06 | FromDiscord | <Chronos [She/Her]> In reply to @griffith1deadly "for myself i use": Idk why but defining a table that accepts this causes the compiler to freak out |
12:51:39 | FromDiscord | <griffith1deadly> In reply to @chronos.vitaqua "Idk why but defining": because table cant contains this |
12:51:49 | FromDiscord | <griffith1deadly> as i say - cast to pointer |
12:52:08 | FromDiscord | <Chronos [She/Her]> Aah okay |
12:53:43 | FromDiscord | <griffith1deadly> my code for this case looks like this https://media.discordapp.net/attachments/371759389889003532/1155487223639183401/image.png |
12:54:17 | FromDiscord | <Chronos [She/Her]> That's vaguely reminiscent of Trigger lol |
12:54:53 | FromDiscord | <griffith1deadly> In reply to @chronos.vitaqua "That's vaguely reminiscent of": accepted the idea of implementing async execution)0 |
12:55:04 | FromDiscord | <Chronos [She/Her]> Fair lol |
12:55:30 | FromDiscord | <griffith1deadly> In reply to @griffith1deadly "my code for this": can give full code in dm's |
12:56:10 | * | ntat quit (Ping timeout: 258 seconds) |
12:56:18 | FromDiscord | <Chronos [She/Her]> Nah it should be fine |
12:56:26 | FromDiscord | <Chronos [She/Her]> I think I'm getting close to my impl :p |
13:15:15 | * | derpydoo joined #nim |
13:21:06 | FromDiscord | <griffith1deadly> i'm a bit confused with alloc and dealloc ↵if i dealloc pointer, it should be nil? |
13:21:24 | FromDiscord | <odexine> Asynchronous IO is almost never needed for disk I’d say |
13:28:47 | FromDiscord | <Chronos [She/Her]> Lol fun https://play.nim-lang.org/#ix=4Hji |
13:41:15 | FromDiscord | <griffith1deadly> In reply to @chronos.vitaqua "Lol fun https://play.nim-lang.org/#ix=4Hji": you dont initialize seq in table |
13:41:54 | FromDiscord | <Chronos [She/Her]> Wait do I not? |
13:42:07 | FromDiscord | <Chronos [She/Her]> Ah... |
13:42:19 | FromDiscord | <Chronos [She/Her]> Wait no I do |
13:42:42 | FromDiscord | <Chronos [She/Her]> sent a code paste, see https://play.nim-lang.org/#ix=4Hjm |
13:43:07 | FromDiscord | <odexine> Technically you don’t need to |
13:43:15 | FromDiscord | <odexine> Ah wait never mind I misread |
13:43:57 | FromDiscord | <Chronos [She/Her]> :p |
13:46:28 | FromDiscord | <griffith1deadly> why u use addr to proc |
13:46:34 | FromDiscord | <griffith1deadly> problem in it |
13:46:55 | FromDiscord | <griffith1deadly> sent a code paste, see https://play.nim-lang.org/#ix=4Hjo |
13:47:08 | FromDiscord | <griffith1deadly> In reply to @griffith1deadly "why u use addr": then it ptr proc, not pointer to proc |
13:54:41 | FromDiscord | <Chronos [She/Her]> sent a code paste, see https://play.nim-lang.org/#ix=4Hjp |
13:55:27 | FromDiscord | <Chronos [She/Her]> That actually works perfectly now, wow |
14:01:37 | FromDiscord | <griffith1deadly> In reply to @griffith1deadly "i'm a bit confused": when i dealloc, calling by example proc storing in obj causing SIGSEGV↵but if i check it for nil value it false |
14:01:57 | FromDiscord | <griffith1deadly> how i can check what really deallocated? |
14:09:12 | FromDiscord | <griffith1deadly> In reply to @griffith1deadly "when i dealloc, calling": https://play.nim-lang.org/#ix=4Hjt example |
14:32:25 | FromDiscord | <odexine> dealloc (and actually also free in C) doesnt nil the pointer |
14:33:07 | FromDiscord | <odexine> actually im not sure about free, i think it does null there |
14:33:19 | FromDiscord | <odexine> but i believe in nim it doesnt because dealloc doesnt take a var ptr |
14:33:52 | FromDiscord | <griffith1deadly> freeShared also dont nil |
14:33:54 | FromDiscord | <odexine> actually no of course free doesnt either because it cant change the value xd |
14:34:25 | FromDiscord | <odexine> In reply to @griffith1deadly "freeShared also dont nil": none of them will |
14:34:36 | FromDiscord | <odexine> if you want to nil it then you make it nil after freeing |
14:35:00 | FromDiscord | <odexine> remember that pointers are just integers interpreted as addresses |
14:35:10 | FromDiscord | <odexine> and nil just means address 0 |
14:35:52 | FromDiscord | <odexine> additionally dealloc does not mean that the underlying memory that the address points to will be zeroed |
14:36:04 | FromDiscord | <odexine> it might not even be touched by the mem management |
14:36:30 | FromDiscord | <odexine> so most likely the data "inside" the pointer will be non-nil (not zeroed) |
14:39:08 | FromDiscord | <griffith1deadly> In reply to @odexine "if you want to": if i nil it it also doesnt nil |
14:39:14 | FromDiscord | <odexine> ? |
14:39:52 | FromDiscord | <griffith1deadly> https://play.nim-lang.org/#ix=4Hjz |
14:42:32 | FromDiscord | <griffith1deadly> in nim 2.0 = it doesnt nil↵in nim 1.6.14 = it nil |
14:43:37 | FromDiscord | <odexine> it is nil accdg to .repr but not accdg to == |
14:44:17 | FromDiscord | <odexine> https://play.nim-lang.org/#ix=4HjA |
14:45:16 | FromDiscord | <griffith1deadly> In reply to @odexine "it is nil accdg": and if check nil repl it also doesnt nil, very funny |
14:47:21 | FromDiscord | <griffith1deadly> oh i forgot about repl give string |
14:58:54 | FromDiscord | <toma400> sent a code paste, see https://play.nim-lang.org/#ix=4HjE |
15:00:03 | FromDiscord | <toma400> I remember bringing this and getting something about generics being implicit (?) but I still can't wrap my head around here, especially the difference between working on local scope, but not on global/Nimble one |
15:00:53 | FromDiscord | <griffith1deadly> In reply to @toma400 "Still not sure how": recreate example link |
15:01:42 | FromDiscord | <toma400> In reply to @griffith1deadly "recreate example link": Sorry, haha, thanks for correction 😅 |
15:02:33 | FromDiscord | <toma400> sent a code paste, see https://play.nim-lang.org/#ix=4HjQ |
15:02:40 | FromDiscord | <toma400> (edit) "https://play.nim-lang.org/#ix=4HjQ" => "https://play.nim-lang.org/#ix=4HjR" |
15:03:43 | FromDiscord | <griffith1deadly> sent a code paste, see https://play.nim-lang.org/#ix=4HjS |
15:04:36 | FromDiscord | <griffith1deadly> (edit) "https://play.nim-lang.org/#ix=4HjS" => "https://play.nim-lang.org/#ix=4HjU" |
15:08:44 | FromDiscord | <toma400> Oh yeah, that's hella weird, line 49 is comment one O.o https://media.discordapp.net/attachments/371759389889003532/1155521207110738040/veird.png |
15:29:25 | FromDiscord | <griffith1deadly> In reply to @odexine "it is nil accdg": then.. how i can check that data deallocated, if == nil not work? |
15:30:04 | FromDiscord | <griffith1deadly> without string operations with repl)) |
15:30:08 | FromDiscord | <griffith1deadly> (edit) "repl))" => "repr))" |
15:36:05 | FromDiscord | <odexine> In reply to @griffith1deadly "then.. how i can": dunno lol it seems like a bug to me |
15:53:49 | FromDiscord | <millymox> Currently my custom console only takes strings because that’s what I coded in, but i want it to log anything↵↵proc log(c: CustomConsole, message: cstring) {.importcpp: "#.log(@)".} |
15:58:25 | FromDiscord | <millymox> Found it |
15:58:29 | FromDiscord | <millymox> :any |
16:02:32 | FromDiscord | <sirolaf> In reply to @griffith1deadly "then.. how i can": `isNil` works for some reason |
16:04:02 | FromDiscord | <odexine> always strange when things like that work |
16:04:19 | FromDiscord | <odexine> makes it even more strange that iirc isnil is slated for removal |
16:04:55 | FromDiscord | <sirolaf> Is it? Better file a bug report then |
16:07:06 | FromDiscord | <odexine> hm i wonder if it has to do with the fact that it's a proc type |
16:07:53 | FromDiscord | <sirolaf> Seems to be because it's a closure actually |
16:09:20 | FromDiscord | <sirolaf> https://github.com/nim-lang/Nim/blob/devel/compiler/ccgexprs.nim#L702 |
16:10:20 | FromDiscord | <sirolaf> isNil just generates a `x == 0` check so that works |
16:13:05 | FromDiscord | <griffith1deadly> In reply to @sirolaf "Seems to be because": no, without closure also == nil give false |
16:13:09 | FromDiscord | <griffith1deadly> but isNil work |
16:13:40 | FromDiscord | <sirolaf> When marking fn as `{.nimcall.}` it works so you must have tested wrong |
16:13:46 | FromDiscord | <sirolaf> Definitely closure related |
16:14:23 | FromDiscord | <odexine> im trying to repr it from scratch |
16:14:31 | FromDiscord | <griffith1deadly> In reply to @sirolaf "When marking fn as": only with this pragma work as expected |
16:14:48 | FromDiscord | <sirolaf> Yes because the compiler code I sent handles closures differently from normal |
16:14:52 | FromDiscord | <odexine> sent a code paste, see https://play.nim-lang.org/#ix=4Hke |
16:15:47 | FromDiscord | <odexine> oh something happened |
16:16:18 | FromDiscord | <odexine> that is interesting |
16:16:38 | FromDiscord | <odexine> `a.repr` breaks it |
16:16:50 | FromDiscord | <griffith1deadly> sent a code paste, see https://paste.rs/CYuY5 |
16:17:14 | FromDiscord | <odexine> https://play.nim-lang.org/#ix=4Hkf works↵https://play.nim-lang.org/#ix=4Hkg |
16:17:17 | FromDiscord | <odexine> (edit) "https://play.nim-lang.org/#ix=4Hkf works↵https://play.nim-lang.org/#ix=4Hkg ... " added "doesnt" |
16:21:47 | FromDiscord | <griffith1deadly> very strange |
16:25:09 | FromDiscord | <odexine> and then if you comment line 17 in the doesnt work it's even different-er |
16:25:19 | FromDiscord | <odexine> well |
16:25:20 | FromDiscord | <sirolaf> No point theorizing, the cgen doesn't lie |
16:25:21 | FromDiscord | <odexine> it makes sense |
16:25:36 | FromDiscord | <odexine> the compiler probably elides the nil set |
16:25:42 | FromDiscord | <odexine> because it's being freed anyway |
16:25:50 | FromDiscord | <sirolaf> Environment isn't being set to nil or something |
16:26:02 | FromDiscord | <sirolaf> But function pointer itself seems good |
16:27:36 | FromDiscord | <odexine> sent a code paste, see https://play.nim-lang.org/#ix=4Hkl |
16:28:51 | FromDiscord | <sirolaf> Works when you make it generate this check (very bad fix) ↵`(($1.ClP_0 == 0 && $2.ClP_0 == 0) || ($1.ClP_0 == $2.ClP_0 && $1.ClE_0 == $2.ClE_0))` |
16:30:18 | FromDiscord | <odexine> i think it makes sense that setting values are "ignored before a free if it's never read" (maybe still a bug? idk, i dont think it is) |
16:30:21 | FromDiscord | <odexine> maybe UB |
16:30:37 | FromDiscord | <odexine> In reply to @odexine "maybe UB": rather, it's UB to read from a freed pointer in the first place |
16:38:48 | FromDiscord | <sirolaf> This is a problem with arc/orc |
16:41:58 | FromDiscord | <sirolaf> sent a code paste, see https://play.nim-lang.org/#ix=4Hkr |
16:43:24 | FromDiscord | <sirolaf> Your best bet is opening an issue I think, arc/orc are generally still kinda broken in my opinion |
16:48:13 | FromDiscord | <sirolaf> It most likely doesn't enjoy you mixing unmanaged pointers with managed ones |
16:50:06 | FromDiscord | <Chronos [She/Her]> I wonder what event system is better... the one I hacked together or Trigger (one without hacks) |
17:02:46 | * | Jjp137 quit (Remote host closed the connection) |
17:05:54 | * | Jjp137 joined #nim |
18:41:03 | FromDiscord | <Chronos [She/Her]> Hm just thinking rn |
18:41:32 | FromDiscord | <Chronos [She/Her]> Do I want to embed the assets in my game's binary? |
18:41:39 | FromDiscord | <Chronos [She/Her]> Or do I want to keep them separate |
18:41:52 | FromDiscord | <Chronos [She/Her]> Just trying to think which one would be better :| |
18:57:40 | FromDiscord | <Chronos [She/Her]> Decided on embedding |
19:10:00 | FromDiscord | <Chronos [She/Her]> How would I make a grid to draw textures to :p |
19:12:06 | FromDiscord | <Elegantbeef> You do you, you can use supersnappy + staticread to compress the data in your binary↵(@Chronos [She/Her]) |
19:12:37 | FromDiscord | <Elegantbeef> If by "grid to draw textures to" you mean an atlas, https://github.com/beef331/truss3d/blob/master/src/truss3D/atlasser.nim |
19:14:22 | * | disso-peach joined #nim |
19:18:57 | FromDiscord | <Chronos [She/Her]> You understand me in a way no-one else does, Beef~ |
19:19:04 | FromDiscord | <Chronos [She/Her]> Thanks! |
19:19:17 | FromDiscord | <Chronos [She/Her]> Tho I see that's 3D, wonder if it will work out of the box for 2D |
19:19:25 | FromDiscord | <Elegantbeef> What? |
19:19:32 | FromDiscord | <Elegantbeef> That's an rect packer |
19:19:39 | FromDiscord | <Elegantbeef> I use it for atlassing textures for my gui |
19:19:49 | FromDiscord | <Elegantbeef> That module is wholly agnostic to the project |
19:20:01 | FromDiscord | <Chronos [She/Her]> Ah |
19:20:47 | FromDiscord | <Chronos [She/Her]> By atlassing textures for your GUI do you mean drawing them to a screen or into a spritesheet? |
19:21:01 | FromDiscord | <Elegantbeef> To a texture buffer |
19:21:21 | FromDiscord | <Elegantbeef> Technically truss3D can do 2D graphics, I just do not use it as such |
19:21:42 | FromDiscord | <Elegantbeef> It's afterall just a opengl abstraction |
19:22:15 | FromDiscord | <Elegantbeef> But yea if you need to atlas textures dynamically steal the atlas code, otherwise just use a script to atlas your textures |
19:23:58 | FromDiscord | <Chronos [She/Her]> Gucci |
19:24:17 | FromDiscord | <Chronos [She/Her]> I moreso needed the grid to draw a map to with ground pieces and such :p |
19:24:47 | FromDiscord | <Elegantbeef> A 2D renderer is quite easy to make |
19:24:50 | FromDiscord | <Elegantbeef> So have fun |
19:26:41 | FromDiscord | <Chronos [She/Her]> I'm already using Raylib for drawing |
19:26:53 | FromDiscord | <Chronos [She/Her]> The second issue I have is that I need to draw it all at an angle- |
19:27:02 | FromDiscord | <Chronos [She/Her]> Like Hades (a rogue-like) |
19:27:24 | FromDiscord | <Elegantbeef> Ah you need an diametric or isometric renderer |
19:28:01 | FromDiscord | <Elegantbeef> Best way to do that is to make your textures in a hexagon shape then render those using triangles |
19:28:16 | FromDiscord | <Elegantbeef> Well diamond for isometricc |
19:29:16 | FromDiscord | <Elegantbeef> dimetric\ 😄 |
19:31:36 | FromDiscord | <Chronos [She/Her]> In reply to @Elegantbeef "Best way to do": I don't understand?- |
19:31:46 | FromDiscord | <Chronos [She/Her]> How would I make them in a hexagon shape? |
19:32:10 | FromDiscord | <Elegantbeef> It depends on your perspective of course |
19:32:45 | FromDiscord | <Chronos [She/Her]> Hm |
19:33:09 | FromDiscord | <Chronos [She/Her]> Also I'm using Raylib and it has a rectangle shape but not a triangle shape :p |
19:33:25 | FromDiscord | <Chronos [She/Her]> Unless I choose to use Camera3D but that seems like excessive amounts of pain |
19:33:34 | FromDiscord | <Chronos [She/Her]> And Unreal looks so over the top for this |
19:33:35 | FromDiscord | <Elegantbeef> I cannot remember the exact projection, but one prefers using triangular segments of a hexagon to draw |
19:33:42 | FromDiscord | <Chronos [She/Her]> Ah |
19:33:44 | FromDiscord | <Elegantbeef> I mean just make your own mesh and render that |
19:34:04 | FromDiscord | <Chronos [She/Her]> I think I can do that? Will do it tomorrow though because my mental capacity is at zero rn |
19:35:16 | FromDiscord | <Elegantbeef> Just for reference something this angle |
19:35:37 | FromDiscord | <Elegantbeef> I think this would require a hexagon like sampling |
19:35:38 | FromDiscord | <Elegantbeef> image.png https://media.discordapp.net/attachments/371759389889003532/1155588372178411540/image.png |
19:38:07 | FromDiscord | <sirolaf> sent a code paste, see https://play.nim-lang.org/#ix=4Hl1 |
19:39:22 | FromDiscord | <Elegantbeef> Segfaults on 2.0 |
19:39:38 | FromDiscord | <sirolaf> That's pretty bad, wonder where it broke then |
19:40:13 | FromDiscord | <Elegantbeef> Seems writing to a immutable variable broke it? |
19:41:02 | FromDiscord | <sirolaf> 1.6.14 also crashes |
19:41:31 | FromDiscord | <sirolaf> Well I have a repro with mutable variable, but haven't been able to reduce that one yet |
19:43:12 | FromDiscord | <sirolaf> sent a code paste, see https://play.nim-lang.org/#ix=4Hl3 |
19:44:54 | FromDiscord | <Elegantbeef> Here's hoping it's an easy fix 😄 |
19:46:32 | FromDiscord | <sirolaf> Same, this one really got me good, makes nimsuggest unusable for my code right now |
19:47:32 | FromDiscord | <Elegantbeef> When has it ever been usable! |
19:47:56 | FromDiscord | <sirolaf> When you pray for 5 minutes before bed every night |
19:48:34 | FromDiscord | <sirolaf> It's actually been pretty stable for me recently |
19:50:21 | FromDiscord | <Elegantbeef> The real question is to which god |
19:50:29 | FromDiscord | <Elegantbeef> I've been praying to Hermes in hopes of quick Nimsuggest response time |
20:17:15 | FromDiscord | <sirolaf> sent a code paste, see https://play.nim-lang.org/#ix=4Hlg |
20:17:16 | Amun-Ra | ekhm ekhm, I recommend myself |
20:17:30 | FromDiscord | <sirolaf> (edit) "https://play.nim-lang.org/#ix=4Hlg" => "https://play.nim-lang.org/#ix=4Hlh" |
20:27:07 | FromDiscord | <leorize> my nimsuggest always respond quickly |
20:27:31 | FromDiscord | <Elegantbeef> "Just what it responds with is not worthwhile" |
20:27:42 | FromDiscord | <leorize> > nimsuggest instance for project cps stopped with exitcode\: 1 |
20:28:04 | FromDiscord | <Elegantbeef> Your joke but worse sorry |
20:29:02 | FromDiscord | <sirolaf> I hate debugging nimsuggest so gonna lie down in defeat until someone else does it |
20:31:37 | FromDiscord | <leorize> just remember to file bugs for those |
20:32:16 | FromDiscord | <sirolaf> Yeah issue has been created with two examples |
20:33:44 | FromDiscord | <sirolaf> It actually seems to be quite widespread too, crashes at the same location for `compiler/semstmts` so hopefully it improves nimsuggest a good bit if fixed |
20:34:04 | FromDiscord | <sirolaf> (edit) "`compiler/semstmts`" => "`compiler/semstmts.nim`" |
20:37:00 | * | xmachina quit (Ping timeout: 244 seconds) |
20:51:08 | * | xmachina joined #nim |
21:20:50 | FromDiscord | <jmgomez> In reply to @Elegantbeef "I've been praying to": sometimes I wonder if the langserver, or something in the middle, shouldnt make the effort to cache/invalidate them |
21:21:05 | FromDiscord | <jmgomez> (edit) "shouldnt" => "should" |
21:35:17 | NimEventer | New thread by CircArgs: Simple template and macro question, see https://forum.nim-lang.org/t/10513 |
23:21:49 | * | disso-peach quit (Quit: Leaving) |
23:35:07 | * | Mister_Magister quit (Ping timeout: 260 seconds) |