@nice2dev/game-engine 1.3.13 → 1.3.15
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/CHANGELOG.md +8 -0
- package/package.json +2 -2
- package/dist/types/accessibility/index.d.ts +0 -1
- package/dist/types/ai/index.d.ts +0 -1
- package/dist/types/animation/index.d.ts +0 -1
- package/dist/types/audio/HRTFAudio.d.ts +0 -180
- package/dist/types/audio/index.d.ts +0 -2
- package/dist/types/community/Community.d.ts +0 -112
- package/dist/types/community/index.d.ts +0 -1
- package/dist/types/core/TypeSafety.d.ts +0 -190
- package/dist/types/core/index.d.ts +0 -7
- package/dist/types/devtools/AssetStore.d.ts +0 -133
- package/dist/types/devtools/index.d.ts +0 -3
- package/dist/types/dialogue/index.d.ts +0 -2
- package/dist/types/docs/APIPlayground.d.ts +0 -26
- package/dist/types/docs/Cookbook.d.ts +0 -18
- package/dist/types/docs/Guides.d.ts +0 -18
- package/dist/types/docs/index.d.ts +0 -4
- package/dist/types/ecs/ECSOptimized.d.ts +0 -131
- package/dist/types/ecs/index.d.ts +0 -2
- package/dist/types/editor/NiceAnimationTimeline.d.ts +0 -114
- package/dist/types/editor/NiceLevelEditor.d.ts +0 -232
- package/dist/types/editor/NiceMaterialEditor.d.ts +0 -105
- package/dist/types/editor/NiceNodeGraph.d.ts +0 -87
- package/dist/types/editor/NiceParticleEditor.d.ts +0 -127
- package/dist/types/editor/behavior-tree/BTDebugPanel.d.ts +0 -102
- package/dist/types/editor/behavior-tree/BTEditorCanvas.d.ts +0 -79
- package/dist/types/editor/behavior-tree/BTEditorNode.d.ts +0 -58
- package/dist/types/editor/behavior-tree/BTEditorToolbar.d.ts +0 -75
- package/dist/types/editor/behavior-tree/BTNodePalette.d.ts +0 -72
- package/dist/types/editor/behavior-tree/BTPropertyPanel.d.ts +0 -66
- package/dist/types/editor/behavior-tree/BehaviorTreeEditor.d.ts +0 -186
- package/dist/types/editor/behavior-tree/index.d.ts +0 -14
- package/dist/types/editor/behavior-tree/serialization.d.ts +0 -30
- package/dist/types/editor/behavior-tree/types.d.ts +0 -299
- package/dist/types/editor/index.d.ts +0 -20
- package/dist/types/editor/state-machine/SMEditorCanvas.d.ts +0 -61
- package/dist/types/editor/state-machine/StateMachineEditor.d.ts +0 -139
- package/dist/types/editor/state-machine/index.d.ts +0 -11
- package/dist/types/editor/state-machine/serialization.d.ts +0 -23
- package/dist/types/editor/state-machine/types.d.ts +0 -241
- package/dist/types/engine/index.d.ts +0 -2
- package/dist/types/enterprise/index.d.ts +0 -1
- package/dist/types/epic/index.d.ts +0 -10
- package/dist/types/i18n/index.d.ts +0 -2
- package/dist/types/input/index.d.ts +0 -3
- package/dist/types/kids/index.d.ts +0 -2
- package/dist/types/legendary/index.d.ts +0 -57
- package/dist/types/monetization/index.d.ts +0 -1
- package/dist/types/multiplayer/NiceNetcode.d.ts +0 -434
- package/dist/types/multiplayer/index.d.ts +0 -5
- package/dist/types/network/index.d.ts +0 -2
- package/dist/types/pathfinding/index.d.ts +0 -1
- package/dist/types/performance/AssetCompression.d.ts +0 -137
- package/dist/types/performance/WASMModules.d.ts +0 -65
- package/dist/types/performance/WebGPUCompute.d.ts +0 -71
- package/dist/types/performance/index.d.ts +0 -1
- package/dist/types/physics/RapierIntegration.d.ts +0 -404
- package/dist/types/physics/index.d.ts +0 -2
- package/dist/types/plugins/index.d.ts +0 -2
- package/dist/types/procedural/index.d.ts +0 -2
- package/dist/types/release/index.d.ts +0 -1
- package/dist/types/rendering/WebGPUv2.d.ts +0 -173
- package/dist/types/rendering/index.d.ts +0 -3
- package/dist/types/runtime3d/index.d.ts +0 -2
- package/dist/types/scene/index.d.ts +0 -2
- package/dist/types/scripting/WasmCompiler.d.ts +0 -182
- package/dist/types/scripting/index.d.ts +0 -19
- package/dist/types/social/index.d.ts +0 -1
- package/dist/types/systems/NiceAI.d.ts +0 -637
- package/dist/types/systems/NiceAbility.d.ts +0 -225
- package/dist/types/systems/NiceAccessibility.d.ts +0 -230
- package/dist/types/systems/NiceAchievement.d.ts +0 -153
- package/dist/types/systems/NiceAchievementUI.d.ts +0 -196
- package/dist/types/systems/NiceAchievements.d.ts +0 -230
- package/dist/types/systems/NiceAction.d.ts +0 -81
- package/dist/types/systems/NiceAlchemy.d.ts +0 -195
- package/dist/types/systems/NiceAnalytics.d.ts +0 -493
- package/dist/types/systems/NiceAnimation.d.ts +0 -350
- package/dist/types/systems/NiceArena.d.ts +0 -215
- package/dist/types/systems/NiceAssetLoader.d.ts +0 -136
- package/dist/types/systems/NiceAuction.d.ts +0 -157
- package/dist/types/systems/NiceAudio.d.ts +0 -224
- package/dist/types/systems/NiceAugment.d.ts +0 -187
- package/dist/types/systems/NiceAura.d.ts +0 -193
- package/dist/types/systems/NiceBank.d.ts +0 -158
- package/dist/types/systems/NiceBattlePass.d.ts +0 -150
- package/dist/types/systems/NiceBehavior.d.ts +0 -160
- package/dist/types/systems/NiceBinding.d.ts +0 -96
- package/dist/types/systems/NiceBlacksmith.d.ts +0 -221
- package/dist/types/systems/NiceBuff.d.ts +0 -177
- package/dist/types/systems/NiceBuilding.d.ts +0 -207
- package/dist/types/systems/NiceBullet.d.ts +0 -167
- package/dist/types/systems/NiceCamera.d.ts +0 -252
- package/dist/types/systems/NiceCard.d.ts +0 -171
- package/dist/types/systems/NiceChat.d.ts +0 -148
- package/dist/types/systems/NiceCheat.d.ts +0 -375
- package/dist/types/systems/NiceClimbing.d.ts +0 -186
- package/dist/types/systems/NiceCloud.d.ts +0 -422
- package/dist/types/systems/NiceCollision.d.ts +0 -238
- package/dist/types/systems/NiceCombo.d.ts +0 -131
- package/dist/types/systems/NiceCommand.d.ts +0 -112
- package/dist/types/systems/NiceCompanion.d.ts +0 -182
- package/dist/types/systems/NiceController.d.ts +0 -144
- package/dist/types/systems/NiceCooking.d.ts +0 -193
- package/dist/types/systems/NiceCoroutine.d.ts +0 -101
- package/dist/types/systems/NiceCrafting.d.ts +0 -228
- package/dist/types/systems/NiceCutscene.d.ts +0 -437
- package/dist/types/systems/NiceDaily.d.ts +0 -133
- package/dist/types/systems/NiceDamage.d.ts +0 -271
- package/dist/types/systems/NiceDayNight.d.ts +0 -126
- package/dist/types/systems/NiceDebug.d.ts +0 -255
- package/dist/types/systems/NiceDestructible.d.ts +0 -150
- package/dist/types/systems/NiceDialogue.d.ts +0 -629
- package/dist/types/systems/NiceDungeon.d.ts +0 -202
- package/dist/types/systems/NiceECS.d.ts +0 -151
- package/dist/types/systems/NiceEnchant.d.ts +0 -148
- package/dist/types/systems/NiceEntityPool.d.ts +0 -127
- package/dist/types/systems/NiceEquipment.d.ts +0 -137
- package/dist/types/systems/NiceEvent.d.ts +0 -202
- package/dist/types/systems/NiceEventBus.d.ts +0 -164
- package/dist/types/systems/NiceFaction.d.ts +0 -173
- package/dist/types/systems/NiceFarming.d.ts +0 -163
- package/dist/types/systems/NiceFishing.d.ts +0 -196
- package/dist/types/systems/NiceFlocking.d.ts +0 -156
- package/dist/types/systems/NiceFog.d.ts +0 -137
- package/dist/types/systems/NiceFormation.d.ts +0 -140
- package/dist/types/systems/NiceGacha.d.ts +0 -134
- package/dist/types/systems/NiceGambling.d.ts +0 -175
- package/dist/types/systems/NiceGem.d.ts +0 -165
- package/dist/types/systems/NiceGesture.d.ts +0 -502
- package/dist/types/systems/NiceGrappling.d.ts +0 -154
- package/dist/types/systems/NiceGrid.d.ts +0 -142
- package/dist/types/systems/NiceGuild.d.ts +0 -162
- package/dist/types/systems/NiceHaptics.d.ts +0 -112
- package/dist/types/systems/NiceHousing.d.ts +0 -197
- package/dist/types/systems/NiceInput.d.ts +0 -280
- package/dist/types/systems/NiceInventory.d.ts +0 -534
- package/dist/types/systems/NiceLOD.d.ts +0 -144
- package/dist/types/systems/NiceLeaderboard.d.ts +0 -191
- package/dist/types/systems/NiceLevel.d.ts +0 -304
- package/dist/types/systems/NiceLighting.d.ts +0 -214
- package/dist/types/systems/NiceLocalization.d.ts +0 -148
- package/dist/types/systems/NiceLocomotion.d.ts +0 -398
- package/dist/types/systems/NiceLogger.d.ts +0 -117
- package/dist/types/systems/NiceLoot.d.ts +0 -176
- package/dist/types/systems/NiceMail.d.ts +0 -164
- package/dist/types/systems/NiceMap.d.ts +0 -234
- package/dist/types/systems/NiceMarriage.d.ts +0 -150
- package/dist/types/systems/NiceMastery.d.ts +0 -171
- package/dist/types/systems/NiceMatch.d.ts +0 -196
- package/dist/types/systems/NiceMatch3.d.ts +0 -118
- package/dist/types/systems/NiceMessageBus.d.ts +0 -115
- package/dist/types/systems/NiceMinimap.d.ts +0 -258
- package/dist/types/systems/NiceMining.d.ts +0 -175
- package/dist/types/systems/NiceModding.d.ts +0 -452
- package/dist/types/systems/NiceMount.d.ts +0 -152
- package/dist/types/systems/NiceNavigation.d.ts +0 -307
- package/dist/types/systems/NiceNetwork.d.ts +0 -568
- package/dist/types/systems/NiceNotification.d.ts +0 -438
- package/dist/types/systems/NiceObjective.d.ts +0 -395
- package/dist/types/systems/NiceParticle.d.ts +0 -639
- package/dist/types/systems/NiceParty.d.ts +0 -168
- package/dist/types/systems/NicePerformance.d.ts +0 -144
- package/dist/types/systems/NicePet.d.ts +0 -167
- package/dist/types/systems/NicePhotoMode.d.ts +0 -270
- package/dist/types/systems/NicePhysics.d.ts +0 -326
- package/dist/types/systems/NicePlatformer.d.ts +0 -158
- package/dist/types/systems/NicePool.d.ts +0 -128
- package/dist/types/systems/NicePortal.d.ts +0 -178
- package/dist/types/systems/NicePostProcess.d.ts +0 -254
- package/dist/types/systems/NiceProcedural.d.ts +0 -202
- package/dist/types/systems/NiceProfile.d.ts +0 -223
- package/dist/types/systems/NiceProjectile.d.ts +0 -157
- package/dist/types/systems/NicePvP.d.ts +0 -199
- package/dist/types/systems/NiceQTE.d.ts +0 -160
- package/dist/types/systems/NiceQuest.d.ts +0 -620
- package/dist/types/systems/NiceRaid.d.ts +0 -215
- package/dist/types/systems/NiceRanking.d.ts +0 -399
- package/dist/types/systems/NiceReplay.d.ts +0 -180
- package/dist/types/systems/NiceReputation.d.ts +0 -151
- package/dist/types/systems/NiceResource.d.ts +0 -200
- package/dist/types/systems/NiceRhythm.d.ts +0 -148
- package/dist/types/systems/NiceRoguelike.d.ts +0 -276
- package/dist/types/systems/NiceRune.d.ts +0 -202
- package/dist/types/systems/NiceSaveSystem.d.ts +0 -194
- package/dist/types/systems/NiceSceneManager.d.ts +0 -112
- package/dist/types/systems/NiceScore.d.ts +0 -186
- package/dist/types/systems/NiceScreenFX.d.ts +0 -235
- package/dist/types/systems/NiceScreenshot.d.ts +0 -443
- package/dist/types/systems/NiceScribe.d.ts +0 -239
- package/dist/types/systems/NiceSeason.d.ts +0 -176
- package/dist/types/systems/NiceSerialization.d.ts +0 -89
- package/dist/types/systems/NiceServiceLocator.d.ts +0 -94
- package/dist/types/systems/NiceShop.d.ts +0 -528
- package/dist/types/systems/NiceSignal.d.ts +0 -112
- package/dist/types/systems/NiceSkillTree.d.ts +0 -237
- package/dist/types/systems/NiceSocial.d.ts +0 -580
- package/dist/types/systems/NiceSpawner.d.ts +0 -237
- package/dist/types/systems/NiceSpell.d.ts +0 -216
- package/dist/types/systems/NiceState.d.ts +0 -224
- package/dist/types/systems/NiceStateMachine.d.ts +0 -108
- package/dist/types/systems/NiceStatus.d.ts +0 -116
- package/dist/types/systems/NiceStealth.d.ts +0 -204
- package/dist/types/systems/NiceSteam.d.ts +0 -255
- package/dist/types/systems/NiceStreaming.d.ts +0 -173
- package/dist/types/systems/NiceSwimming.d.ts +0 -166
- package/dist/types/systems/NiceTalent.d.ts +0 -154
- package/dist/types/systems/NiceTarget.d.ts +0 -121
- package/dist/types/systems/NiceTerrain.d.ts +0 -143
- package/dist/types/systems/NiceTilemap.d.ts +0 -218
- package/dist/types/systems/NiceTimer.d.ts +0 -153
- package/dist/types/systems/NiceTournament.d.ts +0 -190
- package/dist/types/systems/NiceTrading.d.ts +0 -238
- package/dist/types/systems/NiceTransmog.d.ts +0 -142
- package/dist/types/systems/NiceTutorial.d.ts +0 -248
- package/dist/types/systems/NiceTween.d.ts +0 -164
- package/dist/types/systems/NiceUI.d.ts +0 -364
- package/dist/types/systems/NiceVFX.d.ts +0 -333
- package/dist/types/systems/NiceVehicle.d.ts +0 -176
- package/dist/types/systems/NiceVoice.d.ts +0 -502
- package/dist/types/systems/NiceWater.d.ts +0 -162
- package/dist/types/systems/NiceWave.d.ts +0 -174
- package/dist/types/systems/NiceWaypoint.d.ts +0 -165
- package/dist/types/systems/NiceWeather.d.ts +0 -225
- package/dist/types/systems/NiceXR.d.ts +0 -187
- package/dist/types/systems/index.d.ts +0 -182
- package/dist/types/templates/index.d.ts +0 -2
- package/dist/types/tilemap/index.d.ts +0 -1
- package/dist/types/tutorials/TutorialEditor.d.ts +0 -43
- package/dist/types/tutorials/VoiceNarration.d.ts +0 -75
- package/dist/types/tutorials/content/Tutorials_T04.d.ts +0 -3
- package/dist/types/tutorials/content/UITutorials.d.ts +0 -14
- package/dist/types/tutorials/content/index.d.ts +0 -5
- package/dist/types/tutorials/index.d.ts +0 -6
- package/dist/types/ui/index.d.ts +0 -2
- package/dist/types/visual-scripting/VisualScriptDebugger.d.ts +0 -145
- package/dist/types/visual-scripting/VisualScriptExecutor.d.ts +0 -100
- package/dist/types/visual-scripting/VisualScriptGraph.d.ts +0 -173
- package/dist/types/visual-scripting/VisualScriptNode.d.ts +0 -157
- package/dist/types/visual-scripting/index.d.ts +0 -6
- package/dist/types/visual-scripting/nodes/ActionNodes.d.ts +0 -152
- package/dist/types/visual-scripting/nodes/EventNodes.d.ts +0 -95
- package/dist/types/visual-scripting/nodes/FlowControlNodes.d.ts +0 -134
- package/dist/types/visual-scripting/nodes/LogicNodes.d.ts +0 -122
- package/dist/types/visual-scripting/nodes/MathNodes.d.ts +0 -170
- package/dist/types/visual-scripting/nodes/UtilityNodes.d.ts +0 -131
- package/dist/types/visual-scripting/nodes/VariableNodes.d.ts +0 -107
- package/dist/types/visual-scripting/nodes/index.d.ts +0 -21
- package/dist/types/visual-scripting/nodes/registerNodes.d.ts +0 -29
- package/dist/types/visual-scripting/types.d.ts +0 -402
- package/dist/types/xr/WebXRLayers.d.ts +0 -319
- package/dist/types/xr/index.d.ts +0 -2
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export interface PlaygroundExample {
|
|
3
|
-
id: string;
|
|
4
|
-
title: string;
|
|
5
|
-
description: string;
|
|
6
|
-
category: string;
|
|
7
|
-
code: string;
|
|
8
|
-
setup?: string;
|
|
9
|
-
expectedOutput?: string;
|
|
10
|
-
}
|
|
11
|
-
export interface PlaygroundState {
|
|
12
|
-
code: string;
|
|
13
|
-
output: string[];
|
|
14
|
-
error: string | null;
|
|
15
|
-
running: boolean;
|
|
16
|
-
}
|
|
17
|
-
export declare const PLAYGROUND_EXAMPLES: PlaygroundExample[];
|
|
18
|
-
export declare function createPlaygroundRunner(engineModule: Record<string, unknown>): {
|
|
19
|
-
run(code: string): {
|
|
20
|
-
output: string[];
|
|
21
|
-
error: string | null;
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
export declare const NiceAPIPlayground: React.FC<{
|
|
25
|
-
engineModule?: Record<string, unknown>;
|
|
26
|
-
}>;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export interface Recipe {
|
|
2
|
-
id: string;
|
|
3
|
-
title: string;
|
|
4
|
-
description: string;
|
|
5
|
-
category: RecipeCategory;
|
|
6
|
-
tags: string[];
|
|
7
|
-
difficulty: 'easy' | 'medium' | 'hard';
|
|
8
|
-
code: string;
|
|
9
|
-
explanation: string;
|
|
10
|
-
}
|
|
11
|
-
export type RecipeCategory = 'movement' | 'physics' | 'animation' | 'input' | 'audio' | 'ai' | 'ui' | 'procedural' | 'rendering' | 'multiplayer' | 'optimization' | 'patterns';
|
|
12
|
-
export declare const COOKBOOK_RECIPES: Recipe[];
|
|
13
|
-
export declare function searchRecipes(query: string): Recipe[];
|
|
14
|
-
export declare function getRecipesByCategory(category: RecipeCategory): Recipe[];
|
|
15
|
-
export declare function getRecipeCategories(): {
|
|
16
|
-
category: RecipeCategory;
|
|
17
|
-
count: number;
|
|
18
|
-
}[];
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export interface Guide {
|
|
2
|
-
id: string;
|
|
3
|
-
title: string;
|
|
4
|
-
category: 'architecture' | 'migration' | 'performance' | 'troubleshooting';
|
|
5
|
-
sections: GuideSection[];
|
|
6
|
-
}
|
|
7
|
-
export interface GuideSection {
|
|
8
|
-
heading: string;
|
|
9
|
-
content: string;
|
|
10
|
-
code?: string;
|
|
11
|
-
}
|
|
12
|
-
export declare const GUIDE_ARCHITECTURE: Guide;
|
|
13
|
-
export declare const GUIDE_MIGRATION: Guide;
|
|
14
|
-
export declare const GUIDE_PERFORMANCE: Guide;
|
|
15
|
-
export declare const GUIDE_TROUBLESHOOTING: Guide;
|
|
16
|
-
export declare const ALL_GUIDES: Guide[];
|
|
17
|
-
export declare function getGuide(id: string): Guide | undefined;
|
|
18
|
-
export declare function searchGuides(query: string): GuideSection[];
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
export type EntityId = number;
|
|
2
|
-
export type ComponentTypeId = number;
|
|
3
|
-
export type ArchetypeId = number;
|
|
4
|
-
/** Component schema for SoA layout */
|
|
5
|
-
export interface ComponentSchema {
|
|
6
|
-
/** Component type identifier */
|
|
7
|
-
typeId: ComponentTypeId;
|
|
8
|
-
/** Component name */
|
|
9
|
-
name: string;
|
|
10
|
-
/** Fields with their types */
|
|
11
|
-
fields: ComponentField[];
|
|
12
|
-
/** Total byte size per component */
|
|
13
|
-
byteSize: number;
|
|
14
|
-
}
|
|
15
|
-
export interface ComponentField {
|
|
16
|
-
name: string;
|
|
17
|
-
type: 'f32' | 'i32' | 'u32' | 'f64' | 'i16' | 'u16' | 'i8' | 'u8' | 'bool' | 'vec2' | 'vec3' | 'vec4' | 'mat4';
|
|
18
|
-
offset: number;
|
|
19
|
-
size: number;
|
|
20
|
-
count?: number;
|
|
21
|
-
}
|
|
22
|
-
export declare class SoAStorage {
|
|
23
|
-
private buffers;
|
|
24
|
-
private views;
|
|
25
|
-
private schemas;
|
|
26
|
-
private capacity;
|
|
27
|
-
private count;
|
|
28
|
-
constructor(capacity?: number);
|
|
29
|
-
/** Register a component type */
|
|
30
|
-
registerComponent(schema: ComponentSchema): void;
|
|
31
|
-
private createTypedView;
|
|
32
|
-
/** Get a field view for batch operations */
|
|
33
|
-
getFieldView<T extends TypedArray>(typeId: ComponentTypeId, fieldName: string): T | undefined;
|
|
34
|
-
/** Set component field value */
|
|
35
|
-
setField(typeId: ComponentTypeId, entityIndex: number, fieldName: string, value: number | number[]): void;
|
|
36
|
-
/** Get component field value */
|
|
37
|
-
getField(typeId: ComponentTypeId, entityIndex: number, fieldName: string): number | number[] | undefined;
|
|
38
|
-
private getElementCount;
|
|
39
|
-
/** Grow storage if needed */
|
|
40
|
-
grow(newCapacity: number): void;
|
|
41
|
-
get entityCount(): number;
|
|
42
|
-
set entityCount(value: number);
|
|
43
|
-
get storageCapacity(): number;
|
|
44
|
-
}
|
|
45
|
-
type TypedArray = Float32Array | Float64Array | Int32Array | Uint32Array | Int16Array | Uint16Array | Int8Array | Uint8Array;
|
|
46
|
-
export interface Archetype {
|
|
47
|
-
id: ArchetypeId;
|
|
48
|
-
/** Bitmask of component types in this archetype */
|
|
49
|
-
componentMask: bigint;
|
|
50
|
-
/** Component type IDs in this archetype */
|
|
51
|
-
componentTypes: ComponentTypeId[];
|
|
52
|
-
/** SoA storage for this archetype */
|
|
53
|
-
storage: SoAStorage;
|
|
54
|
-
/** Entity IDs in this archetype */
|
|
55
|
-
entities: EntityId[];
|
|
56
|
-
/** Map from entity ID to index in storage */
|
|
57
|
-
entityToIndex: Map<EntityId, number>;
|
|
58
|
-
}
|
|
59
|
-
export declare class ArchetypeRegistry {
|
|
60
|
-
private archetypes;
|
|
61
|
-
private archetypeById;
|
|
62
|
-
private nextArchetypeId;
|
|
63
|
-
private componentSchemas;
|
|
64
|
-
/** Register a component schema */
|
|
65
|
-
registerComponentSchema(schema: ComponentSchema): void;
|
|
66
|
-
/** Get or create archetype for a set of components */
|
|
67
|
-
getOrCreateArchetype(componentTypes: ComponentTypeId[]): Archetype;
|
|
68
|
-
/** Find archetypes matching a query */
|
|
69
|
-
findArchetypes(requiredComponents: ComponentTypeId[], excludedComponents?: ComponentTypeId[]): Archetype[];
|
|
70
|
-
/** Get archetype by ID */
|
|
71
|
-
getArchetype(id: ArchetypeId): Archetype | undefined;
|
|
72
|
-
}
|
|
73
|
-
export declare class OptimizedWorld {
|
|
74
|
-
private registry;
|
|
75
|
-
private entityArchetype;
|
|
76
|
-
private nextEntityId;
|
|
77
|
-
private freeEntityIds;
|
|
78
|
-
private systems;
|
|
79
|
-
private systemGroups;
|
|
80
|
-
constructor();
|
|
81
|
-
/** Register a component schema */
|
|
82
|
-
registerComponent(schema: ComponentSchema): void;
|
|
83
|
-
/** Create a new entity with components */
|
|
84
|
-
createEntity(componentTypes: ComponentTypeId[]): EntityId;
|
|
85
|
-
/** Destroy an entity */
|
|
86
|
-
destroyEntity(id: EntityId): void;
|
|
87
|
-
/** Set component field */
|
|
88
|
-
setComponent(entityId: EntityId, componentTypeId: ComponentTypeId, fieldName: string, value: number | number[]): void;
|
|
89
|
-
/** Get component field */
|
|
90
|
-
getComponent(entityId: EntityId, componentTypeId: ComponentTypeId, fieldName: string): number | number[] | undefined;
|
|
91
|
-
/** Register a system */
|
|
92
|
-
addSystem(system: ECSSystem, group?: string): void;
|
|
93
|
-
/** Query entities */
|
|
94
|
-
query(requiredComponents: ComponentTypeId[], excludedComponents?: ComponentTypeId[]): QueryIterator;
|
|
95
|
-
/** Update all systems */
|
|
96
|
-
update(dt: number): void;
|
|
97
|
-
/** Update a specific system group */
|
|
98
|
-
updateGroup(group: string, dt: number): void;
|
|
99
|
-
}
|
|
100
|
-
export declare class QueryIterator implements Iterable<QueryResult> {
|
|
101
|
-
private archetypes;
|
|
102
|
-
private componentTypes;
|
|
103
|
-
constructor(archetypes: Archetype[], componentTypes: ComponentTypeId[]);
|
|
104
|
-
[Symbol.iterator](): Iterator<QueryResult>;
|
|
105
|
-
/** Get total entity count across all archetypes */
|
|
106
|
-
count(): number;
|
|
107
|
-
/** Batch iterate over archetypes for SIMD-friendly operations */
|
|
108
|
-
forEachArchetype(callback: (archetype: Archetype, count: number) => void): void;
|
|
109
|
-
/** Get raw field views for direct manipulation */
|
|
110
|
-
getFieldViews<T extends TypedArray>(componentTypeId: ComponentTypeId, fieldName: string): {
|
|
111
|
-
view: T;
|
|
112
|
-
count: number;
|
|
113
|
-
}[];
|
|
114
|
-
}
|
|
115
|
-
export interface QueryResult {
|
|
116
|
-
entityId: EntityId;
|
|
117
|
-
archetype: Archetype;
|
|
118
|
-
index: number;
|
|
119
|
-
}
|
|
120
|
-
export interface ECSSystem {
|
|
121
|
-
name: string;
|
|
122
|
-
requiredComponents: ComponentTypeId[];
|
|
123
|
-
excludedComponents?: ComponentTypeId[];
|
|
124
|
-
priority?: number;
|
|
125
|
-
update(world: OptimizedWorld, dt: number): void;
|
|
126
|
-
}
|
|
127
|
-
export declare const TRANSFORM_SCHEMA: ComponentSchema;
|
|
128
|
-
export declare const VELOCITY_SCHEMA: ComponentSchema;
|
|
129
|
-
export declare const RENDERABLE_SCHEMA: ComponentSchema;
|
|
130
|
-
export declare const MovementSystem: ECSSystem;
|
|
131
|
-
export {};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export { World, System, createDefaultComponent, type Entity, type TransformComponent, type SpriteComponent, type ShapeComponent, type Collider2DComponent, type RigidBody2DComponent, type TextComponent, type AnimatorComponent, type ScriptComponent, type AudioSourceComponent, type ParticleEmitterComponent, type CameraTargetComponent, type BuiltInComponent, type ComponentMap, type SpriteAnimation, type AnimationFrame, } from './World';
|
|
2
|
-
export { SoAStorage, ArchetypeRegistry, OptimizedWorld, QueryIterator, MovementSystem, TRANSFORM_SCHEMA, VELOCITY_SCHEMA, RENDERABLE_SCHEMA, type EntityId, type ComponentTypeId, type ArchetypeId, type ComponentSchema, type ComponentField, type Archetype, type QueryResult, type ECSSystem, } from './ECSOptimized';
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export interface KeyframeValue {
|
|
3
|
-
number?: number;
|
|
4
|
-
vector2?: {
|
|
5
|
-
x: number;
|
|
6
|
-
y: number;
|
|
7
|
-
};
|
|
8
|
-
vector3?: {
|
|
9
|
-
x: number;
|
|
10
|
-
y: number;
|
|
11
|
-
z: number;
|
|
12
|
-
};
|
|
13
|
-
quaternion?: {
|
|
14
|
-
x: number;
|
|
15
|
-
y: number;
|
|
16
|
-
z: number;
|
|
17
|
-
w: number;
|
|
18
|
-
};
|
|
19
|
-
color?: {
|
|
20
|
-
r: number;
|
|
21
|
-
g: number;
|
|
22
|
-
b: number;
|
|
23
|
-
a: number;
|
|
24
|
-
};
|
|
25
|
-
boolean?: boolean;
|
|
26
|
-
string?: string;
|
|
27
|
-
}
|
|
28
|
-
export interface Keyframe {
|
|
29
|
-
id: string;
|
|
30
|
-
time: number;
|
|
31
|
-
value: KeyframeValue;
|
|
32
|
-
easing: EasingType;
|
|
33
|
-
tangentIn?: {
|
|
34
|
-
x: number;
|
|
35
|
-
y: number;
|
|
36
|
-
};
|
|
37
|
-
tangentOut?: {
|
|
38
|
-
x: number;
|
|
39
|
-
y: number;
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
export type EasingType = 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'bezier' | 'step' | 'bounce' | 'elastic';
|
|
43
|
-
export interface AnimationTrack {
|
|
44
|
-
id: string;
|
|
45
|
-
name: string;
|
|
46
|
-
targetId: string;
|
|
47
|
-
property: string;
|
|
48
|
-
propertyType: 'number' | 'vector2' | 'vector3' | 'quaternion' | 'color' | 'boolean' | 'string';
|
|
49
|
-
keyframes: Keyframe[];
|
|
50
|
-
muted: boolean;
|
|
51
|
-
locked: boolean;
|
|
52
|
-
color: string;
|
|
53
|
-
}
|
|
54
|
-
export interface AnimationLayer {
|
|
55
|
-
id: string;
|
|
56
|
-
name: string;
|
|
57
|
-
weight: number;
|
|
58
|
-
blendMode: 'override' | 'additive' | 'multiply';
|
|
59
|
-
tracks: AnimationTrack[];
|
|
60
|
-
expanded: boolean;
|
|
61
|
-
}
|
|
62
|
-
export interface AnimationClipData {
|
|
63
|
-
id: string;
|
|
64
|
-
name: string;
|
|
65
|
-
duration: number;
|
|
66
|
-
frameRate: number;
|
|
67
|
-
loop: boolean;
|
|
68
|
-
layers: AnimationLayer[];
|
|
69
|
-
events: AnimationEvent[];
|
|
70
|
-
}
|
|
71
|
-
export interface AnimationEvent {
|
|
72
|
-
id: string;
|
|
73
|
-
time: number;
|
|
74
|
-
name: string;
|
|
75
|
-
parameters: Record<string, unknown>;
|
|
76
|
-
}
|
|
77
|
-
export interface AnimationTimelineTheme {
|
|
78
|
-
background: string;
|
|
79
|
-
trackBackground: string;
|
|
80
|
-
trackBackgroundAlt: string;
|
|
81
|
-
headerBackground: string;
|
|
82
|
-
rulerBackground: string;
|
|
83
|
-
rulerText: string;
|
|
84
|
-
keyframeDefault: string;
|
|
85
|
-
keyframeSelected: string;
|
|
86
|
-
keyframeHovered: string;
|
|
87
|
-
playhead: string;
|
|
88
|
-
gridLine: string;
|
|
89
|
-
gridLineMajor: string;
|
|
90
|
-
curveColor: string;
|
|
91
|
-
eventColor: string;
|
|
92
|
-
textPrimary: string;
|
|
93
|
-
textSecondary: string;
|
|
94
|
-
selectionBox: string;
|
|
95
|
-
}
|
|
96
|
-
export interface NiceAnimationTimelineProps {
|
|
97
|
-
clip?: AnimationClipData;
|
|
98
|
-
theme?: Partial<AnimationTimelineTheme>;
|
|
99
|
-
readOnly?: boolean;
|
|
100
|
-
onClipChange?: (clip: AnimationClipData) => void;
|
|
101
|
-
onTimeChange?: (time: number) => void;
|
|
102
|
-
className?: string;
|
|
103
|
-
style?: React.CSSProperties;
|
|
104
|
-
}
|
|
105
|
-
export interface NiceAnimationTimelineRef {
|
|
106
|
-
getClip: () => AnimationClipData;
|
|
107
|
-
setTime: (time: number) => void;
|
|
108
|
-
play: () => void;
|
|
109
|
-
pause: () => void;
|
|
110
|
-
stop: () => void;
|
|
111
|
-
addKeyframe: (trackId: string, time: number, value: KeyframeValue) => void;
|
|
112
|
-
}
|
|
113
|
-
export declare const NiceAnimationTimeline: React.ForwardRefExoticComponent<NiceAnimationTimelineProps & React.RefAttributes<NiceAnimationTimelineRef>>;
|
|
114
|
-
export default NiceAnimationTimeline;
|
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
import { type NiceComponentTutorial } from '@nice2dev/ui';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
export interface LevelLayer {
|
|
4
|
-
id: string;
|
|
5
|
-
name: string;
|
|
6
|
-
type: 'default' | 'terrain' | 'foliage' | 'props' | 'lighting' | 'navmesh' | 'streaming';
|
|
7
|
-
visible: boolean;
|
|
8
|
-
locked: boolean;
|
|
9
|
-
color: string;
|
|
10
|
-
objectIds: string[];
|
|
11
|
-
}
|
|
12
|
-
export interface LevelObject {
|
|
13
|
-
id: string;
|
|
14
|
-
name: string;
|
|
15
|
-
type: 'mesh' | 'light' | 'camera' | 'trigger' | 'spline' | 'volume' | 'probe' | 'spawner' | 'waypoint';
|
|
16
|
-
layerId: string;
|
|
17
|
-
position: {
|
|
18
|
-
x: number;
|
|
19
|
-
y: number;
|
|
20
|
-
z: number;
|
|
21
|
-
};
|
|
22
|
-
rotation: {
|
|
23
|
-
x: number;
|
|
24
|
-
y: number;
|
|
25
|
-
z: number;
|
|
26
|
-
};
|
|
27
|
-
scale: {
|
|
28
|
-
x: number;
|
|
29
|
-
y: number;
|
|
30
|
-
z: number;
|
|
31
|
-
};
|
|
32
|
-
properties: Record<string, unknown>;
|
|
33
|
-
prefabId?: string;
|
|
34
|
-
visible: boolean;
|
|
35
|
-
selected: boolean;
|
|
36
|
-
}
|
|
37
|
-
export interface TerrainData {
|
|
38
|
-
id: string;
|
|
39
|
-
size: {
|
|
40
|
-
x: number;
|
|
41
|
-
y: number;
|
|
42
|
-
};
|
|
43
|
-
resolution: number;
|
|
44
|
-
heightmap: Float32Array | null;
|
|
45
|
-
layers: TerrainLayer[];
|
|
46
|
-
trees: TreeInstance[];
|
|
47
|
-
details: DetailInstance[];
|
|
48
|
-
}
|
|
49
|
-
export interface TerrainLayer {
|
|
50
|
-
id: string;
|
|
51
|
-
name: string;
|
|
52
|
-
diffuseTexture?: string;
|
|
53
|
-
normalTexture?: string;
|
|
54
|
-
tileSize: {
|
|
55
|
-
x: number;
|
|
56
|
-
y: number;
|
|
57
|
-
};
|
|
58
|
-
tileOffset: {
|
|
59
|
-
x: number;
|
|
60
|
-
y: number;
|
|
61
|
-
};
|
|
62
|
-
metallic: number;
|
|
63
|
-
smoothness: number;
|
|
64
|
-
}
|
|
65
|
-
export interface TreeInstance {
|
|
66
|
-
position: {
|
|
67
|
-
x: number;
|
|
68
|
-
y: number;
|
|
69
|
-
z: number;
|
|
70
|
-
};
|
|
71
|
-
prototypeIndex: number;
|
|
72
|
-
scale: number;
|
|
73
|
-
rotation: number;
|
|
74
|
-
color: {
|
|
75
|
-
r: number;
|
|
76
|
-
g: number;
|
|
77
|
-
b: number;
|
|
78
|
-
a: number;
|
|
79
|
-
};
|
|
80
|
-
lightmapColor: {
|
|
81
|
-
r: number;
|
|
82
|
-
g: number;
|
|
83
|
-
b: number;
|
|
84
|
-
a: number;
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
export interface DetailInstance {
|
|
88
|
-
position: {
|
|
89
|
-
x: number;
|
|
90
|
-
y: number;
|
|
91
|
-
};
|
|
92
|
-
prototypeIndex: number;
|
|
93
|
-
density: number;
|
|
94
|
-
}
|
|
95
|
-
export interface SplineData {
|
|
96
|
-
id: string;
|
|
97
|
-
name: string;
|
|
98
|
-
type: 'bezier' | 'catmull-rom' | 'linear';
|
|
99
|
-
closed: boolean;
|
|
100
|
-
points: SplinePoint[];
|
|
101
|
-
meshMode: 'none' | 'extrude' | 'tube' | 'scatter';
|
|
102
|
-
meshSettings: Record<string, unknown>;
|
|
103
|
-
}
|
|
104
|
-
export interface SplinePoint {
|
|
105
|
-
position: {
|
|
106
|
-
x: number;
|
|
107
|
-
y: number;
|
|
108
|
-
z: number;
|
|
109
|
-
};
|
|
110
|
-
tangentIn?: {
|
|
111
|
-
x: number;
|
|
112
|
-
y: number;
|
|
113
|
-
z: number;
|
|
114
|
-
};
|
|
115
|
-
tangentOut?: {
|
|
116
|
-
x: number;
|
|
117
|
-
y: number;
|
|
118
|
-
z: number;
|
|
119
|
-
};
|
|
120
|
-
roll: number;
|
|
121
|
-
scale: {
|
|
122
|
-
x: number;
|
|
123
|
-
y: number;
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
export interface StreamingZone {
|
|
127
|
-
id: string;
|
|
128
|
-
name: string;
|
|
129
|
-
bounds: {
|
|
130
|
-
min: {
|
|
131
|
-
x: number;
|
|
132
|
-
y: number;
|
|
133
|
-
z: number;
|
|
134
|
-
};
|
|
135
|
-
max: {
|
|
136
|
-
x: number;
|
|
137
|
-
y: number;
|
|
138
|
-
z: number;
|
|
139
|
-
};
|
|
140
|
-
};
|
|
141
|
-
levelName: string;
|
|
142
|
-
priority: number;
|
|
143
|
-
behavior: 'distance' | 'trigger' | 'always';
|
|
144
|
-
}
|
|
145
|
-
export interface LevelData {
|
|
146
|
-
id: string;
|
|
147
|
-
name: string;
|
|
148
|
-
layers: LevelLayer[];
|
|
149
|
-
objects: LevelObject[];
|
|
150
|
-
terrain?: TerrainData;
|
|
151
|
-
splines: SplineData[];
|
|
152
|
-
streamingZones: StreamingZone[];
|
|
153
|
-
lightmapSettings: LightmapSettings;
|
|
154
|
-
navmeshSettings: NavmeshSettings;
|
|
155
|
-
environmentSettings: EnvironmentSettings;
|
|
156
|
-
}
|
|
157
|
-
export interface LightmapSettings {
|
|
158
|
-
resolution: number;
|
|
159
|
-
padding: number;
|
|
160
|
-
directSamples: number;
|
|
161
|
-
indirectSamples: number;
|
|
162
|
-
bounces: number;
|
|
163
|
-
compression: 'none' | 'low' | 'normal' | 'high';
|
|
164
|
-
directionalMode: 'directional' | 'non-directional';
|
|
165
|
-
}
|
|
166
|
-
export interface NavmeshSettings {
|
|
167
|
-
agentRadius: number;
|
|
168
|
-
agentHeight: number;
|
|
169
|
-
maxSlope: number;
|
|
170
|
-
stepHeight: number;
|
|
171
|
-
cellSize: number;
|
|
172
|
-
cellHeight: number;
|
|
173
|
-
}
|
|
174
|
-
export interface EnvironmentSettings {
|
|
175
|
-
skybox?: string;
|
|
176
|
-
ambientMode: 'color' | 'gradient' | 'skybox';
|
|
177
|
-
ambientColor: {
|
|
178
|
-
r: number;
|
|
179
|
-
g: number;
|
|
180
|
-
b: number;
|
|
181
|
-
};
|
|
182
|
-
ambientIntensity: number;
|
|
183
|
-
fogEnabled: boolean;
|
|
184
|
-
fogColor: {
|
|
185
|
-
r: number;
|
|
186
|
-
g: number;
|
|
187
|
-
b: number;
|
|
188
|
-
};
|
|
189
|
-
fogDensity: number;
|
|
190
|
-
fogStart: number;
|
|
191
|
-
fogEnd: number;
|
|
192
|
-
}
|
|
193
|
-
export type LevelTool = 'select' | 'move' | 'rotate' | 'scale' | 'terrain-raise' | 'terrain-lower' | 'terrain-smooth' | 'terrain-flatten' | 'terrain-paint' | 'foliage-paint' | 'foliage-erase' | 'spline-create' | 'spline-edit' | 'measure' | 'probe-place';
|
|
194
|
-
export interface LevelEditorTheme {
|
|
195
|
-
background: string;
|
|
196
|
-
panelBackground: string;
|
|
197
|
-
headerBackground: string;
|
|
198
|
-
toolbarBackground: string;
|
|
199
|
-
viewportBackground: string;
|
|
200
|
-
gridColor: string;
|
|
201
|
-
selectionColor: string;
|
|
202
|
-
activeToolColor: string;
|
|
203
|
-
layerVisible: string;
|
|
204
|
-
layerHidden: string;
|
|
205
|
-
textPrimary: string;
|
|
206
|
-
textSecondary: string;
|
|
207
|
-
accent: string;
|
|
208
|
-
danger: string;
|
|
209
|
-
}
|
|
210
|
-
export interface NiceLevelEditorProps {
|
|
211
|
-
level?: LevelData;
|
|
212
|
-
theme?: Partial<LevelEditorTheme>;
|
|
213
|
-
readOnly?: boolean;
|
|
214
|
-
onLevelChange?: (level: LevelData) => void;
|
|
215
|
-
className?: string;
|
|
216
|
-
style?: React.CSSProperties;
|
|
217
|
-
/** Optional "?" guided tour. Off by default; `true` uses the built-in tour. */
|
|
218
|
-
tutorial?: NiceComponentTutorial;
|
|
219
|
-
}
|
|
220
|
-
export interface NiceLevelEditorRef {
|
|
221
|
-
getLevel: () => LevelData;
|
|
222
|
-
addObject: (type: LevelObject['type'], position?: {
|
|
223
|
-
x: number;
|
|
224
|
-
y: number;
|
|
225
|
-
z: number;
|
|
226
|
-
}) => void;
|
|
227
|
-
removeObjects: (ids: string[]) => void;
|
|
228
|
-
bakeLightmaps: () => Promise<void>;
|
|
229
|
-
generateNavmesh: () => Promise<void>;
|
|
230
|
-
}
|
|
231
|
-
export declare const NiceLevelEditor: React.ForwardRefExoticComponent<NiceLevelEditorProps & React.RefAttributes<NiceLevelEditorRef>>;
|
|
232
|
-
export default NiceLevelEditor;
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { type NiceComponentTutorial } from '@nice2dev/ui';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
export type ShaderNodeType = 'texture2d' | 'textureCube' | 'constant' | 'parameter' | 'time' | 'position' | 'normal' | 'uv' | 'vertexColor' | 'add' | 'subtract' | 'multiply' | 'divide' | 'power' | 'sqrt' | 'abs' | 'lerp' | 'clamp' | 'saturate' | 'step' | 'smoothstep' | 'min' | 'max' | 'floor' | 'ceil' | 'frac' | 'sin' | 'cos' | 'normalize' | 'dot' | 'cross' | 'reflect' | 'refract' | 'length' | 'distance' | 'split' | 'combine' | 'swizzle' | 'rgbToHsv' | 'hsvToRgb' | 'contrast' | 'saturation' | 'blend' | 'fresnel' | 'panner' | 'rotator' | 'noise' | 'voronoi' | 'gradient' | 'pbr_output' | 'unlit_output' | 'custom_output';
|
|
4
|
-
export interface ShaderPin {
|
|
5
|
-
id: string;
|
|
6
|
-
name: string;
|
|
7
|
-
type: 'float' | 'vec2' | 'vec3' | 'vec4' | 'sampler2D' | 'samplerCube' | 'mat3' | 'mat4';
|
|
8
|
-
direction: 'input' | 'output';
|
|
9
|
-
defaultValue?: number[];
|
|
10
|
-
connected?: boolean;
|
|
11
|
-
}
|
|
12
|
-
export interface ShaderNode {
|
|
13
|
-
id: string;
|
|
14
|
-
type: ShaderNodeType;
|
|
15
|
-
name: string;
|
|
16
|
-
x: number;
|
|
17
|
-
y: number;
|
|
18
|
-
pins: ShaderPin[];
|
|
19
|
-
properties: Record<string, unknown>;
|
|
20
|
-
preview?: boolean;
|
|
21
|
-
collapsed?: boolean;
|
|
22
|
-
}
|
|
23
|
-
export interface ShaderConnection {
|
|
24
|
-
id: string;
|
|
25
|
-
sourceNodeId: string;
|
|
26
|
-
sourcePinId: string;
|
|
27
|
-
targetNodeId: string;
|
|
28
|
-
targetPinId: string;
|
|
29
|
-
}
|
|
30
|
-
export interface MaterialData {
|
|
31
|
-
id: string;
|
|
32
|
-
name: string;
|
|
33
|
-
shaderType: 'pbr' | 'unlit' | 'custom';
|
|
34
|
-
nodes: ShaderNode[];
|
|
35
|
-
connections: ShaderConnection[];
|
|
36
|
-
parameters: MaterialParameter[];
|
|
37
|
-
textures: MaterialTexture[];
|
|
38
|
-
renderState: RenderState;
|
|
39
|
-
compiledShader?: string;
|
|
40
|
-
}
|
|
41
|
-
export interface MaterialParameter {
|
|
42
|
-
id: string;
|
|
43
|
-
name: string;
|
|
44
|
-
type: 'float' | 'vec2' | 'vec3' | 'vec4' | 'color';
|
|
45
|
-
value: number[];
|
|
46
|
-
min?: number;
|
|
47
|
-
max?: number;
|
|
48
|
-
exposed: boolean;
|
|
49
|
-
}
|
|
50
|
-
export interface MaterialTexture {
|
|
51
|
-
id: string;
|
|
52
|
-
name: string;
|
|
53
|
-
slot: string;
|
|
54
|
-
url?: string;
|
|
55
|
-
tiling: {
|
|
56
|
-
x: number;
|
|
57
|
-
y: number;
|
|
58
|
-
};
|
|
59
|
-
offset: {
|
|
60
|
-
x: number;
|
|
61
|
-
y: number;
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
export interface RenderState {
|
|
65
|
-
cullMode: 'none' | 'front' | 'back';
|
|
66
|
-
blendMode: 'opaque' | 'transparent' | 'additive' | 'multiply';
|
|
67
|
-
depthWrite: boolean;
|
|
68
|
-
depthTest: boolean;
|
|
69
|
-
doubleSided: boolean;
|
|
70
|
-
}
|
|
71
|
-
export interface MaterialEditorTheme {
|
|
72
|
-
background: string;
|
|
73
|
-
nodeBackground: string;
|
|
74
|
-
nodeHeader: string;
|
|
75
|
-
nodeHeaderText: string;
|
|
76
|
-
nodeBorder: string;
|
|
77
|
-
nodeSelected: string;
|
|
78
|
-
connectionLine: string;
|
|
79
|
-
gridColor: string;
|
|
80
|
-
textPrimary: string;
|
|
81
|
-
textSecondary: string;
|
|
82
|
-
pinFloat: string;
|
|
83
|
-
pinVec2: string;
|
|
84
|
-
pinVec3: string;
|
|
85
|
-
pinVec4: string;
|
|
86
|
-
pinSampler: string;
|
|
87
|
-
}
|
|
88
|
-
export interface NiceMaterialEditorProps {
|
|
89
|
-
material?: MaterialData;
|
|
90
|
-
theme?: Partial<MaterialEditorTheme>;
|
|
91
|
-
readOnly?: boolean;
|
|
92
|
-
onMaterialChange?: (material: MaterialData) => void;
|
|
93
|
-
onCompile?: (shader: string) => void;
|
|
94
|
-
className?: string;
|
|
95
|
-
style?: React.CSSProperties;
|
|
96
|
-
/** Optional "?" guided tour. Off by default; `true` uses the built-in tour. */
|
|
97
|
-
tutorial?: NiceComponentTutorial;
|
|
98
|
-
}
|
|
99
|
-
export interface NiceMaterialEditorRef {
|
|
100
|
-
getMaterial: () => MaterialData;
|
|
101
|
-
compile: () => void;
|
|
102
|
-
addNode: (type: ShaderNodeType, x: number, y: number) => void;
|
|
103
|
-
}
|
|
104
|
-
export declare const NiceMaterialEditor: React.ForwardRefExoticComponent<NiceMaterialEditorProps & React.RefAttributes<NiceMaterialEditorRef>>;
|
|
105
|
-
export default NiceMaterialEditor;
|