ct.js Changelog

What's new in ct.js 4.0.2

Feb 25, 2024
  • New Features:
  • Add a menu item to duplicate emitter tandems. Closes #498
  • Export and import emitter tandems from files
  • Now you can change the background color in the style editor
  • General Improvements:
  • Update Chinese Simplified translations (#500 by @emaoshushu)
  • Behaviors will now have an additional icon in the asset viewer showing the asset type it was created for
  • Do update checks at max once in an hour if it was successfully requested before
  • Emitter editors will now show a (?) image instead of a blank broken image if no texture was set
  • (Internal) Move properties assignment for AnimatedSprite from the Copy mixin into the pixi.js-based class.
  • Now line height in style editors will scale with the font size when you change the latter
  • (Internal) Refactor copy creation off base classes, move CopyAnimatedSprite, CopyText, CopyContainer prototypes into separate pixi.js-based classes.
  • Remember whether the grid was disabled in a specific room
  • Transparent background in style editor. Make the preview occupy the available space in the editor.
  • Bug Fixes:
  • Fix broken QWERTY and Shift+S hotkeys in room editors
  • Fix buttons skipping their pointer events after being disabled and enabled back
  • Fix discardio not removing old keys from asset object before assigning new ones, which led, for example, to not being able to disable stroke/fill/shadow settings of style assets
  • Fix double caching of tile layers that breaks rooms.merge call. Closes #501
  • Fix fs catmod failing when run in node.js context and trying to work with relative paths
  • Fix hotkeys being ignored if non-english keyboard layout was in use
  • Fix nine slice panes' tint being reset on click and not saved in the room-editor
  • Fix not being able to deselect items after sorting and moving them
  • Fix not being able to set tint with this.tint or the room editor to buttons.
  • Fix scripts sometimes having blank screen when switching back and forth tabs
  • Remove deleted behaviors from opened template editors, and deleted behaviors and templates links from rooms' properties panel
  • Sound assets should prompt for a name when created
  • Docs:
  • Fix movement by a grid
  • Website:
  • Update wording on essentials on the homepage

New in ct.js 4.0.1 (Feb 20, 2024)

  • General Improvements:
  • Changed button text from Save to Apply (#495 by @AnukratiMehta)
  • Improve migration script for v4 to handle cases when assets had broken references to groups
  • Bug Fixes:
  • Fix migration code for v4 throwing an error if a project did not use fittoscreen catmod.
  • Fix pointer.collides method
  • Tabs of deleted assets must automatically close. Closes #491
  • Update copies in room editors if their linked text style has changed. Closes #493
  • Demos, Dependencies and Stuff:
  • JettyCat's example project should use a text base class for its highscore label in the defeat screen
  • Fix fullscreen switcher in Catformer example(#490 by @sk757a)
  • Docs:
  • Use a vanilla document search
  • Drop ct. prefix in catmod docs (#494 by @ehanahamed)

New in ct.js 3.3.0 (Dec 13, 2023)

  • New Features:
  • Ct.js now adds hash sums of exported files' names to textures, icons, and your game's source code. It makes it easier to update your games on your own servers and prevents the usage of outdated assets for your players. Note that index.html file should never be cached — the other assets can now be cached. Sounds are currently left with the old behavior as I have bigger plans for them and hashing large sound files is probably not the best idea. If you need to cache-invalidate a sound asset (say, by replacing one sound file with another), you can recreate the sound asset under the same name.
  • Partially closes #409
  • In the room editor, copies now show their templates' names when you hover them.
  • Support for TypeScript in custom scripts
  • Catmods: New Supabase Module (#425 by @ehanahamed)
  • General Improvements:
  • Adds a transparent PIXI.js canvas option (#437 by @markmehere)
  • Adds alpha setting for vkeys (#435 by @markmehere)
  • Clamp zoom value in the room editor
  • Closes #407
  • Exclude blank textures from export and retain shape (#433 by @markmehere)
  • Introduces ct.keyboard.permitDefault and ct.pointer.permitDefault (#434 by @markmehere)
  • Pug files must use LF
  • styleUtils to TypeScript and new IStyle interface (#440 by @markmehere)
  • Update Dutch translation (#405 by @GambleBranch)
  • Update Japanese translation (#404 by @taxi13245)
  • Updated lib.es5.d.ts (#432 by @markmehere)
  • Bug Fixes:
  • Allow setting scale value with plain numbers, like this.scale = 5.
  • Closes #403
  • Allow textures to be set to -1 (#438)
  • Fix "Cannot read properties of undefined" when caching tilemaps with funky posisions, which led to rounding errors and negative indices.
  • Fix copies' custom properties in the room editor
  • Fix shared asset pickers for sounds and emitter tandems
  • Fix sounds', tandems', and rooms' IDs not being unwrapped for the content system
  • Fixed Android export issue (#444 by @omkarpattanaik)
  • Ignore attempts to export mac builds on Windows
  • Update Discord invite links (#427 by @cemalgnlts)
  • Use collision shape from a texture set in the extensions parameter of ct.templates.copy method
  • Docs:
  • typo in example code (#108 by @GambleBranch)
  • Bring back the adequate search plugin that doesn't ignore code in headers
  • Change a single spelling error in docs/ct.md (#110 by @FlyingPig525)
  • Fix a typo created in sound.howler's docs (#430 by @blueloveTH)
  • Fix broken links on the homepage
  • ru/README.md fix links (#106 by @progzone122)
  • Add Giscus commenting service
  • Fix dependencies' versions
  • Tweak search settings a bit
  • Update Vuepress and its theme, add search back
  • Docs: Fix links in fields-declaration
  • Docs: Fix links in input-methods
  • Docs: Fix links in settings-and-extensions
  • Fix old injects folder name in other languages
  • Fix wrong injects folder name in events-and-injections.md
  • Fix wrong/outdated injects folder name in mod-structure.md

New in ct.js 3.2.0 (Dec 26, 2022)

  • New Features:
  • Add a small button to collapse template's properties panel. Useful for presentations.
  • Add an option to room settings to automatically follow a copy of a given template
  • Catmod for integration with Game Distribution, an ad service (#394 by @UlisesFreitas)
  • Support for CoffeeScript! Choose your preferred language when creating a new project
  • General Improvements:
  • Update Turkish translation, made by Sarpmanon from our Discord server!
  • Add aliases this.moveSmart and this.moveBullet for this.moveContinuousByAxes and this.moveContinuous correspondingly (these come from the ct.place module)
  • Add documentation links to the content editor's panels
  • Add hotkey hints to undo/redo buttons in the room editor
  • Do not show table headers for copies' custom properties when no properties exist
  • Force background on the notepad panel's "expand" button; useful on dark themes with which it can blend with backgrounds
  • Make addresses in the QR code panel selectable (debugger's toolbar)
  • Prevent nw.js SDK menu from popping up when ct.js is packaged
  • Relayout code editors when switching tabs. Prevents code editors from disappearing after zooming or switching template coding layouts
  • Rework texture editor's layout
  • Show theme colors in the app settings -> theme menu
  • Update textbox tutorial for v3 and add the missing step (#396 by @firecakes)
  • Warn users that they need to add a tile layer when they try to add tiles into a room that doesn't have any layers
  • Bug Fixes:
  • Update 2DPhysics example
  • Don't attempt to focus items in a context menus if there are no such
  • Fix an ugly splash screen for the DungeonCrawler demo project
  • Fix broken sound recorder
  • Fix scrollbars sometimes appearing in the room editor
  • Fix templates not being properly cleaned up if they are in a currently opened room
  • Fix texture offset being applied to the texture preview window
  • Fix wrong click location on a tile picker
  • Ignore clicks on the "Run" button if a project is already being compiled.
  • Should remove most of the headache with Window's EPERM issues
  • Initialize timers for rooms
  • Outline currently selected template in the room editor's template browser
  • Room's background color input must not have an alpha input
  • Set default values for room's camera restrictions
  • Update respective asset viewers when they are changed or created. Fixes outdated template list in the room editor when you've created or modified a template while a room editor is open.
  • Demos, Dependencies and Stuff:
  • Update bundled assets
  • Pull the latest gallery assets
  • Docs:
  • Multiply horizontal x-change with delta when robot travels on platform (#102 by @godmar)
  • Translate jsintro_pt1.md to Russian (#100 by @progzone122)
  • Create ru/jsintro_pt2.md and fix ru/readme.md (#101 by @progzone122)
  • Website:
  • Update changelog
  • Add a big Discord badge to the downloads page
  • Add a button for ARM builds for mac

New in ct.js 3.1.0 (Nov 8, 2022)

  • New Features:
  • Adds TypeScript support (#369 by @markmehere)
  • Allow multiple projects open at once (#378 by @markmehere)
  • ct.res.groups and group field in rooms and templates.
  • Support for Apple Silicon builds (#368 by @markmehere)
  • General Improvements:
  • Add context menu to the room editor to delete, copy, and paste items
  • Better French translations (#371 by @rtauziac aka Crazyrems)
  • Clean up gulpfile from unneeded packages and remove builds after zipping them
  • Complete patrons tab, add a little shoutout to the starting screen
  • ct.capture: add portion method (by Tho_mas), fix object method
  • Define types for all the keys of IProject
  • Do not minify HTML/CSS if not minifying JavaScript (#364 by @markmehere)
  • Lossless image optimization for ct.js assets (#374 by @FlipFloop)
  • Notepad now accepts free text (#376 by @markmehere)
  • Tabbable copies and improved keyboard support in the room editor (#372 by @markmehere)
  • Tooltip and alt-click for palette color removal (#375 by @markmehere)
  • Add Turkish translation by Sarpmanon from our Discord server!
  • Update Dutch translation, by GambleBranch
  • Update Brazilian Portuguese translation (#384 by @leedigital)
  • Update Chinese Simplified translations (#385 by @emaoshushu)
  • Better French translation (#393 by @FlipFloop)
  • Update Russian translation
  • Bug Fixes:
  • Add a missing name field to IStyle interface
  • Apply changes in the properties panel when saving a room
  • Delete typings on reset all (#373 by @markmehere)
  • Examples on Mac should be clonable only (can't save inside the app itself)
  • Fix a dumb typo in project-selector tag
  • Fix a tiny typo at russian description of Frame End event
  • Fix broken Pointer Enter, Pointer Leave events
  • Fix custom property cloning link issue (#388 by @firecakes)
  • Fix issues with timer events in the Catsteroids example
  • Fixed bug of not showing texture and sound gallery when ctjs is run outside of your home directory (#386 by @leedigital)
  • Names of content types should be marked as required
  • Remove Wheel Scroll event — it was never supported by pixi.js v5.3.9. Use Actions and ct.pointer inputs instead.
  • Docs:
  • Update vuepress to v2-beta-51
  • Fix English headers in informative blocks on Russian locale
  • Update several Russian pages
  • Website:
  • Update changelog for v3.0.1
  • Misc:
  • Upgrade to Monaco 0.34 (#377 by @markmehere)

New in ct.js 3.0.1 (Sep 12, 2022)

  • General Improvements:
  • Update French translation ( by @rtauziac)
  • Update Japanese translation ( by @taxi13245)
  • Drop precision on position and scale of objects in the room editor. Reasonably rounds their values to more logical numbers.
  • Bug Fixes:
  • Add support for template and texture arrays to the Context subsystem
  • Escape single quotes while stringifying certain properties. This allows, among other things, use of ' in custom properties (room editor) and template names
  • Fix ct.place crashing game if a collision check is made on a disproportionately squished circle
  • Room editor shortcuts must work only if the Rooms tab is active

New in ct.js 3.0.0 (Sep 9, 2022)

  • New Features:
  • Add a tour-guide tag for making tours in ct.IDE. Add an overview guide to the app-menu. Also simplifies the code of app-menu navigation a bit.
  • Add ct.rooms.restart() method
  • Events framework — more vanilla events and ability to add modded ones! Closes #215
  • New rooms editor! Closes #39, #76, #269
  • New & Updated Themes (Nord & Rosé Pine) (#344 by @EhanAhamed)
  • Pride mode with a colorful navigation
  • Support for blank textures (#362 by @markmehere)
  • Add a vgui catmod by Firecakes (Textbox component)
  • Desktop features Catmod: New Features & Rewrite of Previous Features (#354 by @EhanAhamed)
  • General Improvements:
  • Update Russian translation
  • Update Dutch translation, translated by GambleBranch from Discord server!
  • Update Debug translation
  • Ukrainian translation by @progzone122
  • Update ct.matter; you can now design gameplay logic with events in the template editor. Also brings an update to the 2DPhysics example
  • Add Boosty link to the starting screen; change "Donate" url to boosty page
  • Add explanations to ct.js license in the license panel (with suggestions by Shiba). Closes #345
  • Add sanity checks for the texture editor. Closes #361
  • Backgrounds' parallax effect now behaves more natural when zooming in/out
  • Re-capture window focus on game's mouseover in ct.pointer
  • Remove event listeners on ct.fittoscreen.toggleFullscreen. It is now supposed to be run in new pointer events
  • Replace gulp-typescript with @ct.js/gulp-typescript. Allows building ct.js on Node.js v18+
  • Simplify memocats by using built-in pointer event (#360 with @omartek)
  • Support for Meta key for Mac as an alternative to Control key during room editor's deleteX interactions
  • Visually dim deprecated catmods
  • Bug Fixes:
  • Fix Russian "export for web" translation
  • Big texture support, above 2k by 2k (#358 by @markmehere)
  • Change the "Create a template from it" for skeletal animations so it actually works
  • ct.res must wait for skeletal animations to finish loading before starting the game
  • Fix array editors writing nothing when working with assets
  • Fix broken license panel
  • Fix ct.delta behaving incorrectly if ct.speed is changed (It is actually a band-aid over pixi.js' issue, buuut oh well)
  • Fix ct.emitter.follow rotating around a copy at a wrong angle
  • Fix ct.inherit's regression from v1. Closes #337
  • Fix ct.light using changed ct.templates.exists inappropriately
  • Fix event list being shared on newly created templates
  • Fix examples and templates not showing when ctjs is run outside of your home directory (#357 by @leedigital)
  • Fix freshly-created textures crashing the room editor
  • Fix inability to select a preview texture in emitter tandem editor
  • Fix node context missing in ct.js debugger. Makes Node.js and ct.fs work again.
  • Fix unusable modal window on Linux systems during project creation (#351 by @leedigital)
  • Fix the alert about improper web build usage that was popping up in Electron builds
  • Remove a reference to a non-existent sourcemap from ct.filters denendency
  • Tiny visual fix for collapsible input groups in the template editor
  • Truncate long names in resource cards. Closes #353
  • Update Comigo (what?)
  • Update coordinates of primary pointer in gameplay coordinates if a user doesn't move the pointer
  • ct.matter: fix physics breaking when additional rooms are appended to the current one
  • Demos, Dependencies and Stuff:
  • Update Space Shooter example project
  • Pull the latest docs
  • Update 2DPhysics example with a restart button and ct.pointer in place of ct.mouse
  • Update asset gallery contents
  • Update Catformer example
  • Update various demos and templates
  • Update JettyCat example
  • Update memocats example
  • Update Platformer example
  • Docs:
  • Pt-BR documentation translation (100% translated!) (ct-js/docs.ctjs.rocks#75 by @leedigital)
  • Fix "Propose edits" link
  • Fix pre-v1 direction value at the JettyCat tutorial
  • JettyCat fixes (ct-js/docs.ctjs.rocks#81 by @omartek)
  • Minor edits and fixes for localStorage page. Add a missing comma and a couple of comments
  • Update all tutorials. ALL HAIL FIRECAKES!
  • Content Subsystem Docs: Fixed Grammar Errors
  • Corrected Grammar in Basic Concepts Docs
  • Fixed Incorrect Grammar ct.inputs Documentation
  • Room Class Docs: Fixed Minor Grammar Errors
  • Updated ct.styles Documentation
  • Website:
  • Italian site translation (ct-js/ct-js-site#27 by @omartek)
  • Add a link to ct.js cheat-sheet to the "what's next" section, put a little heart in place of the list counter to the patreon section
  • Add a link to web installer for Linux
  • Replace patreon links with boosty ._.
  • Update Downloads page. Add a Windows web installer
  • Misc:
  • Remove property thumbnail from the rooms objects in project data
  • Fix npm ci problems

New in ct.js 2.0.2 (Apr 17, 2022)

  • New Features:
  • Internal: Add two utility classes to change cursor on specific elements
  • General Improvements:
  • Add an explicit close button to the asset-selector, if there is a cancel action defined to it. Also adds an example of a "close" button pattern inside a dimmer to the CSS stylebook
  • Add basic typings to Window object and to the global scope (setTimeout and co, atob, btoa and such)
  • Add support for ct.pointer to ct.vkeys
  • Do not show "there is nothing here" filler if an asset viewer has to display a "none" option
  • Move particles' node modules to the same folder as tandems'; enforce type checks on default emitters and tandems; add the missing uid property to emitter tandems.
  • Tweak UI animations' duration; add subtle animations to most modal dialogues
  • Update Chinese Simplified translations (#335 by @emaoshushu)
  • Update Turkish translation. 100% coverage thanks to Sarpmanon.js!
  • Bug Fixesn:
  • Fix music stopping on the third level of the Lab Raid demo. Thanks mugeen for finding the issue and its source.
  • Changing speed of a copy from zero should reuse its saved direction (zeroDirectionAccessor). Closes #334
  • Fix asset inputs' styles affecting button groups deeper into its tree
  • Fix broken project-aware code completions
  • Fix ct.place.moveAlong (which is also this.moveContinuous for copies) using v1 directions values and not handling the latest bit of the path properly
  • Fix ct.pointer not writing pointer.PrimaryKey, pointer.SecondaryKey to the Actions system
  • Fix the asset selector applying styles to more than it should have. Fixes the group editor inside asset selection models being large as heck.
  • Fix the asset-selector incorrectly capturing clicks on its modal's background

New in ct.js 1.7.0 (Apr 10, 2021)

  • New Features:
  • Add custom properties modal for copies (#275 by @firecakes)
  • Added map() function to ct.u (#274 by @qewer33)
  • Clone projects from the starting screen
  • General Improvements:
  • Update Russian i18n file
  • Add an optional "Made with ct.js" logo shown while a game is loading. Can be turned off in Project tab -> Branding section
  • Add more social icons to the starting screen
  • Bug Fixes:
  • Fix emitterTandem.pause() stopping completely if called several times before calling emitterTandem.resume()
  • Fix game's icon not being reset when its texture is deleted
  • Fix page name and app color for exported games
  • Fix targetX and targetY handling for cameras' boundary restrictions

New in ct.js 1.6.2 (Mar 31, 2021)

  • General Improvements:
  • Add JS map files for pixi.js
  • Update pixi.js to v5.3.8
  • Bug Fixes:
  • Fix 2DPhysics example
  • Fix teleport, spin, rotate, and rotateBy methods in ct.matter module
  • Misc:
  • Revert "Modify emitter tandems to use ParticleContainer"
  • This reverts commit b8a47f4.

New in ct.js 1.6.0 (Mar 29, 2021)

  • New Features:
  • Add ct.filters module by SN from our Discord server. The module allows creating special visual effects with filters or custom shaders, applied to your copies or a whole viewport
  • Add ct.light module for adding ambient lighting and textured lights
  • Add ct.matter module for 2D physics. See the new example!
  • Bundle ct.nakama module by @alexandargyurov — you can now create online games with ct.js!
  • Group modded fields into collapsible sections with a new field type
  • Nano ID catmod of the same-named tiny library by Andrei Sitnik
  • Optionally make a camera stay inside a specific rectangle with new rooms' settings.
  • General Improvements:
  • Update Electron used in desktop builds to v11.1.1:
  • Allow Background class to accept a pixi.js texture
  • Modify emitter tandems to use PIXI.ParticleContainer. Provides better performance, and also fixes issue with un-tintable emitters.
  • Renovate ct.desktop -> quit method
  • Select only the needed Nw.js version for debugging
  • Bug Fixes:
  • Allow resetting values in type and texture inputs at modded fields
  • Fix "}" at the end of some texture files' names
  • Fix bitmap font's XML ("kerings" typo")
  • Fix broken context menu entry for textures to create a type from them
  • Fix crashes of the built-in debugger; disable nw and node in the devtools
  • Fix ct.place.meet returning duplicated references to copies if querying for multiple obstacles
  • Fix icons for nightly and regular releases
  • Fix Point2D initialization for modded fields
  • In rooms' copy spawning code, check for scaling extensions separately
  • Remove the old main-menu tag
  • Demos, Dependencies and Stuff:
  • Update nw.js to v0.51.1
  • Docs:
  • Add "Dragging Copies Around" tutorial by @qewer33
  • Add missing methods ct.types.isCopy, ct.u.hexToPixi, ct.u.pixiToHex
  • Add moveTo and teleportTo methods in ct.camera (#49 by @firecakes)
  • Add a list of gamedev resources
  • Add categories to ct.u methods list
  • Minor edits for JS intro, pt. 1
  • Refurbish the home page. Move most old content to "Basic concepts". Add links to tutorials and the cheatsheet.
  • remove duplicate instruction to draw scoreLabel.
  • Add a memo about ct.desktop.isNw and ct.desktop.isElectron
  • Fixed typos in the Space Shooter tutorial by @sarturodev

New in ct.js 1.3.0 (May 6, 2020)

  • New FeaturesL
  • Add a Chinese Simplified translation (#164 by @emaoshushu)
  • Add a Polish translation by Voltinus from Discord
  • Add Dutch language to IDE (#182 by @BartInTheField)
  • Add a "troubleshooting" submenu to main ct.js menu
  • Add a reset() method to CtAction
  • Add ct.deltaUi for steady UI animations at slowmo effects
  • Add ct.gamepad module, made by collective efforts from @leedigital, SN from Discord, and Comigo
  • Add touch controls for catformer and catsteroids (#178 by @naturecodevoid)
  • Allow to set depth through extensions in ct.types.copy fourth parameter
  • An onboarding screen when creating a new project
  • Catmods can now express their dependencies on other mods with dependencies and optionalDependencies fields
  • Configure texture's padding to avoid bleeding artifacts on strongly scaled textures
  • ct.camera, UI and game coordinates, and nested rooms
  • ct.fs - a module for working with files and game saves
  • ct.transitions for nice and smooth transitions in your game!
  • ct.types.exists to check whether a given copy exists in game's world
  • ct.timer (#179 by @naturecodevoid)
  • Dark theme support in docs panel
  • Favicons and customizable loader for your games, at your project's Settings tab
  • New injection for catmods — rooms.js
  • Particle systems, yaaay!
  • Reorder scripts at your project's Settings tab (#181 by @naturecodevoid)
  • Rotate copies in the room editor through a context menu
  • Stretch debugger's console and flip its layout
  • The sidebar in the room editor is now resizeable
  • UI scale in ct.IDE (#180 by @naturecodevoid, see it in the hamburger menu > Settings)
  • General Improvements:
  • Update Debug and Russian translation files
  • Update French translation (#176 by @FoobarIT)
  • Update German translation (#153 and #172 by @Wend1go)
  • ct.flow, ct.u.wait, ct.tween now operate based on ct.delta, with optional ct.deltaUi mode (#179 by @naturecodevoid)
  • Add a bit of logic to reset crop size on single-frame textures
  • Add a spacer between "Image's center" and "Isometrify" buttons in the texture editor
  • Add home-brewed i18n coverage reports and language file checkers to CI
  • Add simple typings for window and document
  • Add typings for ct.rooms.list
  • Change cursor to "progress" state when exporting a project
  • Export games as an electron app. Bonus: new supported architectures!
  • Forbid building for Mac from Windows, because Windows is shit
  • Improve error message with broken TTF fonts
  • Improve typings for Copy.tex
  • Improve typings for ct.camera
  • Lay out language menu in two columns
  • Remove the extra border at a room's script editor
  • Remove unnecessary update after a skeleton was imported
  • Replace icons for rooms and textures
  • Run some tasks of the exporter in parallel, shortening the time it takes to compile your games
  • Set starting mode for desktop games: windowed, fullscreen, or maximized
  • Store projects in YAML format: better conflict resolving in git and more human-readable source files
  • Types now automatically rename to the name of a picked sprite
  • UI: Add a margin to the "Settings" header on the same-called tab
  • Update ct.vkeys to work with the new UI coordinate system
  • Update typings for ct.tween
  • Variables defined in scripts at the settings tab are now visible by code editors. No more red squiggles!
  • Bug Fixes:
  • Add missing typings for sessionStorage and localStorage, that are needed for saving game data in a browser
  • Add missing typings for xstart and ystart in copies
  • Add the missing depth property of the Copy class
  • Add the missing typing for ct.rooms.current
  • Ensure that "includes" folder exists when opening it through the main menu, as it may be absent, e.g. after pulling a new project from a git repo
  • Fix 3D sounds of sound.howler
  • Fix a case when this.kill is applied to backgrounds or tilesets and ct.js can't delete them
  • Fix broken button that moves all copies in a room editor
  • Fix broken ct.mouse Wheel input
  • Fix context menu in the Fonts section > "rename" command doing nothing
  • Fix issues with re-imported textures
  • Fix OnDestroy not always being called on copies that got deleted because of others' OnDestroy code
  • Fix shadow style on notepad panel on dark themes
  • Fix style issues at html.js
  • Fix the bug when importing a module if it does not contain a parent directory (#157 by @leedigital)
  • Fix the incorrect typing for ct.speed
  • In ct.touch, mouse clicks should trigger Any, Double, Triple inputs
  • Prevent images in a room's type picker from dragging
  • Remove extra border at the top of type's code editor
  • Show imported fonts immediately
  • Update ct.fittoscreen to work with high-density screens
  • Demos and Stuff:
  • Add full JettyCat example
  • High-quality textures for Memocats
  • Improvements of examples
  • Pull the latest docs
  • Refurbish Catsteroids example: add a boss battle, new bonus, and new graphics
  • Update Yarn Spinner example
  • Docs:
  • New tutorial: JettyCat
  • Indent the warning about shape optimizations in ct.place.tile
  • Add a link to Discord server at the issue creating screen
  • Add missing quotation mark in mouse catmod changelog (#173 by @Wend1go)
  • Fix "optionable" in docs for ct.transition
  • Misc:
  • Remove ct.libs property from exported games

New in ct.js 1.2.0 (Nov 26, 2019)

  • New Features:
  • A new, better code editor with live type checks, built-in doc popups, and more!
  • Add a render option to include a legacy renderer for older browsers
  • Choose a custom folder for a project when creating it (#138 by @leedigital)
  • Hotkeys for most tabs and resource creation
  • Import modules from a *.zip file, in the Catmods tab (#142 by @leedigital)
  • Patreon screen
  • Resize the viewport with ct.width and ct.height
  • Show/Hide the mouse cursor with ct.mouse.show, ct.mouse.hide (#143 by @Wend1go)
  • General Improvements:
  • Add a finally method for cutscene's promise-like objects
  • Add patreon translation to German (#140 by @Wend1go)
  • Allow to change ct.fittoscreen's scaling mode at game's runtime
  • Create dummy typedefs for modules that don't provide them
  • Bug Fixes"
  • An asset should not be allowed to apply if it has an already occupied name
  • Fix broken zipped projects on windows
  • Fix multiple tiles not being placed while the Shift key is pressed
  • Fix non-working export settings on really old projects
  • Show proper error message when switching to a non-existent room (#144 by @Wend1go)
  • Update DragonBones and fix issues with skeleton import
  • Demos and Stuff"
  • Add typedefs for ct.tween
  • Add typings for ct.cutscene
  • Add typings for ct.random
  • Add typings for ct.vkeys
  • Complete typings for ct.eqs
  • Typedefs for ct.flow
  • Typedefs for ct.touch
  • Typedefs for ct.yarn
  • Typings for ct.fittoscreen
  • Typings for ct.sprite
  • Docs"
  • Document ct.width and ct.height
  • Fix mistakes in ct.eqs' docs
  • Complete translation of Pt-BR docs
  • Add a clarification to the second variant of a platform's code at tut-making-platformer
  • Document the process of adding typedefs for modules
  • Update tut-making-platformer.md (by @Eilandis)
  • Website"
  • Fix a link to site's code license in the footer
  • Fix emojis in 1.1.0 changelog entry
  • Fix links in reusable stuff
  • A proper language selector
  • PT-BR translation on ct.js-site (by @GumpFlash)
  • Add a translated contact form for Russian locale
  • Better adaptivity
  • Better handling of optionally translated pages
  • Make the page "made with ct.js" dynamic and based on itch.io engine page
  • Tons of improvements here and there
  • Tons of new icons

New in ct.js 1.1.0 (Oct 15, 2019)

  • New Features:
  • Add a debug mode to ct.place (you can find it in the settings tab)
  • texture-editor: Add the Symmetry tool for polygonal shapes (by @schadocalex)
  • Add Iosevka as a default typeface for code, allow setting your own typeface, control line height and ligatures
  • Open the includes folder from the hamburger menu
  • Support for nested copies (#127) by @schadocalex
  • Support for Yarn (a tool for making dialogues and interactive fiction), powered by bondage.js
  • texture-editor: Directly add/remove shape points on texture with your mouse. Add a point by clicking on the yellow line segments, delete points by clicking on them (by @schadocalex)
  • General Improvements:
  • Add Pt-Br translation of UI by Folha de SP from Discord
  • Better checkboxes, radio inputs, and other fields
  • Better styling of inline code fragments in the modules panel
  • Better texture-editor layout
  • Better, more readeable tables in module's docs
  • Change Horizon colors a bit to make it more pleasant to look at
  • Highlight code blocks at modules panel
  • Improve texture packing
  • Make module list and their details scroll independently
  • Remove excess borders in nested views
  • Remove excess borders on module panels
  • Remove old language keys, add Comments.json, Debug.json
  • Rename "Is tiled" property of textures to "Use as background", hide splitting tools if used as background
  • texture-editor: Make the axis handle squared (by @schadocalex)
  • texture-editor: Zooming in/out now works when scrolling outside the texture as well (by @schadocalex)
  • Tiny UI improvements, here and there
  • Bug Fixes:
  • pencil: Replace Lato's license with Open Sans', as we don't use Lato
  • Color inputs should show white value on a dark background from the very start
  • Fix broken style editor
  • Fix numerous collision problems that appeared with rotated entities
  • Fix the checkbox "close the shape", as it didn't change the actual state before
  • Stop chromium from messing up with color profiles and colors in ct.js
  • Demos and Stuff:
  • Add a Yarn demo
  • Docs:
  • Document the alpha property of copies
  • :zap: Update Troubleshooting — teared backgrounds
  • :bug: Update tut-making-shooter.md
  • Pt-Br translation :tada:
  • Website:
  • bug: Fix an outdated link to downloads in the header
  • sparkles: Add partial Russian translation
  • zap: Align social icons at the footer to the right

New in ct.js 1.0.1 (Sep 19, 2019)

  • Bug Fixes:
  • Fix the broken sound import
  • Fix improper movement of vertically repeating backgrounds
  • Add actions to new projects. Fixes the issue with "project.actions are not iterable"
  • General improvements:
  • Update Open Sans font, so it supports extended Latin characters
  • Misc:
  • Remove the deprecated copies' method this.draw

New in ct.js 0.5.3 (Dec 6, 2018)

  • General Improvements:
  • Ctrl+S and autosave/recovery feature
  • Bug Fixes:
  • Fix fonts with spaces in their path not working correctly inside the editor
  • Fix memory leak in room editor with opened background editor
  • Fix memory leak on room switch in ct.place
  • Fix color pickers not returing their intermediate values to editors
  • UI Improvements:
  • Make graphic selection in type and room editors for backgrounds cancellable
  • Show axis in graph editor
  • Misc:
  • Fix minor issues in Russian localization file
  • Add 'A' to the font editor
  • License:
  • Add nw-builder license notice (3rd-party)

New in ct.js 0.5.2 (Nov 7, 2018)

  • Bug Fixes:
  • Fix autocompletion being triggered on ; and line end
  • Fix project update for older versions not working
  • Fix ct.place.tile moving copies around by itself
  • Demos:
  • Update tutorials' project version

New in ct.js 0.5.1 (Oct 30, 2018)

  • Fix missing fields in newly created projects.

New in ct.js 0.4.1 (Sep 25, 2018)

  • General Improvements:
  • A better error message from ct.tween when switching to a new room.
  • Add a search/sort panel to the graphic selector
  • Add an option to ct.touch to disable default events prevention on touches,…
  • ct.rooms.make now returns an array of created copies.
  • New Features:
  • Add a ct.draw.patch module
  • Add an 'Isometrify' button to the graphics editor
  • Add ct.u.wait method
  • Resize copies and set their precise coords while in room editor
  • Bug Fixes:
  • Fix ct.canvas.drawTileExt
  • Fix graphics sometimes unavailable at room editor
  • UI Improvements:
  • Better QR code legibility on dark themes
  • Move all thumbnails to the left side
  • Docs:
  • Add a link to the Discord server to the docs
  • Add a tutorial about localStorage and game saves

New in ct.js 0.3.1 (Aug 24, 2018)

  • General Improvements:
  • Rectangular grids in room editor
  • New Features:
  • Support for tilesets! An early version, EXPERIMENTAL
  • Bug Fixes:
  • Fix a bug preventing picking a background
  • Fix a bug preventing to delete a room with a context menu
  • Fix FPS input in graph editor not working
  • Fix modal dialogues with 'Delete' labels instead of 'Ok'
  • Replace JS minifier to support ES6
  • UI Improvements:
  • Changes to number fields in style and graphic editors now affect preview panes instantly
  • Search and sorting for room editor with minor UI improvements
  • Show a warning when using duplicate names in assets

New in ct.js 0.3.0 (Aug 17, 2018)

  • General Improvements:
  • Add ct.draw.img as an alias to ct.draw.image
  • Add optional x and y parameters to ct.draw()
  • Git-friendly asset identifiers
  • Make x and y in ct.types.copy optional
  • Pre-initialize ct.types.list with empty arrays for each type
  • Support new Keyboard API standard
  • Update mouse position each frame; better ct.mouse.inside resolution
  • New Features:
  • Dark theme!
  • Add a ct.sprite catmod
  • Bug Fixes:
  • Enable code checking in editors
  • Fix an error in module.json of ct.canvas module
  • Fix bugs when cancelling the an asset's duplicate creation
  • Fix flipped orientation in ct.draw.imgext
  • Fix pattern drawing with styles
  • Fix pixelated render not fully working
  • Fix styles' line width not exported correctly
  • Fix texture selection in the styles editor
  • Room size must be exported as numerical values
  • Update the graphic asset in the editor's memory after replacing its source
  • UI Improvements:
  • Add a "Copy the name" option to assets' context menus
  • Better modal dialogues
  • Custom Scrollbars
  • Different minor UI improvements
  • Open the sound after its creation
  • Sort and search fields in resource views
  • Wider room thumbnails