diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml
index 56f08328..c9aeb0b6 100644
--- a/.github/workflows/pages.yml
+++ b/.github/workflows/pages.yml
@@ -35,6 +35,9 @@ jobs:
- name: Build pikcell app for Pages
run: npm run build:app --workspace=@moxijs/pikcell
+ - name: Build tilemap-matic app for Pages
+ run: npm run build:app --workspace=@moxijs/tilemap-matic
+
- name: Generate documentation
run: npm run typedoc
@@ -54,6 +57,13 @@ jobs:
cp packages/pikcell/dist/bundle.js _site/pikcell/
cp -r packages/pikcell/assets _site/pikcell/assets
+ # TileMapMatic at /tilemap-matic/
+ mkdir -p _site/tilemap-matic
+ cp packages/tilemap-matic/index.html _site/tilemap-matic/
+ cp packages/tilemap-matic/index.css _site/tilemap-matic/
+ cp packages/tilemap-matic/dist/bundle.js _site/tilemap-matic/
+ cp -r packages/tilemap-matic/assets _site/tilemap-matic/assets
+
# Package builds at /packages/*/lib/
mkdir -p _site/packages/core/lib
mkdir -p _site/packages/ui/lib
diff --git a/LLMS.txt b/LLMS.txt
index 8a1f44fe..b0ba8bc1 100644
--- a/LLMS.txt
+++ b/LLMS.txt
@@ -1,5 +1,19 @@
# MoxiJS
+
+## API Quick Reference
+
+
+### @moxijs/core
+**Classes:** ActionManager(add, getCount, hasAction, remove, removeAll) | AssetLoader(off, on) | ClientEvents(isKeyDown, isKeyUp) | CollisionManager(offCollision, onCollision) | CollisionRegistry(bitsToTags, getBit, getTag, register, tagsToBits) | Engine(addPhysicsWorld, loadStage, start, stop) | LoadingScene(destroy, hide, init, show) | ParallaxBackgroundLogic(update) | PhysicsWorld(createBody, destroy, destroyBody, disableDebugRenderer, enableDebugRenderer...) | PixelGrid(px, units) | RenderManager(render) | StateLogic(entity, init, onEnter, onExit, update) | StateMachine(addState, currentState, setState, update) | TextureFrameSequences(addSequence, getFrame, getFrameFromSequence, getFrameSequence, getSequence) | TilingParallaxLayer(resize, updateParallax)
+**Interfaces:** AsTextureFramesOptions, AssetLoaderEvents, BitmapTextOptions, BorderConfig, CellPosition, ClientEventsArgs, CollisionEvent, FallingSquaresOptions, GraphicsDrawOptions, GridOptions, LoadingAnimation, LoadingAnimationContext, LoadingSceneOptions, MSDFTextOptions, MoxiEntityClass, OnAction, OnEvent, ParallaxBackgroundOptions, ParallaxLayerOptions, ParsedShape, PhysicsBodyOptions, PhysicsDebugOptions, PhysicsShapeMetadata, PhysicsWorldOptions, PixelGridConfig, PixelPerfectOptions, PixiProps, PixiPropsWithEntity, ResizeHandlerOptions, SVGToTextureOptions, SequenceInfo, SetupMoxiArgs, SetupMoxiResult, ShapeConfig, SpriteOptions, TextDPROptions, TextOptions, TilingParallaxLayerOptions
+
+### @moxijs/ui
+**Classes:** CardPanel(destroy, getBodyContainer, getBodySize, getFooterContainer, getTitleBarContainer...) | EdgeInsets(clone, equals, horizontal, isZero, toString...) | FlatCardStyle(drawBackground, drawDragStrip, drawFooter, drawTitleBar, getBorderInsets...) | FlexContainer(addChild, layout, measure, removeAllChildren, removeChild) | FlexContainerPanel(addChild, destroy, getContentContainer, layout, measure...) | FlexLayoutEngine(compute) | LayoutDebugOverlay(dispose, hide, setOptions, show, toggle...) | LayoutEngine(layout, measure, position) | LayoutTree(addChild, computeNow, createNode, dispose, find...) | ThemeApplier(applyBackground, applyBorderColor, applyCheckmarkColor, applyPlaceholderColor, applyTextColor...) | ThemeResolver(getCheckmarkColor, getColor, getControlColor, getControlProperty, getPlaceholderColor...) | UIButton(destroy, getState, layout, measure, setEnabled...) | UICheckbox(destroy, getChecked, layout, measure, setChecked...) | UICheckboxWithLabel(destroy, getCheckbox, getChecked, getLabel, layout...) | UIFocusManager(blur, clear, destroy, focus, focusFirst...) | UILabel(getFontType, getText, isBitmapText, layout, measure...) | UIPanel(layout, measure, setBackgroundColor, setBorder, setTexture) | UIRadioButton(destroy, getSelected, layout, measure, setDisabled...) | UIRadioGroup(destroy, getValue, layout, measure, setDisabled...) | UIScrollContainer(addChild, destroy, getMaxScrollY, getScrollPaddingBottom, getScrollY...) | UISelect(destroy, getValue, layout, measure, setOptions...) | UITabs(destroy, getActiveKey, layout, measure, render...) | UITextArea(destroy, getHeight, getValue, getWidth, layout...) | UITextInput(destroy, getHeight, getValue, getWidth, layout...)
+**Interfaces:** BaseTheme, BoxModel, ButtonBackgroundStrategy, CardPanelFooter, CardPanelProps, CardPanelTitle, CardSectionDimensions, CardStyle, CardThemeColors, ComponentState, ComputedLayout, ComputedLayout, DefaultUITheme, DirtyInfo, FlatCardStyleConfig, FlexContainerPanelProps, FlexContainerProps, FlexItem, FlexLine, FlexProps, Focusable, FontProps, FormStateConfig, IFlexLayoutParticipant, IconConfig, LayoutDebugOverlayOptions, LayoutNode, LayoutStyle, LayoutTreeOptions, LayoutWrapperOptions, LayoutWrapperStyle, MeasuredLayout, MeasuredSize, NineSliceConfig, ParsedSize, RadioOption, ResolvedStyle, SelectOption, SizeConstraints, SpriteBackgroundConfig, TabItem, ThemeInfo, UIButtonProps, UICheckboxProps, UICheckboxWithLabelProps, UIFontConfig, UILabelProps, UILayerOptions, UILayoutConfig, UIPanelProps, UIRadioButtonProps, UIRadioGroupProps, UIScrollContainerProps, UISelectProps, UITabsProps, UITextAreaProps, UITextInputProps
+
+
+
> A game framework built on PIXI.js with Entity-Component-System architecture, physics integration, and UI components.
## Package: @moxijs/core
diff --git a/package-lock.json b/package-lock.json
index 90747fd9..1c5b8423 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -13,7 +13,8 @@
"packages/ui",
"packages/mini-gui",
"packages/moxijs-examples",
- "packages/pikcell"
+ "packages/pikcell",
+ "packages/tilemap-matic"
],
"devDependencies": {
"@playwright/test": "^1.48.0",
@@ -2280,6 +2281,10 @@
"resolved": "packages/pikcell",
"link": true
},
+ "node_modules/@moxijs/tilemap-matic": {
+ "resolved": "packages/tilemap-matic",
+ "link": true
+ },
"node_modules/@moxijs/ui": {
"resolved": "packages/ui",
"link": true
@@ -14348,7 +14353,7 @@
},
"packages/core": {
"name": "@moxijs/core",
- "version": "0.3.1",
+ "version": "0.3.3",
"license": "MIT",
"dependencies": {
"fontfaceobserver": "^2.3.0",
@@ -14532,6 +14537,7 @@
"@codemirror/theme-one-dark": "^6.1.3",
"@moxijs/core": "file:../core",
"@moxijs/mini-gui": "file:../mini-gui",
+ "@moxijs/tilemap-matic": "file:../tilemap-matic",
"@moxijs/ui": "file:../ui",
"codemirror": "^6.0.2",
"pikcell": "file:../pikcell",
@@ -14586,9 +14592,29 @@
"webpack-dev-server": "^5.2.0"
}
},
+ "packages/tilemap-matic": {
+ "name": "@moxijs/tilemap-matic",
+ "version": "0.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "@moxijs/core": "file:../core",
+ "@moxijs/ui": "file:../ui"
+ },
+ "devDependencies": {
+ "@types/jest": "^30.0.0",
+ "html-webpack-plugin": "^5.6.3",
+ "jest": "^30.0.0",
+ "ts-jest": "^29.4.0",
+ "ts-loader": "^9.5.1",
+ "typescript": "^5.7.2",
+ "webpack": "^5.102.1",
+ "webpack-cli": "^6.0.1",
+ "webpack-dev-server": "^5.2.0"
+ }
+ },
"packages/ui": {
"name": "@moxijs/ui",
- "version": "0.3.1",
+ "version": "0.3.3",
"license": "MIT",
"dependencies": {
"@moxijs/core": "^0.2.4"
diff --git a/package.json b/package.json
index 71e503d0..bbdfbc1d 100644
--- a/package.json
+++ b/package.json
@@ -8,10 +8,12 @@
"packages/ui",
"packages/mini-gui",
"packages/moxijs-examples",
- "packages/pikcell"
+ "packages/pikcell",
+ "packages/tilemap-matic"
],
"scripts": {
"build": "npm run build --workspaces --if-present",
+ "build:moxijs": "npm run build --workspace=@moxijs/core && npm run build --workspace=@moxijs/ui && npm run build --workspace=moxijs-examples",
"build:clean": "npm run build:clean --workspaces --if-present",
"clean": "npm run clean --workspaces --if-present",
"build:dev": "npm run build:dev --workspaces --if-present",
@@ -22,6 +24,7 @@
"test:watch": "npm run test:watch --workspace=@moxijs/core",
"test:ci": "npm run test:ci --workspace=@moxijs/core && npm run test:ci --workspace=@moxijs/ui",
"pikcell": "npm run dev --workspace=@moxijs/pikcell",
+ "tilemap-matic": "npm run dev --workspace=@moxijs/tilemap-matic",
"publish:dry-run": "npx ts-node scripts/dry-run-publish.ts",
"typedoc": "npm run typedoc --workspaces --if-present"
},
diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md
index 583e7be7..d0845fc1 100644
--- a/packages/core/CHANGELOG.md
+++ b/packages/core/CHANGELOG.md
@@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
+## [0.3.5] - 2025-12-11
+
+### LLM Documentation Enhancement
+
+### Added
+
+#### Documentation (`llms.txt`)
+- **API Quick Reference TOC**: Auto-generated table of contents at top of llms.txt
+ - Lists all exported classes with their key methods
+ - Lists all exported interfaces
+ - Generated via `node scripts/generate-llm-toc.js`
+ - Wrapped in `` / `` markers for easy regeneration
+
## [0.3.4] - 2025-12-09
### MSDF Font System Improvements
diff --git a/packages/core/llms.txt b/packages/core/llms.txt
index 1e90ac9d..741ee6f2 100644
--- a/packages/core/llms.txt
+++ b/packages/core/llms.txt
@@ -1,5 +1,12 @@
# @moxijs/core
+
+## API Quick Reference
+
+**Classes:** ActionManager(add, getCount, hasAction, remove, removeAll) | AssetLoader(off, on) | ClientEvents(isKeyDown, isKeyUp) | CollisionManager(offCollision, onCollision) | CollisionRegistry(bitsToTags, getBit, getTag, register, tagsToBits) | Engine(addPhysicsWorld, loadStage, start, stop) | LoadingScene(destroy, hide, init, show) | ParallaxBackgroundLogic(update) | PhysicsWorld(createBody, destroy, destroyBody, disableDebugRenderer, enableDebugRenderer...) | PixelGrid(px, units) | RenderManager(render) | StateLogic(entity, init, onEnter, onExit, update) | StateMachine(addState, currentState, setState, update) | TextureFrameSequences(addSequence, getFrame, getFrameFromSequence, getFrameSequence, getSequence) | TilingParallaxLayer(resize, updateParallax)
+**Interfaces:** AsTextureFramesOptions, AssetLoaderEvents, BitmapTextOptions, BorderConfig, CellPosition, ClientEventsArgs, CollisionEvent, FallingSquaresOptions, GraphicsDrawOptions, GridOptions, LoadingAnimation, LoadingAnimationContext, LoadingSceneOptions, MSDFTextOptions, MoxiEntityClass, OnAction, OnEvent, ParallaxBackgroundOptions, ParallaxLayerOptions, ParsedShape, PhysicsBodyOptions, PhysicsDebugOptions, PhysicsShapeMetadata, PhysicsWorldOptions, PixelGridConfig, PixelPerfectOptions, PixiProps, PixiPropsWithEntity, ResizeHandlerOptions, SVGToTextureOptions, SequenceInfo, SetupMoxiArgs, SetupMoxiResult, ShapeConfig, SpriteOptions, TextDPROptions, TextOptions, TilingParallaxLayerOptions
+
+
> Game framework on PIXI.js with ECS architecture and physics.
## Install
diff --git a/packages/moxijs-examples/index.html b/packages/moxijs-examples/index.html
index a35ba550..efc4aabe 100644
--- a/packages/moxijs-examples/index.html
+++ b/packages/moxijs-examples/index.html
@@ -65,6 +65,38 @@
-
+
+
+