How answer2/material works
This is a Kotlin/JavaFX Material-style UI framework: applications create activities and windows, assemble views and Material controls, and can navigate between fragments. A parallel theme workflow builds and distributes themes from HCT-based color state. The tree also shows a substantial Material color-science toolkit, including dynamic schemes and image-color quantization/scoring. The README is empty, and only selected sources were sampled, so some subsystem connections and control-to-render wiring are intentionally omitted.
Main entry points: View.kt View tree and layouts · ThemeManager.kt Theme manager · Context.kt Context · Activity.kt Activity
Components 22
App lifecycle
- Context
src/main/kotlin/dev/answer/material/content/Context.kt - Activity manager
src/main/kotlin/dev/answer/material/manager/ActivityManager.kt - Activity
src/main/kotlin/dev/answer/material/content/Activity.kt - Window
src/main/kotlin/dev/answer/material/view/Window.kt - Resources and loading
src/main/kotlin/dev/answer/material/content/Resources.kt - Fragment navigation
src/main/kotlin/dev/answer/material/manager/FragmentManager.kt - Fragment
src/main/kotlin/dev/answer/material/view/Fragment.kt
Views and controls
- View tree and layouts
src/main/kotlin/dev/answer/material/view/View.kt - Material controls
src/main/kotlin/dev/answer/material/component/MaterialButton.kt - Text input
src/main/kotlin/dev/answer/material/component/TextInputEditText.kt
Theme and color
- Theme manager
src/main/kotlin/dev/answer/material/theme/ThemeManager.kt - Theme definitions
src/main/kotlin/dev/answer/material/theme/Theme.kt - Color palette
src/main/kotlin/dev/answer/material/theme/ColorPalette.java - HCT color model
src/main/kotlin/dev/answer/material/desgin/hct/Hct.java - Dynamic colors
src/main/kotlin/dev/answer/material/desgin/dynamiccolor/MaterialDynamicColors.java - Scheme variants
src/main/kotlin/dev/answer/material/desgin/scheme/Scheme.java - Image color analysis
src/main/kotlin/dev/answer/material/desgin/quantize/QuantizerCelebi.java - Color scoring
src/main/kotlin/dev/answer/material/desgin/score/Score.java
Graphics and motion
- Graphics and drawables
src/main/kotlin/dev/answer/material/graphics/Drawable.kt - JavaFX renderer
src/main/kotlin/dev/answer/material/graphics/FXRender.kt - View animation
src/main/kotlin/dev/answer/material/view/animation/ViewAnimation.kt
Other components
- Application caller
Connections 21
- Application caller → Context: uses
- Context → Activity manager: starts activity
- Activity manager → Activity: creates and starts
- Activity → Window: sets content
- Activity → Activity manager: finishes through
- Context → Resources and loading: exposes
- Fragment navigation → Fragment: manages lifecycle
- Fragment navigation → View tree and layouts: installs fragment view
- Activity → View tree and layouts: sets content view
- Material controls → View tree and layouts: extends view toolkit
- Text input → View tree and layouts: extends view toolkit
- Context → Theme manager: provides theme manager
- Theme manager → Theme definitions: creates and updates
- Theme manager → Color palette: builds palette
- Theme manager → HCT color model: initializes color state
- Theme manager → Application caller: notifies observers
- Dynamic colors → Scheme variants: defines scheme colors
- Image color analysis → Color scoring: produces candidate colors
- Graphics and drawables → JavaFX renderer: provides drawing content
- View tree and layouts → JavaFX renderer: renders views
- View animation → View tree and layouts: animates views