minerender 2.1.0-alpha.0 → 2.1.0-alpha.10

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.
Files changed (94) hide show
  1. package/README.md +1 -1
  2. package/dist/browser/index.d.mts +187 -137
  3. package/dist/browser/index.d.ts +187 -137
  4. package/dist/browser/index.js +1378 -1130
  5. package/dist/browser/index.js.map +1 -1
  6. package/dist/browser/index.mjs +1392 -1144
  7. package/dist/browser/index.mjs.map +1 -1
  8. package/dist/bundle.js +7531 -8873
  9. package/dist/bundle.js.map +1 -1
  10. package/dist/node/index.d.mts +186 -136
  11. package/dist/node/index.d.ts +186 -136
  12. package/dist/node/index.js +1598 -1280
  13. package/dist/node/index.js.map +1 -1
  14. package/dist/node/index.mjs +1550 -1233
  15. package/dist/node/index.mjs.map +1 -1
  16. package/package.json +11 -13
  17. package/.worktrees/jobqu-review/LICENSE +0 -21
  18. package/.worktrees/jobqu-review/README.md +0 -176
  19. package/.worktrees/v2-asset-sources/LICENSE +0 -21
  20. package/.worktrees/v2-asset-sources/README.md +0 -30
  21. package/.worktrees/v2-asset-sources/examples/script-tag/README.md +0 -13
  22. package/.worktrees/v2-asset-sources/examples/vite/README.md +0 -13
  23. package/.worktrees/v2-asset-sources/packages/minerender/LICENSE +0 -21
  24. package/.worktrees/v2-asset-sources/packages/minerender/README.md +0 -24
  25. package/.worktrees/v2-brightness/LICENSE +0 -21
  26. package/.worktrees/v2-brightness/README.md +0 -30
  27. package/.worktrees/v2-brightness/examples/script-tag/README.md +0 -13
  28. package/.worktrees/v2-brightness/examples/vite/README.md +0 -13
  29. package/.worktrees/v2-brightness/packages/minerender/LICENSE +0 -21
  30. package/.worktrees/v2-brightness/packages/minerender/README.md +0 -24
  31. package/.worktrees/v2-cache-recovery/LICENSE +0 -21
  32. package/.worktrees/v2-cache-recovery/README.md +0 -30
  33. package/.worktrees/v2-cache-recovery/examples/script-tag/README.md +0 -13
  34. package/.worktrees/v2-cache-recovery/examples/vite/README.md +0 -13
  35. package/.worktrees/v2-cache-recovery/packages/minerender/LICENSE +0 -21
  36. package/.worktrees/v2-cache-recovery/packages/minerender/README.md +0 -24
  37. package/.worktrees/v2-ci-stack/LICENSE +0 -21
  38. package/.worktrees/v2-ci-stack/README.md +0 -109
  39. package/.worktrees/v2-ci-stack/examples/script-tag/README.md +0 -15
  40. package/.worktrees/v2-ci-stack/examples/vite/README.md +0 -15
  41. package/.worktrees/v2-ci-stack/packages/minerender/LICENSE +0 -21
  42. package/.worktrees/v2-ci-stack/packages/minerender/README.md +0 -11
  43. package/.worktrees/v2-ci-typescript/LICENSE +0 -21
  44. package/.worktrees/v2-ci-typescript/README.md +0 -11
  45. package/.worktrees/v2-controls/LICENSE +0 -21
  46. package/.worktrees/v2-controls/README.md +0 -30
  47. package/.worktrees/v2-controls/examples/script-tag/README.md +0 -13
  48. package/.worktrees/v2-controls/examples/vite/README.md +0 -13
  49. package/.worktrees/v2-controls/packages/minerender/LICENSE +0 -21
  50. package/.worktrees/v2-controls/packages/minerender/README.md +0 -24
  51. package/.worktrees/v2-dependencies/LICENSE +0 -21
  52. package/.worktrees/v2-dependencies/README.md +0 -30
  53. package/.worktrees/v2-dependencies/examples/script-tag/README.md +0 -13
  54. package/.worktrees/v2-dependencies/examples/vite/README.md +0 -13
  55. package/.worktrees/v2-dependencies/packages/minerender/LICENSE +0 -21
  56. package/.worktrees/v2-dependencies/packages/minerender/README.md +0 -24
  57. package/.worktrees/v2-frame-limit/LICENSE +0 -21
  58. package/.worktrees/v2-frame-limit/README.md +0 -30
  59. package/.worktrees/v2-frame-limit/examples/script-tag/README.md +0 -13
  60. package/.worktrees/v2-frame-limit/examples/vite/README.md +0 -13
  61. package/.worktrees/v2-frame-limit/packages/minerender/LICENSE +0 -21
  62. package/.worktrees/v2-frame-limit/packages/minerender/README.md +0 -24
  63. package/.worktrees/v2-images/LICENSE +0 -21
  64. package/.worktrees/v2-images/README.md +0 -30
  65. package/.worktrees/v2-images/examples/script-tag/README.md +0 -13
  66. package/.worktrees/v2-images/examples/vite/README.md +0 -13
  67. package/.worktrees/v2-images/packages/minerender/LICENSE +0 -21
  68. package/.worktrees/v2-images/packages/minerender/README.md +0 -24
  69. package/.worktrees/v2-lifecycle/LICENSE +0 -21
  70. package/.worktrees/v2-lifecycle/README.md +0 -30
  71. package/.worktrees/v2-lifecycle/examples/script-tag/README.md +0 -13
  72. package/.worktrees/v2-lifecycle/examples/vite/README.md +0 -13
  73. package/.worktrees/v2-lifecycle/packages/minerender/LICENSE +0 -21
  74. package/.worktrees/v2-lifecycle/packages/minerender/README.md +0 -24
  75. package/.worktrees/v2-main-conflicts/LICENSE +0 -21
  76. package/.worktrees/v2-main-conflicts/README.md +0 -11
  77. package/.worktrees/v2-monorepo/LICENSE +0 -21
  78. package/.worktrees/v2-monorepo/README.md +0 -30
  79. package/.worktrees/v2-monorepo/examples/script-tag/README.md +0 -13
  80. package/.worktrees/v2-monorepo/examples/vite/README.md +0 -13
  81. package/.worktrees/v2-monorepo/packages/minerender/LICENSE +0 -21
  82. package/.worktrees/v2-monorepo/packages/minerender/README.md +0 -24
  83. package/.worktrees/v2-requests/LICENSE +0 -21
  84. package/.worktrees/v2-requests/README.md +0 -30
  85. package/.worktrees/v2-requests/examples/script-tag/README.md +0 -13
  86. package/.worktrees/v2-requests/examples/vite/README.md +0 -13
  87. package/.worktrees/v2-requests/packages/minerender/LICENSE +0 -21
  88. package/.worktrees/v2-requests/packages/minerender/README.md +0 -26
  89. package/.worktrees/v2-source-errors/LICENSE +0 -21
  90. package/.worktrees/v2-source-errors/README.md +0 -30
  91. package/.worktrees/v2-source-errors/examples/script-tag/README.md +0 -13
  92. package/.worktrees/v2-source-errors/examples/vite/README.md +0 -13
  93. package/.worktrees/v2-source-errors/packages/minerender/LICENSE +0 -21
  94. package/.worktrees/v2-source-errors/packages/minerender/README.md +0 -26
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "minerender",
3
- "version": "2.1.0-alpha.0",
3
+ "version": "2.1.0-alpha.10",
4
4
  "description": "Interactive 3D renders of Minecraft skins, models, blocks, entities and worlds",
5
5
  "main": "./dist/node/index.js",
6
6
  "module": "./dist/browser/index.mjs",
@@ -78,16 +78,17 @@
78
78
  "test": "ava",
79
79
  "doc": "typedoc --out docs src",
80
80
  "prepublishOnly": "yarn run build",
81
- "publish:alpha": "npm version prerelease --force --preid=alpha && npm publish --tag=alpha"
81
+ "publish:alpha": "yarn build && yarn version prerelease --immediate && yarn npm publish --tag alpha"
82
82
  },
83
83
  "engines": {
84
- "node": ">=16.0.0"
84
+ "node": ">=22.0.0"
85
85
  },
86
86
  "author": "Haylee Schäfer",
87
87
  "license": "MIT",
88
88
  "repository": {
89
89
  "type": "git",
90
- "url": "https://github.com/InventivetalentDev/MineRender.git"
90
+ "url": "https://github.com/InventivetalentDev/MineRender.git",
91
+ "directory": "packages/minerender"
91
92
  },
92
93
  "homepage": "https://minerender.org",
93
94
  "peerDependencies": {
@@ -97,27 +98,25 @@
97
98
  "canvas": "^2.6.1"
98
99
  },
99
100
  "dependencies": {
100
- "@inventivetalent/loading-cache": "^0.4.3",
101
- "@inventivetalent/time": "^1.0.0",
101
+ "@inventivetalent/loading-cache": "^1.0.0",
102
+ "@inventivetalent/time": "^1.0.4",
102
103
  "@zip.js/zip.js": "^2.7.31",
103
- "axios": "^0.21.1",
104
104
  "buffer": "^6.0.3",
105
105
  "crypto-js": "^4.0.0",
106
106
  "image-size": "^0.9.4",
107
- "jobqu": "^2.0.5",
107
+ "jobqu": "^3.1.0",
108
108
  "localforage": "^1.9.0",
109
109
  "node-persist": "^3.1.0",
110
110
  "postprocessing": "^6.33.3",
111
111
  "prismarine-nbt": "^2.2.1",
112
112
  "stats.js": "^0.17.0",
113
- "ts-deepmerge": "2.0.2",
114
- "typescript-memoize": "^1.1.1"
113
+ "ts-deepmerge": "2.0.2"
115
114
  },
116
115
  "devDependencies": {
117
116
  "@types/crypto-js": "^4.0.1",
118
117
  "@types/node": "^20.17.6",
119
118
  "@types/node-persist": "^3.1.1",
120
- "@types/three": "^0.125.2",
119
+ "@types/three": "~0.158.0",
121
120
  "ava": "^5.3.1",
122
121
  "esbuild": "^0.19.5",
123
122
  "esbuild-plugin-polyfill-node": "^0.3.0",
@@ -126,6 +125,5 @@
126
125
  "tsup": "^8.5.0",
127
126
  "typedoc": "^0.26.11",
128
127
  "typescript": "~5.6.3"
129
- },
130
- "packageManager": "yarn@4.5.3"
128
+ }
131
129
  }
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2020 Haylee Schäfer
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,176 +0,0 @@
1
- ## jobqu
2
- [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FInventivetalentDev%2Fjobqu.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2FInventivetalentDev%2Fjobqu?ref=badge_shield)
3
-
4
- Queue to run jobs with unique keys at fixed intervals
5
-
6
- ```
7
- npm install --save jobqu
8
- ```
9
-
10
- ## Single
11
- Collects all promises for a key & calls the runner function once per key per interval
12
- ```typescript
13
- import { JobQueue } from "jobqu";
14
-
15
- const queue = new JobQueue<string, string>(function (s: string) {
16
- console.log("runner: " + s);
17
- return new Promise(resolve => {
18
- setTimeout(() => {
19
- resolve(s + Math.ceil(Math.random() * 100000));
20
- }, Math.random() * 1000);
21
- })
22
- });
23
- queue.add("mykey").then(val => {
24
- console.log("mykey 1: " + val);
25
- });
26
- queue.add("notmykey").then(val => {
27
- console.log("notmykey 1: " + val);
28
- })
29
- queue.add("mykey").then(val => {
30
- console.log("mykey 2: " + val);
31
- });
32
- setTimeout(() => {
33
- queue.add("mykey").then(val => {
34
- console.log("mykey 3: " + val);
35
- });
36
- queue.add("notmykey").then(val => {
37
- console.log("notmykey 2: " + val);
38
- })
39
- }, 100);
40
- // mykey 1 == mykey 2 == mykey 3
41
- // notmykey 1 == notmykey 2
42
- setTimeout(() => queue.end(), 5000);
43
-
44
- /*
45
- runner: mykey
46
- runner: notmykey
47
- notmykey 1: notmykey26663
48
- notmykey 2: notmykey26663
49
- mykey 1: mykey40915
50
- mykey 2: mykey40915
51
- mykey 3: mykey40915
52
- */
53
- ```
54
-
55
- ## Multi
56
- Collects all promises for a key & calls the runner function with multiple keys to resolve
57
- ```typescript
58
- import { MultiJobQueue } from "jobqu";
59
-
60
- const queue = new MultiJobQueue<string, string>(function (sa: string[]) {
61
- console.log("runner: " + sa);
62
- return new Promise(resolve => {
63
- setTimeout(() => {
64
- let result = new Map<string, string>();
65
- for (let s of sa) {
66
- result.set(s, s + Math.ceil(Math.random() * 100000));
67
- }
68
- resolve(result);
69
- }, Math.random() * 1000);
70
- })
71
- });
72
- queue.add("mykey").then(val => {
73
- console.log("mykey 1: " + val);
74
- });
75
- queue.add("notmykey").then(val=>{
76
- console.log("notmykey 1: " + val);
77
- })
78
- queue.add("mykey").then(val => {
79
- console.log("mykey 2: " + val);
80
- });
81
- setTimeout(() => {
82
- queue.add("mykey").then(val => {
83
- console.log("mykey 3: " + val);
84
- });
85
- queue.add("notmykey").then(val=>{
86
- console.log("notmykey 2: " + val);
87
- })
88
- }, 100);
89
- // mykey 1 == mykey 2 == mykey 3
90
- // notmykey 1 == notmykey 2
91
- setTimeout(() => queue.end(), 5000);
92
-
93
- /*
94
- runner: mykey,notmykey
95
- mykey 1: mykey23920
96
- mykey 2: mykey23920
97
- mykey 3: mykey23920
98
- notmykey 1: notmykey18288
99
- notmykey 2: notmykey18288
100
- */
101
- ```
102
-
103
-
104
- ## Options
105
- Both queues accept the same options object:
106
-
107
- ```typescript
108
- new JobQueue(runner, { interval: 1000, maxPerRun: 10, maxActive: 20 });
109
- ```
110
-
111
- | Option | Default | Description |
112
- | --- | --- | --- |
113
- | `interval` | `1000` | milliseconds between runs |
114
- | `maxPerRun` | `-1` | maximum keys handed to the runner per interval |
115
- | `maxActive` | `-1` | maximum keys running at once, including all active batches |
116
-
117
- Negative `maxPerRun` or `maxActive` values mean unlimited. The runner takes one key for
118
- `JobQueue` or an array of keys for `MultiJobQueue`. Numeric calls remain supported as
119
- `new JobQueue(runner, interval, maxPerRun)` and `new MultiJobQueue(runner, interval, maxPerRun)`.
120
-
121
- Runs are always at least `interval` apart, and everything added in the meantime is collected into
122
- the next one. A key that is still running is skipped, so the same key never runs twice at once —
123
- and a slow key never holds up the rest of the queue, even with `maxPerRun` set. Jobs added while
124
- their key is running are collected for the next run rather than resolved with the older value.
125
- At the active limit, dispatch pauses until a running key settles. Waiting for capacity does not
126
- create a polling timer, and resumed runs still respect `interval` and `maxPerRun`.
127
-
128
- ## Methods
129
-
130
- | Method | Description |
131
- | --- | --- |
132
- | `add(key)` | queue a job, returns `Promise<V>` |
133
- | `remove(key)` | drop a queued job, rejecting its promise; returns whether one was queued |
134
- | `clear()` | drop every queued job, rejecting their promises |
135
- | `end()` | stop the queue task and drop every queued job |
136
- | `unref()` / `ref()` | whether *queued* jobs keep the node process alive (`ref` by default) |
137
- | `size` | number of keys waiting to run |
138
- | `activeSize` | number of keys currently handed to the runner |
139
- | `keys()` | keys waiting to run |
140
-
141
- ## Errors
142
- Whatever the runner throws or rejects with is passed straight through to every job in that run.
143
- Two errors come from the queue itself:
144
-
145
- ```typescript
146
- import { JobCancelledError, MissingResultError } from "jobqu";
147
-
148
- queue.add("mykey").catch(err => {
149
- if (err instanceof JobCancelledError) {
150
- // err.reason is "removed", "cleared" or "ended"
151
- }
152
- });
153
- ```
154
-
155
- - **`JobCancelledError`** — the job was dropped by `remove()`, `clear()` or `end()` before it ran,
156
- or `add()` was called after `end()`. A job already handed to the runner cannot be cancelled and
157
- settles as usual.
158
- - **`MissingResultError`** — `MultiJobQueue` only: the runner's map had no entry for this key. To
159
- say "no value", map the key to an explicit value such as `null` instead of leaving it out.
160
-
161
- ## Stopping
162
- The queue only holds a timer while it has jobs to run. Once it drains it stops ticking entirely, so
163
- an idle queue never keeps the node process alive — and it wakes back up on the next `add()`.
164
-
165
- While jobs *are* waiting the timer does keep the process alive, so pending work is not dropped on
166
- the way out. Call `unref()` if not even that should hold the process open:
167
- ```typescript
168
- const queue = new JobQueue<string, string>(runner).unref();
169
- ```
170
-
171
- `end()` stops the queue for good and rejects everything still queued, so awaiting callers are never
172
- left hanging. It cannot be restarted — `add()` rejects once it has ended.
173
-
174
-
175
- ## License
176
- [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FInventivetalentDev%2Fjobqu.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2FInventivetalentDev%2Fjobqu?ref=badge_large)
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2018 Haylee Schäfer
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,30 +0,0 @@
1
- # MineRender V2
2
-
3
- A TypeScript library for rendering Minecraft skins, models, blocks, entities, and worlds.
4
- This monorepo contains the `minerender` package, demo pages, and examples.
5
- V2 is in alpha; see [ROADMAP.md](./ROADMAP.md) for progress and remaining work,
6
- including headless Node rendering.
7
-
8
- ## Develop locally
9
-
10
- Use Node.js 22+ and Yarn 4.5.3 through Corepack. Run these commands from the repository root:
11
-
12
- ```sh
13
- corepack enable
14
- yarn install --immutable
15
- yarn build
16
- ```
17
-
18
- Choose a workspace to work on:
19
-
20
- | Workspace | Purpose | Development command |
21
- |---|---|---|
22
- | [packages/minerender](./packages/minerender) | Public library | `yarn build:watch` |
23
- | [apps/web](./apps/web) | Demo and manual test pages | `yarn dev:web` |
24
- | [examples/vite](./examples/vite) | Vue/Vite example | `yarn dev:vite` |
25
- | [examples/script-tag](./examples/script-tag) | Plain HTML example | `yarn dev:script-tag` |
26
-
27
- The `dev:*` commands build the library before starting their server.
28
- Run `yarn typecheck` and `yarn test` to check your changes.
29
-
30
- See [AGENTS.md](./AGENTS.md) for architecture, contributor conventions, and publishing instructions.
@@ -1,13 +0,0 @@
1
- # MineRender script-tag example
2
-
3
- This page loads the library's IIFE bundle through one script tag and uses the `MineRender` global. It renders a skin and a diamond sword with orbit controls. The bundle includes three.js and `OrbitControls`.
4
-
5
- From the repository root:
6
-
7
- 1. Install dependencies with `yarn install`.
8
- 2. Build the library with `yarn workspace minerender build`.
9
- 3. Run `yarn workspace @minerender/example-script-tag dev`, then open `http://127.0.0.1:5174`.
10
-
11
- Run `yarn workspace @minerender/example-script-tag build` to copy the page and library bundle into `examples/script-tag/dist`. You can serve that directory with any static web server. The page fetches Minecraft assets over HTTPS.
12
-
13
- After editing the page or rebuilding the library, restart the development server to copy the updated files.
@@ -1,13 +0,0 @@
1
- # MineRender Vite example
2
-
3
- This Vue example uses ESM imports from the `minerender` workspace. It renders a skin, a diamond sword, and a stone block. Select a resource-pack ZIP to override their vanilla assets.
4
-
5
- From the repository root:
6
-
7
- 1. Install dependencies with `yarn install`.
8
- 2. Build the library with `yarn workspace minerender build`.
9
- 3. Start the example with `yarn workspace @minerender/example-vite dev`, then open `http://127.0.0.1:5175`.
10
-
11
- Run `yarn workspace @minerender/example-vite build` to typecheck the example and generate `examples/vite/dist`. Rebuild the library after changing its source.
12
-
13
- The example fetches Minecraft assets over HTTPS. It keeps the Node polyfill plugin because the library's asset loaders include the NBT parser, which uses `zlib`.
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2018 Haylee Schäfer
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,24 +0,0 @@
1
- # MineRender V2
2
-
3
- A TypeScript library for interactive Minecraft skins, models, blocks, entities, and worlds.
4
- V2 is in alpha. See the [roadmap](https://github.com/InventivetalentDev/MineRender/blob/main/ROADMAP.md) for feature parity and remaining work.
5
-
6
- Install the alpha package with its three.js peer:
7
-
8
- ```sh
9
- yarn add minerender@alpha three@^0.158.0
10
- ```
11
-
12
- In a browser application:
13
-
14
- ```ts
15
- import { Renderer } from "minerender";
16
-
17
- const renderer = new Renderer();
18
- renderer.appendTo(document.body);
19
- renderer.start();
20
- ```
21
-
22
- The package provides ESM and CommonJS entries for browsers and Node.js, plus
23
- `dist/bundle.js` for the `MineRender` browser global. Node imports require the optional
24
- native `canvas` dependency; headless rendering is still in development.
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2018 Haylee Schäfer
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,30 +0,0 @@
1
- # MineRender V2
2
-
3
- A TypeScript library for rendering Minecraft skins, models, blocks, entities, and worlds.
4
- This monorepo contains the `minerender` package, demo pages, and examples.
5
- V2 is in alpha; see [ROADMAP.md](./ROADMAP.md) for progress and remaining work,
6
- including headless Node rendering.
7
-
8
- ## Develop locally
9
-
10
- Use Node.js 22+ and Yarn 4.5.3 through Corepack. Run these commands from the repository root:
11
-
12
- ```sh
13
- corepack enable
14
- yarn install --immutable
15
- yarn build
16
- ```
17
-
18
- Choose a workspace to work on:
19
-
20
- | Workspace | Purpose | Development command |
21
- |---|---|---|
22
- | [packages/minerender](./packages/minerender) | Public library | `yarn build:watch` |
23
- | [apps/web](./apps/web) | Demo and manual test pages | `yarn dev:web` |
24
- | [examples/vite](./examples/vite) | Vue/Vite example | `yarn dev:vite` |
25
- | [examples/script-tag](./examples/script-tag) | Plain HTML example | `yarn dev:script-tag` |
26
-
27
- The `dev:*` commands build the library before starting their server.
28
- Run `yarn typecheck` and `yarn test` to check your changes.
29
-
30
- See [AGENTS.md](./AGENTS.md) for architecture, contributor conventions, and publishing instructions.
@@ -1,13 +0,0 @@
1
- # MineRender script-tag example
2
-
3
- This page loads the library's IIFE bundle through one script tag and uses the `MineRender` global. It renders a skin and a diamond sword with orbit controls. The bundle includes three.js and `OrbitControls`.
4
-
5
- From the repository root:
6
-
7
- 1. Install dependencies with `yarn install`.
8
- 2. Build the library with `yarn workspace minerender build`.
9
- 3. Run `yarn workspace @minerender/example-script-tag dev`, then open `http://127.0.0.1:5174`.
10
-
11
- Run `yarn workspace @minerender/example-script-tag build` to copy the page and library bundle into `examples/script-tag/dist`. You can serve that directory with any static web server. The page fetches Minecraft assets over HTTPS.
12
-
13
- After editing the page or rebuilding the library, restart the development server to copy the updated files.
@@ -1,13 +0,0 @@
1
- # MineRender Vite example
2
-
3
- This Vue example uses ESM imports from the `minerender` workspace. It renders a skin, a diamond sword, and a stone block. Select a resource-pack ZIP to override their vanilla assets.
4
-
5
- From the repository root:
6
-
7
- 1. Install dependencies with `yarn install`.
8
- 2. Build the library with `yarn workspace minerender build`.
9
- 3. Start the example with `yarn workspace @minerender/example-vite dev`, then open `http://127.0.0.1:5175`.
10
-
11
- Run `yarn workspace @minerender/example-vite build` to typecheck the example and generate `examples/vite/dist`. Rebuild the library after changing its source.
12
-
13
- The example fetches Minecraft assets over HTTPS. It keeps the Node polyfill plugin because the library's asset loaders include the NBT parser, which uses `zlib`.
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2018 Haylee Schäfer
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,24 +0,0 @@
1
- # MineRender V2
2
-
3
- A TypeScript library for interactive Minecraft skins, models, blocks, entities, and worlds.
4
- V2 is in alpha. See the [roadmap](https://github.com/InventivetalentDev/MineRender/blob/main/ROADMAP.md) for feature parity and remaining work.
5
-
6
- Install the alpha package with its three.js peer:
7
-
8
- ```sh
9
- yarn add minerender@alpha three@^0.158.0
10
- ```
11
-
12
- In a browser application:
13
-
14
- ```ts
15
- import { Renderer } from "minerender";
16
-
17
- const renderer = new Renderer();
18
- renderer.appendTo(document.body);
19
- renderer.start();
20
- ```
21
-
22
- The package provides ESM and CommonJS entries for browsers and Node.js, plus
23
- `dist/bundle.js` for the `MineRender` browser global. Node imports require the optional
24
- native `canvas` dependency; headless rendering is still in development.
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2018 Haylee Schäfer
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,30 +0,0 @@
1
- # MineRender V2
2
-
3
- A TypeScript library for rendering Minecraft skins, models, blocks, entities, and worlds.
4
- This monorepo contains the `minerender` package, demo pages, and examples.
5
- V2 is in alpha; see [ROADMAP.md](./ROADMAP.md) for progress and remaining work,
6
- including headless Node rendering.
7
-
8
- ## Develop locally
9
-
10
- Use Node.js 22+ and Yarn 4.5.3 through Corepack. Run these commands from the repository root:
11
-
12
- ```sh
13
- corepack enable
14
- yarn install --immutable
15
- yarn build
16
- ```
17
-
18
- Choose a workspace to work on:
19
-
20
- | Workspace | Purpose | Development command |
21
- |---|---|---|
22
- | [packages/minerender](./packages/minerender) | Public library | `yarn build:watch` |
23
- | [apps/web](./apps/web) | Demo and manual test pages | `yarn dev:web` |
24
- | [examples/vite](./examples/vite) | Vue/Vite example | `yarn dev:vite` |
25
- | [examples/script-tag](./examples/script-tag) | Plain HTML example | `yarn dev:script-tag` |
26
-
27
- The `dev:*` commands build the library before starting their server.
28
- Run `yarn typecheck` and `yarn test` to check your changes.
29
-
30
- See [AGENTS.md](./AGENTS.md) for architecture, contributor conventions, and publishing instructions.
@@ -1,13 +0,0 @@
1
- # MineRender script-tag example
2
-
3
- This page loads the library's IIFE bundle through one script tag and uses the `MineRender` global. It renders a skin and a diamond sword with orbit controls. The bundle includes three.js and `OrbitControls`.
4
-
5
- From the repository root:
6
-
7
- 1. Install dependencies with `yarn install`.
8
- 2. Build the library with `yarn workspace minerender build`.
9
- 3. Run `yarn workspace @minerender/example-script-tag dev`, then open `http://127.0.0.1:5174`.
10
-
11
- Run `yarn workspace @minerender/example-script-tag build` to copy the page and library bundle into `examples/script-tag/dist`. You can serve that directory with any static web server. The page fetches Minecraft assets over HTTPS.
12
-
13
- After editing the page or rebuilding the library, restart the development server to copy the updated files.
@@ -1,13 +0,0 @@
1
- # MineRender Vite example
2
-
3
- This Vue example uses ESM imports from the `minerender` workspace. It renders a skin, a diamond sword, and a stone block. Select a resource-pack ZIP to override their vanilla assets.
4
-
5
- From the repository root:
6
-
7
- 1. Install dependencies with `yarn install`.
8
- 2. Build the library with `yarn workspace minerender build`.
9
- 3. Start the example with `yarn workspace @minerender/example-vite dev`, then open `http://127.0.0.1:5175`.
10
-
11
- Run `yarn workspace @minerender/example-vite build` to typecheck the example and generate `examples/vite/dist`. Rebuild the library after changing its source.
12
-
13
- The example fetches Minecraft assets over HTTPS. It keeps the Node polyfill plugin because the library's asset loaders include the NBT parser, which uses `zlib`.
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2018 Haylee Schäfer
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,24 +0,0 @@
1
- # MineRender V2
2
-
3
- A TypeScript library for interactive Minecraft skins, models, blocks, entities, and worlds.
4
- V2 is in alpha. See the [roadmap](https://github.com/InventivetalentDev/MineRender/blob/main/ROADMAP.md) for feature parity and remaining work.
5
-
6
- Install the alpha package with its three.js peer:
7
-
8
- ```sh
9
- yarn add minerender@alpha three@^0.158.0
10
- ```
11
-
12
- In a browser application:
13
-
14
- ```ts
15
- import { Renderer } from "minerender";
16
-
17
- const renderer = new Renderer();
18
- renderer.appendTo(document.body);
19
- renderer.start();
20
- ```
21
-
22
- The package provides ESM and CommonJS entries for browsers and Node.js, plus
23
- `dist/bundle.js` for the `MineRender` browser global. Node imports require the optional
24
- native `canvas` dependency; headless rendering is still in development.