/** * eventNormalize.ts — last-line normalisation of map event data before it is * written to a project file. * * RPG Maker MV's editor writes whole numbers for coordinates, ids, opcodes and * the numeric slots of event command parameters. Tool arguments arrive as * numeric strings often enough ("x": "1") that a string could survive argument * handling and land in the JSON, which the engine tolerates at runtime but which * makes the file non-canonical: the editor rewrites those values on the next * save, and type-aware tooling, diffs and $dataMap consumers see mixed types * (issue #15). * * The rule here is deliberately narrow: coerce ONLY the slots the engine * defines as numeric. There is no blanket recursion, because plenty of * parameters are strings by design — * * 101[0] face image filename 118[0]/119[0] label names * 102[0] the choice labels 320[1]/324[1]/325[1] names and profiles * 401/405 message and scroll text 355/655 script lines, 356 plugin commands * 108/408 comments 111[1] the button name of a key branch * * — and coercing those corrupts messages and breaks plugins. Any opcode absent * from the table below is passed through untouched. */ /** * Coerce the engine-defined numeric fields of every event on a map, in place. * Safe to call on any map object; anything unrecognised is left as it is. */ export declare function normalizeMapEvents(map: unknown): void;