@nanoforge-dev/graphics-2d
v1.0.0
Published
NanoForge Engine - Graphics-2d
Readme
About
@nanoforge-dev/graphics-2d is a base 2D graphics library.
Installation
Node.js 24.11.0 or newer is required.
npm install @nanoforge-dev/graphics-2d
yarn add @nanoforge-dev/graphics-2d
pnpm add @nanoforge-dev/graphics-2d
bun add @nanoforge-dev/graphics-2dExample usage
Initialize the library in your main file with a red circle.
import { type IRunClientOptions } from "@nanoforge-dev/common";
import { NanoforgeFactory } from "@nanoforge-dev/core";
import { ECSClientLibrary } from "@nanoforge-dev/ecs-client";
import { Circle, Graphics2DLibrary, Layer } from "@nanoforge-dev/graphics-2d";
import { CircleComponent } from "./components/CircleComponent";
export async function main(options: IRunClientOptions) {
const app = NanoforgeFactory.createClient();
const ecs = new ECSClientLibrary();
const graphics = new Graphics2DLibrary();
app.useComponentSystem(ecs);
app.useGraphics(graphics);
await app.init(options);
const registry = ecs.registry;
const layer = new Layer();
graphics.stage.add(layer);
const entity = registry.spawnEntity();
registry.addComponent(
entity,
new CircleComponent(
new Circle({
radius: 70,
fill: "red",
}),
layer,
),
);
await app.run();
}With circle component defined.
import { type Circle, type Layer } from "@nanoforge-dev/graphics-2d";
export class CircleComponent {
name = "CircleComponent";
component: Circle;
constructor(component: Circle, layer: Layer) {
this.component = component;
layer.add(this.component);
}
}Links
Contributing
Before creating an issue, please ensure that it hasn't already been reported/suggested, and double-check the
documentation.
See the contribution guide if you'd like to submit a PR.
Help
If you don't understand something in the documentation, you are experiencing problems, or you just need a gentle nudge in the right direction, please don't hesitate to ask questions in discussions.
