First commit
This commit is contained in:
commit
26e8760bc4
9 changed files with 120 additions and 0 deletions
1
lib/src/index.ts
Normal file
1
lib/src/index.ts
Normal file
|
|
@ -0,0 +1 @@
|
|||
export * from "./interfaces";
|
||||
36
lib/src/interfaces/index.ts
Normal file
36
lib/src/interfaces/index.ts
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
export type TRendererType = "2d" | "webgl" | "webgl2" | "webgpu" | "html";
|
||||
|
||||
export type DrawObjectType = "rectangle-object" | "image-object" | "ellipse-object" | "text-object";
|
||||
|
||||
export interface IDrawObject extends IDrawBorderedRectangle {
|
||||
readonly id: string;
|
||||
readonly type: DrawObjectType;
|
||||
color: string;
|
||||
}
|
||||
|
||||
export interface IDrawRectangle {
|
||||
x: number;
|
||||
y: number;
|
||||
width: number;
|
||||
height: number;
|
||||
angle: number;
|
||||
}
|
||||
|
||||
export interface IDrawBorderedRectangle extends IDrawRectangle {
|
||||
border: number;
|
||||
borderColor: string;
|
||||
}
|
||||
|
||||
export interface IScene {
|
||||
objects: IDrawObject[];
|
||||
selection?: IDrawRectangle;
|
||||
spotlight: IDrawRectangle[];
|
||||
background: string;
|
||||
static: IDrawObject[];
|
||||
}
|
||||
|
||||
export interface IRenderer {
|
||||
readonly type: TRendererType;
|
||||
holder: HTMLElement;
|
||||
render(scene: IScene): Promise<void>;
|
||||
}
|
||||
6
lib/src/package.json
Normal file
6
lib/src/package.json
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"name": "@gxc-solutions/renderer-base",
|
||||
"version": "0.0.1",
|
||||
"main": "index.js",
|
||||
"author": "GXC Solutions"
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue