This website requires JavaScript.
Explore
Help
Sign In
meleki
/
feuerwerk
Watch
1
Star
0
Fork
0
Code
Issues
38
Actions
Projects
1
Wiki
Activity
Files
5385d9e152628809a1927c93dd5e1fbcc5658505
feuerwerk
/
src
/
editor
T
History
admin
and
Claude Opus 5
5385d9e152
game-maker / gate (push)
Successful in 1m55s
Details
game-maker / suite (push)
Successful in 6m50s
Details
The one-way tolerance angle is a field: a one-way collider and a one-way tile gain One-way angle (0 to 90 degrees, default 45), a contact blocks when its normal is within that angle of the blocking side, without a value the limit is bit-identical to before, and the rule holds for Move, Raycast and dynamic bodies in Rapier; tiles with different angles never merge into one rectangle, the scene view draws the angle as a cone in the middle of the thick side, and the inspector shows Blocks from and One-way angle only while One-way is on, through the new schema option shownWith (
#159
)
...
Co-Authored-By: Claude Opus 5 <
noreply@anthropic.com
>
2026-09-19 13:13:29 +02:00
..
animation
The scene view and the animation preview share one camera, the three form dialogs one base, and keys are found through one set of helpers (
#85
)
2026-09-17 14:19:53 +02:00
console
Shaders draw in the sprite's own pass: a Mesh with the graph's fragment, no filter (
#77
)
2026-09-13 15:31:08 +02:00
container
Give the three asset tabs one base, and move the viewports into the editor
2026-09-10 07:14:38 +02:00
font
Three stores, three importers and three pickers that differ only in their type are one of each (
#85
)
2026-09-16 17:38:54 +02:00
graph
The tab headers are one TabHeader, the node board and the tile board pan and zoom through one helper, reordering tile pictures and tilemap layers goes through one moveItem, and a tilemap cell is one named type (
#85
)
2026-09-18 16:01:12 +02:00
inspector
The one-way tolerance angle is a field: a one-way collider and a one-way tile gain One-way angle (0 to 90 degrees, default 45), a contact blocks when its normal is within that angle of the blocking side, without a value the limit is bit-identical to before, and the rule holds for Move, Raycast and dynamic bodies in Rapier; tiles with different angles never merge into one rectangle, the scene view draws the angle as a cone in the middle of the thick side, and the inspector shows Blocks from and One-way angle only while One-way is on, through the new schema option shownWith (
#159
)
2026-09-19 13:13:29 +02:00
list
Shader assets: graph-built shaders, the Shader tab and sprite rows from the graph (
#62
)
2026-09-12 22:41:14 +02:00
panels
Physics stage 1a runs on Rapier: a new Rigidbody child object (body type, mass, gravity scale, damping, fixed rotation, CCD) makes its parent fall, bounce and come to rest in play, colliders gain friction, bounciness and density, the scene gains gravity (0, 980), the new PhysicsSystem steps at a fixed 60 Hz with interpolation in world coordinates and treats a tilemap as static ground, On collision enter gains normal and impulse, play waits for Rapier and does not start without it, and the editor run keeps the old CollisionSystem; the existing collision tests run against both systems unchanged (
#146
)
2026-09-18 18:11:43 +02:00
particles
A shader costs a source nothing, because a field was already one draw call (
#88
)
2026-09-14 11:06:45 +02:00
plugins
The tab headers are one TabHeader, the node board and the tile board pan and zoom through one helper, reordering tile pictures and tilemap layers goes through one moveItem, and a tilemap cell is one named type (
#85
)
2026-09-18 16:01:12 +02:00
shader
Shader assets: graph-built shaders, the Shader tab and sprite rows from the graph (
#62
)
2026-09-12 22:41:14 +02:00
sound
Three stores, three importers and three pickers that differ only in their type are one of each (
#85
)
2026-09-16 17:38:54 +02:00
statemachine
A transition carries a name, so a state needs no visible port (
#52
)
2026-09-14 14:05:18 +02:00
texture
Collision outlines for autotiles: a frame holds several outlines (click adds a corner to the active one, Ctrl/Cmd-click starts a new one, clicking another outline makes it active, Delete removes the active outline and never the frame in collision mode), an autotile's outlines are drawn over the whole block, cut at the quarters and each cell takes the pieces of exactly the quarters its image is made of, so edges, outer corners and notches follow automatically; a tile of the block with nothing drawn blocks fully, cells of only full quarters merge back into rectangles, collision scale does not apply to an outlined autotile, and the previous format with one flat outline still loads (
#141
)
2026-09-19 01:56:20 +02:00
tile
The tab headers are one TabHeader, the node board and the tile board pan and zoom through one helper, reordering tile pictures and tilemap layers goes through one moveItem, and a tilemap cell is one named type (
#85
)
2026-09-18 16:01:12 +02:00
viewport
The one-way tolerance angle is a field: a one-way collider and a one-way tile gain One-way angle (0 to 90 degrees, default 45), a contact blocks when its normal is within that angle of the blocking side, without a value the limit is bit-identical to before, and the rule holds for Move, Raycast and dynamic bodies in Rapier; tiles with different angles never merge into one rectangle, the scene view draws the angle as a cone in the middle of the thick side, and the inspector shows Blocks from and One-way angle only while One-way is on, through the new schema option shownWith (
#159
)
2026-09-19 13:13:29 +02:00
actions.ts
Physics stage 1a runs on Rapier: a new Rigidbody child object (body type, mass, gravity scale, damping, fixed rotation, CCD) makes its parent fall, bounce and come to rest in play, colliders gain friction, bounciness and density, the scene gains gravity (0, 980), the new PhysicsSystem steps at a fixed 60 Hz with interpolation in world coordinates and treats a tilemap as static ground, On collision enter gains normal and impulse, play waits for Rapier and does not start without it, and the editor run keeps the old CollisionSystem; the existing collision tests run against both systems unchanged (
#146
)
2026-09-18 18:11:43 +02:00
App.ts
Rapier 2D (@dimforge/rapier2d-compat 0.20) comes in as the physics engine: the editor loads it once in the background right after opening a project from its own chunk, so the main bundle grows by 0.19 KB gzip and the first frame does not wait; loadPhysics, physicsStatus and the 100 px = 1 m conversion live in src/runtime/physics/engine.ts, __gm.physics() reports the state, unit tests pin free fall and a box resting on a box, and e2e module 41 pins that Rapier is ready from its own chunk without console noise (
#145
)
2026-09-18 16:56:47 +02:00
assetImport.ts
Three stores, three importers and three pickers that differ only in their type are one of each (
#85
)
2026-09-16 17:38:54 +02:00
AssetTabEditor.ts
The tab headers are one TabHeader, the node board and the tile board pan and zoom through one helper, reordering tile pictures and tilemap layers goes through one moveItem, and a tilemap cell is one named type (
#85
)
2026-09-18 16:01:12 +02:00
autosave.ts
Console panel: capture console.*, timestamped lines, resizable (
#50
)
2026-09-12 19:35:40 +02:00
debugHook.ts
One-way platforms, raycast and collision stay with contact data: a collider can be one-way with a side it blocks from (turning with its object, drawn thick in the scene view) and a tile can be one-way from above, one-way cells never merge with solid tiles, a contact blocks only when its normal is within 45 degrees of the blocking side, the new node Ignore one-way lets an object drop through for a while, and it all holds for Move and for dynamic bodies in Rapier, where the decision is made before each step because the hook may not touch the engine (
#155
); the new Raycast node answers hit, object, collider, point, normal and distance in our own f64 geometry, the same in editor run and play, and the editor run draws each ray for 0.25 s (
#153
); On collision stay gains an interval with its own clock per pair, and stay and enter gain the contact point next to normal and impulse (
#149
); fixes that every Rapier collider of a tilemap had the shape of its last cell
2026-09-19 11:36:11 +02:00
Editor.ts
One-way platforms, raycast and collision stay with contact data: a collider can be one-way with a side it blocks from (turning with its object, drawn thick in the scene view) and a tile can be one-way from above, one-way cells never merge with solid tiles, a contact blocks only when its normal is within 45 degrees of the blocking side, the new node Ignore one-way lets an object drop through for a while, and it all holds for Move and for dynamic bodies in Rapier, where the decision is made before each step because the hook may not touch the engine (
#155
); the new Raycast node answers hit, object, collider, point, normal and distance in our own f64 geometry, the same in editor run and play, and the editor run draws each ray for 0.25 s (
#153
); On collision stay gains an interval with its own clock per pair, and stay and enter gain the contact point next to normal and impulse (
#149
); fixes that every Rapier collider of a tilemap had the shape of its last cell
2026-09-19 11:36:11 +02:00
EditorRun.ts
Physics stage 1a runs on Rapier: a new Rigidbody child object (body type, mass, gravity scale, damping, fixed rotation, CCD) makes its parent fall, bounce and come to rest in play, colliders gain friction, bounciness and density, the scene gains gravity (0, 980), the new PhysicsSystem steps at a fixed 60 Hz with interpolation in world coordinates and treats a tilemap as static ground, On collision enter gains normal and impulse, play waits for Rapier and does not start without it, and the editor run keeps the old CollisionSystem; the existing collision tests run against both systems unchanged (
#146
)
2026-09-18 18:11:43 +02:00
fileImport.ts
A game that stays silent is only half a game, so a sound is an asset like any other (
#45
)
2026-09-15 07:54:28 +02:00
FilePicker.ts
Three stores, three importers and three pickers that differ only in their type are one of each (
#85
)
2026-09-16 17:38:54 +02:00
fontImport.ts
Three stores, three importers and three pickers that differ only in their type are one of each (
#85
)
2026-09-16 17:38:54 +02:00
FormDialog.ts
The scene view and the animation preview share one camera, the three form dialogs one base, and keys are found through one set of helpers (
#85
)
2026-09-17 14:19:53 +02:00
framing.ts
Two compilers that walk a graph the same way walk it through one emitter (
#85
)
2026-09-16 19:28:28 +02:00
PlaySession.ts
Physics stage 1a runs on Rapier: a new Rigidbody child object (body type, mass, gravity scale, damping, fixed rotation, CCD) makes its parent fall, bounce and come to rest in play, colliders gain friction, bounciness and density, the scene gains gravity (0, 980), the new PhysicsSystem steps at a fixed 60 Hz with interpolation in world coordinates and treats a tilemap as static ground, On collision enter gains normal and impulse, play waits for Rapier and does not start without it, and the editor run keeps the old CollisionSystem; the existing collision tests run against both systems unchanged (
#146
)
2026-09-18 18:11:43 +02:00
polygonEdit.ts
Collision outlines for autotiles: a frame holds several outlines (click adds a corner to the active one, Ctrl/Cmd-click starts a new one, clicking another outline makes it active, Delete removes the active outline and never the frame in collision mode), an autotile's outlines are drawn over the whole block, cut at the quarters and each cell takes the pieces of exactly the quarters its image is made of, so edges, outer corners and notches follow automatically; a tile of the block with nothing drawn blocks fully, cells of only full quarters merge back into rectangles, collision scale does not apply to an outlined autotile, and the previous format with one flat outline still loads (
#141
)
2026-09-19 01:56:20 +02:00
ProjectSession.ts
Console panel: capture console.*, timestamped lines, resizable (
#50
)
2026-09-12 19:35:40 +02:00
settings.ts
A game that is more than one scene needs a way from one to the next, so the graph can load one (
#39
)
2026-09-15 13:24:26 +02:00
shortcuts.ts
Timeline keys can be copied and pasted at the playhead, duplicated with Ctrl+drag, and frames inserted or removed from a right-click menu (
#102
)
2026-09-17 12:53:56 +02:00
soundImport.ts
Three stores, three importers and three pickers that differ only in their type are one of each (
#85
)
2026-09-16 17:38:54 +02:00
state.ts
The tab headers are one TabHeader, the node board and the tile board pan and zoom through one helper, reordering tile pictures and tilemap layers goes through one moveItem, and a tilemap cell is one named type (
#85
)
2026-09-18 16:01:12 +02:00
TabHeader.ts
The tab headers are one TabHeader, the node board and the tile board pan and zoom through one helper, reordering tile pictures and tilemap layers goes through one moveItem, and a tilemap cell is one named type (
#85
)
2026-09-18 16:01:12 +02:00
tabRow.ts
Tab row: what does not fit goes behind a menu, the active tab always stays (
#84
)
2026-09-13 22:06:46 +02:00
TabStrip.ts
Tilemaps are a new placeable asset type that is painted with autotiles in the scene view, with layers, brush, eraser and rectangle, and is drawn at runtime and in the export (
#128
)
2026-09-18 06:41:47 +02:00
textureImport.ts
Three stores, three importers and three pickers that differ only in their type are one of each (
#85
)
2026-09-16 17:38:54 +02:00