@genocode/render 0.2.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { creatureBounds, shapeGeometry, type Bounds, type Detail } from "./geometry.js";
2
- export { backgroundRamp, DEFAULT_BACKGROUND, FIELD_OF_VIEW, frameCamera, LIGHTS, type CameraPlacement, } from "./look.js";
2
+ export { backgroundRamp, DEFAULT_BACKGROUND, FIELD_OF_VIEW, frameCamera, LIGHTS, type CameraPlacement, type Side, } from "./look.js";
3
3
  export { rasterize, type Image, type RasterOptions } from "./software.js";
4
4
  export { CreatureView, Thumbnails } from "./webgl.js";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AACxF,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,MAAM,EACN,KAAK,eAAe,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,SAAS,EAAE,KAAK,KAAK,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AACxF,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,MAAM,EACN,KAAK,eAAe,EACpB,KAAK,IAAI,GACV,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,SAAS,EAAE,KAAK,KAAK,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,kEAAkE;AAElE,OAAO,EAAE,cAAc,EAAE,aAAa,EAA4B,MAAM,eAAe,CAAC;AACxF,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,MAAM,GAEP,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,SAAS,EAAkC,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,kEAAkE;AAElE,OAAO,EAAE,cAAc,EAAE,aAAa,EAA4B,MAAM,eAAe,CAAC;AACxF,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,MAAM,GAGP,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,SAAS,EAAkC,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
package/dist/look.d.ts CHANGED
@@ -7,8 +7,13 @@ export interface CameraPlacement {
7
7
  near: number;
8
8
  far: number;
9
9
  }
10
- /** Looks at the creature's face (the turtle starts facing +z, towards the viewer), from a little above. */
11
- export declare function frameCamera(bounds: Bounds, aspect: number): CameraPlacement;
10
+ /** The sides a creature can be seen from, straight on. */
11
+ export type Side = "front" | "back" | "left" | "right" | "top" | "bottom";
12
+ /**
13
+ * Looks at the creature's face (the turtle starts facing +z, towards the viewer), from a little
14
+ * above; or, given a side, straight at that side.
15
+ */
16
+ export declare function frameCamera(bounds: Bounds, aspect: number, side?: Side): CameraPlacement;
12
17
  /** Directions point towards the light, in world space. */
13
18
  export declare const LIGHTS: {
14
19
  ambient: number;
@@ -1 +1 @@
1
- {"version":3,"file":"look.d.ts","sourceRoot":"","sources":["../src/look.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyB,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,2GAA2G;AAC3G,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,CAY3E;AAED,0DAA0D;AAC1D,eAAO,MAAM,MAAM;IACjB,OAAO;IACP,GAAG;QAAI,SAAS;QAAwB,QAAQ;;IAChD,IAAI;QAAI,SAAS;QAA4B,QAAQ;;CACtD,CAAC;AAEF,sEAAsE;AACtE,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnD;AAOD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3C,qFAAqF;AACrF,eAAO,MAAM,kBAAkB,EAAE;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,GAAG,EAAE,GAAG,CAAA;CAGvD,CAAC;AAEF,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAExC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE,CAO3E"}
1
+ {"version":3,"file":"look.d.ts","sourceRoot":"","sources":["../src/look.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyB,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,0DAA0D;AAC1D,MAAM,MAAM,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAY1E;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,eAAe,CAaxF;AAED,0DAA0D;AAC1D,eAAO,MAAM,MAAM;IACjB,OAAO;IACP,GAAG;QAAI,SAAS;QAAwB,QAAQ;;IAChD,IAAI;QAAI,SAAS;QAA4B,QAAQ;;CACtD,CAAC;AAEF,sEAAsE;AACtE,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnD;AAOD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3C,qFAAqF;AACrF,eAAO,MAAM,kBAAkB,EAAE;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,GAAG,EAAE,GAAG,CAAA;CAGvD,CAAC;AAEF,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAExC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE,CAO3E"}
package/dist/look.js CHANGED
@@ -2,15 +2,28 @@
2
2
  // camera framing, lights, and how backgrounds are drawn.
3
3
  import { sampleGradient, toRgb } from "@genocode/core";
4
4
  export const FIELD_OF_VIEW = 40;
5
- /** Looks at the creature's face (the turtle starts facing +z, towards the viewer), from a little above. */
6
- export function frameCamera(bounds, aspect) {
5
+ /** Which way the camera is from the creature, for each side. Top and bottom lean a hair towards the front, so the view keeps its front at the bottom (or top) of the picture. */
6
+ const SIDES = {
7
+ front: [0, 0, 1],
8
+ back: [0, 0, -1],
9
+ left: [-1, 0, 0],
10
+ right: [1, 0, 0],
11
+ top: [0, 1, 1e-4],
12
+ bottom: [0, -1, 1e-4],
13
+ };
14
+ /**
15
+ * Looks at the creature's face (the turtle starts facing +z, towards the viewer), from a little
16
+ * above; or, given a side, straight at that side.
17
+ */
18
+ export function frameCamera(bounds, aspect, side) {
7
19
  const half = (FIELD_OF_VIEW * Math.PI) / 360;
8
20
  // The narrower of the two directions decides how far back the camera goes.
9
21
  const fit = Math.min(Math.sin(half), Math.sin(Math.atan(Math.tan(half) * aspect)));
10
22
  const distance = (bounds.radius / fit) * 1.1;
11
23
  const [x, y, z] = bounds.centre;
24
+ const [dx, dy, dz] = side ? SIDES[side] : [0, 0.3 * (bounds.radius / distance), 1];
12
25
  return {
13
- position: [x, y + bounds.radius * 0.3, z + distance],
26
+ position: [x + dx * distance, y + dy * distance, z + dz * distance],
14
27
  target: [x, y, z],
15
28
  near: Math.max(distance - bounds.radius * 2, distance / 1000),
16
29
  far: distance + bounds.radius * 4,
package/dist/look.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"look.js","sourceRoot":"","sources":["../src/look.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"look.js","sourceRoot":"","sources":["../src/look.ts"],"names":[],"mappings":"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"}
package/dist/webgl.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { type LaidShape, type Value } from "@genocode/core";
2
2
  import { PerspectiveCamera, WebGLRenderer } from "three";
3
+ import { type Side } from "./look.js";
3
4
  export declare class CreatureView {
4
5
  private readonly canvas;
5
6
  readonly renderer: WebGLRenderer;
@@ -8,6 +9,8 @@ export declare class CreatureView {
8
9
  private readonly controls;
9
10
  private readonly resizeObserver;
10
11
  private frameRequested;
12
+ /** The camera's turn in the front view, which the lights are set for. */
13
+ private readonly frontTurn;
11
14
  constructor(canvas: HTMLCanvasElement);
12
15
  /** Replaces the creature on show. With `keepView`, the camera stays where the viewer left it. */
13
16
  setCreature(shapes: readonly LaidShape[], keepView?: boolean): void;
@@ -15,6 +18,8 @@ export declare class CreatureView {
15
18
  setBackground(fill: Value | undefined): void;
16
19
  /** Frames the whole creature, seen from the front and a little above. */
17
20
  resetView(): void;
21
+ /** Frames the whole creature, seen straight on from one side; without one, as `resetView`. */
22
+ viewFrom(side: Side | undefined): void;
18
23
  private resize;
19
24
  private requestFrame;
20
25
  dispose(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"webgl.d.ts","sourceRoot":"","sources":["../src/webgl.ts"],"names":[],"mappings":"AAIA,OAAO,EAAS,KAAK,SAAS,EAAkB,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAUL,iBAAiB,EAIjB,aAAa,EAEd,MAAM,OAAO,CAAC;AAqJf,qBAAa,YAAY;IAQX,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPnC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,MAAM,oBAAsD;IACrE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuB;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,cAAc,CAAS;IAE/B,YAA6B,MAAM,EAAE,iBAAiB,EASrD;IAED,iGAAiG;IACjG,WAAW,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,EAAE,QAAQ,UAAQ,GAAG,IAAI,CAIhE;IAED,mGAAmG;IACnG,aAAa,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI,CAG3C;IAED,yEAAyE;IACzE,SAAS,IAAI,IAAI,CAShB;IAED,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,YAAY;IAWpB,OAAO,IAAI,IAAI,CAKd;CACF;AAED;;;;GAIG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsD;IAC7E,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuB;IAE5C,cAEC;IAED,4FAA4F;IAC5F,IAAI,CACF,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,UAAU,EAAE,KAAK,GAAG,SAAS,GAC5B,IAAI,CAYN;IAED,OAAO,IAAI,IAAI,CAGd;CACF"}
1
+ {"version":3,"file":"webgl.d.ts","sourceRoot":"","sources":["../src/webgl.ts"],"names":[],"mappings":"AAIA,OAAO,EAAS,KAAK,SAAS,EAAkB,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAUL,iBAAiB,EAKjB,aAAa,EAEd,MAAM,OAAO,CAAC;AAGf,OAAO,EAML,KAAK,IAAI,EACV,MAAM,WAAW,CAAC;AAqJnB,qBAAa,YAAY;IAUX,OAAO,CAAC,QAAQ,CAAC,MAAM;IATnC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,MAAM,oBAAsD;IACrE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuB;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,cAAc,CAAS;IAC/B,yEAAyE;IACzE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAE9C,YAA6B,MAAM,EAAE,iBAAiB,EASrD;IAED,iGAAiG;IACjG,WAAW,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,EAAE,QAAQ,UAAQ,GAAG,IAAI,CAIhE;IAED,mGAAmG;IACnG,aAAa,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI,CAG3C;IAED,yEAAyE;IACzE,SAAS,IAAI,IAAI,CAEhB;IAED,8FAA8F;IAC9F,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAerC;IAED,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,YAAY;IAcpB,OAAO,IAAI,IAAI,CAKd;CACF;AAED;;;;GAIG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsD;IAC7E,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuB;IAE5C,cAEC;IAED,4FAA4F;IAC5F,IAAI,CACF,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,UAAU,EAAE,KAAK,GAAG,SAAS,GAC5B,IAAI,CAYN;IAED,OAAO,IAAI,IAAI,CAGd;CACF"}
package/dist/webgl.js CHANGED
@@ -2,7 +2,7 @@
2
2
  // shape's colour, alpha, shine and sharpness carried per instance. `CreatureView` is the full,
3
3
  // interactive view; `Thumbnails` draws many small pictures with one renderer.
4
4
  import { toRgb } from "@genocode/core";
5
- import { AmbientLight, CanvasTexture, Color, DirectionalLight, Group, InstancedBufferAttribute, InstancedMesh, Matrix4, MeshPhongMaterial, PerspectiveCamera, Scene, SRGBColorSpace, Vector3, WebGLRenderer, } from "three";
5
+ import { AmbientLight, CanvasTexture, Color, DirectionalLight, Group, InstancedBufferAttribute, InstancedMesh, Matrix4, MeshPhongMaterial, PerspectiveCamera, Quaternion, Scene, SRGBColorSpace, Vector3, WebGLRenderer, } from "three";
6
6
  import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js";
7
7
  import { creatureBounds, shapeGeometry } from "./geometry.js";
8
8
  import { backgroundRamp, FIELD_OF_VIEW, frameCamera, LIGHTS, } from "./look.js";
@@ -42,6 +42,7 @@ class CreatureScene {
42
42
  opaque = makeMaterial(false);
43
43
  seeThrough = makeMaterial(true);
44
44
  shapes = [];
45
+ lights = [];
45
46
  constructor() {
46
47
  this.scene.add(this.creature);
47
48
  this.scene.add(new AmbientLight(0xffffff, LIGHTS.ambient * LIGHT_SCALE));
@@ -49,9 +50,16 @@ class CreatureScene {
49
50
  const light = new DirectionalLight(0xffffff, l.strength * LIGHT_SCALE);
50
51
  light.position.set(...l.direction);
51
52
  this.scene.add(light);
53
+ this.lights.push({ light, direction: new Vector3(...l.direction) });
52
54
  }
53
55
  this.setBackground(undefined);
54
56
  }
57
+ /** Turns the lights with the camera, by `turn`, so every side is lit as the front is. */
58
+ turnLights(turn) {
59
+ for (const { light, direction } of this.lights) {
60
+ light.position.copy(direction).applyQuaternion(turn);
61
+ }
62
+ }
55
63
  setCreature(shapes, detail) {
56
64
  for (const child of [...this.creature.children]) {
57
65
  this.creature.remove(child);
@@ -112,8 +120,8 @@ class CreatureScene {
112
120
  old.dispose();
113
121
  }
114
122
  /** Points the camera at the whole creature, from the front and a little above. */
115
- frame(camera, aspect) {
116
- const placement = frameCamera(creatureBounds(this.shapes), aspect);
123
+ frame(camera, aspect, side) {
124
+ const placement = frameCamera(creatureBounds(this.shapes), aspect, side);
117
125
  camera.position.set(...placement.position);
118
126
  camera.near = placement.near / 4;
119
127
  camera.far = placement.far * 4;
@@ -136,6 +144,8 @@ export class CreatureView {
136
144
  controls;
137
145
  resizeObserver;
138
146
  frameRequested = false;
147
+ /** The camera's turn in the front view, which the lights are set for. */
148
+ frontTurn = new Quaternion();
139
149
  constructor(canvas) {
140
150
  this.canvas = canvas;
141
151
  this.renderer = new WebGLRenderer({ canvas, antialias: true, preserveDrawingBuffer: true });
@@ -161,8 +171,19 @@ export class CreatureView {
161
171
  }
162
172
  /** Frames the whole creature, seen from the front and a little above. */
163
173
  resetView() {
174
+ this.viewFrom(undefined);
175
+ }
176
+ /** Frames the whole creature, seen straight on from one side; without one, as `resetView`. */
177
+ viewFrom(side) {
164
178
  const aspect = this.canvas.clientWidth / Math.max(1, this.canvas.clientHeight);
165
- const placement = this.look.frame(this.camera, aspect);
179
+ if (side !== undefined) {
180
+ // The lights are set for the front view, so note where that is first.
181
+ this.look.frame(this.camera, aspect);
182
+ this.frontTurn.copy(this.camera.quaternion);
183
+ }
184
+ const placement = this.look.frame(this.camera, aspect, side);
185
+ if (side === undefined)
186
+ this.frontTurn.copy(this.camera.quaternion);
166
187
  this.controls.target.set(...placement.target);
167
188
  this.controls.minDistance = 0;
168
189
  this.controls.maxDistance =
@@ -189,6 +210,7 @@ export class CreatureView {
189
210
  // Damping keeps the view moving for a moment after the mouse lets go.
190
211
  if (this.controls.update())
191
212
  this.requestFrame();
213
+ this.look.turnLights(this.camera.quaternion.clone().multiply(this.frontTurn.clone().invert()));
192
214
  this.renderer.render(this.look.scene, this.camera);
193
215
  });
194
216
  }
package/dist/webgl.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"webgl.js","sourceRoot":"","sources":["../src/webgl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webgl.js","sourceRoot":"","sources":["../src/webgl.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@genocode/render",
3
- "version": "0.2.2",
3
+ "version": "0.3.0",
4
4
  "description": "Draws GenoCode creatures, textures and backgrounds with three.js.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -25,7 +25,7 @@
25
25
  "LICENSE"
26
26
  ],
27
27
  "dependencies": {
28
- "@genocode/core": "^0.4.0",
28
+ "@genocode/core": "^0.5.0",
29
29
  "three": "0.160.0"
30
30
  },
31
31
  "devDependencies": {