Hi, Background: ScreenGraph.swift is a tiny library [1] to model any app as a graph [2]. It's primary case is to make UI tests easier to read and write [3], but has found uses in generating L10n and marketing screenshots. It uses vanilla swift and GameplayKit.
[1]: https://github.com/mozilla-mobile/firefox-ios/blob/master/XCUITests/ScreenGraph.swift [2]: https://github.com/mozilla-mobile/firefox-ios/blob/master/XCUITests/FxScreenGraph.swift [3]: e.g. https://github.com/mozilla-mobile/firefox-ios/blob/master/XCUITests/TopTabsTest.swift I've started to think about moving `ScreenGraph.swift` to a dynamic framework, so Carthage (and thence other projects) can use it. I'm definitely not happy with a bunch of naming decisions around it. Before breaking it out to a different git repo, I'd like to start a discussion about it. If you're not interested in naming, then this might not be for you. The first, the project name, the necessities * Should I use an obj-c prefix? MOZ or Moz? Fx or FX? * Should I use something Graphy? AppScreenGraph on its own doesn't really do it for me, even though that's what it (kinda) is. * Should I emphasize the GameplayKit-ness of it: e.g. NPCTester / TestAgent ? For project names, I'm looking for memorability and descriptiveness. I'm trying to avoid opaque identifiers that are difficult to tie back to the actual project. The second, the data structure that app developers build: what is it? * It's a graph of screens around the app. (the edges are actions to get from one screen to another)… * screens aren't always distinct screens: e.g. an open menu would count as a different node to the screen on which the menu is displayed. I started thinking in terms of Scenes, but a Scene graph is a distinct data structure. Thanks for your help. – James
_______________________________________________ mobile-firefox-dev mailing list mobile-firefox-dev@mozilla.org https://mail.mozilla.org/listinfo/mobile-firefox-dev