greenfork I'm not sure I understand what actions I need to do to solve my problem 06:31
I replaced all the "need" things with a single `use lib 'lib';` 06:41
And now it loads as I expect it to, with reloading the code 06:42
Apprently `need` used cached version of my packages
japhb: I wonder how much time does it take for you to run `mugs-cli adventure` and quickly quit. It takes 4 seconds on my end. Does it have to take so long? I want it to start instantenously 06:47
japhb: Did you try profiling mugs-cli with raku --profile? It spits out 50-80 MiB html files that have dubious numbers, too big 07:44
japhb greenfork: `mugs-cli adventure` and then ^C takes 2 seconds here (less than 2.1 to be precise, and some of that is my reaction time to hit ^C) 15:13
Haven't run a profile in a while.
(And don't have time to do so this morning; I've got some other tasks in front of me.) 15:16
Still, can you give me an idea *which* numbers are dubious and too big? 15:17
greenfork 2 seconds is acceptable I think. Maybe I have too slow hardware for Raku :^) 16:29
Basically all the numbers are big enough to not fit on the screen and the entire html document scrolls to the right 16:30
All interactivity doesn't work too, 50 MiB of data is too much for Angular to handle I guess 16:31
Why in UI code I can't refer to `has $.app-ui;` as `$!app-ui`? I can refer to it only as `self.app-ui` and `$.app-ui` which I assume is through its public getter 19:53
When I use `$!app-ui`, I get an error running mugs-cli rrp : Cannot launch 'rrp'; missing UI plugin.
japhb BAK ... I still think it's weird that your hardware would be "too slow", since it sounds pretty capable to me. 20:46
My laptop CPU: 12th Gen Intel i7-1280P (20) @ 4.700GHz 20:48
Or at least that's what neofetch says. I suspect that clock rate is the max boost, which I sure wouldn't want to use on all 20 hardware threads.
I'm swimming in RAM on this box though, since I originally bought it for running VMs, which is why I asked if you were limited there (but again, it sounds like you weren't). 20:49
Ah I wonder if the profiler has gotten confused by the inter-thread data flow, or it's defaulting to giving times in nanoseconds or something like that. 20:50
Most of the time I need performance details, I need them in very specific places, so I instrument those directly. It's hard to tune a twitch game that's running at a fraction of its normal frame rate, so I don't tend to use whole-stack profilers as often for Raku work. 20:52
Note that if you're having trouble on one of the big browser engines, try the other one. As I recall, since Angular was written at Google, it tends to work better on Chrome/Chromium. 20:53
And now for the final part of your questions, the bit about actual Raku code. :-) 20:54
$!app-ui is the internal, private name of the attribute; it is only visible in its own class (and any roles that were directly mixed into that class before it was composed). 20:56
self.app-ui is calling the auto-generated public getter method (implied by the period in `has $.app-ui` -- saying `has $!app-ui` would be saying *not* to autogenerate the getter). 20:57
$.app-ui desugars to self.app-ui.item
A class *can* declare the ability for particular other classes to see its private attributes, but this is generally considered an anti-pattern. If you have a legit reason to be looking at the private bits of other classes, it's generally better to use the metamodel facilities for that. 20:59
Private, after all, is the freedom to change internals without changing all the dependencies, and reaching into the guts of another class and messing around violates that contract. 21:00
There are cases where you need to have a private attribute with manually written public getter and setter, usually because you need to run extra logic at get/set time than merely assigning a data item, and I do that with some regularity. 21:02
I know that was a lot ... hopefully it helped. :-)