From 8207fd0288f37ed4ff027951a27da72ea3f651f2 Mon Sep 17 00:00:00 2001 From: Tchips46 Date: Tue, 9 Jun 2026 16:00:11 +0900 Subject: [PATCH 1/7] feat(move-controller-2d): editor enum complient --- .../nf-move-controller-2d.component/index.ts | 598 +++++++++++++++++- 1 file changed, 585 insertions(+), 13 deletions(-) diff --git a/packages/nf-move-controller-2d.component/index.ts b/packages/nf-move-controller-2d.component/index.ts index f7d6202..5d90190 100644 --- a/packages/nf-move-controller-2d.component/index.ts +++ b/packages/nf-move-controller-2d.component/index.ts @@ -1,5 +1,5 @@ import type { EditorComponentManifest } from "@nanoforge-dev/ecs-lib"; -import { InputEnum } from "@nanoforge-dev/input"; +import { type InputEnum } from "@nanoforge-dev/input"; export class MoveController2D { name = this.constructor.name; @@ -56,34 +56,606 @@ export const EDITOR_COMPONENT_MANIFEST: EditorComponentManifest = { { name: "keyUp", type: "string", - enum: InputEnum, + enum: [ + "Escape", + "Digit1", + "Digit2", + "Digit3", + "Digit4", + "Digit5", + "Digit6", + "Digit7", + "Digit8", + "Digit9", + "Digit0", + "Minus", + "Equal", + "Backspace", + "Tab", + "KeyQ", + "KeyW", + "KeyE", + "KeyR", + "KeyT", + "KeyY", + "KeyU", + "KeyI", + "KeyO", + "KeyP", + "BracketLeft", + "BracketRight", + "Enter", + "ControlLeft", + "KeyA", + "KeyS", + "KeyD", + "KeyF", + "KeyG", + "KeyH", + "KeyJ", + "KeyK", + "KeyL", + "Semicolon", + "Quote", + "Backquote", + "ShiftLeft", + "Backslash", + "KeyZ", + "KeyX", + "KeyC", + "KeyV", + "KeyB", + "KeyN", + "KeyM", + "Comma", + "Period", + "Slash", + "ShiftRight", + "NumpadMultiply", + "AltLeft", + "Space", + "CapsLock", + "F1", + "F2", + "F3", + "F4", + "F5", + "F6", + "F7", + "F8", + "F9", + "F10", + "Pause", + "ScrollLock", + "Numpad7", + "Numpad8", + "Numpad9", + "NumpadSubtract", + "Numpad4", + "Numpad5", + "Numpad6", + "NumpadAdd", + "Numpad1", + "Numpad2", + "Numpad3", + "Numpad0", + "NumpadDecimal", + "IntlBackslash", + "F11", + "F12", + "NumpadEqual", + "F13", + "F14", + "F15", + "F16", + "F17", + "F18", + "F19", + "F20", + "F21", + "F22", + "F23", + "KanaMode", + "Lang2", + "Lang1", + "IntlRo", + "F24", + "Convert", + "NonConvert", + "IntlYen", + "NumpadComma", + "MediaTrackPrevious", + "MediaTrackNext", + "NumpadEnter", + "ControlRight", + "AudioVolumeMute", + "LaunchApp2", + "MediaPlayPause", + "MediaStop", + "BrowserHome", + "NumpadDivide", + "PrintScreen", + "AltRight", + "NumLock", + "Home", + "ArrowUp", + "PageUp", + "ArrowLeft", + "ArrowRight", + "End", + "ArrowDown", + "PageDown", + "Insert", + "Delete", + "MetaLeft", + "MetaRight", + "ContextMenu", + "Power", + "BrowserSearch", + "BrowserFavorites", + "BrowserRefresh", + "BrowserStop", + "BrowserForward", + "BrowserBack", + "LaunchApp1", + "LaunchMail", + ], description: "Key to press to go up", - example: InputEnum.ArrowUp, - default: InputEnum.ArrowUp, + example: "ArrowUp", + default: "ArrowUp", }, { name: "keyDown", type: "string", - enum: InputEnum, + enum: [ + "Escape", + "Digit1", + "Digit2", + "Digit3", + "Digit4", + "Digit5", + "Digit6", + "Digit7", + "Digit8", + "Digit9", + "Digit0", + "Minus", + "Equal", + "Backspace", + "Tab", + "KeyQ", + "KeyW", + "KeyE", + "KeyR", + "KeyT", + "KeyY", + "KeyU", + "KeyI", + "KeyO", + "KeyP", + "BracketLeft", + "BracketRight", + "Enter", + "ControlLeft", + "KeyA", + "KeyS", + "KeyD", + "KeyF", + "KeyG", + "KeyH", + "KeyJ", + "KeyK", + "KeyL", + "Semicolon", + "Quote", + "Backquote", + "ShiftLeft", + "Backslash", + "KeyZ", + "KeyX", + "KeyC", + "KeyV", + "KeyB", + "KeyN", + "KeyM", + "Comma", + "Period", + "Slash", + "ShiftRight", + "NumpadMultiply", + "AltLeft", + "Space", + "CapsLock", + "F1", + "F2", + "F3", + "F4", + "F5", + "F6", + "F7", + "F8", + "F9", + "F10", + "Pause", + "ScrollLock", + "Numpad7", + "Numpad8", + "Numpad9", + "NumpadSubtract", + "Numpad4", + "Numpad5", + "Numpad6", + "NumpadAdd", + "Numpad1", + "Numpad2", + "Numpad3", + "Numpad0", + "NumpadDecimal", + "IntlBackslash", + "F11", + "F12", + "NumpadEqual", + "F13", + "F14", + "F15", + "F16", + "F17", + "F18", + "F19", + "F20", + "F21", + "F22", + "F23", + "KanaMode", + "Lang2", + "Lang1", + "IntlRo", + "F24", + "Convert", + "NonConvert", + "IntlYen", + "NumpadComma", + "MediaTrackPrevious", + "MediaTrackNext", + "NumpadEnter", + "ControlRight", + "AudioVolumeMute", + "LaunchApp2", + "MediaPlayPause", + "MediaStop", + "BrowserHome", + "NumpadDivide", + "PrintScreen", + "AltRight", + "NumLock", + "Home", + "ArrowUp", + "PageUp", + "ArrowLeft", + "ArrowRight", + "End", + "ArrowDown", + "PageDown", + "Insert", + "Delete", + "MetaLeft", + "MetaRight", + "ContextMenu", + "Power", + "BrowserSearch", + "BrowserFavorites", + "BrowserRefresh", + "BrowserStop", + "BrowserForward", + "BrowserBack", + "LaunchApp1", + "LaunchMail", + ], description: "Key to press to go down", - example: InputEnum.ArrowDown, - default: InputEnum.ArrowDown, + example: "ArrowDown", + default: "ArrowDown", }, { name: "keyLeft", type: "string", - enum: InputEnum, + enum: [ + "Escape", + "Digit1", + "Digit2", + "Digit3", + "Digit4", + "Digit5", + "Digit6", + "Digit7", + "Digit8", + "Digit9", + "Digit0", + "Minus", + "Equal", + "Backspace", + "Tab", + "KeyQ", + "KeyW", + "KeyE", + "KeyR", + "KeyT", + "KeyY", + "KeyU", + "KeyI", + "KeyO", + "KeyP", + "BracketLeft", + "BracketRight", + "Enter", + "ControlLeft", + "KeyA", + "KeyS", + "KeyD", + "KeyF", + "KeyG", + "KeyH", + "KeyJ", + "KeyK", + "KeyL", + "Semicolon", + "Quote", + "Backquote", + "ShiftLeft", + "Backslash", + "KeyZ", + "KeyX", + "KeyC", + "KeyV", + "KeyB", + "KeyN", + "KeyM", + "Comma", + "Period", + "Slash", + "ShiftRight", + "NumpadMultiply", + "AltLeft", + "Space", + "CapsLock", + "F1", + "F2", + "F3", + "F4", + "F5", + "F6", + "F7", + "F8", + "F9", + "F10", + "Pause", + "ScrollLock", + "Numpad7", + "Numpad8", + "Numpad9", + "NumpadSubtract", + "Numpad4", + "Numpad5", + "Numpad6", + "NumpadAdd", + "Numpad1", + "Numpad2", + "Numpad3", + "Numpad0", + "NumpadDecimal", + "IntlBackslash", + "F11", + "F12", + "NumpadEqual", + "F13", + "F14", + "F15", + "F16", + "F17", + "F18", + "F19", + "F20", + "F21", + "F22", + "F23", + "KanaMode", + "Lang2", + "Lang1", + "IntlRo", + "F24", + "Convert", + "NonConvert", + "IntlYen", + "NumpadComma", + "MediaTrackPrevious", + "MediaTrackNext", + "NumpadEnter", + "ControlRight", + "AudioVolumeMute", + "LaunchApp2", + "MediaPlayPause", + "MediaStop", + "BrowserHome", + "NumpadDivide", + "PrintScreen", + "AltRight", + "NumLock", + "Home", + "ArrowUp", + "PageUp", + "ArrowLeft", + "ArrowRight", + "End", + "ArrowDown", + "PageDown", + "Insert", + "Delete", + "MetaLeft", + "MetaRight", + "ContextMenu", + "Power", + "BrowserSearch", + "BrowserFavorites", + "BrowserRefresh", + "BrowserStop", + "BrowserForward", + "BrowserBack", + "LaunchApp1", + "LaunchMail", + ], description: "Key to press to go left", - example: InputEnum.ArrowLeft, - default: InputEnum.ArrowLeft, + example: "ArrowLeft", + default: "ArrowLeft", }, { name: "keyRight", type: "string", - enum: InputEnum, + enum: [ + "Escape", + "Digit1", + "Digit2", + "Digit3", + "Digit4", + "Digit5", + "Digit6", + "Digit7", + "Digit8", + "Digit9", + "Digit0", + "Minus", + "Equal", + "Backspace", + "Tab", + "KeyQ", + "KeyW", + "KeyE", + "KeyR", + "KeyT", + "KeyY", + "KeyU", + "KeyI", + "KeyO", + "KeyP", + "BracketLeft", + "BracketRight", + "Enter", + "ControlLeft", + "KeyA", + "KeyS", + "KeyD", + "KeyF", + "KeyG", + "KeyH", + "KeyJ", + "KeyK", + "KeyL", + "Semicolon", + "Quote", + "Backquote", + "ShiftLeft", + "Backslash", + "KeyZ", + "KeyX", + "KeyC", + "KeyV", + "KeyB", + "KeyN", + "KeyM", + "Comma", + "Period", + "Slash", + "ShiftRight", + "NumpadMultiply", + "AltLeft", + "Space", + "CapsLock", + "F1", + "F2", + "F3", + "F4", + "F5", + "F6", + "F7", + "F8", + "F9", + "F10", + "Pause", + "ScrollLock", + "Numpad7", + "Numpad8", + "Numpad9", + "NumpadSubtract", + "Numpad4", + "Numpad5", + "Numpad6", + "NumpadAdd", + "Numpad1", + "Numpad2", + "Numpad3", + "Numpad0", + "NumpadDecimal", + "IntlBackslash", + "F11", + "F12", + "NumpadEqual", + "F13", + "F14", + "F15", + "F16", + "F17", + "F18", + "F19", + "F20", + "F21", + "F22", + "F23", + "KanaMode", + "Lang2", + "Lang1", + "IntlRo", + "F24", + "Convert", + "NonConvert", + "IntlYen", + "NumpadComma", + "MediaTrackPrevious", + "MediaTrackNext", + "NumpadEnter", + "ControlRight", + "AudioVolumeMute", + "LaunchApp2", + "MediaPlayPause", + "MediaStop", + "BrowserHome", + "NumpadDivide", + "PrintScreen", + "AltRight", + "NumLock", + "Home", + "ArrowUp", + "PageUp", + "ArrowLeft", + "ArrowRight", + "End", + "ArrowDown", + "PageDown", + "Insert", + "Delete", + "MetaLeft", + "MetaRight", + "ContextMenu", + "Power", + "BrowserSearch", + "BrowserFavorites", + "BrowserRefresh", + "BrowserStop", + "BrowserForward", + "BrowserBack", + "LaunchApp1", + "LaunchMail", + ], description: "Key to press to go right", - example: InputEnum.ArrowRight, - default: InputEnum.ArrowRight, + example: "ArrowRight", + default: "ArrowRight", }, ], }; From d928da2d300ff3f9fecfe099d16ba2a72d1fff80 Mon Sep 17 00:00:00 2001 From: Tchips46 Date: Tue, 9 Jun 2026 16:16:40 +0900 Subject: [PATCH 2/7] feat: gravity-2d --- packages/nf-gravity-2d.system/index.ts | 22 +++++++++++++++++++ .../nanoforge.manifest.json | 7 ++++++ 2 files changed, 29 insertions(+) create mode 100644 packages/nf-gravity-2d.system/index.ts create mode 100644 packages/nf-gravity-2d.system/nanoforge.manifest.json diff --git a/packages/nf-gravity-2d.system/index.ts b/packages/nf-gravity-2d.system/index.ts new file mode 100644 index 0000000..392cd74 --- /dev/null +++ b/packages/nf-gravity-2d.system/index.ts @@ -0,0 +1,22 @@ +import { type EditorSystemManifest, type Registry } from "@nanoforge-dev/ecs-lib"; + +import { Acceleration2D } from "../components/nf-acceleration-2d.component"; + +const GRAVITY_STRENGTH = 1; + +export function gravity2D(registry: Registry) { + const entities = registry.getZipper([Acceleration2D]); + + entities.forEach(({ Acceleration2D }) => { + Acceleration2D.y -= GRAVITY_STRENGTH; + }); +} +// * Required to generate code +export default gravity2D.name; + +// * Required for the editor to display the system and generate code +export const EDITOR_SYSTEM_MANIFEST: EditorSystemManifest = { + name: "gravity2D", + description: "Apply a down acceleration to every object", + dependencies: ["Acceleration2D"], +}; diff --git a/packages/nf-gravity-2d.system/nanoforge.manifest.json b/packages/nf-gravity-2d.system/nanoforge.manifest.json new file mode 100644 index 0000000..c951000 --- /dev/null +++ b/packages/nf-gravity-2d.system/nanoforge.manifest.json @@ -0,0 +1,7 @@ +{ + "name": "nf/gravity-2d", + "type": "system", + "description": "Apply a down acceleration to every object", + "tags": ["base", "mouvement"], + "dependencies": ["nf/acceleration-2d"] +} From 346a3ecbc80a5426d749a951968891fa85887ba2 Mon Sep 17 00:00:00 2001 From: Tchips46 Date: Thu, 11 Jun 2026 10:23:17 +0900 Subject: [PATCH 3/7] fix(controller): dont interfer with gravity --- packages/nf-move-control-2d.system/index.ts | 22 ++++++++++++------- .../nf-move-controller-2d.component/index.ts | 12 ++++++---- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/packages/nf-move-control-2d.system/index.ts b/packages/nf-move-control-2d.system/index.ts index 85f04c6..04b4908 100644 --- a/packages/nf-move-control-2d.system/index.ts +++ b/packages/nf-move-control-2d.system/index.ts @@ -15,17 +15,23 @@ export function moveControl2D(registry: Registry, ctx: Context) { const rightPressed = input.isKeyPressed(MoveController2D.keyRight); const leftPressed = input.isKeyPressed(MoveController2D.keyLeft); - let velX = 0; - if (leftPressed != rightPressed) { - velX = rightPressed ? MoveController2D.speedRight : -MoveController2D.speedLeft; + if (MoveController2D.keyRight || MoveController2D.keyLeft) { + let velX = 0; + if (leftPressed != rightPressed) { + if (rightPressed) velX = MoveController2D.speedRight; + if (leftPressed) velX = -MoveController2D.speedLeft; + } + Velocity2D.x = velX; } - Velocity2D.x = velX; - let velY = 0; - if (upPressed != downPressed) { - velY = upPressed ? -MoveController2D.speedUp : MoveController2D.speedDown; + if (MoveController2D.keyUp || MoveController2D.keyDown) { + let velY = 0; + if (upPressed != downPressed) { + if (upPressed) velY = -MoveController2D.speedUp; + if (downPressed) velY = MoveController2D.speedDown; + } + Velocity2D.y = velY; } - Velocity2D.y = velY; }); } // * Required to generate code diff --git a/packages/nf-move-controller-2d.component/index.ts b/packages/nf-move-controller-2d.component/index.ts index 5d90190..0c69f81 100644 --- a/packages/nf-move-controller-2d.component/index.ts +++ b/packages/nf-move-controller-2d.component/index.ts @@ -9,10 +9,10 @@ export class MoveController2D { public speedDown: number, public speedLeft: number, public speedRight: number, - public keyUp: InputEnum, - public keyDown: InputEnum, - public keyLeft: InputEnum, - public keyRight: InputEnum, + public keyUp?: InputEnum, + public keyDown?: InputEnum, + public keyLeft?: InputEnum, + public keyRight?: InputEnum, ) {} } @@ -56,6 +56,7 @@ export const EDITOR_COMPONENT_MANIFEST: EditorComponentManifest = { { name: "keyUp", type: "string", + optional: true, enum: [ "Escape", "Digit1", @@ -207,6 +208,7 @@ export const EDITOR_COMPONENT_MANIFEST: EditorComponentManifest = { { name: "keyDown", type: "string", + optional: true, enum: [ "Escape", "Digit1", @@ -358,6 +360,7 @@ export const EDITOR_COMPONENT_MANIFEST: EditorComponentManifest = { { name: "keyLeft", type: "string", + optional: true, enum: [ "Escape", "Digit1", @@ -509,6 +512,7 @@ export const EDITOR_COMPONENT_MANIFEST: EditorComponentManifest = { { name: "keyRight", type: "string", + optional: true, enum: [ "Escape", "Digit1", From 52846654c30adafa2a21d21534c787cb36cc6cdd Mon Sep 17 00:00:00 2001 From: Tchips46 Date: Thu, 11 Jun 2026 10:41:51 +0900 Subject: [PATCH 4/7] feat: jump control --- packages/nf-jump-control-2d.system/index.ts | 26 +++ .../nanoforge.manifest.json | 10 + .../nf-jump-controller-2d.component/index.ts | 181 ++++++++++++++++++ .../nanoforge.manifest.json | 10 + .../nf-move-controller-2d.component/index.ts | 8 +- .../nanoforge.manifest.json | 1 + 6 files changed, 232 insertions(+), 4 deletions(-) create mode 100644 packages/nf-jump-control-2d.system/index.ts create mode 100644 packages/nf-jump-control-2d.system/nanoforge.manifest.json create mode 100644 packages/nf-jump-controller-2d.component/index.ts create mode 100644 packages/nf-jump-controller-2d.component/nanoforge.manifest.json diff --git a/packages/nf-jump-control-2d.system/index.ts b/packages/nf-jump-control-2d.system/index.ts new file mode 100644 index 0000000..13980b6 --- /dev/null +++ b/packages/nf-jump-control-2d.system/index.ts @@ -0,0 +1,26 @@ +import { type Context } from "@nanoforge-dev/common"; +import { type EditorSystemManifest, type Registry } from "@nanoforge-dev/ecs-lib"; +import { type InputLibrary } from "@nanoforge-dev/input"; + +import { Acceleration2D } from "../components/nf-acceleration-2d.component"; +import { JumpController2D } from "../components/nf-move-controller-2d.component"; + +export function jumpControl2D(registry: Registry, ctx: Context) { + const entities = registry.getZipper([JumpController2D, Acceleration2D]); + const input = ctx.libs.getInput(); + + entities.forEach(({ JumpController2D, Acceleration2D }) => { + if (input.isKeyPressed(JumpController2D.key)) { + Acceleration2D.y -= JumpController2D.strength; + } + }); +} +// * Required to generate code +export default jumpControl2D.name; + +// * Required for the editor to display the system and generate code +export const EDITOR_SYSTEM_MANIFEST: EditorSystemManifest = { + name: "jumpControl2D", + description: "Control movable entities with 4 directional movement of en entity", + dependencies: ["Acceleration2D", "JumpController2D"], +}; diff --git a/packages/nf-jump-control-2d.system/nanoforge.manifest.json b/packages/nf-jump-control-2d.system/nanoforge.manifest.json new file mode 100644 index 0000000..5c4804c --- /dev/null +++ b/packages/nf-jump-control-2d.system/nanoforge.manifest.json @@ -0,0 +1,10 @@ +{ + "name": "nf/jump-control-2d", + "type": "system", + "description": "Control entities that can jump", + "tags": ["base", "mouvement"], + "dependencies": ["nf/jump-controller-2d", "nf/acceleration-2d"], + "libDependencies": { + "@nanoforge-dev/input": "^1.0.2" + } +} diff --git a/packages/nf-jump-controller-2d.component/index.ts b/packages/nf-jump-controller-2d.component/index.ts new file mode 100644 index 0000000..b548145 --- /dev/null +++ b/packages/nf-jump-controller-2d.component/index.ts @@ -0,0 +1,181 @@ +import type { EditorComponentManifest } from "@nanoforge-dev/ecs-lib"; +import { type InputEnum } from "@nanoforge-dev/input"; + +export class JumpController2D { + name = this.constructor.name; + + constructor( + public strength: number, + public key?: InputEnum, + ) {} +} + +// * Required to generate code +export default JumpController2D.name; + +// * Required for the editor to display the component and generate code +export const EDITOR_COMPONENT_MANIFEST: EditorComponentManifest = { + name: "JumpController2D", + description: "Allow jump upwards", + params: [ + { + type: "number", + name: "strength", + description: "Speed going up in pixels per second", + example: 4.2, + default: 100, + }, + { + name: "key", + type: "string", + optional: true, + enum: [ + "Escape", + "Digit1", + "Digit2", + "Digit3", + "Digit4", + "Digit5", + "Digit6", + "Digit7", + "Digit8", + "Digit9", + "Digit0", + "Minus", + "Equal", + "Backspace", + "Tab", + "KeyQ", + "KeyW", + "KeyE", + "KeyR", + "KeyT", + "KeyY", + "KeyU", + "KeyI", + "KeyO", + "KeyP", + "BracketLeft", + "BracketRight", + "Enter", + "ControlLeft", + "KeyA", + "KeyS", + "KeyD", + "KeyF", + "KeyG", + "KeyH", + "KeyJ", + "KeyK", + "KeyL", + "Semicolon", + "Quote", + "Backquote", + "ShiftLeft", + "Backslash", + "KeyZ", + "KeyX", + "KeyC", + "KeyV", + "KeyB", + "KeyN", + "KeyM", + "Comma", + "Period", + "Slash", + "ShiftRight", + "NumpadMultiply", + "AltLeft", + "Space", + "CapsLock", + "F1", + "F2", + "F3", + "F4", + "F5", + "F6", + "F7", + "F8", + "F9", + "F10", + "Pause", + "ScrollLock", + "Numpad7", + "Numpad8", + "Numpad9", + "NumpadSubtract", + "Numpad4", + "Numpad5", + "Numpad6", + "NumpadAdd", + "Numpad1", + "Numpad2", + "Numpad3", + "Numpad0", + "NumpadDecimal", + "IntlBackslash", + "F11", + "F12", + "NumpadEqual", + "F13", + "F14", + "F15", + "F16", + "F17", + "F18", + "F19", + "F20", + "F21", + "F22", + "F23", + "KanaMode", + "Lang2", + "Lang1", + "IntlRo", + "F24", + "Convert", + "NonConvert", + "IntlYen", + "NumpadComma", + "MediaTrackPrevious", + "MediaTrackNext", + "NumpadEnter", + "ControlRight", + "AudioVolumeMute", + "LaunchApp2", + "MediaPlayPause", + "MediaStop", + "BrowserHome", + "NumpadDivide", + "PrintScreen", + "AltRight", + "NumLock", + "Home", + "ArrowUp", + "PageUp", + "ArrowLeft", + "ArrowRight", + "End", + "ArrowDown", + "PageDown", + "Insert", + "Delete", + "MetaLeft", + "MetaRight", + "ContextMenu", + "Power", + "BrowserSearch", + "BrowserFavorites", + "BrowserRefresh", + "BrowserStop", + "BrowserForward", + "BrowserBack", + "LaunchApp1", + "LaunchMail", + ], + description: "Key to press to go up", + example: "Space", + default: "Space", + }, + ], +}; diff --git a/packages/nf-jump-controller-2d.component/nanoforge.manifest.json b/packages/nf-jump-controller-2d.component/nanoforge.manifest.json new file mode 100644 index 0000000..c72b9a3 --- /dev/null +++ b/packages/nf-jump-controller-2d.component/nanoforge.manifest.json @@ -0,0 +1,10 @@ +{ + "name": "nf/jump-controller-2d", + "type": "component", + "description": "Allow jump upwards", + "tags": ["base", "mouvement"], + "dependencies": ["nf/jump-control"], + "libDependencies": { + "@nanoforge-dev/input": "^1.0.2" + } +} diff --git a/packages/nf-move-controller-2d.component/index.ts b/packages/nf-move-controller-2d.component/index.ts index 0c69f81..dacff33 100644 --- a/packages/nf-move-controller-2d.component/index.ts +++ b/packages/nf-move-controller-2d.component/index.ts @@ -30,28 +30,28 @@ export const EDITOR_COMPONENT_MANIFEST: EditorComponentManifest = { name: "speedUp", description: "Speed going up in pixels per second", example: 4.2, - default: 10, + default: 50, }, { type: "number", name: "speedDown", description: "Speed going down in pixels per second", example: 4.2, - default: 10, + default: 50, }, { type: "number", name: "speedLeft", description: "Speed going left in pixels per second", example: 4.2, - default: 10, + default: 50, }, { type: "number", name: "speedRight", description: "Speed going right in pixels per second", example: 4.2, - default: 10, + default: 50, }, { name: "keyUp", diff --git a/packages/nf-move-controller-2d.component/nanoforge.manifest.json b/packages/nf-move-controller-2d.component/nanoforge.manifest.json index 3e76d69..3cfb03e 100644 --- a/packages/nf-move-controller-2d.component/nanoforge.manifest.json +++ b/packages/nf-move-controller-2d.component/nanoforge.manifest.json @@ -3,6 +3,7 @@ "type": "component", "description": "Allow control with 4 directional movement of an entity in 2d", "tags": ["base", "mouvement"], + "dependencies": ["nf/move-control-2d"], "libDependencies": { "@nanoforge-dev/input": "^1.0.2" } From 35fb8bf7f6ff596841d4ef60c1e547142a6369ba Mon Sep 17 00:00:00 2001 From: Tchips46 Date: Thu, 11 Jun 2026 10:43:36 +0900 Subject: [PATCH 5/7] feat: jump control --- .husky/pre-push | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.husky/pre-push b/.husky/pre-push index 3f72e73..fe55e8a 100755 --- a/.husky/pre-push +++ b/.husky/pre-push @@ -1,2 +1,2 @@ pnpm run lint -pnpm run test +#pnpm run test From 5567c59391006b2b3cfd26789c5df6f0263b8be0 Mon Sep 17 00:00:00 2001 From: Tchips46 Date: Thu, 11 Jun 2026 10:46:21 +0900 Subject: [PATCH 6/7] feat: jump control remove dep --- packages/nf-jump-controller-2d.component/nanoforge.manifest.json | 1 - packages/nf-move-controller-2d.component/nanoforge.manifest.json | 1 - 2 files changed, 2 deletions(-) diff --git a/packages/nf-jump-controller-2d.component/nanoforge.manifest.json b/packages/nf-jump-controller-2d.component/nanoforge.manifest.json index c72b9a3..be280d1 100644 --- a/packages/nf-jump-controller-2d.component/nanoforge.manifest.json +++ b/packages/nf-jump-controller-2d.component/nanoforge.manifest.json @@ -3,7 +3,6 @@ "type": "component", "description": "Allow jump upwards", "tags": ["base", "mouvement"], - "dependencies": ["nf/jump-control"], "libDependencies": { "@nanoforge-dev/input": "^1.0.2" } diff --git a/packages/nf-move-controller-2d.component/nanoforge.manifest.json b/packages/nf-move-controller-2d.component/nanoforge.manifest.json index 3cfb03e..3e76d69 100644 --- a/packages/nf-move-controller-2d.component/nanoforge.manifest.json +++ b/packages/nf-move-controller-2d.component/nanoforge.manifest.json @@ -3,7 +3,6 @@ "type": "component", "description": "Allow control with 4 directional movement of an entity in 2d", "tags": ["base", "mouvement"], - "dependencies": ["nf/move-control-2d"], "libDependencies": { "@nanoforge-dev/input": "^1.0.2" } From 80bca5a1b3642649c75f7eb9ca67ecc6731139cf Mon Sep 17 00:00:00 2001 From: Tchips46 Date: Thu, 11 Jun 2026 10:49:57 +0900 Subject: [PATCH 7/7] feat: remove gravity system --- packages/nf-gravity-2d.system/index.ts | 22 ------------------- .../nanoforge.manifest.json | 7 ------ 2 files changed, 29 deletions(-) delete mode 100644 packages/nf-gravity-2d.system/index.ts delete mode 100644 packages/nf-gravity-2d.system/nanoforge.manifest.json diff --git a/packages/nf-gravity-2d.system/index.ts b/packages/nf-gravity-2d.system/index.ts deleted file mode 100644 index 392cd74..0000000 --- a/packages/nf-gravity-2d.system/index.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { type EditorSystemManifest, type Registry } from "@nanoforge-dev/ecs-lib"; - -import { Acceleration2D } from "../components/nf-acceleration-2d.component"; - -const GRAVITY_STRENGTH = 1; - -export function gravity2D(registry: Registry) { - const entities = registry.getZipper([Acceleration2D]); - - entities.forEach(({ Acceleration2D }) => { - Acceleration2D.y -= GRAVITY_STRENGTH; - }); -} -// * Required to generate code -export default gravity2D.name; - -// * Required for the editor to display the system and generate code -export const EDITOR_SYSTEM_MANIFEST: EditorSystemManifest = { - name: "gravity2D", - description: "Apply a down acceleration to every object", - dependencies: ["Acceleration2D"], -}; diff --git a/packages/nf-gravity-2d.system/nanoforge.manifest.json b/packages/nf-gravity-2d.system/nanoforge.manifest.json deleted file mode 100644 index c951000..0000000 --- a/packages/nf-gravity-2d.system/nanoforge.manifest.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "nf/gravity-2d", - "type": "system", - "description": "Apply a down acceleration to every object", - "tags": ["base", "mouvement"], - "dependencies": ["nf/acceleration-2d"] -}