-
-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Don't use plugins as resources #10
Comments
What's the reasoning for this? To me it seems like the most discoverable way to handle symmetric config at insertion and runtime.
If anything, this seems less confusing than configuring the plugin on insertion by instantiating the plugin struct, then accessing a completely different type if you want to change this configuration at runtime. I agree this is unidiomatic, but I'm not convinced yet that it shouldn't be an idiom. |
I can see your argument there! The main reason I find this confusing is that users tend to think of objects in terms of disjoint categories: components, resources, systems, plugins, entities. Blurring that line often results in friction and so I'm reluctant to do it without a very good reason. My preference would be to ensure that each field represents a unique resource type: this allows users to clearly distinguish between "a plugin type" and a "resource type" while still making it easy to discover what the resource types are. In this particular case, |
Note, these are not redundant. |
Ah right, and you want to be continually checking that... That's harder. |
Inserting the entire plugin as a resource is confusing and unidiomatic.
Instead:
FrameRateLimit
andFrameRateLimitParam
into a single type.WarnOnFrameDrop
.FrameRateLimit
andWarnOnFrameDrop
as resources.The text was updated successfully, but these errors were encountered: