incanto 0.1.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/LICENSE +30 -0
- package/README.md +36 -0
- package/THIRD-PARTY-NOTICES.md +88 -0
- package/assets/audio/attacked.mp3 +0 -0
- package/assets/audio/explosion.mp3 +0 -0
- package/assets/audio/gold_loot.mp3 +0 -0
- package/assets/audio/heal.mp3 +0 -0
- package/assets/audio/hit_metal_bang.mp3 +0 -0
- package/assets/audio/ice_spear.mp3 +0 -0
- package/assets/audio/monster_died.mp3 +0 -0
- package/assets/audio/slash.mp3 +0 -0
- package/assets/audio/smite.mp3 +0 -0
- package/assets/audio/spells_cast.mp3 +0 -0
- package/assets/audio/ui_click.wav +0 -0
- package/assets/audio/walk.mp3 +0 -0
- package/assets/catalog.json +390 -0
- package/assets/characters/2dbasic.json +41 -0
- package/assets/characters/2dbasic.png +0 -0
- package/assets/characters/ghost.json +46 -0
- package/assets/characters/ghost.png +0 -0
- package/assets/characters/goblin.json +40 -0
- package/assets/characters/goblin.png +0 -0
- package/assets/characters/medieval-knight.json +41 -0
- package/assets/characters/medieval-knight.png +0 -0
- package/assets/effects/swoosh.png +0 -0
- package/assets/items/box.png +0 -0
- package/assets/items/buff_potion.png +0 -0
- package/assets/items/coin.png +0 -0
- package/assets/items/gem.png +0 -0
- package/assets/items/gold.png +0 -0
- package/assets/items/hp_potion.png +0 -0
- package/assets/items/locked_item_box.png +0 -0
- package/assets/items/map.png +0 -0
- package/assets/items/resurrection_potion.png +0 -0
- package/assets/items/super_box.png +0 -0
- package/assets/items/trap.png +0 -0
- package/assets/tiles/floor00.jpg +0 -0
- package/assets/tiles/minecraft-tiles.png +0 -0
- package/assets/tiles/wall00.jpg +0 -0
- package/assets/vegetation/ash_color.png +0 -0
- package/assets/vegetation/aspen_color.png +0 -0
- package/assets/vegetation/bark/birch_color_1k.jpg +0 -0
- package/assets/vegetation/bark/birch_normal_1k.jpg +0 -0
- package/assets/vegetation/bark/birch_roughness_1k.jpg +0 -0
- package/assets/vegetation/bark/oak_color_1k.jpg +0 -0
- package/assets/vegetation/bark/oak_normal_1k.jpg +0 -0
- package/assets/vegetation/bark/oak_roughness_1k.jpg +0 -0
- package/assets/vegetation/bark/pine_color_1k.jpg +0 -0
- package/assets/vegetation/bark/pine_normal_1k.jpg +0 -0
- package/assets/vegetation/bark/pine_roughness_1k.jpg +0 -0
- package/assets/vegetation/ground/dirt_color.jpg +0 -0
- package/assets/vegetation/ground/dirt_normal.jpg +0 -0
- package/assets/vegetation/ground/grass.jpg +0 -0
- package/assets/vegetation/oak_color.png +0 -0
- package/assets/vegetation/pine_color.png +0 -0
- package/bin/incanto-assets.mjs +107 -0
- package/bin/incanto-check.mjs +107 -0
- package/bin/incanto-editor.mjs +343 -0
- package/bin/incanto-env.mjs +144 -0
- package/bin/incanto-model.mjs +296 -0
- package/bin/incanto-play.mjs +219 -0
- package/bin/incanto-skills.mjs +71 -0
- package/dist/2d.d.ts +642 -0
- package/dist/2d.js +44 -0
- package/dist/3d.d.ts +1860 -0
- package/dist/3d.js +5 -0
- package/dist/agent8-DzU2fFyH.js +129 -0
- package/dist/audio-player-DqUR3XFs.d.ts +110 -0
- package/dist/behavior-BAQq7HGM.d.ts +851 -0
- package/dist/create-game-BdjpTHrW.js +1725 -0
- package/dist/create-game-CZHROKcT.js +527 -0
- package/dist/debug-draw-CZmOYjL2.js +13 -0
- package/dist/debug.d.ts +66 -0
- package/dist/debug.js +658 -0
- package/dist/duplicate-DP2WPYom.js +22 -0
- package/dist/env.d.ts +430 -0
- package/dist/env.js +3152 -0
- package/dist/errors-BMFaY68Q.d.ts +33 -0
- package/dist/errors-BpWbnbb_.js +13 -0
- package/dist/gameplay-Ccruc3Wd.js +1501 -0
- package/dist/gameplay.d.ts +543 -0
- package/dist/gameplay.js +2 -0
- package/dist/heightmap-CroQPEER.js +185 -0
- package/dist/index.d.ts +305 -0
- package/dist/index.js +62 -0
- package/dist/json-BLk7H2Qa.js +30 -0
- package/dist/loader-CGs_G-r0.js +919 -0
- package/dist/loader-Mo0KghCv.d.ts +41 -0
- package/dist/net.d.ts +427 -0
- package/dist/net.js +772 -0
- package/dist/noise-CGUMx44x.js +82 -0
- package/dist/particle-sim-CbN4YUuH.d.ts +63 -0
- package/dist/particle-sim-DYuSUxvK.js +1319 -0
- package/dist/physics-2d-KuMWPTf6.js +288 -0
- package/dist/physics-3d-Dl67vOLT.js +434 -0
- package/dist/react.d.ts +65 -0
- package/dist/react.js +209 -0
- package/dist/register-BuUV1_KB.js +561 -0
- package/dist/register-CNlYAS1_.js +10634 -0
- package/dist/register-DPEV9_9t.js +851 -0
- package/dist/register-Dasmnurl.js +374 -0
- package/dist/registry-BVJ2HbCn.js +132 -0
- package/dist/rng-DP-SR7eg.js +38 -0
- package/dist/rolldown-runtime-D7D4PA-g.js +13 -0
- package/dist/schema-CcoWb32N.d.ts +104 -0
- package/dist/test.d.ts +158 -0
- package/dist/test.js +275 -0
- package/dist/touch-031PxtCR.js +208 -0
- package/dist/vite.d.ts +26 -0
- package/dist/vite.js +57 -0
- package/editor/assets/GameServer-C56iOUgF.js +1 -0
- package/editor/assets/agent8-Bp7QFI7v.js +1 -0
- package/editor/assets/index-DF3tMeKJ.css +1 -0
- package/editor/assets/index-Dl2pjA8e.js +7365 -0
- package/editor/assets/rapier-CEuLKeCu.js +1 -0
- package/editor/assets/rapier-DE6a0vmv.js +1 -0
- package/editor/index.html +169 -0
- package/package.json +97 -0
- package/schemas/scene.schema.json +4254 -0
- package/skills/README.md +9 -0
- package/skills/incanto-3d-character.md +229 -0
- package/skills/incanto-3d-models.md +151 -0
- package/skills/incanto-assets.md +118 -0
- package/skills/incanto-audio.md +309 -0
- package/skills/incanto-behaviors-and-scripts.md +169 -0
- package/skills/incanto-building-2d-games.md +242 -0
- package/skills/incanto-building-3d-games.md +245 -0
- package/skills/incanto-editor.md +163 -0
- package/skills/incanto-environment.md +743 -0
- package/skills/incanto-gameplay-behaviors.md +707 -0
- package/skills/incanto-multiplayer.md +264 -0
- package/skills/incanto-node-reference.md +797 -0
- package/skills/incanto-physics-and-input.md +164 -0
- package/skills/incanto-scene-json-authoring.md +325 -0
- package/skills/incanto-verifying-your-game.md +191 -0
- package/skills/incanto-web-integration.md +96 -0
- package/templates/agent8-server.js +84 -0
- package/templates/agent8-server.ts +138 -0
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title>Incanto Scene Editor</title>
|
|
7
|
+
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><rect width='16' height='16' rx='3' fill='%236ee7dc'/><text x='8' y='12' text-anchor='middle' font-size='11' font-family='monospace' fill='%230e1018'>i</text></svg>" />
|
|
8
|
+
<script type="module" crossorigin src="./assets/index-Dl2pjA8e.js"></script>
|
|
9
|
+
<link rel="modulepreload" crossorigin href="./assets/GameServer-C56iOUgF.js">
|
|
10
|
+
<link rel="stylesheet" crossorigin href="./assets/index-DF3tMeKJ.css">
|
|
11
|
+
</head>
|
|
12
|
+
<body>
|
|
13
|
+
<header id="topbar">
|
|
14
|
+
<div class="brand">
|
|
15
|
+
<span class="brand-mark">in</span>
|
|
16
|
+
<strong>incanto</strong><span class="brand-sub">editor</span>
|
|
17
|
+
</div>
|
|
18
|
+
<div id="file-chip" title="">
|
|
19
|
+
<svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><path d="M14 2v6h6"/></svg>
|
|
20
|
+
<span id="file-path"></span>
|
|
21
|
+
</div>
|
|
22
|
+
<span id="engine-version" class="pill"></span>
|
|
23
|
+
<span class="spacer"></span>
|
|
24
|
+
<button type="button" id="lang-btn" class="ghost" title="Language / 언어">
|
|
25
|
+
<span id="lang-current">EN</span>
|
|
26
|
+
<svg aria-hidden="true" width="9" height="9" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"/></svg>
|
|
27
|
+
</button>
|
|
28
|
+
<button type="button" id="docs-btn" class="ghost" title="Node documentation">
|
|
29
|
+
<svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/></svg>
|
|
30
|
+
docs
|
|
31
|
+
</button>
|
|
32
|
+
<button type="button" id="scenes-btn" class="ghost" hidden>
|
|
33
|
+
<svg aria-hidden="true" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 7V5a2 2 0 0 1 2-2h2M17 3h2a2 2 0 0 1 2 2v2M21 17v2a2 2 0 0 1-2 2h-2M7 21H5a2 2 0 0 1-2-2v-2"/></svg>
|
|
34
|
+
scenes
|
|
35
|
+
</button>
|
|
36
|
+
<button type="button" id="fit-btn" class="ghost" title="Zoom to fit (F)">⌖ fit</button>
|
|
37
|
+
<button type="button" id="undo-btn" class="ghost" title="Undo (Ctrl/Cmd+Z)" disabled>↩ undo</button>
|
|
38
|
+
<button type="button" id="play-btn" class="play" title="Run the scene with physics + input">
|
|
39
|
+
<svg aria-hidden="true" width="11" height="11" viewBox="0 0 24 24" fill="currentColor"><path d="M8 5v14l11-7z"/></svg>
|
|
40
|
+
play
|
|
41
|
+
</button>
|
|
42
|
+
<button type="button" id="save-btn" class="primary" disabled>save</button>
|
|
43
|
+
</header>
|
|
44
|
+
<div id="error-banner" hidden></div>
|
|
45
|
+
<div id="play-notice" hidden></div>
|
|
46
|
+
<main>
|
|
47
|
+
<aside id="tree-pane">
|
|
48
|
+
<button type="button" class="pane-title explorer-section section-toggle" data-section="assets">
|
|
49
|
+
<span class="chev"><svg aria-hidden="true" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4"><path d="m6 9 6 6 6-6"/></svg></span> assets
|
|
50
|
+
<span class="spacer"></span>
|
|
51
|
+
<span id="group-add-btn" class="ghost section-add" title="Add a group (folder)" role="button">
|
|
52
|
+
<svg aria-hidden="true" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 6a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/><path d="M12 11v6M9 14h6"/></svg>
|
|
53
|
+
</span>
|
|
54
|
+
<span id="asset-add-btn" class="ghost section-add" title="Add an asset" role="button">+</span>
|
|
55
|
+
</button>
|
|
56
|
+
<div id="asset-tree" data-body="assets"></div>
|
|
57
|
+
<button type="button" class="pane-title explorer-section section-toggle" data-section="scene">
|
|
58
|
+
<span class="chev"><svg aria-hidden="true" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4"><path d="m6 9 6 6 6-6"/></svg></span> scene
|
|
59
|
+
</button>
|
|
60
|
+
<div id="scene-body" data-body="scene">
|
|
61
|
+
<div id="tree"></div>
|
|
62
|
+
<div id="tree-actions">
|
|
63
|
+
<select id="add-type" title="Node type to add"></select>
|
|
64
|
+
<button type="button" id="add-btn" class="ghost" title="Add child to the selected node">+</button>
|
|
65
|
+
<button type="button" id="generate-btn" class="ghost" title="Generate an environment under the selected node">
|
|
66
|
+
<svg aria-hidden="true" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 3v4M12 17v4M3 12h4M17 12h4M5.6 5.6l2.8 2.8M15.6 15.6l2.8 2.8M18.4 5.6l-2.8 2.8M8.4 15.6l-2.8 2.8"/></svg>
|
|
67
|
+
</button>
|
|
68
|
+
<button type="button" id="delete-btn" class="ghost danger" title="Delete the selected node">✕</button>
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
|
+
</aside>
|
|
72
|
+
<section id="viewport-pane">
|
|
73
|
+
<div id="mode-toolbar">
|
|
74
|
+
<button type="button" id="tool-move" class="tool active" title="Move (W)">
|
|
75
|
+
<svg aria-hidden="true" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2v20M2 12h20M8 6l4-4 4 4M8 18l4 4 4-4M6 8l-4 4 4 4M18 8l4 4-4 4"/></svg>
|
|
76
|
+
</button>
|
|
77
|
+
<button type="button" id="tool-rotate" class="tool" title="Rotate (E)">
|
|
78
|
+
<svg aria-hidden="true" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 12a9 9 0 1 1-3-6.7"/><path d="M21 3v5h-5"/></svg>
|
|
79
|
+
</button>
|
|
80
|
+
<button type="button" id="tool-scale" class="tool" title="Scale (R)">
|
|
81
|
+
<svg aria-hidden="true" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 3 9 15"/><path d="M21 8V3h-5"/><rect x="3" y="13" width="8" height="8" rx="1"/></svg>
|
|
82
|
+
</button>
|
|
83
|
+
<span class="tool-divider"></span>
|
|
84
|
+
<button type="button" id="tool-colliders" class="tool active" title="Show colliders">
|
|
85
|
+
<svg aria-hidden="true" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-dasharray="3 2"><rect x="4" y="4" width="16" height="16" rx="2"/></svg>
|
|
86
|
+
</button>
|
|
87
|
+
</div>
|
|
88
|
+
<canvas id="viewport"></canvas>
|
|
89
|
+
<canvas id="overlay"></canvas>
|
|
90
|
+
<canvas id="play-canvas" hidden></canvas>
|
|
91
|
+
<div id="hints-dock">
|
|
92
|
+
<div id="hints" class="hints">
|
|
93
|
+
<span><b>click</b> select</span><span><b>drag</b> move</span><span><b>wheel</b> zoom</span><span><b>W/E/R</b> move/rotate/scale</span><span><b>⇧</b> snap</span><span><b>right-drag</b> pan</span>
|
|
94
|
+
</div>
|
|
95
|
+
<div id="hints-3d" class="hints" hidden>
|
|
96
|
+
<span><b>drag</b> orbit</span><span><b>right-drag</b> pan</span><span><b>wheel</b> zoom</span><span><b>W/E/R</b> mode</span><span><b>⇧</b> snap</span><span><b>F</b> frame</span><span><b>0</b> game cam</span>
|
|
97
|
+
</div>
|
|
98
|
+
<button type="button" id="hints-toggle" title="Controls">
|
|
99
|
+
<svg aria-hidden="true" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8"><rect x="2" y="6" width="20" height="12" rx="2"/><path d="M6 10h.01M10 10h.01M14 10h.01M18 10h.01M6 14h.01M18 14h.01M9 14h6"/></svg>
|
|
100
|
+
</button>
|
|
101
|
+
</div>
|
|
102
|
+
<button type="button" id="gameview-btn" class="ghost" title="View through the game camera — exactly what running the scene shows (0)">
|
|
103
|
+
<svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 7h12v10H3z"/><path d="M15 10l6-3v10l-6-3"/></svg>
|
|
104
|
+
game cam
|
|
105
|
+
</button>
|
|
106
|
+
</section>
|
|
107
|
+
<aside id="inspector-pane">
|
|
108
|
+
<div class="pane-title">inspector</div>
|
|
109
|
+
<div id="inspector"></div>
|
|
110
|
+
</aside>
|
|
111
|
+
</main>
|
|
112
|
+
<div id="picker" hidden>
|
|
113
|
+
<div id="picker-card">
|
|
114
|
+
<div class="pane-title picker-title">
|
|
115
|
+
open a scene
|
|
116
|
+
<button type="button" id="picker-close" title="Close (Esc)">✕</button>
|
|
117
|
+
</div>
|
|
118
|
+
<div id="picker-list"></div>
|
|
119
|
+
<div id="picker-new">
|
|
120
|
+
<input id="picker-path" type="text" placeholder="src/new-level.scene.json" />
|
|
121
|
+
<button type="button" id="picker-create" class="primary">create</button>
|
|
122
|
+
</div>
|
|
123
|
+
</div>
|
|
124
|
+
</div>
|
|
125
|
+
<div id="docs" hidden>
|
|
126
|
+
<div id="docs-card">
|
|
127
|
+
<div class="pane-title picker-title">
|
|
128
|
+
incanto nodes
|
|
129
|
+
<button type="button" id="docs-close" title="Close (Esc)">✕</button>
|
|
130
|
+
</div>
|
|
131
|
+
<div id="docs-layout">
|
|
132
|
+
<nav id="docs-tabs"></nav>
|
|
133
|
+
<div id="docs-body"></div>
|
|
134
|
+
</div>
|
|
135
|
+
</div>
|
|
136
|
+
</div>
|
|
137
|
+
<div id="confirm" hidden>
|
|
138
|
+
<div id="confirm-card">
|
|
139
|
+
<div class="pane-title picker-title">
|
|
140
|
+
<span id="confirm-title">still referenced</span>
|
|
141
|
+
<button type="button" id="confirm-close" title="Close (Esc)">✕</button>
|
|
142
|
+
</div>
|
|
143
|
+
<div id="confirm-body">
|
|
144
|
+
<div id="confirm-text"></div>
|
|
145
|
+
<div id="confirm-list"></div>
|
|
146
|
+
</div>
|
|
147
|
+
<div id="confirm-actions">
|
|
148
|
+
<button type="button" id="confirm-cancel" class="ghost">cancel</button>
|
|
149
|
+
<button type="button" id="confirm-delete">unlink & delete</button>
|
|
150
|
+
</div>
|
|
151
|
+
</div>
|
|
152
|
+
</div>
|
|
153
|
+
<div id="generate" hidden>
|
|
154
|
+
<div id="generate-card">
|
|
155
|
+
<div class="pane-title picker-title">
|
|
156
|
+
generate environment
|
|
157
|
+
<button type="button" id="generate-close" title="Close (Esc)">✕</button>
|
|
158
|
+
</div>
|
|
159
|
+
<div id="generate-body"></div>
|
|
160
|
+
<div id="generate-actions">
|
|
161
|
+
<span id="generate-status"></span>
|
|
162
|
+
<button type="button" id="generate-cancel" class="ghost">cancel</button>
|
|
163
|
+
<button type="button" id="generate-insert" class="primary">insert</button>
|
|
164
|
+
</div>
|
|
165
|
+
</div>
|
|
166
|
+
</div>
|
|
167
|
+
<div id="popover" hidden></div>
|
|
168
|
+
</body>
|
|
169
|
+
</html>
|
package/package.json
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "incanto",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Vibe-coding-first web game engine SDK — JSON-driven scenes on three.js",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"game-engine",
|
|
7
|
+
"threejs",
|
|
8
|
+
"vibe-coding",
|
|
9
|
+
"webgame",
|
|
10
|
+
"2d",
|
|
11
|
+
"3d",
|
|
12
|
+
"json",
|
|
13
|
+
"agent8"
|
|
14
|
+
],
|
|
15
|
+
"license": "UNLICENSED",
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://github.com/rareboe/Incanto.git",
|
|
19
|
+
"directory": "packages/engine"
|
|
20
|
+
},
|
|
21
|
+
"type": "module",
|
|
22
|
+
"sideEffects": false,
|
|
23
|
+
"files": [
|
|
24
|
+
"dist",
|
|
25
|
+
"templates",
|
|
26
|
+
"schemas",
|
|
27
|
+
"skills",
|
|
28
|
+
"bin",
|
|
29
|
+
"editor",
|
|
30
|
+
"assets",
|
|
31
|
+
"LICENSE",
|
|
32
|
+
"THIRD-PARTY-NOTICES.md"
|
|
33
|
+
],
|
|
34
|
+
"engines": {
|
|
35
|
+
"node": ">=20.19.0"
|
|
36
|
+
},
|
|
37
|
+
"exports": {
|
|
38
|
+
".": "./dist/index.js",
|
|
39
|
+
"./2d": "./dist/2d.js",
|
|
40
|
+
"./3d": "./dist/3d.js",
|
|
41
|
+
"./debug": "./dist/debug.js",
|
|
42
|
+
"./env": "./dist/env.js",
|
|
43
|
+
"./gameplay": "./dist/gameplay.js",
|
|
44
|
+
"./net": "./dist/net.js",
|
|
45
|
+
"./react": "./dist/react.js",
|
|
46
|
+
"./test": "./dist/test.js",
|
|
47
|
+
"./vite": "./dist/vite.js",
|
|
48
|
+
"./package.json": "./package.json",
|
|
49
|
+
"./schemas/*": "./schemas/*",
|
|
50
|
+
"./assets/*": "./assets/*"
|
|
51
|
+
},
|
|
52
|
+
"scripts": {
|
|
53
|
+
"build": "tsdown",
|
|
54
|
+
"dev": "tsdown --watch",
|
|
55
|
+
"typecheck": "tsc --noEmit",
|
|
56
|
+
"test": "vitest run --project unit --root ../.."
|
|
57
|
+
},
|
|
58
|
+
"peerDependencies": {
|
|
59
|
+
"@agent8/gameserver": ">=1.10.0",
|
|
60
|
+
"three": ">=0.180.0",
|
|
61
|
+
"react": ">=18"
|
|
62
|
+
},
|
|
63
|
+
"peerDependenciesMeta": {
|
|
64
|
+
"@agent8/gameserver": {
|
|
65
|
+
"optional": true
|
|
66
|
+
},
|
|
67
|
+
"react": {
|
|
68
|
+
"optional": true
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"devDependencies": {
|
|
72
|
+
"@agent8/gameserver": "1.10.2",
|
|
73
|
+
"@types/react": "^19.2.17",
|
|
74
|
+
"@types/react-dom": "^19.2.3",
|
|
75
|
+
"@types/three": "catalog:",
|
|
76
|
+
"react": "^19.2.7",
|
|
77
|
+
"react-dom": "^19.2.7",
|
|
78
|
+
"three": "catalog:",
|
|
79
|
+
"tsdown": "0.22.2",
|
|
80
|
+
"typescript": "catalog:",
|
|
81
|
+
"vitest": "catalog:"
|
|
82
|
+
},
|
|
83
|
+
"dependencies": {
|
|
84
|
+
"@dimforge/rapier2d-compat": "0.19.3",
|
|
85
|
+
"@dimforge/rapier3d-compat": "0.19.3",
|
|
86
|
+
"@pixiv/three-vrm": "^3.5.3"
|
|
87
|
+
},
|
|
88
|
+
"bin": {
|
|
89
|
+
"incanto-skills": "bin/incanto-skills.mjs",
|
|
90
|
+
"incanto-editor": "bin/incanto-editor.mjs",
|
|
91
|
+
"incanto-model": "bin/incanto-model.mjs",
|
|
92
|
+
"incanto-check": "bin/incanto-check.mjs",
|
|
93
|
+
"incanto-assets": "bin/incanto-assets.mjs",
|
|
94
|
+
"incanto-env": "bin/incanto-env.mjs",
|
|
95
|
+
"incanto-play": "bin/incanto-play.mjs"
|
|
96
|
+
}
|
|
97
|
+
}
|