libera/#shirakumo - IRC Chatlog
Search
6:44:39
Colleen
<|3b|> which means you end up with a few versions of enum with same value but different names
6:45:58
Colleen
<|3b|> mostly a problem with return values, since user wants to compare them, and :whatever-foo isn't :whatever-khr isn't :whatever, but (= xr:whatever-foo xr:whatever-khr xr:whatever) could be true
6:46:38
Colleen
<|3b|> and worse, we can't predict which of the 3 :whatever* we get when xr returns 5
6:47:27
Colleen
<|3b|> so we do extra effort to translate 5 to a keyword, possibly adding extra ERRORs if it happened to return a value we don't know about, only for the user to need to do extra work to figure out if that keyword mathes matches the one they are looking for
6:48:00
Colleen
<|3b|> where as if it just returns 5, user code compares that to a constant with the value 5, and it all works
6:50:16
Colleen
<|3b|> as far as type info part, thinking about it more that might actually be just a distraction and not a real concern, since we don't have any static typing (especially for cffi)
6:50:39
Colleen
<|3b|> so putting that type info into CL code just adds an extra runtime check that the foreign API is hopefully already doing
6:51:19
Colleen
<|3b|> and can be wrong (or outdated) on the CL side anyway, adding extra work if user wants to work around it without rebuilding bindings
6:51:44
Colleen
<selwyn> i would be very unhappy if the debugger gave me error: 5 instead of a keyword
6:52:12
Colleen
<|3b|> ACTION has the thought that code using CFFI could add on some static checks with a compiler macro or similar, but that's true with constants too
6:53:00
Colleen
<|3b|> if there is an automatic "turn negative return values into a CL ERROR" thing happening, that part can do the translation
6:53:10
Colleen
<selwyn> maybe the higher level bindings should be responsible for establishing restarts and so on
6:54:04
Colleen
<selwyn> it is not just about errors, if the hmd is not detected or ready it's nice to be informed of that fact directly by the debugger
6:54:05
Colleen
<|3b|> (or semi-automatic, if that turns out expensive and ussers want a with-return-check or whatever macro
6:58:12
Colleen
<|3b|> ACTION wonders if an xr:return-case macro might be able to cover some of that
6:58:44
Colleen
<|3b|> which could do things like declaring higher debug and lower speed in the error path, and binding some locals to the translated name and such
10:54:06
Colleen
<|3b|> if they did share enums (and didn't just declare their own local copy of the valid ones), using numeric constants instead of keywords would also be easier there too
11:00:04
Colleen
<|3b|> yeah, wouldn't do it just for that, but might consider it if i were rewriting it anyway (which i would like to do)
11:00:53
Colleen
<shinmera> In other news I have discovered that there is no standard workflow for getting IK information from a modelling software into an engine :upside down smiley face:
11:48:51
Colleen
<|3b|> decided i wanted easier access to some of the data in the file, so started rewriting the parser :/
11:55:00
Colleen
<selwyn> although the library looks very capable, it would be unwise to rely on something i can't extend or change
11:55:18
Colleen
<selwyn> it would also raise the barrier to entry to trial-vr which i might one day regret
11:56:25
Colleen
<selwyn> its a short enough algorithm that it will hopefully not be too far from actually working
11:59:00
Colleen
<shinmera> Nah, was just getting confused with all the XR talk wondering if I had missed you finishing it.
12:03:00
Colleen
<selwyn> ive taken a vow to work on something related to vr every day even if its only for an hour
12:04:18
Colleen
<selwyn> theres actually very little to do until i learn or add the necessary features to trial