Skip to content

Roadmap - 1.0.0, 1.1.0, 1.2.0, etc. #4

@tienery

Description

@tienery

I originally specified that a 1.0.0 release is scheduled for the end of August. So far, this is on track to be completed and finished by then ready to be published on haxelib. The 1.0.0 release will be most suitable for UI development with some game features. Some features will be implementing in later releases due to it not quite being as crucial for release.

The big win is the Dimensions API which will be fully documented prior to release.

Here are the versions and the plans for them.

1.0.0 Release

  • Twinspire Core will be released with a fully documented API.
  • Remove the Odin source code (to be given its own repo later).
  • Features such as the so-called "Tracking Module" will be removed (this was the plan until IdAssoc came along).
  • General clean up of the codebase will take place, removing redundant code and other smaller features not worth mentioning.
  • Menu class will be removed for a game event refactor later, and all related APIs in UpdateContext.
  • ArrayUtils class removed, migrating functions to ArrayExtensions.
  • Buffers will remain, but documented with TODO - implementation of this will come in 1.1.0.
  • Dim Move animations currently using MoveToAnimation class will migrate into the twinspire.events.game package and incorporated as a Timeline event, removing the UpdateContext overhead.
  • ComplexResult either gets removed or refactored.
  • Smooth Scrolling implemented for containers
  • Better DimIndex management as currently you can only add them - removal functionality to be incorporated in GraphicsContext.
  • Two-way DimIndex referencing between GraphicsContext and user context to ensure DimIndex values are always correct.
  • Depending on time, either Roped Strings will begin here but not fully completed until later, or completed at this stage. Roped Strings will require a completely different input handler system as the current one is only suitable for long strings (Array<Int>).

1.1.0 Release

~November 2025

  • Roped Strings and a TextBuffer refactor should complete by now.
  • Tile Maps implemented, complete with layers, buffered contexts and tile manipulation.
  • Buffers for GraphicsContext using beginBuffer / endBuffer calls should be implemented by now, and also incorporated into containers.
  • Textured Buffers to be considered. This will basically involve free texturing, rather than pixel-to-pixel rendering with Dim. Likely will involve another form of layout/positioning structure suitable for this behaviour.
  • Game Event Timelines to have background tasks (HTML5 Worker for the web, thread for native targets).
  • UpdateContext to be given touch events, pen events and gamepad events.
  • Implement a hot key system.

1.2.0 Release

~March 2026

  • Some mobile love.
  • UpdateContext touch and pen events will be fully tested and additional functions incorporated for better utility, such as pinch to zoom functionality.
  • Pre-defined modular components for built-in multi-lingual virtual keyboards, virtual gamepads and console gamepad icons.
  • Possibly other things...

This is the plan so far. Twinspire Web will get more work between 1.1.0 and 1.2.0, hence the longer release cycle. The plan will be to release 1.2 with a working copy of Twinspire Web, alongside a separate module, known as WebCore, allowing seamless integration between a Twinspire Core application and Twinspire Web website.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions