All Classes and Interfaces
Class
Description
AbstractAction is an abstract class that implements the Action interface with default behaviors.
Abstract base class for UI panels that represent and allow modification of a specific
Setting.An abstract base class that provides the core framework for all stateful transformation
commands (Translate, Rotate, Scale).
Represents an action that can be executed and undone by either the app or the user affecting the scene.
Positioning bitmasks for
GuideInfo and GuidePanelAdapter.A subcommand for measuring the area of a triangle defined by three points.
A special type of string argument that can take a set of predefined string values.
Defines the contract for a command argument in the command processing system.
An
Artefact, is an interface which describes any implementor to be something that initialises
the scene with objects either for debugging or testing purposes.A plane defined by an origin point and two orthogonal vectors (v1 and v2) that lie within the plane.
Defines base error codes for different modules or categories within J3Engine
These base codes are intended to be used within the specific
J3DError child classes.Base Point is a generic 2D point base class
A SwingWorker implementation designed to perform a blinking effect on a UI component.
Provides runnable actions for camera control and information.
Provides runnable actions for creating various geometric primitives.
Provides runnable actions for various geometry manipulation tools.
Provides runnable actions for transforming selected objects.
CamDepthSort is a sorting method that sorts GTri objects based on their depth values.
CamDistSort is a sorting method that sorts GTri objects based on their distance from the camera.
Represents the virtual camera in the 3D scene.
A command that groups all camera-related subcommands.
A subcommand of
CameraCmd which simply prints camera propertiesImplements the
RotationMatrixDirection interface to create rotation matrices
that transform a direction from camera space to world space.Interface for objects that can be copied.
CartesianPoint, not to be confused with
ScreenPoint, represents
a point in 2D space.Event payload for when the centre of a transformation changes.
An implementation for Actions which provide a clean-up method to be called when the action is deleted from the history.
Utility class for interacting with the system clipboard.
Represents a token parsed from a command string.
Defines the possible types a command token can represent.
A
Command encapsulates all the information needed to define and execute
a user-callable action.Event payload for when any command has been fired.
A parser for the command palette that handles tokenisation, argument parsing, command execution,
and command history.
A container class for all top-level commands.
CommandsManager is responsible for creating and storing available command instances
and providing lookup utilities for retrieving commands by their aliases.
A specialisation of a
AbstractAction and CleanableAction specifically for a class's constructor.Generic conversion record which stores the conversion required to turn a
CartesianPoint into a ScreenPoint and vice versa.A specialisation of the
Conversion record which stores the conversion required to turn a
CartesianPoint into a ScreenPoint and vice versa.Represents a copy of a
GObject, linking it back to its original.The properties used when a copy operation is applied.
A builder class for creating
CopyProperties instances.A command to create various geometric objects in the scene.
An enum representing the names of custom cursors used in the app.
This is a merge of
CamDistSort and CamDepthSort.A command for general logging and debugging.
Exception thrown when a default object, essential for the engine's operation, is
removed from the scene.
Dim, like
BasePoint is a 2 dimensional class, however holding width and height
instead of an X and Y value.An Action where the action returns meaningful output, but also requires clean-up when the action eventually gets deleted
from the history.
An Action where the action is purely side effects but requires clean-up when the action gets deleted.
A subcommand of
MeasureCmd that calculates and displays the distance between two points.The
DocsFrame class represents a JFrame for displaying documentation within the J3Engine.An exception class specifically for errors encountered during the documentation generation process.
Provides and manages documentation frames within the J3Engine.
Represents different documentation files available within da arp.
Interface that lets use know something can be drawn.
A subcommand of
DebugCmd which simply echoes the given string.A command for managing engine properties or otherwise quickly doing engine effect stuff.
Possibly.
Centralized error handling mechanism for J3Engine.
EventEmitter is a class that allows for other classes to attach events that they can broadcast to at any time.
EventEmitterInterface is an interface that allows for other classes to attach
events that they can broadcast to at any time.
EventListener is an interface which just allows Objects to listen for incoming Events at any time.
EventPayload is an abstract class which is used to represent the properties that the
called event may input and or return.
An interface which only reacts to a single event and later gets removed.
Events is an enum that describes the possible Events that a listener can listen for.
Executor is a generic debugging artefact.
A subcommand of
EngineCmd which simply exits the entire app.A command which makes the explodes the geometry structure of whatever.
A command to extrude a selected
GTri (triangle) along its normal vector.Executes the same as
LongTask but is simply for convention.FileProtocol defines the methods required for reading and writing files
using a custom protocol.
A subcommand of
EngineCmd which opens the J3Engine folder in the file explorer.The
Finder class provides utility methods for searching and locating
SceneObjects within the engine's hierarchical structure of Layers,
Things, and GObjects.A container class for the results of a search operation performed by the
Finder.GenericFileProtocol provides methods to read and write
a standard file header for J3D files.
Any exception caught by any IO operation.
GLine represents, you guessed it, a line.
The default key binds within J3Engine.
Graphics Object is an abstract class that represents any actual tangible
Geometry in the 3d space (Cartesian space) that a user can see and
interact with.
Defines the main registry for checking for GObjects, primarily used by these subsystems:
CommandParser/TaggedArgUtil
/Command/TypingHints
for command parsing, usage parsing, typed hints and etc
PropertiesUI for showing properties of these objects
And overall just decentralisation of making these objects.GPoint is a class that represents a single point in 3D space.
GTri represents a Triangle.
Represents a single, interactive 3D handle (gizmo) used for manipulating objects in the scene.
Represents the type or axis of a transformation handle.
An interface for objects that can be part of a composite structure, allowing them
to maintain references to their parent or owner objects.
An interface for objects that have a collection of properties.
A command that provides help information about other commands.
Manages a history of actions, allowing for undo and redo functionality.
Enum representing common HTML tags.
A simple interface for implementors to use such that they dont bloat some specific setting
due to multiple events firing that do the same thing.
A utility class for parsing and representing
<img> HTML tags found within J3Engine documentation.Utility class for image manipulation, specifically for cropping and scaling images
to fit specific dimensions while maintaining aspect ratio.
An exception class specifically for errors encountered during the image processing within the
documentation generation process.
The type of instruction for a given
MacroLine.Exception thrown when an attempt to copy objects fails.
Represents the source or context from which a command was invoked.
J3Engine Exceptions
An interface representing a fatal error within the J3Engine.
A generalisation of
GenericIOException for GenericFileProtocolThis is not a J3Engine error which would make use of J3DError and those, this is an error of malformed input into J3D from Jaiva
but it's the jaiva script's fault, hence its a jaiva facing error
An interface representing a mild error.
A utility class for parsing J3Engine's custom markdown-like documentation files (.j3.md).
The J3DPanel class extends JPanel and serves as the main drawing surface for the 3D engine.
Custom ScrollBar UI class because Swing's scrollbars are huge no matter what you do
and just insanely disgusting.
The Main Theme enum where all theme properties are accessed
Makes all
JTree's consistent with theming.An interface representing a warning.
Defines the contract for error severity levels within J3Engine
A singular key on the keyboard or keystroke that gets put into
KeyBindings.A class that manages the key bindings for the application.
UpdatedJ3Key is a return object of
KeyBindings.rebindJ3KeyKeystroke(KeyStroke, J3Key)
which represents the result of the update.An extension of
StatefulCommand for commands that are interactive and primarily
driven by a set of temporary, context-specific keybindings, such as the arrow keys.A
Layer is a fundamental concept in the rendering pipeline, representing a
collection of Thing instances that are rendered together.A utility class that acts as a locator for a specific theme property and its corresponding
setter function.
The Logger class provides a simple logging utility.
A single macro with a name and multiple
MacroLinesA dispatcher command for macro related things.
A single line of a
Macro with an InstructionType and the string representing the instruction.A single-instantiated class with the purpose of recording engine events to become a single
Macro.A single-instantiated class with the purpose of running a single
Macro with many responsibilitiesDa Macro Utils.
Represents a final, specialized 3x3 matrix.
Defines the core contract for a matrix implementation.
Provides a collection of static utility methods for performing mathematical operations
on matrices that implement the
MatrixInterface.A command that dispatches to various measurement subcommands like
VolumeCmd and DistanceCmd.Event payload for when a mouse click occurs.
MouseOwner is a class which represents an entity that can own the mouse input in the sceneManager.
MOwner is an enum which represents the different types of mouse owners in the sceneManager.
NoMouseOwner is a MouseOwner which represents the absence of a mouse owner in the sceneManager.
A plane is defined by a normal vector and a point on the plane (origin).
A simple immutable class which stores an
X and Y offset when converting
between ScreenPoint and CartesianPoint using their offset overloads.A no-args stateful command which orbits the camera around (itself) using
OrbitMouseOwner to enable dragging
capabilities.A mouse owner that handles camera orbiting logic.
Any key defintion not defined within
GlobalKeybinds for whatever reason.Parsing utilities used by
CommandParser.A record to hold the results of the
Parsing.bracePairs(String) method.PF1 is a J3D file protocol implementation for reading and writing
project files that contain layer and thing information to and from disk.
PF2 is a J3D file protocol implementation for reading and writing
project files that contain layer and thing information to and from disk.
A basic interface for providing safe guards before a command is executed.
A command to create a prism.
ProjectFile is an abstract base class for J3D project file protocols.
An exception that occurs during the reading or writing of a project file (e.g., .j3p).
Defines a singular property of some object which implements
HasProperties.A
PropertyEntry represents either a single or combined list of properties and is itself
one entry into the PropertiesPanel.Represents a key for a property, defining its name, description, expected type,
the class that provides the property, and whether it's a constant.
PropertyPanel is the interface which defines how a
PropertyEntry's sub panel
displays and edits components.Enum used by the engine to decipher which triangle sorting method
to use.
A
MouseOwner responsible for handling "quick translate" functionality.Represents a search query that can be applied to a
SceneObject.Represents the rendering state for a graphical object, linking a pure geometric definition
with its graphical object representation.
A mouse owner that handles the logic for rotating selected objects when a user
drags a transformation handle.
A sub-command of
TransformCmd who uses the handles made by AbstractTransform
and the key-setters provided by AbstractTransform from KeyedStatefulCommand
to rotate a selection of points or triangles around a given axis.Represents an object's orientation in 3D space using Tait-Bryan angles (yaw, pitch, and roll).
Defines the contract for generating individual rotation matrices for pitch, yaw, and roll.
Manages the history of executed commands in the command palette.
A SafeJLabel is just a wrapper around 2 or soon more labels which when calling setText calls
SwingUtilities.invokeLater(Runnable)A mouse owner that handles the logic for scaling selected objects when a user
drags a transformation handle.
A sub-command of
TransformCmd who uses the handles made by AbstractTransform
and the key-setters provided by AbstractTransform from KeyedStatefulCommand
to scale a selection of points or triangles.Represents an exception that occurs within the 3D scene or engine.
SceneManager is the class.
A generic object within the scene.
A special kind of
SceneObject which is almost all the time just a collection of other
SceneObjects but with the extra role of having to:
Be apart of the LayerTree
Be hidden and deleted via the History using Actions
Be serialized by ProjectFile and reconstructed off the EDT thread via SceneObjectList.invokeSwingHooks()
SceneRenderer is a static class that manages all GTri objects in the scene
and their rendering order based on their distance from the camera.
ScreenPoint, not to be confused with
CartesianPoint, is a point on the actual screen (window) open.A command which selects a given
GObjectEvent payload for when objects are selected.
Manages the selection of GObjects within a collection of Layers and Things.
SelectionMouseOwner is a MouseOwner which is responsible for handling mouse events related to
selection in the sceneManager.
A concrete implementation of
PreCommandExecution which forces the user to have made
a selection before the command can execute.A SelectionQuery represents a selection made by the user.
SelectionType is an enum that describes the different types of selections that can be made.
SelectionUI is a utility class for rendering the selection rectangle on the screen and determining the type of selection based on user input.
Standard utility functions to use for or in relation to selecting.
Enumeration for selection type.
A marker interface for any command that may be stateful at some point with it's own specific logic or not.
A generic class representing a single setting.
An interface which represents a single setting panel.
An interface for a child of a settings folder.
An interface for a folder of settings.
Event payload for when a
Setting is updated via code.A
MouseOwner which enables child classes which extend it, the capability to snap to
GObjects.Represents an event payload specifically for snapping operations, carrying information
about the
GObject that is being snapped to.SortMethod is an abstract class which extends ArrayList of GTri and represents
a method for sorting triangles.
A command that can be in one of two states: running or not running.
Event payload for when a
StatefulCommand has completed its execution.Represents the manner in which a
StatefulCommand completed its execution. however if the given
only implements as high as SemiStatefulCommand it will always be StatefulCommandCompletedPayload.CompletionType.ENTERWhile apart from settings, core settings are the modernied versio.
StaticRefs is a class which holds static references to important instances in the engine, such as the SceneManager, Executor, Main Frame, Camera, etc.
A background thread that collects and reports statistics to the Swing Event Dispatch Thread (EDT) once per second.
A utility class for parsing and managing "tagged arguments" within the command system.
Represents an instance of a parsed tagged argument, holding its name, its value,
and its expected type.
Manages the updating of UI component properties based on a theme.
A Thing, or more commonly in engine lingo, a mesh, is an
SceneObjectList
which makes up an entire 3d object made of GTris, GPoints and GLines.A SwingWorker that acts as a countdown timer, executing a callback upon completion.
Represents a link token in the parsed documentation.
A subcommand of
UICmd which toggles the visibility of various UI floating panels.A very complicated command which is a dispatcher for its specific transform subcommands.
A specialized
MouseOwner that manages user interaction with a set of
3D transformation handles.A mouse owner that handles the logic for translating selected objects when a user
drags a transformation handle.
A sub-command of
TransformCmd who uses the handles made by AbstractTransform
and the key-setters provided by AbstractTransform from KeyedStatefulCommand
to translate a selection of points or triangles.A no-arg subcommand of
DebugCmd which simply toggles the normal of a selected triangle or triangles.A class representing a piece of text with potential formatting (bold, italic, inline code).
Represents an HTML tag token wrapper.
A base class for all token wrappers used in the J3Engine documentation reader.
Represents a command argument that is expected to be of a specific type or one of several allowed types.
A subcommand of
DebugCmd which logs the type of the given argumentProvides real-time typing hints, suggestions, and visual feedback for the command palette input.
A command for interacting with and managing the User Interface (UI) elements of the engine.
An exception who's pure purpose is Control flow.
Represents an immutable 3D vector or a point in 3D space.
An enum describing how a
GTri should draw itself.The following sort method was generated by GitHub Copilot Chat (IntelliJ plugin) on 03-01-2026 with the following prompt:
An action who does not need to return any meaningful value.
* A subcommand of
MeasureCmd that calculates and displays the volume of a solid
Thing.A marker interface representing a generic type.
Represents a winding of three
GPoints, typically used to define a triangle or a face in 2D geometry.Implements the
RotationMatrixDirection interface to create rotation matrices
that transform a direction from world space to camera space.Enum representing different types of wrappers or blocks of content that can be
found in a document.
ZDepthIdBuffer is a high-performance software rasterizer used for object picking.