Meeting № 29 Summary #61
devhelpr
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Recording of meeting
Full transcription
Meeting № 29 Summary
Root Node and Nesting Canvas Proposals
Aaron presented his recent implementation of the root node and nesting canvas proposals in Oakiff, demonstrating how scene instances and node renaming work across nested scenes. The discussion highlighted how these features enable complex scene trees and reusability of nested UI systems across multiple files.
Node Renaming and Overriding Mechanisms
The group discussed the host canvas overriding imported nodes’ properties, emphasizing the power and complexity of this feature. They acknowledged the need to better define how arrays of extensions should merge or override to align with intuitive expectations, especially for overrides in nested scenes.
Handling Invalid Properties in Specification
Aaron suggested making the spec strict by marking certain invalid property combinations as errors, while others preferred a permissive approach of ignoring invalid properties but issuing warnings. The consensus leaned towards emitting warnings and having validators inform users about spec violations without failing outright.
Canvas Extensions Concept
The group explored expanding the extensions framework to include "canvas extensions," a third category alongside node and relation extensions, to support properties applicable to the entire canvas, like camera view boxes. This was seen as a natural and minimal change to the spec structure.
Themes and Recursive Theming via Extensions
Aaron presented an initial theme extension proposal allowing nesting themes within themes, enabling recursive theming (e.g., dark mode, font size overrides) applied at the root node or sub-nodes. The approach leverages existing extension mechanisms but requires further refinement and examples.
Color Palettes as Extensions
Discussion on representing color palettes as canvas or root node extensions concluded that these palettes could allow semantic color naming and overriding. However, concerns were raised about whether named colors need to be part of the spec or handled by exporters/importers mapping them directly to hex codes.
Michael’s Oakiff Library and Tools Mono Repo
Michael demonstrated his ongoing work creating a mono repo with a shared Oakiff library powering multiple apps, including JSON-Converse converters and Node.js APIs. Plans include migrating this work into the main repo and publishing the library to NPM under an organizational account.
Action Items
Takeaways
All reactions