Editor Tools
Editor Tools
cpyvn has four built-in dev tools:
F3Inspector (sprite placement)F4Hotspot Editor (map/hotspot authoring)F6Script Editor (in-engine text editing)F7HUD Editor (persistent button placement)Ctrl+MMap Overlay Editor (map POI authoring while map is active)
These are runtime debug tools for rapid iteration.
They are available only in dev mode (project.json has "debug": true or you run with --debug).
In player builds (debug off), F-key editors, Ctrl+M debug menu, and perf HUD are hidden.
Global Shortcuts
F3: Toggle inspectorF4: Toggle hotspot editorF5: QuicksaveF6: Toggle script editorF7: Toggle HUD editorF9: QuickloadCtrl+M: Toggle map overlay editor (only when a map is currently shown)Esc: Close active editor mode (or quit if no editor mode is active)
Inspector (F3)
Use it to position sprites and inspect z-order quickly.
- Click/touch a sprite: select it
- Click/touch + drag: move selected sprite
- Drag corner handles: resize selected sprite
- Hold
Shiftwhile resizing: lock aspect ratio - Mouse wheel on selected sprite: quick scale
- Arrow keys: nudge selected sprite by 1px
Shift + Arrow: nudge by 10px[/]: decrease/increase selected spritezC: print selected sprite script snippetA: toggle Placement Mode panel
Placement Mode (F3 + A)
- Shows a sprite list from
assets/sprites(recursive) - Select an entry with mouse or
Up/Down EnterorAdd: place image sprite into sceneRefresh: rescan sprite filesClose: hide panel
Notes:
- Added sprites are inserted as
add imagesnippets in the managed auto block. - Resized image sprites emit
size <w> <h>in snippets.
Hotspot Editor (F4)
Use it to create and edit map hotspots with camera pan/zoom support.
Modes
1: Select mode2: Rect mode3: Poly modeTab: Cycle mode
Actions
- Left click (Select): select hotspot
- Left drag (Rect): draw rectangle hotspot
- Left click (Poly): add polygon point
- Right click (Poly): remove last polygon point
Enter(Poly): finalize polygonDel/Backspace: delete selected hotspotT: cycle selected hotspot target labelC: print selected hotspot snippetP: print all hotspot snippets
Camera Controls
- Mouse wheel: zoom in/out
+/-: zoom in/out- Arrow keys: pan camera (when no hotspot selected)
- Arrow keys: move selected hotspot (when selected)
Shift + Arrow: move hotspot by larger stepR: camera reset
Map Overlay Editor (Ctrl+M)
Use it to author map POIs directly on the active map view.
- Works only while
map show ...is active. - Draw point or polygon POIs visually.
Enter: save/finalize current POI.- Saved POIs sync into the active script auto block:
# cpyvn-editor begin# cpyvn-editor end
- The runtime keeps POI overlays clickable/highlighted for immediate test.
For DSL syntax details, see docs/commands/map.md.
Script Editor (F6)
Use it to edit .vn files live in-engine.
Core
Ctrl+S: save current fileCtrl+R: save + reload runtime from current fileEsc: close script editor
Navigation/Edit
- Arrow keys: cursor move
Home/End: line start/endPageUp/PageDown: jump by viewportBackspace/Delete: deleteEnter: newlineTab: inserts 2 spaces- Mouse click: place cursor
- Mouse wheel: scroll text pane
Multi-file
- Left panel lists all
.vnfiles in project - Click file in panel: open file
Ctrl+Up/Ctrl+Down: previous/next fileCtrl+E: jump to currently running script fileCtrl+D: duplicate current line- Wheel on file panel: scroll file list
Auto Sync Block
Inspector + hotspot/camera edits can auto-write a managed block into the running script:
# cpyvn-editor begin# cpyvn-editor end
Lines are written as comments for safe review and manual copy into real script flow.
HUD Editor (F7)
Use it to create and position persistent HUD buttons (text/icon/both).
Modes
1: Select mode (click to select, drag to move)2: Rect mode (drag to create new button)Tab: Cycle mode
Actions
- Left click (Select): select button
- Left drag (Select): move selected button
- Left drag (Rect): draw new button area
Del/Backspace: delete selected buttonT: cycle selected button target label- Arrow keys: nudge selected button by 1px
Shift + Arrow: nudge by 10px
Notes
- New buttons default to
textstyle with placeholder text. - Edits auto-write into the
# cpyvn-editor begin/endblock. - HUD buttons persist across scene changes (unlike hotspots).