input-proposal

to clarify: i'm proposing that foreach and for be exactly the same in that they both don't care about the IsConnected property
28 Replies
Perksey
Perksey3y ago
@Deleted User @thomasmiz split this out into a thread as well, look at us using the new features!
Deleted User
Deleted User3y ago
I think that makes sense.
Perksey
Perksey3y ago
ok cool, my latest update to the input proposal reflects that. i think the latest push will be my last unless there's anything else blocking your big ticks on my PR, which if there are let me know
ThomasMiz
ThomasMiz3y ago
IInputBackend no longer exposes list of devices? Only the "get devices of certain type"?
Perksey
Perksey3y ago
yeah, we had some discussion on this yesterday. it's closer to how native represents their devices, and it's the best way to limit the amount of computation required in basic operations such as indexing and count determination
ThomasMiz
ThomasMiz3y ago
Makes sense for GetDevices<IKeyboard> or IMouse, but the thing is if I call it with IInputDevice It'd have to get all devices
Perksey
Perksey3y ago
well, yes but in practice not really. IInputBackend isn't really a public-facing interface so we'll define the requirements of this interface around our usage. i.e. we'll just make it so that is forbidden haha.
ThomasMiz
ThomasMiz3y ago
Lmao okay then
Perksey
Perksey3y ago
(if it were IEnumerable, everything would be so much easier)
ThomasMiz
ThomasMiz3y ago
Will we define explicitly which interfaces can be used there?
Perksey
Perksey3y ago
i can do an initial one if you'd like knowing it'd will probably be overridden by future proposals i personally would lean more towards the explicit definition of what you can't use there, but i don't know how exhaustive that should be either. so i think, at least for now, if you want i can define what Ts can be used there.
ThomasMiz
ThomasMiz3y ago
If we define explicitly which Ts then we could just go hack to the lists Let's just say T : IInputBackend and say "T can't be IInputDevice" Or undefined behavior if IInputDevice is passed (probably empty list?) That'd be less friction to implementors in my opinion So if a new IInputDevice interface is added, for current implementors it'll just return an empty list and that'd be correct
Perksey
Perksey3y ago
No description
ThomasMiz
ThomasMiz3y ago
Is that the commit you just pushed? I'm on mobile rn
Perksey
Perksey3y ago
yep
ThomasMiz
ThomasMiz3y ago
Having lunch with my parents Alright, looks good
Perksey
Perksey3y ago
:DDDDDDD if you like it then you shoulda put a ring tick on it (make sure you approve on github) plz approve on github i really want to give our attendees some reading material
ThomasMiz
ThomasMiz3y ago
Excuse my lack of experience, how do I approve? Review changes?
Deleted User
Deleted User3y ago
yep, and then check the Approve circle
Perksey
Perksey3y ago
aha no worries
No description
ThomasMiz
ThomasMiz3y ago
Done 👍
Perksey
Perksey3y ago
don't forget about the SDP (#555) if you haven't read through that yet
ThomasMiz
ThomasMiz3y ago
Yup- I've read it
Perksey
Perksey3y ago
awesome, if you've got any review questions shoot otherwise if we get that approved we can get these proposals to the hands of the attendees 😄 @thomasmiz ok please approve like right now i accidentally hit send on the message lmfao hahahaahahahahhahahhaha;-;;;;;;;;;;;;;;;;
Deleted User
Deleted User3y ago
xD
ThomasMiz
ThomasMiz3y ago
Didn't I approve already?
Perksey
Perksey3y ago
not #555 which is the SDP two separate PRs 😛
ThomasMiz
ThomasMiz3y ago
Ah my bad