SpinyGUI is a modular Java GUI library with a browser-engine-like split between node tree, CSS parsing/style resolution, layout, event processing, and rendering backends.
Generated package documents are stored under docs/project-structure/packages/. Each package document lists direct classes first, then links to child packages so the documentation can be read from deepest packages upward.
core- Core DOM-like node model, CSS parser/style system, layout, events, input, fonts, animation, and platform abstraction.core.backend- Renderer backend API shared by concrete rendering implementations.core.backend.lwjgl.nanovg- LWJGL/NanoVG renderer implementation for drawing the core scene graph.demo.simple- Small launcher-style examples for exercising the aggregate SpinyGUI module.demo.complex- GLFW/LWJGL demo harness and NanoVG example runner.spinygui- Aggregate module that re-exports the core and default backend modules.
- Node tree: core node classes model frames, elements, text, attributes, parent/child links, pseudo-state, and box geometry.
- Style and CSS: stylesheet model, selectors, property providers, ANTLR visitors, typed CSS values, and
ResolvedStyleconvert parsed CSS into values usable by layout/rendering. - Layout: layout contracts and implementations calculate box-model rectangles, text metrics, normal-flow/positioned layout trees, scroll sizes, and client sizes.
- Events and input: system events are translated by system listeners/processors into application events and node state changes.
- Fonts and metrics: font service/storage abstractions load platform fonts and expose text metrics for layout/rendering.
- Rendering: backend SPI defines
Renderer; the LWJGL/NanoVG backend traverses layout nodes and draws elements, borders, and text. - Demos: simple and complex demo modules exercise the aggregate API and NanoVG backend.
- com - This reference describes Top-level Java namespace folder for project packages, lists 0 direct classes, and aggregates 60 descendant packages.
- com.spinyowl - This reference describes SpinyOwl namespace folder, lists 0 direct classes, and aggregates 59 descendant packages.
- com.spinyowl.spinygui - This reference describes SpinyGUI namespace folder aggregating core, backend, and demo packages, lists 0 direct classes, and aggregates 58 descendant packages.
- com.spinyowl.spinygui.core - This reference describes Top-level core configuration and shared entry points for the GUI engine, lists 1 direct class, and aggregates 54 descendant packages.
- com.spinyowl.spinygui.core.animation - This reference describes Frame-time animation contracts and a simple animator loop, lists 3 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.backend - This reference describes Backend namespace folder for renderer APIs and implementations, lists 0 direct classes, and aggregates 4 descendant packages.
- com.spinyowl.spinygui.core.backend.renderer - This reference describes Renderer SPI consumed by backend implementations, lists 1 direct class, and aggregates 3 descendant packages.
- com.spinyowl.spinygui.core.backend.renderer.lwjgl - This reference describes Package for lwjgl related classes, lists 0 direct classes, and aggregates 2 descendant packages.
- com.spinyowl.spinygui.core.backend.renderer.lwjgl.nanovg - This reference describes NanoVG renderer orchestration and specialized element/text/border renderers, lists 4 direct classes, and aggregates 1 descendant package.
- com.spinyowl.spinygui.core.backend.renderer.lwjgl.nanovg.util - This reference describes NanoVG drawing and color helpers, lists 3 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.clipboard - This reference describes Clipboard abstraction used by platform integrations, lists 1 direct class, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.cursor - This reference describes Cursor model and cursor service abstraction, lists 3 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.event - This reference describes Application-level events emitted to nodes and event targets, lists 21 direct classes, and aggregates 2 descendant packages.
- com.spinyowl.spinygui.core.event.listener - This reference describes Generic event listener contract for application events, lists 1 direct class, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.event.processor - This reference describes Dispatch logic for routing application events to node listeners, lists 2 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.font - This reference describes CSS-like font value objects: family, size, stretch, style, and weight, lists 5 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.image - This reference describes Image abstraction used by style and rendering layers, lists 1 direct class, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.input - This reference describes Input domain model for keyboard, mouse, shortcuts, and user-facing key mappings, lists 10 direct classes, and aggregates 1 descendant package.
- com.spinyowl.spinygui.core.input.impl - This reference describes Default mutable implementations of input services, lists 3 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.layout - This reference describes Layout contracts, layout context, and text/element layout interfaces, lists 5 direct classes, and aggregates 1 descendant package.
- com.spinyowl.spinygui.core.layout.impl - This reference describes Concrete layout algorithms and utilities for block, flex, none, text, and layout tree updates, lists 7 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.node - This reference describes DOM-like node hierarchy: frames, elements, empty elements, text nodes, and builders, lists 6 direct classes, and aggregates 2 descendant packages.
- com.spinyowl.spinygui.core.node.intersection - This reference describes Hit-testing strategy objects for node intersection checks, lists 3 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.node.layout - This reference describes Box-model geometry value objects used by layout and rendering, lists 3 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.parser - This reference describes Parser interfaces for HTML-like node trees and stylesheets, lists 2 direct classes, and aggregates 4 descendant packages.
- com.spinyowl.spinygui.core.parser.impl - This reference describes Default parser implementations and parser factory code, lists 4 direct classes, and aggregates 3 descendant packages.
- com.spinyowl.spinygui.core.parser.impl.css - This reference describes CSS parser namespace containing generated ANTLR artifacts and handwritten semantic visitors, lists 0 direct classes, and aggregates 2 descendant packages.
- com.spinyowl.spinygui.core.parser.impl.css.antlr - This reference describes Generated ANTLR CSS3 lexer/parser/listener/visitor artifacts; Regenerate from the grammar instead of hand-editing, lists 6 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.parser.impl.css.visitor - This reference describes ANTLR visitors that convert CSS parse trees into stylesheet, selector, declaration, and term model objects, lists 8 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.style - This reference describes Resolved style state applied to nodes after rule matching and property conversion, lists 1 direct class, and aggregates 18 descendant packages.
- com.spinyowl.spinygui.core.style.manager - This reference describes Style manager contract and implementation for applying stylesheets to node trees, lists 2 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.style.stylesheet - This reference describes CSS stylesheet domain model: properties, rulesets, declarations, terms, specificity, and provider registry, lists 12 direct classes, and aggregates 11 descendant packages.
- com.spinyowl.spinygui.core.style.stylesheet.annotation - This reference describes Annotations used by stylesheet property providers, lists 1 direct class, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.style.stylesheet.atrule - This reference describes CSS at-rule model objects, lists 1 direct class, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.style.stylesheet.impl - This reference describes Default property-store implementation and provider scanner integration, lists 2 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.style.stylesheet.property - This reference describes CSS property providers that parse declarations into typed style values, lists 21 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.style.stylesheet.selector - This reference describes Selector contracts and base selector types, lists 4 direct classes, and aggregates 4 descendant packages.
- com.spinyowl.spinygui.core.style.stylesheet.selector.combinator - This reference describes Combinator selectors for descendant, child, sibling, adjacent sibling, and compound matching, lists 5 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.style.stylesheet.selector.pseudoclass - This reference describes Pseudo-class selector implementations, lists 1 direct class, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.style.stylesheet.selector.pseudoelement - This reference describes Pseudo-element selector implementations, lists 3 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.style.stylesheet.selector.simple - This reference describes Simple selectors for all, element, class, and id matching, lists 4 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.style.stylesheet.term - This reference describes Typed CSS term values produced by parser visitors, lists 9 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.style.stylesheet.util - This reference describes Utility functions for converting and validating stylesheet values, lists 1 direct class, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.style.types - This reference describes Typed CSS value objects and constants for non-nested style domains, lists 10 direct classes, and aggregates 4 descendant packages.
- com.spinyowl.spinygui.core.style.types.background - This reference describes Background-origin, repeat, and sizing value objects, lists 3 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.style.types.border - This reference describes Border item and border-style value objects, lists 2 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.style.types.flex - This reference describes Flexbox alignment, direction, wrapping, and justification value constants, lists 6 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.style.types.length - This reference describes CSS length units, length wrappers, and conversion contract, lists 3 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.system - This reference describes Package for system related classes, lists 0 direct classes, and aggregates 7 descendant packages.
- com.spinyowl.spinygui.core.system.event - This reference describes Raw platform/window/input events before conversion into application-level events, lists 16 direct classes, and aggregates 3 descendant packages.
- com.spinyowl.spinygui.core.system.event.listener - This reference describes Adapters that translate raw system events into core event processing and state changes, lists 27 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.system.event.processor - This reference describes System-event processor contract and implementation for dispatching platform events, lists 2 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.system.event.provider - This reference describes Provider for mapping raw system event classes to listener instances, lists 2 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.system.font - This reference describes Platform font loading, text metrics, and font storage abstractions, lists 7 direct classes, and aggregates 1 descendant package.
- com.spinyowl.spinygui.core.system.font.impl - This reference describes Default font service, storage, and platform-specific font directory discovery, lists 3 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.system.input - This reference describes Platform-facing key, modifier, action, and mouse-button enums, lists 3 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.time - This reference describes Time service abstraction for animation and frame timing, lists 1 direct class, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.core.util - This reference describes Small utilities for class-key maps, IO, node visibility, references, and text handling, lists 7 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.demo - This reference describes Demo namespace folder for runnable examples, lists 0 direct classes, and aggregates 2 descendant packages.
- com.spinyowl.spinygui.demo.complex - This reference describes Windowed GLFW/LWJGL demo framework and concrete NanoVG demo, lists 2 direct classes, and aggregates 0 descendant packages.
- com.spinyowl.spinygui.demo.simple - This reference describes Simple demo entry points, lists 2 direct classes, and aggregates 0 descendant packages.
For bottom-up navigation, start with the deepest packages such as style.stylesheet.selector.*, style.stylesheet.term, style.types.*, system.event.listener, layout.impl, and backend.renderer.lwjgl.nanovg.util; then move upward through their parent package documents and finish with this root overview.